MindForth Programming Journal
AI4U Blog -- Fri.12.SEP.2008


1. Tasks in Creating Artificial Intelligence for AI Mind Exhibits

[ ] Find somebody who will install Mind.Forth in a sentient robot.
[ ] 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".


2. Fri.5.SEP.2008 -- ENHANCING THE ARTICLE MODULE

Let us see if we can get the Article module to insert "the"
before a noun that has just been spoken or thought about.
First we need to see if the Article module has any way of
keeping track of the most recently referenced noun.
Yes, the motjuste variable still has hold of the noun
before which the Article module is inserting "a" or "the".

In either Article or nounPhrase, we could transfer the
selected motjuste value to a "ghost" variable that would
hold onto the referenced concept either for one cycle of
thought-generation or even longer until a new noun is used.


3. Thurs.11.SEP.2008 -- A GREAT LEAP FORWARD

MindForth is poised at the start of a Great Leap Forward in
its ability to think and communicate. As with many Great Leaps
in human history, as also with saltations in evolution, there
must be a period of instability while several events are
happening at once. MindForth is shifting from the sole use
of proof-of-concept transitive verbs to using verbs of being.
Since verbs of being are highly irregular and involve both
singular and plural forms of both nouns and verbs, the AI
program must expand from using only proof-of-concept plural
forms to using singular forms as easily as plural forms.
Therefore the enBoot sequence must be reconfigured to
emphasize singular nouns instead of plural nouns and verbs.
The Article module must be fine-tuned to make the proper
selection between "a" and "the" for insertion before a noun.
The audRecog module must be refocused on singular nouns as
the standard form for a concept as given in the revised enBoot,
with the incremental ability to recognize plural forms of
English words (i.e., ending in "s") as denoting the same concept
as the singular form, but with entailment of plurality.

When the singularity transfiguration is complete, the AI Mind
should seem much more similar to a human mind and should
therefore be several steps closer to making a run at the
Turing test -- which, however, has never been a goal of
the Mentifex AI project. We keep an eye on the Turing test
only because it seems to fascinate so many AI enthusiasts.

As we contemplate the AI Mind going through the quasi-rapture
from proof-of-concept simplicity to Turing test candidacy,
we envision that the post-rapture Mind will need to be able
to answer the following slate of typical questions.

who are you
where are you
what are you
what do you [verbblank]
what are you doing
With transitive verbs in the proof-of-concept Mind, we simply
had an associative "pre" tag to a subject and a "seq" tag to
a direct object. Now we must change our perspective on
associative tags and we must contemplate a trade-off between
modular syntax structures and mere associations among words.
For instance, each word in the input question "Who are you?"
carries an enormous weight with respect to what concepts must
be activated in response, and what associations must exist
between concepts, and what module or modules must operate
to make a response.

In older versions of the AI Mind, we have already seen the
input of "Why?" as a question trigger the activation of
the conjunction "because" as a way of addressing questions
of causality in the crudest manner. Likewise we now contemplate
having the input of "Where?" as a question not so much trigger
a prepPhrase module as increment the operational readiness of a
prepPhrase module. If a human user says "Where are you?" to the
AI Mind, we want the AI to be able to respond with statements
like, "I am in a computer" or "I am here." If we cause the
recognition of "where" to subactivate a prepPhrase module,
the technique is not far removed from having "where" associate
to various prepositions used to describe a locational setting,
such as "on the beach" or "in the room." Since we only
subactivate the prepPhrase module, we keep open the option
of bypassing prepPhrase and using some other construction
in response. However, even non-prepositional answers such as
the adverb "here" could be an "else-product" of prepPhrase.

Let's introduce the idea of having the recognition of "Where?"
send a "tweet" to the prepPhrase module. Reception of the
tweet from oldConcept only pushes prepPhrase into readiness
and does not immediately cause prepPhrase to insert anything
into the thoughtstream. So now we have a radically new idea
in the process of implementing the rapture of the AI Mind --
the idea of calling a mind-module not to have it actually
perform its main function, but only to have it get ready
to perform its main function.

