31 Aug 2010 mentifex   » (Master)

MindForth Programming Journal (MFPJ) 2010 August 30

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 Inflection

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.


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!