20 May 2009 mentifex   » (Master)

MindForth Programming Journal - wed20may2009


So many robots need to have an AI Mind installed, and since MindForth is tantamount to the VisiCalc of artificial intelligence, that we now rush to add feature after feature to the budding robot AI. Recently we made MindForth able to InStantiate a singular noun upon encountering a plural English noun in the auditory robotic input stream. If you tell the robot AI4U Mind something about birds, it now sets up the singular noun "bird" as a concept. Then we encoded an algorithm of assuming from input of the article "a" that the next noun after "a" is a singular noun. If you say that you wish to manufacture "a conscious robot", the article "a" sets a flag that skips the adjective "conscious" and assigns the singular "num (ber)" to whatever noun (e.g., "robot") comes next. (And with AI4U technology we are indeed helping you to manufacture a conscious robot.) Next we need to ensure that the emergingly conscious AI Mind will use the right form of an English verb when, for example, "it talks" about a singular noun. Simply put, the software "needs" to put "s" on the end of a verb after a third-person singular noun.


The "nphrnum" variable is set in the NounPhrase module and keeps track of whether a noun is singular or plural. The "vpos" variable is set in VerbPhrase and is used in the following SpeechAct code.

pho @ 32 = IF  \ 20may2009 If engram is a blank space...
  vpos @ 1 = IF    \ 20may2009 If a verb is being spoken
    nphrnum @ 1 = IF  \ 20may2009 If subject is singular
      subjpsi @ 50 = NOT IF  \ 20may2009 If subject not "I"
        subjpsi @ 56 = NOT IF  \ 20may2009 If not "YOU" 
          83 pho !  \ 20may2009 Insert inflectional "S" pho.
          1 spacegap !  \ 20may2009 Prepare one space-gap.
          0 vpos !    \ 20may2009 Reset after use
          0 nphrnum !  \ 20may2009 Reset after use.
        THEN  \ 20may2009 End of test to avoid subject "YOU"
      THEN  \ 20may2009 End of test to avoid subject "I"
    THEN  \ 20may2009 End of test for a singular subject
  THEN  \ 20may2009 End of test for a verb being spoken
  pho @ EMIT  ( say or display "pho" )
  1 audstop !  \ A flag to stop SpeechAct after one word
THEN \ 1jan2008 One last call to Audition
35 pov !  ( internal point-of-view ASCII 35 "#" like 
mindgrid )
AudInput    ( 16oct2008 for reentry of a thought back into 
the mind )
audstop @ 1 = IF  \ 20may2009 Adding one pho=32 space bar
  spacegap @ 1 = IF  \ 20may2009 If an "S" has been added...
    32 pho !  \ 20may2009 Carry pho=32 "space" into AudInput
    AudInput  \ 20may2009 For the reentry of one space.
    0 spacegap !  \ 20may2009 Reset spacegap after use.
  THEN   \ 20may2009 End of test for spacegap of one space.
  LEAVE  \ 20may2009 Abandon the looping through auditory 
THEN  \ 1jan2008 Having spoken one word.

The above code not only adds an "S" to a standard English verb being used in the third person singular, but also causes the proper reentry of the inflected verb form back into the AI Mind. Whereas only the stem of the verb is retrieved from auditory memory, after the addition of "S" for inflection during thought, the inflected form of the verb now enters the auditory memory.


Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!