Summon a Robot AI Mind into your presence with MSIE.

Subject-Verb-Object (SVO) Module

1. Overview and Brain-Mind Diagram

  /^^^^^^^^^^^\ SVO = 1:Subject +2:Verb +3:Object /^^^^^^^^^^^\
 /visual memory\    | | |     __________         /  auditory   \
|   _______     |   | | |    / Sentence \       |   memory      |
|  /image  \    |   | | |    \__________/-------|-------------\ |
| / percept \---|-----+ |        /  \           |   channel   | |
| \ engram  /   |  a|c|f|   ____/    \____      |   where     | |
|  \_______/    |  b|o|i|  /Noun\    /Verb\     |   verbal    | |
|               |  s|n|b| (Phrase)  (Phrase)    |   thinking  | |
|               |  t|c|e|  \____/    \____/     |   is        | |
|               |  r|e|r|    1|Subj. /  2|Verb  |   perceived | |
|               |  a|p|s|     | Obj./3   |      |             | |
|   _______     |  c|t| |     |    /    _|___   |   ________  | |
|  /fresh  \    |  t|_|_|    _|___/    / En  \  |  /        \ | |
| / image   \   |  /     \  / En  \   / Verbs \-|-/ Aud      \| |
| \ engram  /---|--\ Psi /-/ Nouns \  \_______/ | \ phonemes /  |
|  \_______/    |   \___/  \_______/------------|--\________/   |

diagrams.html shows a Theory of Mind.

The AI SVO design depicted above is radically simple and also
different from traditional paradigms of computational linguistics.
Key features of the robot seed AI approach to language in cyborgs
include a design principle of storing the phonemic lexicon in the
auditory memory channel array Aud as shown above, and the
word and subword recognition algorithm based upon string-effect
activation in the audRecog (auditory recognition) module.

2. Simple Syntax for Simple Reasoning

In keeping with the goal of using sufficient but minimal complexity
in the earliest releases (Mind-1.1; Mind-1.2+), a Robot AI Mind
will exhibit three basic syntax forms and their negations:

Standard SVO statement: Bears eat honey.
Negation: Bears do not eat gold.

Transformative question: Do bears eat honey?
Negation: Do bears not eat honey?

Interrogative-keyword question: What do bears eat?
Negation: What do bears not eat?

English text entered by human users into a Mind-1.1+ release will
be parsed by a primitive Parser module specially equipped to deal
with the syntax and vocabulary of the basic sentence forms used
in AI Minds designed to demonstrate the rudiments of reasoning.

The words "yes" and "no" will be parsed by recognition as coming
from the "enBoot" English bootstrap vocabulary and will therefore
not interfere with the parsing of other items found during input.

Finding a form of "do" or an interrogative keyword such as "what"
or "who" may invoke parsing with a question structure in Mind-1.1.

The Mind-1.1 parser will treat negations as modifying the verb in
a sentence, even though the entire sentence seems to be negated.

The mindcore of the array Psi will contain such basic English
words (i.e., concepts) as are necessary to create sentences
which illustrate the above listed syntactic forms.

The diagram ai4u_157.html is a flowchart of Mind.

3. JavaScript artificial intelligence source code of 12 August 2002
// SVO() is called by the English() thought module and is a 
// subject-verb-object structure for an English sentence.
function SVO() {  // ATM 12aug2002; or your ID & date.
  muse = 1;       // Default of Mind is to muse or ruminate.
  tov = t;        // time-of-voice for echoing input.
  audMemory[t] = new audNode(" ",0,"{"," "," "," ");
  while (muse == 1) {  // or until otherwise interrupted.
    act = 16;  // or whatever threshold is to be tested for.
    for (i=t; i>midway; --i) {
      Psi[i].psiExam();  // Examine recent Psi nodes.
      if (psi4 == 5) {   // Only look at nouns (i.e., subject).
        if (psi1 > act) {  // A check for high activation
          act = psi1;  // Let the found value be the new measure.
          psi = psi0;  // Seize the psi # for Activate().
          jux = psi2;  // Taking note of any "jux" value.
        }  // End of if-clause looking for high activations.
      }  // End of if-clause looking for possible negative verbs.
    }  // End of backwards loop seeking high activations.
    if (psi > 0) {   // Merely an extra precaution.
      Activate();    // To reactivate the chosen concept.
      nounPhrase();  // First call to nounPhrase for SVO subject.
      pho = " ";     // Reset "pho" by blanking it out.
    }  // End of check for a found, activated Psi.
    verbPhrase();    // Find a verb +/- a direct object.
    bias = 5;        // Expect to parse a noun=5.
    subj_act = 0;    // Reset the Troubleshoot diagnostic.
    verb_act = 0;    // a troubleshoot diagnostic.
    dobj_act = 0;    // a troubleshoot diagnostic.
    if ((t - tov) > 24) {  // Enough for two main clauses.
      muse = 0;      // An escape clause.
      break;         // Avoid ending output with a conjunction.
    }  // End of error-trapping for sentence too long.
    Conjoin();  // Insert conjunction, e.g., "and" or "because".
  }  // End of while-muse==1 loop.
}  // End of SVO(); return to English().

