28 Aug 2010 AI4U   » (Observer)

MindForth Programming Journal (MFPJ) 2010 August 27

Fri.27.AUG.2010 -- Fixing the VerbPhrase Mind- Module

Today let us explore why the AI Mind can have a grammatically incorrect exchange like the following.

Human: what is god
Robot: A GOD BES SPIRIT

First we must determine which part of the free AI source code for autonomous robots is mistakenly saying "BES" instead of "IS". If we eliminate this bug, and the next, and the next, we graduaully approach a functional AI Mind ready to inhabit myriad AI robots.

By inserting diagnostic messages to track the generation of thoughts, we determine that the VerbPhrase module is mistakenly saying "BE" instead of "IS". We temporarily fix this bug by inserting the following code into VerbPhrase, before it has a chance to utter "BE" as the main verb of a thought.


motjuste @ 58 = IF  \ shift from BE; 27aug2010
  num @ 1 = IF  \ singular; 27aug2010
    midway @  t @  DO  \ search backwards in time
      I       0 en{ @  66 = IF  \ most recent instance
        66 motjuste ! ( 66=IS; 27aug2010 )
        I     7 en{ @  aud !  \ get recall-vector
        LEAVE  \ after finding most "IS"; 27aug2010
      THEN     \ end of test for 66=IS; 27aug2010
    -1 +LOOP \ end of retrieval loop for "IS"; 27aug2010
  THEN  \ end of test for singular; 27aug2010
  ( following code covers undeclared plurals; 27aug2010 )
  num @ 1 = NOT IF  \ other than singular; 27aug2010
    midway @  t @  DO  \ search backwards in time
      I       0 en{ @  67 = IF  \ most recent instance
        67 motjuste ! ( 67=ARE; 27aug2010 )
        I     7 en{ @  aud !  \ get recall-vector
        LEAVE  \ after finding recent "ARE"; 27aug2010
      THEN     \ end of test for 67=ARE; 27aug2010
    -1 +LOOP \ end of retrieval loop for "ARE"; 27aug2010
  THEN  \ end of test for not singular; 27aug2010
THEN  \ end of test for 58=BE; 27aug2010

The code above rejects "BE" as a verb and says "IS" or "ARE" instead. Although "IS" is definitely selected by the "num(ber)" flag, "ARE" is the default alternative when the number of a subject is not known. This code fixes some problems in the AI, but introduces or accentuates other problems which were perhaps lurking unseen in the AI codebase. These emerging problems are minor in nature and pleasantly challenging for the AI appcoder. The MindForth AI is becoming a functional AI Mind that needs cosmetic improvements and functional add-ons.


Latest blog entries     Older blog entries

X
Share this page