Maybe we could have "tweet" carry, as its numeric value, the very
psi concept number of the input word triggering the tweet. Thus,
if oldConcept recognizes psi #15 "WHERE", the value of "15" could
be assigned to the "tweet" variable going into the prepPhrase module.
A variable such as "tweet" can carry diverse information, such as
being positive or not, or having a scalar value signifying degree,
or having a numeric identifier such as "15" to indicate "Where?".
Within the prePhrase module we will have to have some sort of
status variable that will be influenced by the reception of a
tweet from the oldConcept module. We already had a similar flag
with "recon" as a trigger of asking questions in the Ask module.
In imitation of the military sci-fi term "defcon" for "defense
condition", we could have "prepcon" as a variable setting the
readiness status of the prepPhrase module, and other "-con"
variables as the need arises.

If somebody asks the AI "Where are you?" and a tweet from oldConcept
elevates the "prepcon" status of the prepPhrase module, then the
module that generates a verb of being does not actually have to call
the prepPhrase module. Instead, the verb-of-being module only has to
think "I AM..." and then prepPhrase should kick in to finish the idea.
If the AI has been told, "You are in the computer" or "You are in
Pittsburgh," then the prepPhrase module should only have to send
activation to all recent instances of locational prepositions,
activation accumulating by a convergent flow of activation to
select the correct preposition and its correct object. So the
prepPhrase module, like the nounPhrase module, should conduct an
activational query in search of the most highly activated preposition,
with some activation sloshing over onto the proper object of the
preposition.

Now, somebody might say that we should not bother to send a tweet
between oldConcept and prepPhrase, and that we should simply have
oldConcept directly set the prepcon variable for use in the
prepPhrase module, but we really ought to keep the modules
rather isolated. Sending a tweet first, and then having prepPhrase
change its own prepcon flag in response to the tweet, makes sense.

Oh, by the way, if the tweet elevates the prepcon flag of the
prepPhrase module, then we are paving the way for the AI Mind
to skip generating a complete sentence of response, and to respond
with simply a true activation of the prepPhrase module. We could
have the following exchange.

Human: where are you
Robot: IN THE COMPUTER
If we start adding a "statuscon" variable to most or all of the
NLP generation modules, then we can have a liminal threshold below
which the module will not even go into performance. Once again,
the AI Mind will become more similar to the human mind.
Human: What are you doing?
Robot: [...] THINKING ABOUT THE TURING TEST


4. Fri.12.SEP.2008 -- SOLVING A "POV" BUG

When the word "YOU" comes in without an immediate carriage-return (CR),
audRecog recognizes "YOU" correctly as psi concept #56 and reports
that identifier to the audSTM module. However, the "fin" number for
a recognized concept #56 "YOU" is supposed to be "50", so that the
internal psi concept #50 of "I" will be activated.

As we were troubleshooting the bug by tracking the path of recognition
from audRecog to Audition to oldConcept, we discovered that Audition
was changing the pov (point of view) setting during user input
from external to internal just before the call to oldConcept, with the
result that oldConcept was assigning a false psi concept number to
"you" as input and to "I" as input. We moved the changing of the "pov"
setting down below the call to oldConcept, and the problem was gone.
We had been afraid that there could be a very serious problem in
the interplay of audRecog and audSTM and other modules, but a very
simple solution solved a very serious bug -- one that was impeding
progress by making it hard to test the AI Mind with sample inputs.


5. Fri.12.SEP.2008 -- UPLOADING AFTER DEBUGGING

With the pov correction we have solved such a serious bug
that it is time to upload MindForth before we do any more coding.
We have not uploaded the Forthmind for a while because we were busy
positioning MindForth as free software for AI Mind exhibits in
science museums. Solving the "pov" bug makes MindForth a better
candidate for AI Mind exhibits, because now users may enter "YOU"
or "I" and get a better response from the artificial intelligence.


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


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


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


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