Summon the AI4U Textbook Mind into your presence with MSIE.

The Speech Module of the Mind.Forth AI Breakthrough
by Mentifex

1. Theory of AI4U Algorithm Steps: Code the Speech Module

   /^^^^^^^^^\              ____________           /^^^^^^^^^\
  /   EYE     \     | | |  /  Volition  \         /   EAR     \
 /             \    | | | ( or Free Will )       /             \
|   _______     |   | | |  \____________/       |   speech      |
|  /"cats" \    |   | | |    |        |         |   vocalizes   |
| / percept \---|---|-+ |    |     ___V____     |   phonemes    |
| \ engram  /   |  e|c|f|    |    /        \    |   retrieved   |
|  \_______/    |  a|a|i|    |   ( Sentence )---|-------------\ |
|               |  t|t|s|   _V__  \________/    |   from      | |
|   visual      |   |s|h|  /    \  |      |     |   engrams   | |
|               |   | | | (Speech) |     _V__   |   in        | |
|   memory      |   | | |  \____/  |    /Verb\  |   the       | |
|               |   | | |         _V__ (Phrase) |   auditory  | |
|   channel     |   | | |        /Noun\/\____/  |   memory    | |
|               |   | | |       (Phrase)  |     |   channel   | |
|               |   | | |        \____/   |     |   ________  | |
|   _______     |   | | |         |     __V__   |  /        \ | |
|  /fresh  \    |   |_|_|   ______V_   / En  \  | /  "cats"  \| |
| / image   \   |  /     \ (English ) / Verbs \-|-\  "eat"   /  |
| \ engram  /---|--\ Psi /--\Nouns /  \_______/ |  \ "fish" /   |
|  \_______/    |   \___/    \____/-------------|---\______/    |

http://mind.sourceforge.net/diagrams.html shows a Theory of Mind.

An original idea expressed in the artificial Mind is the strong
theoretical mandate that words stored as phonemic strings in the
engram array of the auditory memory channel shall remain forever
tagged and labile in auditory memory while Chomskyan syntactic
structures reach into the auditory memory and manipulate the
morphemes stored there as strings of phonemic engrams.


2. Speak, Memory

The En(glish) lexicon array between Psi and Aud does not actually
contain the English lexicon; it only controls the lexicon of
words and morphemes stored in the auditory memory channel.

A Robot Mind uses a fetch-tag "aud" to reach into auditory memory
and to activate the English words and parts of words stored in the
auditory memory channel Aud. Once activated in auditory memory,
an English word or morpheme floods the auditory channel and, in a
process of reentry, moves to the advancing front of engram
deposition occurring at the current moment of consciousness.

In a separate process of will, the robot may speak the words
that it thinks within the auditory memory channel, and the Speech
module exists to implement the spoken output. Words thought by
the robot will either be displayed on the output screen of the
Robot AI or be spoken aloud by means of speech synthesis.

It is theoretically possible that the Speech motorium may contain
dynamic muscle-activation speech-production engrams complementing
or matching the phonemic memory-storage engrams of words recorded
in the auditory memory channel. Through a process of continuous
comparison and training, the mind may maintain its motor ability
to speak and pronounce the phonetic words of its native language.
Such a dual-storage schema means that the words of an utterance
are not transferred directly from passive phonemic memory into
active motor memory, but are reduplicated in speech motor memory
on a ready-to-go basis as thoughts materialize in auditory memory
and as the free will of volition decides whether or not to speak.


http://mind.sourceforge.net/ai4u_157.html is an overview of Mind.

3. JavaScript Seed AI source code with User Manual
// Voice() is called by Speech() etc.
function Voice() {  // ATM 2aug2002; or your ID & date.
outputplus = ("<font size='+3' color='navy'>"+output+"<\/b><\/font>");
  document.all.mouth.innerHTML = outputplus;  // output from the Mind
  document.all.brain.innerHTML = fyi;  // advice For Your Information
}  // End of Voice(); return to Speech() or elsewhere.

// Speech() is called by nounPhrase() or verbPhrase().
function Speech() {  // ATM 12aug2002; or your ID & date.
  ctu = 1; // As each word starts, continuation = 1.
  // onset = aud; // word-onset is its aud(itory) recall-vector
  // Next we want to provide an updated value of space-time "spt"
  // to go into reEntry() for the calculation of "onset" which
  // transits Audition into the oldConcept module:
  spt = (t - 1 )  // Presumably, as a word now starts.
  do { // Build up a display of reactivated auditory engrams.
    audMemory[aud].audExam(); // a series of aud-recalls
    pho = aud0; // pho(neme) for use in reEntry()
    output += aud0; // Build up the string of a word.
    ctu = aud4; // panel item aud4 is "continuation?"
    pov = "#"; // point-of-view "internal" symbol
    reEntry(); // output of the mind reenters the mind.
    aud = (aud + 1); // read audNodes one by one.
  } // Moncur p. 98: test only at end of loop.
  while (ctu == 1); // and one final loop while _not_
  if (ctu == 0) { // immediately after a zero "ctu"
    pho = 32; // ASCII 32 for SPACE-BAR
    reEntry(); // send a blank space to reEntry()
  }  // End of action taken for non-continuation of Aud engram.
  output += " "; // for one space after any word
  if (trouble == true) {  // if Troubleshoot is "on"...
    // following line is for diagnostics:
    output += (subj_act + "+" + verb_act + "+" + dobj_act + " ") 
  } // ...show the S-V-O activations within the S-V-O output.
  Voice(); // speak the output
} // End of Speech(); return to nounPhrase() or verbPhrase().

