1.
Diagram of EnAuxVerb English Auxiliary Verb Module
/^^^^^^^^^\ Generation of "what do you see?" /^^^^^^^^^\ / EYE \ Pronoun +AuxVerb +Subject +Verb / EAR \ / \ | | | ___________ / \ | _______ | | | | / Sentence \ | | | /image \ | | | | \___________/-------|-------------\ | | / percept \---|---|-|-+ | \ | auditory | | | \ engram / | s|y|w| | _\____ | | | | \_______/ | e|o|h| | /EnVerb\ | memory | | | | e|u|a| | ( Phrase ) | | | | visual | | |t| | /\______/ | channel | | | | | | | | / / | | | | | memory | | | | ___|__ / / | | ____ | | | | | | | /EnNoun\/ __/ | | / \ | | | channel | | | |( Phrase ) /En-\ | | /"what"\ | | | | | | | \______/ / Aux-\-|----| / "do" \ | | | | | | | | \ Verb/ | | / "you" \| | | | | | | | \___/ | | \ "see" / | | _______ | | | | | \__|_ | \ / | | /fresh \ | |_|_| _|___ / En \ | \ / | | / image \ | / \ / En \ / Verbs \-|----\ / | | \ engram /---|--\ Psy /-/ Nouns \ \_______/ | \ / | | \_______/ | \___/ \_______/------------|------\/ |
2. Purpose of the EnAuxVerb Mind Module
The EnAuxVerb module for English auxiliary verbs serves the purpose of fetching strictly defined verb-forms of auxiliary verbs from the auditory memory channel of the AI Mind. Each verb-form being fetched is strictly defined with respect to person and number, which are made available to the EnAuxVerb module as global variables loaded with the appropriate value by the mind-module calling the EnAuxVerb module.
3. Algorithm of
EnAuxVerb English Auxiliary Verb Module
3.1. Simple function: negating an ordinary verb form
3.1.a. The EnVerbPhrase module has a sequence of code devoted to the negating of English verb-forms, as in the famous sentence translated from the original German of Albert Einstein: "God does not play dice with the universe." The same sentence is included in the AI MindBoot sequence as an example of verb-negation in general. Since the verb being negated will be expressed as an infinitive form, that is, a form without a personal, inflected ending, a form of the auxiliary verb "DO" must be selected to carry the information of person and number.
3.1.b.
3.2. Typical function: combining with infinitive to ask a question.
3.2.a. The AskUser module is called from another mind-module like InFerence to ask the human user a question seeking a yes-or-no confirmation or denial of an assertion made by logical inference. EnAuxVerb supplies the required form of the auxiliary verb "DO" for asking the question.
3.3.a. The AI MindMaintainer has the option of fetching auxiliary verbs only from the MindBoot sequence where the parameters of person and grammatical number are presumed to be solidly stored and never corrupted. This trick is accomplished by using the $vault value as the start of the backwards search from "time equals vault" to "time equals zero" in the auditory array. In a perfectly functioning AI Mind, all forms of auxiliary verbs would always be stored with perfect spelling and with the perfect formulation of array-parameters denoting the important parameters of person and number. Since code under development may have instances of data-corruption or errors introduced by users, the AI coder may cheat, as it were, by relying on the auxiliary verb forms already stored accurately in the MindBoot sequence.
4. Code of EnAuxVerb() from ghost327.pl AI
source code in
Perl
sub EnAuxVerb() { # http://ai.neocities.org/EnAuxverb.html if ($prsn==0) { $prsn = 3 } # 2018-09-30: third person by default. if ($subjnum==0 && $snu > 0) { $subjnum = $snu } # 2018-10-08: insurance if ($auxverb == 818) { # 2018-12-10: if the auxiliary is "DO" or "DOES" for (my $i=$vault; $i>$midway; $i--) { # 2018-12-10: search for 818=DO if ($subjnum==1 && $prsn==1) { # 2018-09-30: my @k=split(',',$psy[$i]); # 2018-09-30: examine @psy array; if ($k[1]==818 && $k[7]==1 && $k[8]==1) { # 2018-12-10: 1st.p.sing. DO? $aud = $k[20]; # 2019-08-01: "DO" recall-vector for Speech() last; # 2018-10-08: one engram is enough. } # 2018-12-10: End of search for 818=DO; } # 2018-09-30: end of test for 1st person singular; if ($subjnum==1 && $prsn==2) { # 2018-10-08: second person singular my @k=split(',',$psy[$i]); # 2018-10-08: examine @psy array; if ($k[1]==818 && $k[7]==2 && $k[8]==1) { # 2018-12-10: $aud = $k[20]; # 2019-08-01: "DO" recall-vector for Speech() last; # 2018-10-08: one engram is enough. } # 2018-12-10: End of search for 818=DO; } # 2018-10-08: end of test for person and number. if ($subjnum==1 && $prsn==3) { # 2018-10-08: third person singular my @k=split(',',$psy[$i]); # 2018-10-08: examine @psy array; if ($k[1]==818 && $k[7]==3 && $k[8]==1) { # 2018-12-10: $aud = $k[20]; # 2019-08-01: "DO" recall-vector for Speech() last; # 2018-10-08: one engram is enough. } # 2018-12-10: End of search for 818=DO; } # 2018-10-08: end of test for person and number. if ($subjnum==2 && $prsn==1) { # 2018-10-08: first person plural my @k=split(',',$psy[$i]); # 2018-10-08: examine @psy array; if ($k[1]==818 && $k[7]==1 && $k[8]==2) { # 2018-12-10: $aud = $k[20]; # 2019-08-01: "DO" recall-vector for Speech() last; # 2018-10-08: one engram is enough. } # 2018-12-10: End of search for 818=DO; } # 2018-10-08: end of test for person and number. if ($subjnum==2 && $prsn==2) { # 2018-10-08: second person plural my @k=split(',',$psy[$i]); # 2018-10-08: examine @psy array; if ($k[1]==818 && $k[7]==2 && $k[8]==2) { # 2018-12-10: $aud = $k[20]; # 2019-08-01: "DO" recall-vector for Speech() last; # 2018-10-08: one engram is enough. } # 2018-12-10: End of search for 818=DO; } # 2018-10-08: end of test for person and number. if ($subjnum==2 && $prsn==3) { # 2018-10-08: third person plural my @k=split(',',$psy[$i]); # 2018-10-08: examine @psy array; if ($k[1]==818 && $k[7]==3 && $k[8]==2) { # 2018-12-10: $aud = $k[20]; # 2019-08-01: "DO" recall-vector for Speech() last; # 2018-10-08: one engram is enough. } # 2018-12-10: End of search for 818=DO; } # 2018-10-08: end of test for person and number. } # 2018-10-08: End of backwards search-loop. Speech(); # 2018-10-08: speak the word starting at the $aud time. } # 2018-12-10: end of test for 818=DO auxiliary verb. } # 2019-08-01: EnAuxVerb() returns to EnVerbPhrase()
5.
Variables for EnAuxVerb Module with
NLU
$aud -- in the Speech() module is an associative tag leading to the typically most recent engram of a word stored in the @ear array of the auditory memory channel.
$auxverb --
auxiliary verb such as 800=BE; 830=DO; or modal verb.
$prsn -- 1st, 2nd, 3rd person of verb-forms.
$snu -- subject-number as parameter for verb-selection.
$subjnum -- (subject number) for agreement in grammatical number between a subject and a predicate nominative noun.
$vault -- size of MindBoot() sequence in time-points.
6. Troubleshooting and Debugging for
AI Mind Maintainers
6.1.a. Symptom: (Something goes wrong.)
6.1.b. Solution: (AI Mind
Maintainer devises solution.)
7.1. Using forms of "BE" for progressive present tense of verbs.
7.2. Using necessary forms for past and future verb-tenses.
7.3. Coding the use of modal verbs in thought and in conversation.
Roadmap to Artificial Intelligence
9.
AiTree of Mind-Modules for
Natural Language Understanding