1. Code the MainLoop module -- http://ai.neocities.org/MainLoop.html
Code the MainLoop in Python. Use either an actual loop with subroutine calls,
or make a ringlet of perhaps object-oriented module stubs, each calling the
next stub. Provide the ESCAPE key or other mechanisms for the user to stop the
AI.
2. Code the Sensorium module or subroutine --
http://ai.neocities.org/Sensorium.html
Start a subroutine or module that is able to sense something coming in from the
outside world, i.e., a key-press on the keyboard.
3. Stub in the EnThink module for English thinking --
http://ai.neocities.org/EnThink.html
4. Initiate the AudInput module for keyboard or acoustic input.
Drop any [ESCAPE] mechanism down by one tier, into the AudInput module, but do
not eliminate or bypass the quite essential Sensorium module, because another
programmer may wish to specialize in implementing some elaborate sensory
modality among your sensory input stubs. Code the AudInput module initially to
deal with ASCII keyboard input. If you are an expert at speech recognition,
extrapolate backwards from the storage requirements (space and format) of the
acoustic input of real phonemes in your AudInput system, so that the emerging
robot Mind may be ready in advance for the switch from hearing by keyboard to
hearing by microphone or artificial ear.
5. The TabulaRasa loop.
Before you can create an auditory memory AudMem subroutine for storing input
from the keyboard, you may need to code a "TabulaRasa" loop that will fill the
mental memory of the AI with blank engrams, thus reserving the memory space and
preventing error messages about unavailable locations in the AI memory.
6. MindBoot English +/- Russian bootstrap --
http://ai.neocities.org/MindBoot.html
The knowledge base (MindBoot) module makes it possible for the Strong AI Mind
to begin thinking immediately when you launch the more advanced AI program.
Here we stub in the EnBoot subroutine with an English word or two before the
AudMem module begins to store new words coming from the AudInput module. The
EnBoot stub shows us that the first portion of the AI mental memory is reserved
for the innate concepts and the English words that express each concept. If you
use the same Unicode that Perl enjoys to create a Strong AI Mind in Arabic,
Chinese, Hungarian, Indonesian, Japanese, Korean, Swahili, Urdu or any other
natural human language, you will need to create a bootstrap module for your
chosen human language.
7. AudMem (Auditory Memory) -- http://ai.neocities.org/AudMem.html
Into the auditory array that was filled with blank spaces by the TabulaRasa
sequence and primed with some bootstrap content by the EnBoot or MindBoot
sequence, insert some new memories with the AudMem auditory memory module.
Modify the AudInput module to prompt for English words and modify the EnThink
module to display words stored in memory as if they were a thought being
generated in English (or in your chosen natural human language).
8. Speech Module -- http://ai.neocities.org/Speech.html
The Speech module fetches characters from a starting point in auditory memory
and displays the characters on-screen until a blank space occurs to signify the
end of the word stored in memory.
9. NewConcept Module -- http://ai.neocities.org/NewConcept.html
The NewConcept module creates a new concept for any unrecognized word in the
input stream, even a misspelled word entered by mistake. In Symbolic AI, each
word of natural language is the symbol of a concept, and as such is the key to
accessing the concept. Of course, a recognized image may also grant access to a
concept.
10. EnParser English Parsing Module -- http://ai.neocities.org/EnParser.html
The EnParser (English parser) module does not so much determine the part of
speech of a word of input, but more importantly it assigns to an input word its
grammatical role in the complete phrase being processed during Natural Language
Understanding.
12. AudRecog auditory Recognition Module --
http://ai.neocities.org/AudRecog.html
The AudRecog module for auditory recognition recognizes various forms of a
word, such as singular or plural nouns, or verbs with various inflected endings.
13. OldConcept Module -- http://ai.neocities.org/OldConcept.html
If the AudRecog module recognizes a particular word, then the AudInput module
calls the OldConcept module to create a new instance of the previously known
concept. If a word is not recognized, AudInput calls the NewConcept module to
create a new concept for the word as a symbol.
14. SpreadAct Spreading Activation Module --
http://ai.neocities.org/Spreadact.html
The SpreadAct module for Spreading Activation performs both simple spreading
activation between concepts and also an extremely sophisticated role of
responding to various input queries posed by human users.
15. EnNounPhrase English Noun-Phrase Module --
http://ai.neocities.org/EnNounPh