4. Mind.Forth free artificial general intelligence with User Manual
\  SPEECH is for output of single words, not entire sentences.
:  SPEECH  \ ATM 4aug2002; or your ID & date.
  aud @ onset !  ( the onset of a word is its recall-vector )
  40  1  DO   \  Perform this loop up to forty times.
    aud @  0  aud{ @ pho !  pho @ EMIT  ( say or display "pho" )
    35 pov !  ( internal point-of-view ASCII 35 "#" like mindgrid )
    AUDITION    ( for reentry of a thought back into the mind )
    aud @  1+  aud !  \ Increment "aud" for string of engrams.
    aud @  4 aud{ @ 0 = IF  32 pho !  THEN ( if end of word )
    \ 26jul2002 Diagnostic test code:
    match @ 1 = IF \ If oldConcept deals with a match,
      0 match !    \ first reset match to zero;
      LEAVE        \ leave SPEECH and go back to syntax,
    THEN           \ for generation of rest of sentence.

  LOOP             \ End of loop of up to 40 engram-fetches.
  0 match !        \ In case not otherwise reset.
;  \ End of Speech; return to nounPhrase, verbPhrase, etc.

http://mind.sourceforge.net/m4thuser.html is the Mind.Forth User Manual.

http://mind.sourceforge.net/variable.html explains the Seed AI variables.


5. Analysis of the Seed AI Modus Operandi

The Speech module of the Robot Mind uses the fetch-tag "aud"
to display on-screen a word that could just as well be piped into
speech synthesis.

aud (audition tag) is both a variable and an associative tag
established in the Audition module where the onset-time variable
"onset" of a word is transferred to the fetch-tag "aud" for
passage through Newconcept and Oldconcept into enVocab, where
flags are attached to lexical items in the "En(glish)" array "En".
Each individual node on the long "fiber" (brain-analog) of a
lexical item has its own time-point "aud" for a fetch-tag
over to a word or morpheme stored at that particular time in
the auditory memory array "Aud". The fetch-tag "aud" then is
like an associative tag fiber that reaches into auditory memory
and re-activates a word stored there as a series of phonemes.
If a thousand such fetch-tags were activated simultaneously,
the thinking mind would hear a massive internal chorus of the word.
Since the word is identical in almost all of its engrams, there is
nothing wrong with a massive reactivation along many fetch-tags "aud".
However, in early implementations of the Robot AI Mind software,
one reactivation along an "aud" fetch-tag is enough, because
software is generally more reliable than human brain-mind "wetware,"
and because the early AI Minds are not engaged in mission-critical
work where human lives or vast property are at stake. However,
if you code a Robot AI Mind to do important work, you should
take pains to parallelize the "aud" fetch-tag algorithm.

The fetch-tag "aud" is used in the Speech module to initiate the
spoken output of a series of stored sounds constituting a word or
morpheme, until a flag is encountered indicating the termination
(or branching?) of the string.

The fetch-tag "aud" is so easy for AI coders to make use of, that it
lends itself easily to the installation of special test and diagnostic
routines such as code that tells what word will eventually be reached
by various processes.


6. Troubleshooting and Robotic Psychosurgery

For versions of the AI Mind written in the Forth programming
language, it is especially helpful to run the SPEECH module
all by itself for purposes of debugging. One simply runs the AI
Mind in Forth, halts the program, and enters SPEECH [RETURN].
It is also possible to assign values to a few variables first
in order to get the SPEECH module to speak a specific word
at a specific location in auditory memory, or to run in
Tutorial or Diagnostic mode for easier troubleshooting.

Typical problems encountered in the SPEECH module involve
false or excessive outputs when the SPEECH loop winds down
to zero and the AI mistakenly speaks the first word found
in the English-bootstrap enBoot module. If the human users
do not know why the AI is speaking an extra word, look to
see where that word is located in the enBoot sequence.


7. Speech Module Resources for Seed AI Germination and Evolution


The Speech mind-module is the subject of Chapter 16
in your POD (print-on-demand) AI4U textbook,
as worthily reviewed and intellectually evaluated
by Mr. Christopher Doyon of the on-line Turing Store; and
by Prof. Robert W. Jones of Emporia State University.
A search on eBay may reveal offerings of AI4U and
a catalog search for hardbound and paperback copies
may reveal libraries beyond the following where students
of artificial intelligence may borrow the AI4U textbook:
  • Hong Kong University Call Number: 006.3 M981
  • North Carolina State University (NCSU) Call Number: Q335 .M87 2002
  • Texas A&M University
    Consider http://www.bookcrossing.com as a way to
    circulate and track your wandering copy of AI4U.
    At your own library you may submit a request for
    the acquisition of AI4U with ISBN 0595654371.

    Return to top; or to sitemap; or to
    C:\Windows\Desktop\Mind.html
    [For the above link to work, copy to your local hard disk
    http://mind.sourceforge.net/Mind.html
    and name it Mind.html in the C:\Windows\Desktop\ directory.]

    SourceForge Logo