4. Mind.Forth free AI source code of 4 August 2002
\  SVO (subject-verb-object) is called by ENGLISH
\  and is one structure for an English sentence.
:  SVO  \ ATM 29jul2002; or your ID & date.
  t @ tov !  \  Store current "t" as time-of-voice for ".echo".
  \  The AI fills in the next line by generating a thought:
  CR ." Robot: "
  \ We insert a "{" for the sake of Rejuvenate.
  123  t @  2 aud{ !  \  123 is ASCII bracket "{"
  nounPhrase  ( finds "le mot juste" to be the subject )
  \ AUDITION, will need to store retroactively in aud{
  \ the concept number of "motjuste" as a psi-tag "psi":
  motjuste @ psi !  ( send the found psi-tag into AUDITION )
  verbPhrase  ( finds "le mot juste" for verb and for object )
  \  The following inactive insertion is merely for closure:
  125  t @ 1+  2 aud{ ! \ insert "}" without incrementing "t"
  13 pho !  ( ASCII 13 CR to trip a retroactive change )
  AUDITION  \ to receive the carriage-return CR 13
  5 bias !  \ 26jul2002 Expect next to parse a noun=5.
;  \ End of SVO; return to the ENGLISH module.

variable.html explains the location and purpose of each AI variable.

5. Analysis of the Modus Operandi

The SVO module strings sentence-elements together into
one simple syntactic tree. Upon inspection, it is easy to
see how to string together various other syntactic trees.
Eventually any species of the Robot AI Mind will need the
ability to learn syntax from its native-speaker environment,
in the way that a child of the human species does.

In September 2001 the English sentence-generation algorithm
was in flux, changing from an unsatisfactory technique using
"frozen snapshots" of the simultaneous activation-levels of
subject-verb-object (SVO) candidate words, to a more
promising algorithm of interactivity between syntax governing
the lexical items of the English "En" array, and Psi concepts
being activated during the course of thinking in the mindcore.

In the Mind-1.1 algorithm, syntax and the pathways of
spreading activation cooperate interactively to select
each word or phrase falling into place, as the engines
of thought dynamically construct a sentence of concepts.
In the subject-verb-object S-V-O progression, syntax
inexorably flushes out whatever words it finds as the
most highly activated English enVocab lexical items.
Interactively with syntax, each pathway of spreading
activation guides the syntactic search from moment to
moment and word-element to word-element, permitting
a chain of conceptual associations to meander and
snake through the Psi mindcore and to be expressed
as a linguistic statement of thought.

6. Troubleshooting and Robotic Psychosurgery

What follows is a typical, but absolutely crucial, problem in
debugging the SVO module. The JavaScript Mind.html program began
to work not perfectly but reasonably well on 20 March 2007 with
the commenting out of some obsolete code in the verbAct module
(a special case of the Activate module) and with the insertion
of the following line of code:

  psi1 = (psi1 + psi1 + 16); // 20mar2007 Amplify for slosh-over.
The results were so encouraging that all coding came to halt
and the rush began to upload the latest JavaScript AI Mind version
to at least nine venues on the Web -- not only to spread the code
that was beginning to function properly as a mind a la neuroscience,
but also to remove obsolete, malfunctioning code from the Web.

After about nine days of anguish over how next to improve the
JavaScript AI Mind program, on 29mar2007 it became suddenly clear
that it was more important to bring Mind.Forth up to the same level
of primitive functionality than to fine-tune the JavaScript AI.
The line of JavaScript code from above became four lines in Forth:

         I  1 psi{ @  psi1 !  \ 30mar2007 Verb-node activation level.
              psi1 @  psi1 +! \ 30mar2007 Double the psi1 value.
                  16  psi1 +! \ 30mar2007 Amplify for slosh-over.
  psi1 @ I  1 psi{ !   \  30mar2007 Set activation on each psi-node.
Unfortunately and maddeningly, the Mind.Forth code did not at first work
as well as the JavaScript AI Mind code did. Jos van de Ven explained in
what the problem was and why the Mind.Forth program was crashing
with ACCESS_VIOLATION messages. Once again there was a rush to
upload the very primitive AI Mind program that was just starting to
associate properly from concept to concept and to generate thoughts.

The next step in the original AI Mind coding will be to improve upon
the above lines of code, in either Forth or JavaScript, in order to
determine what is the ideal mid-range value for setting the level
of activation on verbs in a sentence being generated, so that the
combined activation from both subject and verb will "slosh over" onto
the correct choice of a direct object for the selected verb, and so
that subject nouns in programs like and Mind.Forth
will not pop back up as erroneous or spurious direct objects.
The correct fixing of the bug will also have to permit the
thinking of thoughts where the subject of a verb really does
belong at the end of the sentence as the proper direct object,
as in sentences like "dog eat dog" and "hand washes hand."

Activation Rules is a webpage of guidelines and considerations
for any AI programmer trying to smooth out the horizontal
and vertical schedules of activation in a primitive AI Mind.

7. Subject-Verb-Object Syntax Resources

Return to top; or to
ai4u_faq.html Frequently Asked Questions (FAQ) about AI4U
ai4udex.html Index of the AI4U Textbook of Artificial Intelligence
aisteps.html AI Algorithm Steps - Artificial Intelligence Algorithms For Humanoid Robots
Mind.html Artificial Intelligence Seed AI in JavaScript
mind4th.html Mind.Forth Artificial Intelligence for Robots
PODsales.html Sales of the AI4U Print-On-Demand (POD) Textbook