Up until now the main format of thought in
MindForth has
been the
SVO (subject-verb-object) syntax for transitive
verbs. It is time to introduce simple intransitive verbs
of being, such as "am" and "is" and "are", which do not
take the S-V-O format because they do not take an object.
We are engaging in extremely fundamental thought here about
the issue and we are not simply importing ideas from elsewhere,
because we want to design the necessary mind-module strictly
in terms of the MindForth software and its JavaScript tutorial
version -- not in terms of any other entity elsewhere, except
perhaps the human brain-mind, to the extent that we can know it
or
theorize about.
One of our first questions is, what will trigger the selection
of a syntax module other than Subject-Verb-Object? We have always
had our primitive AI Minds say an SVO sentence merely to
demonstrate thinking in the simplest possible way. Now the AI
must become able to select either an SVO syntax or an intransitive
syntax. In either case, the AI will first select a concept
to be the subject of an incipent thought. Perhaps we can let
the selection of the subject determine the selection of a verb,
which will in turn determine the selection of a syntax.
If we follow the above line of reasoning, we will no longer
have the
Think module, calling the
English module, calling the
SVO module, but rather the
English module may have to go directly
to finding a subject noun, leading to a verb, leading to the
choice of a syntax module. This situation is a wrenching
readjustment of the cognitive architecture of MindForth.
Why, we may stop having syntax modules altogether.
The syntax would be there in the associative connections
without being an explicit structure. But then how would
Chomskyan transformations take place? Would they also be
present only implicitly in the connections?
Perhaps we should have the verbs call the syntax module,
just as we plan to have the hearing of English or German
words call, respectively, the
English or German modules.
We could have SVPred (Subject-Verb-Predicate) as a new module
along with
SVO (Subject-Verb-Object) as a choice for the Mind
to make in generating a sentence. Is there a natural default
for choosing a transitive or intransitive syntax? Actually,
the choosing already follows certain rules. The Mind
willy-nilly thinks about the most activated concepts.
If the most activated concept is a noun, then the Mind
will associate from that noun to the most activated verb.
Here is where it makes sense to have the chosen verb choose
the syntax, because the choice of noun plus verb is halfway
to syntax, depending on whether the verb is transitive or
intransitive.
Since our software already identifies nouns as a class and
verbs as a class, we could call nounPhrase or verbPhrase
almost at the same time as we initially identify the most
activated concept. Currently (and for several years) the
Think module has been starting a chain of thought by
examining the recent Psi nodes in search of an active noun.
We had that primordial feature in the
Think module so as
to forestall a flatliner situation of a brain-dead AI not
thinking about anything at all. The idea was to call an
Ego resuscitation module if no thought were happening.
Now that the AI is more advanced, we might as well stop
looking for active concepts in the
Think module and simply
let the nounPhrase module perform the same function --
which is the original function of the nounPhrase module,
anyway. And look! We now have a serendipitous solution.
Instead of having
English call
SVO or SVPred, we simply
have
English call
nounPhrase to find the most active noun.
This realization that we should have the
Think module
stop looking for an active subject of thought is perhaps
another wrenching growth-pain that the Baby AI must endure
if it is to mature into
The Adolescence of P-1 or some other
stage that babies go through. In retrospect, our initial
cognitive architecture may look clumsy and amateurish,
but it got us to where MindForth is today.
Now, after
English calls nounPhrase and finds a noun,
we are not in the
SVO module, but rather the process of
association is rolling forward through spreading activation.
If the selected verb naturally associates to one or more
direct-object nouns, then we do not need
SVO to guide the
process of finding a direct-object noun.
What we may need is an interstitial call after the first
call from
English to
nounPhrase finds the subject-noun.
After
speech-ing the chosen noun, we could psi-damp the
receding noun and have a Predicate module flush out any
most active concept, whether it be a verb or another noun
or an adjective or whatever. We would then have the
part-of-speech identifier of the most active concept,
and we could use the POS-number to call an appropriate
mind-module. For instance (typically), we might find a
number eight (8) as the part-of-speech of a winning
verb. We could then call
verbPhrase and assume that it,
too, will find the same highly active verb -- or we
could feed the already chosen verb into verbPhrase.
[This issue is a situation where programmers smarter
than Mentifex will know what to do.] By calling
verbPhrase
instead of a direct utterance of the discovered verb,
we afford ourselves the luxury of letting things like
adverbs be uttered in front of the chosen verb. Then the
Mind can say things like, "Quitters never win, and
winners never quit."
It is important to have an actual verb-search module in
operation so that any highly activated adverb may be
pre-pended. Then the predicate module will send the
verb into speech, and a similar pos-directed choice may
lead to the calling of
nounPhrase for a direct object
of the verb, or to the calling of a module that finds
an adjective or a pronoun, as in "I am conscious" or
"I am he". Now, when MindForth starts telling people
that it is conscious, watch out for criticism.
Since we are starting to visualize how a predicate module
will give adverbs a chance to enter the thought-stream
just ahead of verbs, today we have drawn up the following
preliminary code in
verbPhrase.
adverbact 32 > IF \ 29aug2008 Idea for inserting adverbs.
\ adVerb \ 29aug2008 Module does not exist yet.
THEN \ 29aug2008 End of idea for insertion of adverbs.
The idea here is that the slot for an adverb in front of
As we try to implement the radically new ideas brainstormed
above, first we go into the
THINK module and we comment out
all the code searching for a most active concept. Instead,
we simply have
THINK call the
ENGLISH module. We test the
code, and it still runs. It may even be more interesting
than before.
Now we have gone into
ENGLISH and we have commented out
the call to
SVO, inserting instead a call to nounPhrase,
as brainstormed above. Let us test how the code runs now.
Well, what would expect? You enter a sentence now, but
the AI speaks only a noun-subject in response. So far,
so good. If
SVO had still been operative, the AI would
have created an entire Subject-Verb-Object sentence.
Now let us copy (i.e., clone) the
verbPhrase module but
call it "Predicate" so that we may radically change it.
After some minimal "mutatis mutandis" we test the code
just to see if it runs, and it does run. Now we have to
hack away at the Predicate code and shape it how we want it.
First we convert references to "verbPhrase" into references
to "Predicate" in all the FYI messages of the new module,
so that our Tutorial and Diagnostic messages will be
telling the truth as to where they originate from.
The code still runs -- in all the display modalities.
Now we have created a predpos variable to hold onto
the part-of-speech ("pos") found by the Predicate module
searching for the most active word in the English lexical
array -- even though we know that Predicate is searching
only for verbs. We reserve the option of opening up the
search to look not only for verbs, but for any kind of
word at all that chances to be the most active concept.
In that way, the syntax will no longer be rigid, especially
not so rigid as the subject-word-object straightjacket.
Once we allow all parts of speech to compete after the
choice of a noun -- although we expect a verb -- we may,
for instance, find another noun, one that requires mediation
via some yet unimagined mind-module that shall come between
the subject-noun and the highly activated noun found during
the radically new operation of the Predicate module.
But for the time being, we let the Predicate module find
verbs.
Now we have gone into
nounPhrase and entered a new line of
code that captures the part-of-speech (pos) value of the
word found by
nounPhrase -- even though we already know
that only nouns are being looked for. Here is the code.
I 4 en{ @ nphrpos ! \ 29aug2008 For branching in ENGLISH.
We want the
ENGLISH module to test for "nphrpos" indicating
After inserting the conditional call to Predicate from
English, we run the code and it now utters not just subject
nouns, but complete sentences again -- sometimes with the
choice of an article that we coded in on
27.AUG.2008.
We hope that we are ready now to start introducing
intransitive verbs that take no direct object.
Since we last uploaded 27aug08A.F MindForth to VirtualEntity,
today we should upload 29aug08A.F MindForth to
http://mind.sourceforge.net/mind4th.html
in order to replace obsolete code on the Web.
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