These notes record the coding of the Russian AI Mind Dushka in JavaScript for Microsoft Internet Explorer (MSIE).
1.
Thurs.23.AUG.2012 -- Diagnosing Selection of Subjects
As we troubleshoot the Dushka Russian AI in JavaScript for
Microsoft Internet Explorer (MSIE), probably the first point
of departure must be inserting a diagnostic "alert" message
to let us know how the NounPhrase module is selecting the
subject for a sentence of thought in Russian. No matter how
a subject is chosen, we want the verblock mechanism to force
the retrieval of a particular verb from the so-called IdeaPlex.
Our first major problem after some human input is that
NounPhrase selects as most activated a potential subject
of "tebya" with a carried-over, spurious "verblock" that
does not even lead to a verb, but rather to "tebya" itself.
We have probably solved this problem already in the English
JSAI.
By searching downwards for "tqv" (the source of "verblock")
simultaneously in the Russian JSAI and the English JSAI,
we discover that in the English JSAI on 15aug2012 we
inserted into InStantiate a line of code to prevent
spurious carry-overs of the "tqv" value when "seq" is
at zero. Now we insert the same code into the Russian JSAI.
Running the AI, we do not get an improvement. Then at the
start of WhoBe we also put a zeroing out of "tqv" taken
from the English JSAI. Still there is no improvement.
In the Russian AI, we then intoduce into WhatBe the same
tqv-zeroing as was done in the English JSAI. Again there
is no improvement.
2.
Fri.24.AUG.2012 -- Affecting Activation of Subjects
It may be necessary to implement code that will switch
from an oblique case of an activated concept and find
nominative nodes to serve as the subjects of incipient
thoughts.
If a direct object is left activated at the end of a
sentence, all the nodes of that concept should receive
a blanket activation through OldConcept or NounAct.
Then NounPhrase may choose nominative nodes as candidates
for the subject of a sentence. (Maybe we should make nominative
nodes receive a higher activation.) So the process of
having a residually activated concept switch from being
a direct object in an old thought to being a subject in
a new thought should work by whatever mechanism puts a
blanket activation on all the nodes of a concept.
3.
Tues.28.AUG.2012 -- Finding "verblock" Verb-forms
We need to put in some diagnostic messages and see
what residual activation occurs for a direct object.
Today in the VerbPhrase module we are building up some
code which, in the presence of a positive verblock, will
still go to the "verblock" time-point in the Ru-array
but will not automatically accept the verb-form originally
deposited there, typically during human input. Instead,
the new code conducts a search of the ruLexicon to find
a verb-form with the correct number and person. Initially
we forgot to search for the concept-number, so we accidentally
got the correct ending but on the wrong verb.
4.
Wed.29.AUG.2012 -- VerbGen Returns Inveniend Verb-stem
Yesterday we made some major progress in getting the RuAi
to search for correct Russian verb forms, but the new code
was not yet perfect, so today we need to make improvements.
However, we should probably save and archive yesterday's
version so that we can recover from any unforeseen errors.
Now there is a problem because the new, integrated search-code
is finding the correct archival verb-form, if it is available,
but the verb is appearing in duplicate. Apparently the rest
of the VerbPhrase code is finding a "vphraud" recall-vector
all over again. We should be able to thwart that phenomenon.
As we start to prepare some documentation of the AudBuffer,
OutBuffer and VerbGen modules, we notice that our Russian AI
code needs to make use of pertinent variables such as the "gencon"
status flag and the "audbase" recall-vector to identify the
verb whose inflectional ending must be changed. As soon as
we use "audbase" in our code, the Russian AI stops switching
to a different verb and at least outputs the stem of the verb
that we are trying to change. Since we have also set the "gencon"
flag, VerbPhrase calls VerbGen but does not make its normal main
call to SpeechAct, so we do not get an extra verb-form as output.
5.
Thurs.30.AUG.2012 -- VerbGen Needs "dba" Parameter
Yesterday VerbGen was returning only the stem of an
inveniend verb and not the inflected personal ending.
However, delivering the stem was a major improvement
in the Russian AI functionality. Today we found that
we needed only to set the "dba" parameter properly
before calling VerbGen, and the Russian AI was able to
provide a correct form of the required verb.