Mon.30.AUG.2010 -- On the Shoulders of Giants?
The "prsn" variable in MindForth artificial intelligence (AI) enables the AI to think thoughts in the first, second or third person with English verbs in the present tense. MindForth is different from most natural language processing (NLP) software because previous NLP software may be intricately crafted for the generation of grammatically correct English sentences but not for the thinking necessary to drive the NLP mechanisms. Because MindForth has a conceptual core that actually thinks, MindForth is an AI engine that may be "reinventing the wheel" in terms of tacking on NLP routines that have already been invented elsewhere unbeknownst to the Mentifex (mindmaker) originator of MindForth, but MindForth remains the original invention of an artificial mind that needs its own special forms of NLP software. Other advanced NLP software may translate ideas from one natural language to another, but MindForth is ideation software that thinks up its own ideas, thank you, and becomes more skillful at thinking co-extensively with the growing sophistication of its NLP generativity. We are met today on a mindgrid of that generativity, and we must generate AI Mind code for self-referential thinking in English. MindForth is like an AI rodent that scurries about while giant NLP dinosaurs tower overhead.
Mon.30.AUG.2010 -- VerbPhrase Orchestrates
Our current code is abandoning the stopgap measure of using the SpeechAct module to add an inflectional "S" to regular verbs in the third person singular. The control of verb inflections is now shifting into the VerbPhrase module where it belongs. We will try to use an old "inflex1" variable from the 20may09A.F version of MindForth to carry each phonemic character of an inflectional ending (such as "S" or "ING") from the VerbPhrase module into the SpeechAct module. An old MindForth Programming Journal (MFPJ) entry describes the original usage of "inflex1" to carry an "S" ending into SpeechAct. Now we would like to expand the usage so that "inflex1" and "inflex2" and "inflex3" may carry all three characters of an "ING" ending into SpeechAct. First we rename all (three) instances of "inflex1" as simply "inflex" so that we may confirm our notion that "inflex1" was not yet affecting program-flow, before we re-introduce "inflex1" as a variable that does indeed influence program-flow. We run the AI code, and nothing seems amiss.
Then we rename our instances of the temporary "inflec1"
from yesterday (29aug2010) as the henceforth
genuine "inflex1" to make sure that we still have the
functionality from yesterday. Again we run the code, and
all is well. Now we need to clean up the test routines
from yesterday and smooth out glitches such as the
tendency to tack on an extra "S" each time that a verb is
used in the third person singular.
We still have the variable "lastpho" from the
24may09A.F AI, for avoiding an extra "S" on verbs. That
variable is continually being set in the SpeechAct module.
First in VerbPhrase we use a test message to report to us
what values are flowing through the "lastpho" variable.
Then in VerbPhrase we make the setting of "inflex1" to
ASCII 83 "S" dependent upon the "lastpho" not being "S",
but the method initially does not work. We suspect that
the "lastpho" value is being set too early at almost the
beginning of the SpeechAct module.
When VerbPhrase sends an inflectional "S" inflex1 into
SpeechAct, all the conditionality about person, number,
gender, etc., should be kept in VerbPhrase and should no
longer play a role in SpeechAct. SpeechAct as code should
not care why it is being asked to add an "S" or an "ING"
onto a word being spoken. Therefore much of the
conditional code in SpeechAct after the the detection of
an intended "32" space should be removed, and SpeechAct
should simply speak the inflection.