MindForth Programming Journal
AI4U Blog -- Wed.1.OCT.2008



1. Tasks in Creating Artificial Intelligence for Robotic Embodiment

[ ] Find somebody who will install Mind.Forth in a sentient robot.
[ ] Rewrite the enBoot English bootstrap sequence.
[ ] Expand the Article module with "a" as a default.
[ ] Introduce intransitive verbs of being and becoming.
[ ] Recruit Motters to implement the visual recognition system.
[ ] Increase the size of the cns memory capacity.

[24.AUG.2008] Add a "num" (number) flag to the flag-panel of the psi array.
[25.AUG.2008] Create an Article module to be called by the nounPhrase module.
[27.AUG.2008] Add "num" to en{ array to govern selection of "A" or "THE".
[29.AUG.2008] Prepare for verbs of 'being' by breaking the SVO chain.
[31.AUG.2008] Permanently sub-activate verbs of being as a default.
[1.SEP.2008] Introduce whatIs module as prompter of verbs of being.
[3.SEP.2008] Use KB-traversal to make the AI more interesting.
[12.SEP.2008] Makes entry of "you" activate concept of "I".
[17.SEP.2008] Enables the AI to answer "YES" to fact-seeking questions.
[25.SEP.2008] Enables thinking with intransitive verbs of being.
[27.SEP.2008] Changes pronoun "I" to "ME" for a direct object.
[30.SEP.2008] Recognizes penultimate noun-stems within plural nouns.
[1.OCT.2008] Uses "is" or "are" based on grammatical number of a noun.


2. Wed.1.OCT.2008 -- CORRECT USAGE OF "IS" OR "ARE"

Now that on 30.SEP.2008 we have made the AI Mind able to
distinguish between singular and plural noun forms by detecting
the noun-stem within a plural noun, next we should try to
have the AI assign "num" number values to each instantiation
of a noun concept.

Our goal in this expansion of the AI functionality involves
several things at once. As we instantiate each noun-concept,
we will admittedly over-simplify by assuming that nouns ending
in ASCII character #83 "S" are plural nouns. Thus we will assign
the number two ("2") as the value of the "num" flag for the
noun being instantiated. We will then turn around and use the
"num" flag for the selection of the proper verb of being or
proper transitive verb in using the noun as the subject of a
sentence.

First we will try setting the psi "num" flag already in audRecog,
which may be too early in the process of instantiating a word
of input. We insert the code, and not only does the value "2"
show up in our test message, but the noun gets instantiated as
a psi concept with "2" in the "num" slot.

Since we have now caused noun-concepts to be instantiated as
plural (for at least the one instantiation-node), now we want
to see if we can have the plural psi "num" flag govern the
selection of the proper (i.e., plural) form of a verb of being.
However, the pre-existing beVerb module does not yet select the
proper verb-form. It only accepts a verb-form that has been
arrived at by spreading activation. Currently the whatIs module
is used to ask questions about unknown nouns in the input stream.
We may have to change the whatIs module to let it ask questions
with the proper form (singular or plural) of the verb "to be."
If necessary, we may have to change the name of the module from
"whatIs" to "whatBe".

Hmm... Currently, the whatIs module says "WHAT IS" and then
it speaks the "topic" noun, without regard to a "num" flag
on the topic psi node. But we need to obtain that topic "num"
flag before "IS" is said so that we may instead say "ARE" if
the "topic" is a plural noun.

By the way, here we have a situation in which at each step we
are coding what seems to be the correct next step. From each
new step, we examine where we are, and we have the option of
consolidating things. We may want to have the whatIs/whatBe
module turn its verb-form selection over to the beVerb module.

When we force the whatIs module to declare its "topic" as a
psi concept number, we do see the correct psi number displayed
in our diagnostic test message. Now we have to see if any "num"
or part-of-speech pos data are available for the "topic" item.

Hmm... The "topic" is set at the end of the nounPhrase module,
perhaps just in case any question is going to be asked. Along
with "topic" we may have to set up a group of variables to
hold not only the topic concept, but also its grammatical
number and part of speech. We might use "topicnum" and
"topicpos". First let us see if "topicnum" will work. Wait
a minute. Maybe we should use "subjnum" as a more general
variable for the grammatical number of a subject-noun. Well,
"topicnum" is okay for use in the whatIs/whatBe module, but
"subjnum" may be useful elsewhere, perhaps along with "verbnum".

At the end of nounPhrase, where motjuste turns into "topic",
the "num" and pos data seem to have been lost already, but
we can probably obtain the data by going back to the selection
of the "motjuste" concept which will turn into the "topic" word.
Oh! We already have the number and part-of-speech values as
"nphrnum" and "nphrpos". Hmm... We may have to create an
"instnum" variable to hold onto the "instantiation number"
of any noun at the time when it is instantiated, so that we
can transfer that "instnum" value to the "topicnum" variable.
Okay, "instnum" does reveal the grammatical number of the
"topic" at the end of nounPhrase, but we should probably
transfer the "instnum" value to "topicnum", zero out "instnum"
immediately, and go from there. We are somewhat safe in using
"instnum" to get the "topicnum" value, because the AI has just
instantiated an unknown word, and is therefore asking a question
about the most recently instantiated concept. Okay, finally
along with "topic" at the end of nounPhrase we have "topicnum"
with the value transferred from the "instnum" variable. Now,
how should we use the "topicnum" value to govern the proper
form of the verb "to be"? Should whatIs/whatBe make the decision,
or should beVerb decide the issue? The easiest way -- at first --
is to use the "topicnum" value within whatIs/whatBe to choose
the saying of "is" or "are". Once we do so, we should probably
change the name of the whatIs module to "whatBe". We may then
eventually perhaps eliminate whatBe in favor of the beVerb module.

We have now gotten the MindForth AI to say "What is (blank)?" or
"What are (blanks)?" properly on the basis of the presumed number
of an unknown noun. Next we should probably feed the number value
into the Article module, if we have not already done so.


3. Notes

Potential topics for initial writings in journal webpages
- Are people competing to have the oldest or longest-living AI Mind?
- Is AI being created in secret by large, powerful organizations?
- CS textbooks should be written from an AI POV.
- These MFPJ journal entries are tantamount to a weblog.
---- (Mention how Jorn Barger created the very first weblog.)
- To what extent is Mentifex AI causing any AI evolution?
- People in other countries, especially India, are welcome to the AI.
- Living a Sci-Fi Life
- Living in a Fool's Paradise


4. Resources

For discussion of MindForth, visit the Usenet newsgroups
comp.lang.forth
comp.robotics.misc

For discussion of Win32Forth, visit the Yahoo win32forth group
http://groups.yahoo.com/group/win32forth/messages


5. Associated pages

Modules of the AI-Complete Mind-Expansion
23.AUG.2008 -- the Article module;
03.SEP.2008 -- the kbTraversal module;
17.SEP.2008 -- the kbSearch module.
25.SEP.2008 -- the beVerb module.

MindForth Robot AI Mind User Manual
http://mentifex.virtualentity.com/m4thuser.html

http://AIMind-i.com

http://mind.sourceforge.net/computationalization.html

http://mind.sourceforge.net/mind_faq.html

JavaScript AI Mind Programming Journal
http://mentifex.virtualentity.com/js080815.html
http://mentifex.virtualentity.com/js080816.html
http://mentifex.virtualentity.com/js080819.html
http://mentifex.virtualentity.com/js080822.html
http://mentifex.virtualentity.com/js080823.html
http://mentifex.virtualentity.com/js080826.html
http://mentifex.virtualentity.com/js080904.html

MindForth Programming Journal
http://mentifex.virtualentity.com/fp080824.html
http://mentifex.virtualentity.com/fp080825.html
http://mentifex.virtualentity.com/fp080827.html
http://mentifex.virtualentity.com/fp080829.html
http://mentifex.virtualentity.com/fp080831.html
http://mentifex.virtualentity.com/fp080901.html
http://mentifex.virtualentity.com/fp080903.html
http://mentifex.virtualentity.com/fp080912.html
http://mentifex.virtualentity.com/fp080917.html
http://mentifex.virtualentity.com/fp080925.html
http://mentifex.virtualentity.com/fp080927.html
http://mentifex.virtualentity.com/fp080930.html
http://mentifex.virtualentity.com/fp081001.html


Return to the
top of this page or to the
main index page.