1. Cognitive architecture
Diagram of the EnNounPhrase English Noun-Phrase Module
/^^^^^^^^^\ _____________ /^^^^^^^^^\ / EYE \ / EnThink \ / EAR \ / \ | | | \_____________/ / auditory \ | | | | | _____|________ | memory | | _______ | | | | ( Indicative ) | channel | | /image \ | | | | \____________/ | | | / percept \---|-----+ | __|___ | | | | \ engram / | a| | | /EnNoun\ | | | | \_______/ | b|c| | / Phrase \----|-------|--"robots" | | | s|o|f|( subject ) __V___ | | | visual | t|n|i| \________/ /EnVerb\ | | | | r|c|b| ( Phrase )--|--"save" | | memory | a|e|e| _______ \______/ | | | | c|p|r| /EnNoun \/ | | | | channel | t|t|s| / Phrase \ | | | | | | | | ( indirect )-|-------|--"people" | | | | | | \ object / | | | | | | | | \_______/ __V___ | | | _______ | |_|_| /EnNoun\ | | | /fresh \ | / Psy \ / Phrase \ | | | / image \ | /concept\ ( direct )-|--"work" | | \ engram /---|-\ array / \ object / | | | \_______/ | \_____/ \______/ | |
2. Purpose of the
AI4U Textbook EnNounPhrase English Noun-Phrase Module
EnNounPhrase finds an English noun or pronoun to serve as the subject of a sentence or as the indirect or direct object of a verb being thought by EnVerbPhrase. EnNounPhrase may also call EnPrep to insert a preposition; EnArticle to insert "a" or "the" before a noun; or EnAdjective to insert an English adjective describing a noun.
3. Algorithm of the
AI4U Textbook EnNounPhrase English Noun-Phrase Module
3.A.1. Fetching a noun or pronoun as the subject of a thought.
For the subject of a sentence of thought, EnNounPhrase typically finds the most active noun-concept in the Psy array of concepts.
When the EnNounPhrase module must recall a noun or a pronoun in response to an external query, such as, "Who are you," first the SpreadAct module will use the $qv1psi variable to find and activate the needed noun or pronoun and the $qv2psi variable to identify the verb associated with the target noun, first in the query itself, and then in the response to the query. Since both the noun and the verb are combined in the search for memories responding to the query, the AI will not recall some random statement about the subject of the query, but will instead recall any available memory expressing both the subject of the query and the verb expressed in the query. For the query "Who are you", the AI must find both the ego-concept "I" and the be-verb to be expressed as "am", as in "I am."
3.A.2. Fetching the ego-concept "I" as the default concept for contemplation in a quiescent mind.
3.A.3. Leaving out the repetitious subject-noun from any additional phrase being joined together with a first phrase for a resulting compound sentence that may be replaced with a single one-phrase sentence containing one or more conjunctions.
The user may tell the AI Mind two things:
The user may then ask the AI:John has a house
John has a car
The ghost292.pl AI was able to respond with the following output:What does John have
Suppose that we want the AI Mind to join two sentences together:
JOHN HAS A HOUSE
and
JOHN HAS A CAR
By not repeating the subject, we get:
JOHN HAS A HOUSE
and
JOHNHAS A CAR
By not repeating the subject and the verb, we get:
JOHN HAS A HOUSE
and
JOHN HASA CAR
The AI coding task for ghost294.pl in Perl was how to get the sentence-generation
modules to skip repeating the subject and skip repeating the verb.
Note that even a human being will sometimes dawdle or linger
while uttering the compound-setences, as in:
"John has a house...and a car...and a lawnmower...and a canoe, etc."
It was necessary to use one of the "chain" or "conCATenation" variables:
our $catiobj = 0; # 2019-01-28: concat-indirect-object for ConJoin() "AND". our $catdobj = 0; # 2019-01-28: concat-direct-object for ConJoin() "AND". our $catsubj = 0; # 2019-01-28: concat-subject for ConJoin() "AND". our $catverb = 0; # 2019-01-28: concat-verb for ConJoin() "AND".
We load the $catsubj variable inside the query-response code in the SpreadAct module. After the first phrase in response to a query, such as "JOHN HAS A HOUSE", the AI may check each activated idea for starting with $catsubj and for having $catverb in the second place. In that way, the various direct-objects may be isolated, introduced with "AND" from ConJoin, and sent into the Speech module for the output of a meandering, run-on response such as "JOHN HAS A HOUSE AND A CAR AND A BOAT AND A SLED AND A MOTORCYCLE". Such an AI output is like human speech, where the person states the basic premise before even thinking of all the nouns about to be concatenated with "AND" into the meandering response.
Once the chain-variables are loaded with the concept-numbers of the items to be omitted for the syncopation or shortening of a compound-sentence, each item is omitted simply by letting Indicative call EnNounPhrase or EnVerbPhrase but preemptively using conditionals to make each module "return" to Indicative before sending a noun or a verb into the Speech module.
3.B. Fetching a noun or pronoun as the direct object of a thought.
The English verb-phrase module EnVerbPhrase may call the EnNounPhrase module for both an indirect object of a verb and for a direct object. If an AI Mind embodied in a robot can recognize and name objects with a VisRecog module, the noun naming the recognized object may go directly into the slot for a direct object in a sentence being generated. The robot might say, "I see a dog." VisRecog may first identify the concept being recognized and then call EnNounPhrase to express the noun of the concept in a thought.
3.C. Fetching a noun or pronoun as the object of a preposition.
4. Code of EnNounPhrase() from ghost327.pl AI
source code in
Perl
sub EnNounPhrase() { # http://ai.neocities.org/EnNounPhrase.html $aud = 0; # 2018-06-28: safety measure. $act = 0; # 2016mar29; 2016apr27: so comparisons may be higher. $actpsi = 0; # 2019-01-22: prevent carry-over within compound sentences. $audjuste = 0; # 2016feb12: prevent carry-over $defact = -64; # 2016apr13: for default comparisons with "701=I"; $motjuste = 0; # 2016feb12: if ($whatcon==1 && $qv1psi==701 && $qv2psi==823 && $taccon>0) { $motjuste=$taccon } # 11-02 TEST $nphrpos = 5; # 2017-09-03: a default setting of noun for EnArticle(). $subjpsi = 0; # 2016jun28: how can there already be a subject-psi? TEST my $tsels = 0; # 2016may25: de-globalize the time-of-selection-of-subject. if ($verblock > 0) { # 2016apr13: positive verblock? my @k=split(',',$psy[$verblock]); # 2016apr13: inspect t=verblock row; $prsn = $k[7]; # 2018-09-30: for use in EnAuxVerb() $subjnum = $k[8]; # 2017-06-10: from number of verb; BUGFIX $nounlock = $k[14]; # 2019-08-01: dirobj tkb becomes nounlock value. } # 2016apr13: end of test for a positive verblock; if ($nounlock > 0) { # 2016apr13: already a nounlock? $dirobj = 1; # 2016apr20: nounlock is specifically for a direct object. $subjectflag = 0; # 2016apr20: needed for conditional tests below; my @k=split(',',$psy[$nounlock]); # 2016apr13: inspect t=nounlock row; $motjuste = $k[1]; # 2017jun08: in case a search is needed for non-zero $rv $act = $k[3]; # 2017jun08: let activation-level play its role here; if ($k[17] > 0) { $tdj = $k[17] } # 2019-10-13: time-of-adjective # if ($k[19] > 0) { $tpr = $k[19] } # 2019-08-11: time-of-preposition? if ($k[19] > 0) { $tnpr = $k[19] } # 2019-10-28: time-of-noun-preposition? if ($k[7] == 4) { # 2017jun08: if acc. case as for any nounlock; if ($k[20] > 0) { # 2019-08-01: if there is a positive recall-vector... $nphrpos = $k[6]; # 2017-09-03: find part-of-speech for EnArticle $aud = $k[20]; # 2019-08-01: find positive $rv; } # 2017-09-03: pre-ELSE end of test for a positive recall-vector } else { # 2019-08-08: if only a zero $rv is found... for (my $i=$t; $i>$midway; $i--) { # 2016apr20: search backwards in time. @k=split(',',$psy[$i]); # 2016apr20: inspect @psy flag-panel if ($motjuste == $k[1]) { # 2017jun08: find motjuste for sake of rv if ($dirobj == 1 && $k[7] == 4) { # 2017jun08: direct object? if ($k[20] > 0) { $nphrpos = $k[6] } # 2019-08-01: for EnArticle. if ($k[20] > 0) { $aud = $k[20] } # 2019-08-01: find positive $rv; if ($k[20] > 0) { last } # 2019-08-01: exit loop if $rv is found. } # 2016apr20: end of test for direct object and accusative case. if ($k[20] > 0) { $nphrpos = $k[6] } # 2019-08-01: for EnArticle. if ($k[20] > 0) { $aud = $k[20] } # 2019-08-01: find positive $rv; if ($k[20] > 0) { last } # 2019-08-01: exit loop if $rv is found. } # 2016apr20: end of test to find $motjuste with valid $rv. } # 2016apr27: end of for-loop in search of a positive recall-vector. } # 2017sep03: end of else-clause for typically a pronominal $rv. $actpsi = $k[1]; # 2017-06-17: send direct object into SpreadAct() } # 2016apr13: end of test for a positive nounlock; if ($tpr > 0) { # 2019-08-11: if noun links to a preposition... my @k=split(',',$psy[$tpr]); # 2019-08-11: inspect @psy knowledge-nodes. if ($k[14] > 0) { $px1 = $k[14] } # 2019-08-11: intercept "px1" for obj of prep. } # 2019-08-11: end of test for a jump-off point to a preposition. if ($whatcon==1 && $qv1psi==701 && $qv2psi==823 && $taccon>0) { $motjuste=$taccon } # 11-02 TEST if ($nounlock == 0) { # 2019-06-05: if English nouns are free to compete... $subjectflag = 1; # 2016mar29: a default until countermanded. $dba = 1; # 2017-06-11: default nominative until countermanded. if ($dirobj == 1) { $subjectflag = 0 } # 2016mar29: countermanding default for (my $i=$t; $i>$midway; $i--) { # 2016apr30: include input for topical response my @k=split(',',$psy[$i]); # 2016mar15: inspect @psy knowledge-nodes. if ($k[2] == 1) { # 2018-09-27: select only English words if ($k[6]==5 || $k[6]==7) { # 2017jun08: select $pos noun or pronoun if ($k[14] > 0 ) { # 2019-08-01: retrieve ideas, not single words. if ($k[3] > $act) { # 2017jun08: k3 activation as criterion. $etc++; # 2019-03-02: increment number of active ideas for ConJoin() $motjuste = $k[1]; # 2017jun08: Select the most active concept. $aud = $k[20]; # 2019-08-08: auditory recall-vector $svo1 = $k[1]; # 2017-06-08: keep track of subject. $mjact = $k[3]; # 2017jun08: if too low, motjuste defaults to "I" if ($k[3] > $act && $k[11] > 0) { # 2019-08-01: if k1-psi has k11-seq $verblock = $k[14]; # 2019-08-01: assign $tkb value to verblock. } # 2019-08-01: end of test for a k1-subject with a k11-seq. if ($k[3] > $act && $k[14] > 0) { # 2019-08-01: if k1-psi has k14-tkb $subjnum = $k[8]; # 2019-10-20: necessary for EnArticle() $verblock = $k[14]; # 2019-08-01: assign $tkb value to verblock. $aud = $k[20]; # 2019-08-08: TEST } # 2017jun11: end of test for a k1-subject with a k13-tkb. if ($dirobj == 1) { $actpsi = $k[1] } # 2017jun08 $subjpsi = $motjuste; # 2016apr10: for selection of verb-form. $snu = $k[8]; # 2017jun08: for parameter in verb-selection; if ($k[20] > 0) { # 2019-08-08: if there is a positive recall-vector... $nphrpos = $k[6]; # 2017-09-03: for sake of EnArticle. $audjuste = $k[20]; # 2019-08-01: temporary recall-vector for Speech $aud = $k[20]; # 2019-08-01: recall-vector for Speech() } # 2018-06-28: end of test for auditory recall-vector. $tseln = $i; # 2016mar29: use time-point for inhibition. $tsels = $i; # 2016apr17: use time-point for inhibition. $act = $k[3]; # 2017jun08: noun must have higher act to win } # 2016feb12: end of test for a higher activation $act } # 2017dec06: end of test for a k[13] tkb verblock } # 2016feb17: end of test for noun or pronoun as subject } # 2016feb17: end of test for human language code $hlc == "en" } # 2016mar13: End of (for loop) searching for most active "motjuste" } # 2019-06-05: end of test for absence of a $nounlock for English nouns. if ($whatcon > 0) { # 2019-01-28: if SpreadAct() answers a what-query... if ($whatcon==1 && $qv1psi==701 && $qv2psi==823 && $taccon>0) { $motjuste=$taccon } # 11-02 TEST if ($catsubj==$motjuste && $conj > 0) { # 2019-01-28: after use of a conjunction... return; # 2019-01-28: omit the subject-noun after the use of a conjunction. } # 2019-01-28: end of test } # 2019-01-28: end of test for SpreadAct() answering a what-query. my @k=split(',',$psy[$tsels]); # 2016apr17: inspect subject at time of selection; if ($k[0] > 0) { $tru = $k[0]; } # 2019-06-13: preserve truth-value for re-entry. $psy[$tsels]="$k[0],$k[1],$k[2],-90,$k[4],$k[5],$k[6]," . "$k[7],$k[8],$k[9],$k[10],$k[11],$k[12],$k[13]," . "$k[14],$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-08-01: flag-panel # 2016jun28: Above line inserts inhibition more than twice what SpreadAct imposes. if ($subjectflag == 0) { # 2016apr13: i.e., dir.obj or pred.nom; if ($whatcon==1 && $qv1psi==701 && $qv2psi==823 && $taccon>0) { $motjuste=$taccon } # 11-02 TEST if ($nounlock > 0) { # 2016apr13: if verb is locked to a particular $seq... my @k=split(',',$psy[$nounlock]); # 2016apr13: inspect t=nounlock row; $motjuste = $k[1]; # 2017jun08: nounlock psi pre-empts search. $act = $k[3]; # 2017jun08: let activation-level play its role here; if ($k[6] == 5) { # 2017-09-03: if nounlock part of speech is 5=noun $nphrpos = 5; # 2017-09-03: for sake of EnArticle. $qv1psi = $k[1]; # 2017-09-03: let direct object go to SpreadAct. } # 2017-09-03: end of test for only a noun to go into SpreadAct. $aud = $k[20]; # 2019-08-02: recall-vector to auditory engram. } # 2016apr13: end of test for a positive nounlock. } # 2016apr13: end of test for not-a-subject before using ELSE if ($aud == 0) { # 2018-06-28: seek outside of rv-less silent inference... for (my $i=$t; $i>$midway; $i--) { # 2016mar27: search backwards in time. my @k=split(',',$psy[$i]); # 2016mar27: inspect @psy flag-panel $act = $k[3]; # 2017jun08: let activation-level play its role here; if ($motjuste == $k[1]) { # 2017jun08: find motjuste for sake of rv if ($subjectflag == 1 && $k[7] == 1) { # 2017jun08: subject? if ($k[20] > 0) { $aud = $k[20] } # 2019-08-01: find positive $rv; if ($k[20] > 0) { last } # 2019-08-01: exit loop if $rv is found. } # 2016apr01: end of test for subject and for nominative case. if ($dirobj == 1 && $k[7] == 4) { # 2017jun08: direct object? if ($k[1] > 0) { $qv4psi = $k[1] } # 2017-12-12: for inserting "AN". if ($k[20] > 0) { $nphrpos = $k[6] } # 2019-08-01: set POS for EnArticle. if ($k[20] > 0) { $aud = $k[20] } # 2019-08-01: find positive $rv; if ($k[20] > 0) { last } # 2019-08-01: exit loop if $rv is found. } # 2016apr01: end of test for direct object and accusative case. } # 2016mar27: end of test to find $motjuste with valid $rv. } # 2016mar27: End of (for loop) searching through @psy conceptual array. } # 2016mar27: end of else-clause for when recall-vector is zero. if ($nounlock == 0) { # 2016apr07: if no nounlock override; if ($mjact < 20) { # 2016jun18: if no subject active enough for chain-of-thought if ($subjectflag == 1) { # 2016apr07: default to "I" only as subject $actpsi = 701; # 2016apr29: send 701=I ego-concept into SpreadAct() $motjuste = 701; # 2016apr07: 701=I default concept of AI Mind for (my $i=$t; $i>$midway; $i--) { # 2016apr07: search for "I" my @k=split(',',$psy[$i]); # 2016apr07: examine @psy if ($k[0]>0 && $k[1]==701 && $k[14]>0) { # 2019-08-01: I=701 with non-zero $tru if ($k[3] > $defact) { # 2017jun08: if higher k3 act is found; $tseln = $i; # 2016apr07: retain time of motjuste; $tsels = $i; # 2016may25: retain time of English subject; $actpsi = $k[1]; # 2017jun08: psi with activation to spread $defact = $k[3]; # 2017jun08: dynamic metric; $defact = ($k[3] -1); # 2019-06-03: allow deeper search. $verblock = $k[14]; # 2019-08-01: k14 $tkb as verblock; $aud = $k[20]; # 2019-08-01: recall-vector for auditory engram } # 2016apr07: end of test for higher-act ego-concept; } # 2016apr07: end of test for "701=I" with seq-check; } # 2016apr07: end of search for least-inhibited "701=I"; $dba = 1; # 2016apr07: From RuAi; subject requires nom. case; $nphrnum = 1; # 2016apr07: for EnArticle() and EnVerbPhrase(); $nphrpos = 7; # 2016apr07: prevent article "A" with "I"; $prsn = 1; # 2016apr07: for use elsewhere; $subjnum = 1; # 2016apr07: for use elsewhere; $subjpsi = 701; # 2016apr07: for use elsewhere; $topic = 701; # 2016apr07: for question-asking modules; for (my $i=$t; $i>$midway; $i--) { # 2016apr07: parameters for 701=I. my @k=split(',',$psy[$i]); # 2016apr07: examine @psy if ($k[1] == 701) { # 2017jun08: if 701=I is found; if ($k[7] == 1) { # 2017jun08: k7/dba must be nominative=1; $audjuste = $k[20]; # 2019-08-01: "I" recall-vector; $aud = $k[20]; # 2019-08-01: "I" recall-vector for Speech() if ($k[20]>0) { $aud=$k[20]; last } # 2019-08-01: insurance } # 2016apr07: end of test for nominative "I"; } # 2016apr07: End of search for 701=I; } # 2016apr07: end of 701=I search based on parameters. } # 2016apr07: end of test for "I" to become subj. not obj. } # 2016apr07: end of test for low activation warranting a default } # 2016apr07: end of test for absence of pre-ordained nounlock; $unk = $aud; # 2017-08-31: preserve value across call to EnArticle(). if ($motjuste == 701) { $nphrpos = 7 } # 2019-11-03: for pronoun 701=I if ($nphrpos == 5) { # 2017-09-03: only nouns, not adjectives or pronouns. my @aud=split(',',$ear[$aud]); # 2017-12-12: expose first @ear value if ($aud[0] eq "A") { $anset = 65 } # 2017-12-12: If vowel "A"; if ($aud[0] eq "E") { $anset = 69 } # 2017-12-12: If vowel "E"; if ($aud[0] eq "I") { $anset = 73 } # 2017-12-12: If vowel "I"; if ($aud[0] eq "O") { $anset = 79 } # 2017-12-12: If vowel "O"; if ($aud[0] eq "U") { $anset = 85 } # 2017-12-12: If vowel "U"; EnArticle() # 2017-12-11: module for thinking an English article. } # 2017-09-03: end of test for a 5=noun noun-phrase part-of-speech $aud = $unk; # 2017-08-31: restore value after call to EnArticle(). $unk = 0; # 2017-08-31: reset for safety. $unk = $aud; # 2019-10-13: preserve value across call to EnAdjective(). if ($tdj > 0) { # 2019-10-13: if there is a positive time-of-adjective... EnAdjective(); # 2019-03-02: permit insertion of adjective before a noun. $tdj = 0; # 2019-10-13: reset for safety. } # 2019-10-13: end of test for an adjective linked to the noun. $aud = $unk; # 2019-10-13: restore value after call to EnAdjective(). Speech(); # 2016feb13: speak the word starting at the $aud time. @k=split(',',$psy[$tsels]); # 2016jun24: inhibit the subject just spoken. $psy[$tsels]="$k[0],$k[1],$k[2],-32,$k[4],$k[5],$k[6]," . "$k[7],$k[8],$k[9],$k[10],$k[11],$k[12],$k[13]," . "$k[14],$k[15],$k[16],$k[17],$k[18],$k[19],$k[20]"; # 2019-08-01: flag-panel # if ($tpr > 0) { # 2019-08-11: if there is a positive time-of-preposition if ($tnpr > 0) { # 2019-10-128: if there is a positive time-of-noun-preposition EnPrep(); # 2019-08-11: for a prepositional phrase } # 2019-08-11: end of test for a preposition linked to the noun. $dirobj = 0; # 2016apr12: reset for safety $mfn = 0; # 2019-10-23: prevent carry-over. $mjact = 0; # 2016apr27: reset for safety. $motjuste = 0; # 2016apr25: reset for safety. } # 2019-10-28: EnNounPhrase() returns to English Indicative() module
5.
Variables for EnNounPhrase Module of an AI with
NLU
$act -- quasi-neuronal activation-level
$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.
$audjuste -- EnNounPhrase() $motjuste $aud to Speech() module
$catsubj --
flag for holding the concept-number of the SUBJect-noun of words conCATenated
together into the first phrase of a potentially compound output sentence, so that
one-by-one the words of a candidate second phrase may each be tested for a match with the
counterpart word in the very first phrase, and thus, if a conjunction like "AND" from
ConJoin is about to add the second phrase to the first phrase, the AI may
omit the repetitious same subject from the second phrase, and also the verb if
it is found to be repetitious in the
EnVerbPhrase module, with the result that the AI syncopates or shortens the
compound sentence into a single-subject and single-verb sentence such as,
"JOHN HAS A HOUSE AND A CAR" instead of
"JOHN HAS A HOUSE AND JOHN HAS A CAR".
$defact -- default activation for EnNounPhrase()
$dirobj -- flag indicates seeking for a direct object. Should perhaps be renamed "dirobjcon" so as to indicate a condition rather than a particular direct object.
$etc -- number of simultaneously active ideas for ConJoin() to separate with a conjunction.
$motjuste --
(from French) best word for inclusion in a thought.
$nphrpos -- "noun-phrase part-of-speech" for testing during the EnThink() process.
$nounlock -- time-point for a verb to lock onto a seq-noun.
$subjnum -- (subject number) for agreement in grammatical number between a subject and a predicate nominative noun.
$subjpsi -- subject-concept parameter to govern person of verb-forms
$taccon -- is a tactile condition flag which may be used by the AI Mind Maintainer either to trigger events involving tactile recognition or to carry the actual sensory identifiers which may be tested either for a positive value or for the specifically identifying value of the sensor.
$tsels -- Time of SELection of Subject -- is used locally in EnNounPhrase() and in RuNounPhrase() to keep track of the experiential time $t at which a stored concept is selected as a subject, so that the $tsels can be used to revisit the engram at $tsels to change its activation-level in the course of neural inhibition.
$verblock -- for subject-noun to lock onto seq-verb. The $verblock is a time-point in conceptual @psy memory where the $seq of a subject-noun is located, so that any crucial consideration such as the negation of a verb will be found when the verb-phrase module fetches the verb-concept from memory. If the thinking process finds and activates a particular subject-noun in memory, the $tkb of the subject noun becomes the $verblock so that a particular verb at a particular time will be selected by the English or Russian verb-phrase module.
6. Troubleshooting and Debugging for
AI Mind Maintainers
6.0.a. Symptom: (Something goes wrong.)
6.0.b. Solution: (AI Mind
Maintainer devises solution.)
6.1.a. Symptom: In either a pre-existing AI or a new AI,
the activation of multiple subject-nouns is detected by the
etc flag
as a trigger to let the
ConJoin module insert a conjunction like "AND" between multiple
ideas being expressed as output. Sometimes a problem of runaway activations
may occur among the subject-nouns being considered by the noun-phrase module
for selection as part of an idea to be output as a thought. In such a case
the AI may be filled with a burgeoning swarm of activated subjects and may
not be able to stop outputting needlessly compound sentences.
6.1.b. Solution: The AI Mind
Maintainer may troubleshoot the problem by inserting a diagnostic message
into that part of the noun-phrase module where nouns are competing to be selected
for having the highest activation. The temporary diagnostic message shall report
the location in conceptual Psy memory of the activated noun as identified by the
looping index-number; the concept-number that identifies the active noun;
the number of activated candidates as tallied by the
etc variable; and
the level of runaway activation as revealed by the value riding on the
act variable.
The following sample Perl code shows a typical diagnostic message.
If there are too many activated subject-nouns, the reported etc value will grow larger and larger as proof that there is a problem. One solution in the past has been to make sure that the InStantiate module modestly increases the activation on recognized concepts only from the outside world and not on concepts being thought and being stored in memory as part of the re-entry process. If re-entrant thoughts were to receive activation, then that process could be the source of runaway activation.print "\n EnNP i= $i k1= $k[1] etc= $etc act= $act \n"; } # 2016feb12: end of test for a higher activation $act
8. Resources for the AI4U Textbook EnNounPhrase Module
9. Spread the News on TikTok and Other Venues
Are you on TikTok? Are you eager to be a ThoughtLeader and Influencer?
Create a TikTok video in the following easy steps.
I. Capture a screenshot of
https://ai.neocities.org/EnNounPhrase.html
for the background of your viral TikTok video.
II. In a corner of the screenshot show yourself talking about the EnNounPhrase modulee.
III. Upload the video to TikTok with a caption including all-important hash-tags
which will force governments and corporations to evaluate your work
because of FOMO -- Fear Of Missing Out:
#AI
#ИИ
#brain
#мозг
#ArtificialIntelligence
#ИскусственныйИнтеллект
#consciousness
#сознание
#Dushka
#Душка
#psychology
#психология
#subconscious
#подсознание
#AGI #AiMind #Alexa #ChatAGI #chatbot #ChatGPT #cognition #cyborg #Eureka #evolution
#FOMO #FreeWill #futurism #GOFAI #HAL #immortality #JAIC
#JavaScript #linguistics #metempsychosis #Mentifex #mindmaker #mindgrid
#ML #neuroscience #NLP #NLU #OpenAI #OpenCog #philosophy #robotics #Singularity #Siri #Skynet
#StrongAI #transhumanism #Turing #TuringTest #volition
A sample video is at
https://www.tiktok.com/@sullenjoy/video/7211895021774179626
10.
AiTree of Mind-Modules for
Natural Language Understanding
Nota Bene: This webpage is subject to change without notice. Any Netizen may copy, host or monetize this webpage to earn a stream of income by means of an affiliate program where the links to Amazon or other booksellers have code embedded which generates a payment to the person whose link brings a paying customer to the website of the bookseller.
This page was created by an
independent scholar in artificial intelligence who created the following
True AI Minds with
sentience and with limited
consciousness/a>.
The following books describe the free, open-source True AI Minds.
AI4U -- https://www.iuniverse.com/BookStore/BookDetails/137162-AI4U
AI4U (paperback) -- http://www.amazon.com/dp/0595259227
AI4U (hardbound) -- http://www.amazon.com/dp/0595654371
The Art of the Meme (Kindle eBook) -- http://www.amazon.com/dp/B007ZI66FS
Artificial Intelligence in Ancient Latin (paperback) --
https://www.amazon.com/dp/B08NRQ3HVW
Artificial Intelligence in Ancient Latin (Kindle eBook) --
https://www.amazon.com/dp/B08NGMK3PN
Artificial Intelligence in German (Kindle eBook) -- http://www.amazon.com/dp/B00GX2B8F0
InFerence at Amazon USA (Kindle eBook) -- http://www.amazon.com/dp/B00FKJY1WY
563
Mentifex Autograph Postcards were mailed in 2022 primarily to
autograph collector customers at used bookstores to press the issue of
whether or not the Mentifex oeuvre and therefore the autograph is valuable.
These artwork-postcards with collectible stamps may be bought and sold at
various on-line venues.
See
AI 101
AI 102
AI 103 year-long community college course curriculum for AI in English.
See
Classics Course in Latin AI for Community Colleges or Universities.
See
College Course in Russian AI for Community Colleges or Universities.
Collect one signed
Mentifex Autograph Postcard from 563 in circulation.
See
Attn: Autograph Collectors about collecting
Mentifex Autograph Postcards.
Return to top; or to
The collectible
AI4U book belongs in every AI Library as an early main publication of Mentifex AI.