1. OVERVIEW AND BRAIN-MIND DIAGRAM
/^^^^^^^^^\ Word-Audition Brings Images To Mind /^^^^^^^^^\
/ EYE \ _______ / EAR \
/ \ CONCEPTS / New- \ / \
| _______ | | | | _______ ( Concept )-|-------------\ |
| /old \!!!!|!!|!| | / Old- \ \_______/ | Audition | |
| / engram \---|----+ | ( Concept )-----|------|----------\ | |
| \ fetch / | | | | \_______/------|------|-------\ | | |
| \_______/ | | | | | \ | | c | | | |
| | a| | | __V___ \ | | a | | | |
| visual | b|C| | / \ \ | | t | | | |
| | s|O|f| (Activate) \ _V__ | s-/ | | |
| memory | t|N|i| \______/ \/ \ | | | |
| | r|C|b| | / \ | e | | |
| reactivation | a|E|e| __V____ ( Parser ) | a | | |
| | c|P|r| / \ \ / | t-----/ | |
| channel | t|T|s| /spreadAct\ \____/ | | |
| _________ | |_|_| \_________/ | | f | |
| /composite\ | / Psi \/ ________V__ | i | |
| / remembered\ |( Mind- ) / \ | s | |
| \ images /-|-\Core /------( Instantiate ) | h-------/ |
| \_________/ | \___/ \___________/ | |
diagrams.html shows a Theory of Mind.
Although in theory we may want to attach an ultimate-tag ("psi")
to the end of each word being deposited as a string of engrams in
the auditory memory channel Aud, in practice the Mind software
may not know that an incoming word has reached a final phoneme
until the human user presses a typically final indicator such as
a space-bar or the return-key.
Therefore we need a function like the Audition module to take
retroactive action when it becomes clear that the most recent
incoming phoneme (or ASCII character) was in fact the end of
a word being entered by the human user or by another AI.
The Audition module goes back and attaches an ultimate-tag ("psi")
at the end of the word being stored in the Aud array.
2. THE AUDITORY MEMORY CHANNEL
The auditory memory channel is a self-perceiving memory channel,
because the mind assembles phonemes and morphemes into sentences
of verbal thought in the auditory channel and then perceives and
stores its own output as a new, composite memory of consciousness.
The ingredients in a thought may come from many different engrams
fetched and reactivated at many different temporal storage points
up and down the lengthy engram-chain of the auditory channel, but
the resulting sentence of thought is stored as a contiguous and
therefore easily recallable string of phonemic memory engrams.
Imagistic reasoning may perhaps occur in a similar fashion in the
visual memory channel, but it remains to be seen (or imagined) if
human beings or robots may develop a complex universal grammar of
thinking in images. Of course, the ideograms used in the Chinese
and other Asian languages may already instantiate imagistic ideas.
The diagram ai4u_157.html is a flowchart of Mind.
// Audition() is called from Listen(), CR(), or reEntry().
function Audition() { // ATM 6jul2002; or your ID & date.
spt = t; // since Audition() is called by ASCII space "32".
// A check for unchanging thoughts would be a better Ego-trip:
inert = (inert + 1); // A crude way to build up to calling Ego().
tult = (t - 1); // the time "t-ultimate".
audMemory[tult].audExam(); // prepare to set "ctu" to zero:
audMemory[tult] = new audNode(aud0,aud1,aud2,aud3,0,aud5);
if (psi > 0) { // psi comes from word recognized in audRecog().
aud = onset; // "aud" will be the enVocab() recall-vector.
audMemory[tult].audExam(); // Store the move-tag "psi":
audMemory[tult] = new audNode(aud0,aud1,aud2,aud3,aud4,psi);
oldConcept(); // create node of the old concept "psi".
psi = 0; // reset for safety
aud = 0; // reset for safety
} else {
if (len > 0) {
aud = onset; // from Listen()
newConcept(); // learn a new concept.
audMemory[tult].audExam(); // store "nen" as new psi:
audMemory[tult] = new audNode(aud0,aud1,aud2,aud3,aud4,nen);
} // end of if-clause checking for positive length of a word.
} // end of else-clause dealing with new concepts.
audDamp(); // Zero out engram activations for a fresh start.
len = 0;
onset = 0; // Reset.
aud = 0;
} // End of Audition; return to Listen(), CR() or reEntry().
\ AUDITION handles the input of ASCII as phonemes.
: AUDITION \ ATM 3aug2002; or your ID & date.
0 match ! \ Precaution for sake of SPEECH.
t @ nlt !
pov @ 42 = IF \ If user is entering input,
t @ spt ! \ set "space" time before start of input;
CR CR ." Human: "
THEN \ 26jul2002 Testing not for "quiet" but for "pov".
2000 rsvp ! \ Wait patiently at first for human input.
\ The following loop accepts user entry or AI re-entry:
60 0 DO \ Accept entry of up to 60 characters.
\ 26jul2002 Because SENSORIUM and reentrant SPEECH both
\ use AUDITION, we must sequester LISTEN from SPEECH
\ so as not to slow down the process of reentry.
pov @ 42 = IF \ 35=internal; 42=external.
LISTEN \ Check for user input.
THEN \ 26jul2002
rsvp @ 500 > IF
rsvp @ 25 - rsvp ! ( reduce "rsvp" with each loop )
THEN
\ A CR-13 should come from SVO or LISTEN:
\ Here we may need to insert a carriage-return CR
\ if no external user enters any input, or if
\ an entity fails to complete an entry of input:
\ I 79 = IF \ Must be near loop-number above.
\ 13 pho ! \ Simulate a carriage-return CR.
\ 1 inert +! \ increment inert-flag by one
\ CR ." Audition: inserting a CR" CR \ 26jul2002 Test;
\ THEN \ end of code to insert a carriage-return CR
pho @ 0 > IF \ prevents gaps in recording of input;
1 t +! \ increment t only if a char is stored
THEN
pho @ 13 = IF \ If a carriage-return "13" comes in,
\ Eliminate "quiet", set "pov" instead?
1 quiet ! \ set the "quiet" flag to "1" (true);
35 pov ! \ 25jul2002 Set "pov" to "internal".
1 beg ! \ set the beginning-flag to one;
13 eot ! \ set the end-of-text flag to 13;
32 pho ! \ convert the carrier "pho" to a SPACE.
CR \ To show a carriage-return 13.
THEN
pho @ 27 = IF \ If ESCape key "27" is pressed...
CR ." AUDITION: halt" 0 pho !
CR ." You may enter .psi .en .aud to view memory engrams, or"
CR ." ALIFE [ENTER] to erase all memories and run the AI again."
QUIT \ Stop the program.
THEN
pho @ 32 = IF \ Upon SPACE retroactively adjust end of word.
t @ spt ! \ Update space time to the current time.
t @ 1 - tult ! \ The last previous time is "t-ultimate".
0 tult @ 4 aud{ ! \ Store a zero in the continuation-slot.
psi @ 0 > IF \ If audRecog & audSTM provide positive psi,
onset @ aud ! \ use the onset-time as the recall-vector
0 onset ! \ and blank out the onset-time.
psi @ tult @ 5 aud{ ! \ Store the psi-tag "psi".
OLDCONCEPT \ Create a new node of an old concept;
0 psi ! \ Zero out the psi-tag for safety;
0 aud ! \ Zero out the recall-vector for safety;
ELSE \ If there is no psi-tag "psi";
len @ 0 > IF \ if the incoming word has a positive length,
onset @ aud ! \ store the onset from AUDITION as "aud" tag;
NEWCONCEPT \ to create a new node of a new concept;
nen @ tult @ 5 aud{ ! \ Store new concept psi-tag.
THEN \ end of test for a positive-length word;
THEN \ end of test for the presence of a move-tag;
audDamp \ Zero out the auditory engrams.
0 len ! \ Zero out the length variable.
0 aud ! \ Zero out the auditory "aud" recall-tag.
eot @ 13 = IF \ CR-13 resets a primitive parsing flag;
5 bias ! \ prepare to parse the next word as a noun;
THEN \ end of test for carriage-return "13" CR.
0 psi ! \ for both old and new concepts
THEN \ end of retroactive import of "psi" from audSTM
1 beg ! \ Set the "beginning" flag to "1" for true.
1 ctu ! \ Provisionally set "continuation" flag to true.
spt @ 1 + onset ! \ Onset comes next after a "space" time.
\ The following code has a speed-up alternative below it:
t @ onset @ = IF 1 beg ! ELSE 0 beg ! THEN
\ t @ onset @ = beg ! ( JAF suggestion )
\ 27jul2002 Reverting to 32 from 31 as a test:
pho @ 32 > IF \ If 32-space or alphabetic character...
1 len +!
audSTM \ Store character in Short Term Memory.
THEN
eot @ 13 = IF \ If end-of-text is a carriage-return "13"
5 bias ! \ 26jul2002 To help the Parser module.
\ 25jul2002 Eliminate "quiet", set "pov" instead?
1 quiet ! \ set "quiet" flag to "1" (true) status;
\ t @ tov ! \ 29jul2002 To reset robotic output-display.
THEN
eot @ 0 > IF \ If CR-13 has raised eot to 13,
eot @ 14 = IF \ 26jul2002 After one increment
1 quiet ! \ 25jul2002 Just in case it isn eeded.
0 eot ! \ 26jul2002 Reset for safety.
0 pho ! \ 25jul2002 Reset for safety.
LEAVE \ 25jul2002 Return to the calling module.
THEN \ 25jul2002 End of post-final-iteration test.
14 eot ! \ 25jul2002 Make final iteration, then leave.
THEN \ 25jul2002 End of test.
0 pho ! \ Prevent "pho" from reduplicating.
LOOP \ End of checking for human input or AI reentry.
; \ End of AUDITION; return to SENSORIUM or to SPEECH.
5. ANALYSIS OF THE MODUS OPERANDI
The Audition module processes input data that have been
captured by the Listen module. Early releases of the
Robot AI Mind use keyboard characters as if they were
speech phonemes for auditory input. As the AI evolves,
a change-over must eventually be made to the processing
of continuous speech input. Therefore it is beneficial
to evolution if many different versions of the Robot AI Mind
branch out and proliferate, so that improvements to the
Audition module may compete for survival in the long run.
In the code above, if a psi-tag "psi" has been found --
indicating that the AI is already familiar with a word and its
concept -- then the Audition module calls the oldConcept module
to create one more associative node on the quasi-concept-fiber.
Otherwise, Audition calls newConcept to create the first instance
of a brand-new concept previously unknown to the artificial mind.
The Audition algorithm implements an AI learning mechanism,
because Audition sorts out all incoming words as either known or
unknown, with the result that unknown words become new concepts.
6. EXERCISES FOR STUDENTS OF ARTIFICIAL INTELLIGENCE
6.1. First stub in, then flesh out an Audition module as part of
a group of mind-modules comprising the software for an auditory
memory channel. Coordinate the needs of event-driven listening,
auditory recognition of words, and storage of engrams in memory.
Try at first to come up to par with existing implementations and
then proceed to "break the sound barrier" of evolving AI Minds.
6.2. Improve in one way upon the Mind-1.1 or other early designs
by making the auditory channel able to recognize not just whole
words but stems, prefixes, infixes, suffixes and other sub-parts
of words and morphemes in the auditory input stream. Thereby
create an AI capable of appreciating and comprehending poetry and
subtle nuances or shades of meaning deriving from word-elements.
6.3. Even before making a great leap forward from ASCII engrams
to truly phonemic processing of speech input, attempt to conform
with the memory-space allocation requirements and data-structures
of acoustic speech engrams, so as to prepare many a species of AI
Mind downstream in evolution from your own mind children in their
need to make the change-over from primitive ASCII to real audio.
6.4. Make the change-over from primitive ASCII to real audio in
the adoption of speech technology for artificial intelligence.
Go beyond traditional human capabilities and impart to robots the
ability to hear low-frequency sounds for earthquake prediction or
high-frequency sounds for spatiotemporal navigation like a winged
bat flying in the night. Implement SONAR and the ability of the
AI to function like a voice stress analyzer that detects lying.
To comment on the Mentifex.VirtualEntity site in general
or on this page by name in particular, please visit
http://www.xomreviews.com/mentifex.virtualentity.com