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.
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
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
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