Permalink
Find file
12d3903 Jul 13, 2016
5823 lines (5355 sloc) 328 KB
#!/usr/bin/perl
use strict; # PERL by Example (2015) p. 77
use warnings; # PERL by Example (2015) p. 85
# use Encode; # 2016feb16: http://perldoc.perl.org/perlunitut.html
# use utf8; # 2016feb16: for Cyrillic Russian characters
# use feature "unicode_strings"; # 2016feb16: Perl_Programming/Unicode_UTF-8
# binmode STDIN, ":encoding(UTF-8)"; # 2016feb16
# ghost175.pl being coded on Sun.10.JUL.2016 or later
# Please host the Ghost Perl AI and install it for other persons.
# http://doc.perl6.org/language/variables
# http://ai.neocities.org/var.html -- Table of Variables in Perl AI
our $. = 0; # 2016jan14: line counter variable; PbyX 299
our $_ = " "; # 2016jan10: hidden variable; P_by_Ex p. 301
our $abc = ""; # AudBuffer() transfer character;
our $act = 0; # 2016jan16: quasi-neuronal activation-level
our $actpsi = 0; # 2016apr11: psi from which activation is to be spread
our $age = 0; # 2015apr26: Temporary age for loop-counting.
our $aud = " "; # 2016jan28: explicit package from @ear array
our $audbase = 0; # 2016jan27: recall-vector for VerbGen()
our $audbeg = 0; # 2016jan17: auditory-beginning tag for start of word.
our $audjuste = 0; # 2016feb12: NounPhrase motjuste aud to Speech() module
our $audnew = 0; # 2016jan17: holds onset-tag while rest of word comes in.
our $audpsi = 0; # 2016feb12: concept number of word in @ear array
our $audrec = 0; # 2016jan23: auditory recognition concept-number
our $audrv = 0; # 2016feb12: auditory recall-vector for Speech()
our $audrun = 1; # 2016jan26: counter of loops through AudRecog()
our $auxverb = 0; # 2016jun16: such as 800=BE; 830=DO; or modal verb;
our $b01 = ""; # 2016apr02: for OutBuffer();
our $b02 = ""; # 2016apr02: for OutBuffer();
our $b03 = ""; # 2016apr02: for OutBuffer();
our $b04 = ""; # 2016apr02: for OutBuffer();
our $b05 = ""; # 2016apr02: for OutBuffer();
our $b06 = ""; # 2016apr02: for OutBuffer();
our $b07 = ""; # 2016apr02: for OutBuffer();
our $b08 = ""; # 2016apr02: for OutBuffer();
our $b09 = ""; # 2016apr02: for OutBuffer();
our $b10 = ""; # 2016apr02: for OutBuffer();
our $b11 = ""; # 2016apr02: for OutBuffer();
our $b12 = ""; # 2016apr02: for OutBuffer();
our $b13 = ""; # 2016apr02: for OutBuffer();
our $b14 = ""; # 2016apr02: for OutBuffer();
our $b15 = ""; # 2016apr02: for OutBuffer();
our $b16 = ""; # 2016may21: http://ai.neocities.org/var.html#b16
our $beep = 0; # 2016apr29: flag for Motorium() to create a beep.
our $bias = 5; # 2016feb10: EnParser; NewConcept: expected POS
our $birth = localtime($^T); #2016apr21: PERL Black Book p. 444
our $c01 = ""; # 2016may21: http://ai.neocities.org/var.html#c01
our $c02 = ""; # 2016apr02: for AudBuffer();
our $c03 = ""; # 2016apr02: for AudBuffer();
our $c04 = ""; # 2016apr02: for AudBuffer();
our $c05 = ""; # 2016apr02: for AudBuffer();
our $c06 = ""; # 2016apr02: for AudBuffer();
our $c07 = ""; # 2016apr02: for AudBuffer();
our $c08 = ""; # 2016apr02: for AudBuffer();
our $c09 = ""; # 2016apr02: for AudBuffer();
our $c10 = ""; # 2016apr02: for AudBuffer();
our $c11 = ""; # 2016apr02: for AudBuffer();
our $c12 = ""; # 2016apr02: for AudBuffer();
our $c13 = ""; # 2016apr02: for AudBuffer();
our $c14 = ""; # 2016apr02: for AudBuffer();
our $c15 = ""; # 2016apr02: for AudBuffer();
our $c16 = ""; # 2016apr02: for AudBuffer();
our $c17 = ""; # 2016apr03: for AudBuffer() space
our $chaincon = 0; # 2016apr15: chain-of-thought condition-flag
our $char = " "; # 2016jan12: For use with getc in FileInput()
our $cns = 4096; # 2016apr19: size of central nervous system
our $coda = 64; # 2016apr19: memory recycled in ReJuvenate()
our $dba = 0; # 2016jan16: doing-business-as noun-case or verb-person
our $defact = 0; # 2015apr06: default activation for NounPhrase()
our $defcon = 5; # 2016jan21: defense condition
our $dirobj = 0; # 2016mar29: flag indicates seeking for a direct object
our $eot = 0; # 2016feb01: end-of-transmission for end of input
our $eureka = " "; # 2016feb23: something "found" in the aud-recog modules
our $fyi = 2; # 2016feb08: 2 = Tutorial mode; 3 = Diagnostic mode
our $gencon = 0; # 2016apr02: status-con flag when calling VerbGen()
our $hlc = "en"; # 2016jan22: human-language code; 1=en; 2=de; 3=ru.
our $idea = " "; # 2016apr09: for re-entry of AI thought back into the AI.
our $inhibcon = 0; # 2016apr17: flag for neural inhibition
our $iob = 0; # 2016mar26: indirect-object tag for @psy concept array
our $jrt = 0; # 2016apr18: ReJuvenate() "junior time" for memories moved
our $jux = 0; # 2016jan20: jux(taposed) concept in @psy array.
our $k = 0; # 2016mar15: k(knowledge) element from @psy concept array
our $krt = 0; # 2015may10: knowledge representation time
our $len = 0; # 2016jan27: length, for avoiding input non-words
our $mfn = 0; # 2016jan16: masculine-feminine-neuter gender flag.
our $midway = 0; # 2016jan23: limit for searching backwards in memory
our $mjact = 0; # 2016jun18: motjuste-activation for defaulting to 701=I
our $monopsi = 0; # 2016jan27: For use in AudRecog() module
our $morphpsi = 0; # 2016jan27: "for audRecog recognition of morphemes"
our $motjuste = 0; # 2016feb12: "best word for inclusion in a thought"
our $msg = " "; # 2015may01: $msg is for "message" of input.
our $num = 0; # 2016jan16: number-flag for grammatical number.
our $node = 0; # 2016jan27: "split" @psy array row into nodes
our $nounlock = 0; # 2016apr07: for a verb to lock onto a seq-noun
our $nphrnum = 0; # 2016apr02: grammatical number of noun-phrase
our $nphrpos = 0; # 2016apr07: for testing during EnThink() process
our $nxr = " "; # 2016jan26: for AudRecog dealing with next memory row
our $nxt = 0; # 2016feb03: number incremented for each new concept
our $oldpsi = 0; # 2016jan30: used in OldConcept to de-globalize "psi"
our $onset = 0; # 2016jan16: onset-tag for use as recall-vector.
our $output = " "; # 2016feb17: output string as in JavaScript AiMind.html
our $pho = ""; # $pho is for a "phoneme" or character of input.
our $phodex = 0; # 2016apr02: pho-index for AudBuffer()
our $pos = "5"; # 1=adj 2=adv 3=conj 4=interj 5=noun 6=prep 7=pron 8=verb
our $pov = 1; # 2016mar27: point-of-view: 1=self; 2=dual; 3=alien.
our $prc = 0; # 2016jan26: provisional recognition in AudRecog()
our $prclen = 0; # 2016JUL01: lenth of stem when $prc is declared.
our $pre = 0; # 2016jan20: pre(vious) associated @psy concept.
our $prejux = 0; # 2016jun17: previous $jux to carry NOT to verb
our $prepcon = 0; # 2016mar19: prepositional condition-flag for parsing.
our $prepgen = 0; # 2016mar30: urgency to generate a prepositional phrase.
our $prevtag = 0; # 2016jun18: may need to be global for InStantiate()?
our $prsn = 0; # 2016apr02: 1st, 2nd, 3rd person of verb-forms.
our $psi = 1; # 2016jan19: variable for elements of @psy array
our $psibase = 0; # 2016jan27: "winning psibase with winning actbase"
our $quapsi = 0; # 2016jun19: last input concept by which call to SpreadAct()
our $recnum = 0; # 2016jan27: "recognized number of a recognized word"
our $rjc = 0; # 2016apr18: counter of rejuvenation cycles
our $rv = 0; # 2016jan22: recall-vector for auditory memory.
our $seq = 0; # 2016jan20: subSEQuent @psy concept in an idea.
our $seqneed = 0; # 2016mar03: noun/pronoun or verb needed as a "seq"; 2016mar03
our $seqpsi = 0; # 2016apr11: concept to which activation should be spread.
our $snu = 0; # 2016apr02: subject-number as parameter for verb-selection.
our $spt = 0; # 2016jan23: blank space time before start of a word
our $stemgap = 0; # 2016jan27: "for avoiding false audRecog stems"
our $subject = 0; # 2016mar18: subject for parser module
our $subjectflag = 0; # 2016mar29: initial default for NounPhrase
our $subjnum = 0; # 2016apr07: for agreement with predicate nominative;
our $subjpre = 0; # 2016mar19: subject-$pre to be held for verb in parsing.
our $subjpsi = 0; # 2016apr02: parameter to govern person of verb-forms
our $sublen = 0; # 2016jan27: "length of audRecog subpsi word-stem"
our $subpsi = 0; # 2016jan27: "for AudRecog of sub-component wordstems"
our $t = 0; # 2015may02: Lifetime experiential time "$t"
our $t2s = 0; # 2015apr26: auditory text-to-speech index
our $tai = 0; # 2016apr14: time of artificial intelligence diagnostics
our $tdo = 0; # 2016mar21: time-of-direct-object for a parser module.
our $tio = 0; # 2016mar21: time-of-indirect-object for parser module.
our $tkb = 0; # 2016jan20: time-in-knowledge-base of an idea.
our $topic = 0; # 2016apr07: @psy topic for a question to be asked
our $tpp = 0; # 2016mar19: time-of-preposition for parsing.
our $trigger = 0; # 2016apr29: a trigger for Volition() to call Motorium()
our $tsj = 0; # 2016mar18: time-of-subject for parsing.
our $tseln = 0; # 2016mar29: time of selection of noun.
our $tselv = 0; # 2016apr13: time of selection of verb (for neural inhibition)
our $tsn = 0; # 2016mar15: time of input as $seqneed time for InStantiate()
our $tult = 0; # 2016jan18: t penultimate, or time-minus-one
our $tvb = 0; # 2016mar21: time-of-verb for parsing
our $unk = " "; # 2016feb20: all-putpose $unk for troubeshooting
our $utf8char = " "; # 2016feb16: wiki/Perl_Programming/Unicode_UTF-8
our $vault = 2425; # 2016may23: size of MindBoot() sequence in time-points.
our $verbcon = 0; # 2016mar21: verb-condition for seeking (in)direct objects.
our $verblock = 0; # 2016apr07: for subject-noun to lock onto seq-verb;
our $verbpsi = 0; # 2016apr07: $psi concept-number of verb in the @psy array
our $vphraud = 0; # 2016apr02: holds aud-fetch of verb-form for Speech() module
our $vrsn="ghost175"; # 2016JUL10: version identifier for sake of minddata.txt log.
our @ear = " "; # 2016jan28: new name for auditory memory array.
our @psy = " "; # 2016jan19: conceptual array renamed as @psy
sub AudBuffer; # 2016mar26: for transfer of words to OutBuffer().
sub AudInput; # 2016mar26: auditory input module for keyboard input.
sub AudMem; # 2016mar26: auditory memory module for storing engrams.
sub AudRecog; # 2016jan23 auditory recognition module.
sub DeThink; # 2016jan24: Selected dynamically by $hlc flag.
sub Emotion; # 2016mar26: for stub of physiological emotion.
sub EnNounPhrase; # 2016feb18: for thinking with nouns and pronouns.
sub EnThink; # 2016jan24: Selected dynamically by $hlc flag.
sub EnVerbPhrase; # 2016feb17: for verbs to be used in a thought.
sub FileInput; # 2016jan10 PbEx5e p. 351: Forward declaration.
sub InStantiate; # 2016jan19 PbEx5e p. 351: Forward declaration.
sub KbLoad; # 2016jan22 PbEx5e p. 351: Forward declaration.
sub MindBoot; # 2016jan23 PbEx5e p. 351: Forward declaration.
sub motorium; # 2015apr25 PbEx5e p. 351: Forward declaration.
sub NewConcept; # 2015may28 PbEx5e p. 351: Forward declaration.
sub NounPhrase; # 2016feb11: for nouns and pronouns in a thought.
sub OldConcept; # 2016jan14 PbEx5e p. 351: Forward declaration.
sub RuThink; # 2016jan24: Selected dynamically by $hlc flag.
sub Sensorium; # 2016mar26: sensory input module
sub TabulaRasa; # 2016jan25: Called from MainLoop as in MindForth
sub VisRecog; # 2015apr26 PbEx5e p. 351: Forward declaration.
sub volition; # 2015apr24 PbEx5e p. 351: Forward declaration.
sub TabulaRasa() { # 2016jan25: Establish size and emptiness of CNS.
print "Size of AI memory is $cns human language code = $hlc \n"; #2016feb16
my $trc = 0; # 2015apr2015 $trc is "tabula rasa counter".
until ($trc == $cns) { # 2015apr26 PbEx5e p. 193 "Loops".
$psy[$trc] = "0,0,0,0,0,0,0,0,0,0,0,0,0"; # 2016mar26: adding $iob.
$ear[$trc] = " ,0,0"; # 2016jan28: initialize three columns.
$trc++; # 2015apr26: Increment tabula-rasa-counter $trc.
} # End of loop filling auditory memory with blank engrams.
} # 2016feb11: End of TabulaRasa "clean slate" sequence.
sub PsiDecay() { # 2016apr13: let conceptual activations dwindle
print " PsiDecay() moves conceptual activations towards zero. \n"; # 2016JUL04
for (my $i=$t; $i>$midway; $i--) { # 2016apr13: move backwards in time.
my @k=split(',',$psy[$i]); # 2016apr13: inspect @psy flag-panel
if ($k[1] > 2) { $k[1] = ($k[1] - 2) } # 2016may01: approach zero.
# if ($k[1] < 0) { $k[1] = ($k[1] + 1) } # 2016may02: reduce inhibition.
if ($k[1] < 0) { $k[1] = ($k[1] + 2) } # 2016JUL04: rapid recovery.
$psy[$i]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6],$k[7],$k[8],$k[9],$k[10],$k[11],$k[12]";
} # 2016apr13: End of (for loop) moving backwards in time
} # 2016apr13: PsiDecay() returns to EnThink()...
sub AudDamp() { # 2016feb03: "deactivate auditory engrams"
for (my $i=$midway; $i<$cns; $i++) { # 2016feb03:
my @aud=split(',',$ear[$i]); # 2016feb03: Examine the @ear array.
$ear[$i] = "$aud[0],0,$aud[2]"; # 2016feb03: Reset act to zero.
} # 2016feb03: end of forwards sweep through auditory memory.
} # 2016feb03: End of AudDamp(0; return to input module.
# $act 33-48 = consciousness tier where concepts win selection.
# $act 17-32 = subconscious where concepts remain available.
# $act 1-16 = noise tier below logical association threshold.
sub SpreadAct() { # 2016apr11: spread activation from concept to concept.
print "\nSpreadAct() has been called to spread conceptual activation.\n"; #2016apr29
print " SprA: krt= $krt quapsi= $quapsi actpsi= $actpsi \n"; #2016jun19
PsiDecay(); # 2016may01: reduce conceptual activation in general.
if ($actpsi > 0) { # 2016apr11: if there is an actpsi concept...
for (my $i=$t; $i>$midway; $i--) { # 2016apr12: search backwards in time.
my @k=split(',',$psy[$i]); # 2016apr11: inspect @psy flag-panel
if ($k[0] == $actpsi && $k[8] > 0) { $seqpsi = $k[8] } #2016apr12: if seq, seqpsi
if ($k[0] == $actpsi && $k[7] > 0) { # 2016apr29: require verblock.
print " i= $i actpsi= $actpsi seqpsi= $seqpsi \n"; #2016apr29
$k[1] = ($k[1] + 32); # 2016jun28: impose less than half of subj-inhibition.
print " SprAct-mid: for $k[0] setting $k[1] activation \n"; # 2016jun19
$psy[$i]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6],$k[7],$k[8],$k[9],$k[10],$k[11],$k[12]";
} # 2016apr12: end of diagnostic test
} # 2016apr11: end of (for loop) searching for actpsi concept.
} # 2016apr11: end of test for a positive $actpsi.
print " SpreadAct-end : t= $t actpsi= $actpsi seqpsi= $seqpsi \n"; # 2016apr29
$actpsi = 0; # 2016apr12: reset for safety.
} # 2016jun30: SpreadAct() returns to ReEntry().
sub KbLoad() { # 2016jan23: load MindBoot knowledge-base bootstrap.
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print "KbLoad stores MindBoot knowledge-base, t= $t. \n"; # 2016jan23
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
$psy[$t] = "$psi,$act,$hlc,$pos,$jux,$pre,$iob,$tkb,$seq,$num,$mfn,$dba,$rv";
} # 2016jan23: End of KbLoad; return to MindBoot knowledge bootstrap.
sub OutBuffer() { # 2016apr02: right-justifies a word in memory.
$b01=""; $b02=""; $b03=""; $b04=""; $b05=""; $b06=""; # 2016apr02
$b07=""; $b08=""; $b09=""; $b10=""; $b11=""; $b12=""; # 2016apr02
$b13=""; $b14=""; $b15=""; $b16=""; # 2016apr02: clear tabula rasa;
if ($c16 ne "") { # 2016apr03: if the AudBuffer is full;
$b16=$c16; $b15=$c15; $b14=$c14; $b13=$c13; # 2016apr02
$b12=$c12; $b11=$c11; $b10=$c10; $b09=$c09; # 2016apr02
$b08=$c08; $b07=$c07; $b06=$c06; $b05=$c05; # 2016apr02
$b04=$c04; $b03=$c03; $b02=$c02; $b01=$c01; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 16-character word;
if ($c15 ne "") { # 2016apr03: if the word is only 15 characters
$b16=$c15; $b15=$c14; $b14=$c13; $b13=$c12; $b12=$c11; $b11=$c10;
$b10=$c09; $b09=$c08; $b08=$c07; $b07=$c06; $b06=$c05; $b05=$c04;
$b04=$c03; $b03=$c02; $b02=$c01; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 15-character word;
if ($c14 ne "") { # 2016apr03: if the word is only 14 characters
$b16=$c14; $b15=$c13; $b14=$c12; $b13=$c11; $b12=$c10; $b11=$c09;
$b10=$c08; $b09=$c07; $b08=$c06; $b07=$c05; $b06=$c04; $b05=$c03;
$b04=$c02; $b03=$c01; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 14-character word;
if ($c13 ne "") { # 2016apr03: if the word is only 13 characters
$b16=$c13; $b15=$c12; $b14=$c11; $b13=$c10; $b12=$c09; $b11=$c08;
$b10=$c07; $b09=$c06; $b08=$c05; $b07=$c04; $b06=$c03; $b05=$c02;
$b04=$c01; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 13-character word;
if ($c12 ne "") { # 2016apr03: if the word is only 12 characters
$b16=$c12; $b15=$c11; $b14=$c10; $b13=$c09; $b12=$c08; $b11=$c07;
$b10=$c06; $b09=$c05; $b08=$c04; $b07=$c03; $b06=$c02; $b05=$c01;
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 12-character word;
if ($c11 ne "") { # 2016apr03: if the word is only 11 characters
$b16=$c11; $b15=$c10; $b14=$c09; $b13=$c08; $b12=$c07; $b11=$c06;
$b10=$c05; $b09=$c04; $b08=$c03; $b07=$c02; $b06=$c01; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of an 11-character word;
if ($c10 ne "") { # 2016apr03: if the word is only 10 characters
$b16=$c10; $b15=$c09; $b14=$c08; $b13=$c07; $b12=$c06; $b11=$c05;
$b10=$c04; $b09=$c03; $b08=$c02; $b07=$c01; $b06=""; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 10-character word;
if ($c09 ne "") { # 2016apr03: if the word is only 9 characters
$b16=$c09; $b15=$c08; $b14=$c07; $b13=$c06; $b12=$c05; $b11=$c04;
$b10=$c03; $b09=$c02; $b08=$c01; $b07=""; $b06=""; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 9-character word;
if ($c08 ne "") { # 2016apr03: if the word is only 8 characters
$b16=$c08; $b15=$c07; $b14=$c06; $b13=$c05; $b12=$c04; $b11=$c03;
$b10=$c02; $b09=$c01; $b08=""; $b07=""; $b06=""; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of an 8-character word;
if ($c07 ne "") { # 2016apr03: if the word is only 7 characters
$b16=$c07; $b15=$c06; $b14=$c05; $b13=$c04; $b12=$c03; $b11=$c02;
$b10=$c01; $b09=""; $b08=""; $b07=""; $b06=""; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 7-character word;
if ($c06 ne "") { # 2016apr03: if the word is only 6 characters
$b16=$c06; $b15=$c05; $b14=$c04; $b13=$c03; $b12=$c02; $b11=$c01;
$b10=""; $b09=""; $b08=""; $b07=""; $b06=""; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 6-character word;
if ($c05 ne "") { # 2016apr03: if the word is only 5 characters
$b16=$c05; $b15=$c04; $b14=$c03; $b13=$c02; $b12=$c01; $b11="";
$b10=""; $b09=""; $b08=""; $b07=""; $b06=""; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 5-character word;
if ($c04 ne "") { # 2016apr03: if the word is only 4 characters
$b16=$c04; $b15=$c03; $b14=$c02; $b13=$c01; $b12=""; $b11="";
$b10=""; $b09=""; $b08=""; $b07=""; $b06=""; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 4-character word;
if ($c03 ne "") { # 2016apr03: if the word is only 3 characters
$b16=$c03; $b15=$c02; $b14=$c01; $b13=""; $b12=""; $b11="";
$b10=""; $b09=""; $b08=""; $b07=""; $b06=""; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 3-character word;
if ($c02 ne "") { # 2016apr03: if the word is only 2 characters
$b16=$c02; $b15=$c01; $b14=""; $b13=""; $b12=""; $b11="";
$b10=""; $b09=""; $b08=""; $b07=""; $b06=""; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 2-character word;
if ($c01 ne "") { # 2016apr03: if the word is only 1 character
$b16=$c01; $b15=""; $b14=""; $b13=""; $b12=""; $b11="";
$b10=""; $b09=""; $b08=""; $b07=""; $b06=""; $b05="";
$b04=""; $b03=""; $b02=""; $b01=""; # 2016apr02
return; # 2016apr02: abandon remainder of function;
} # 2016apr02: end of transfer of a 1-character word;
} # 2016apr02: OutBuffer() returns to AudBuffer or VerbGen()
sub AudBuffer() { # 2016apr02: for transfer of words to OutBuffer()
if ($abc ne "") { $phodex++ } # 2016apr03: avoid blank space.
if ($phodex == 1) { # 2016apr02: Erase any left-over old data;
$c01 = $abc; $c02=""; $c03 = ""; $c04 =""; # 2016apr02
$c05 = ""; $c06 = ""; $c07 = ""; $c08 = ""; # 2016apr02
$c09 = ""; $c10 = ""; $c11 = ""; $c12 = ""; # 2016apr02
$c13 = ""; $c14 = ""; $c15 = ""; $c16 = ""; # 2016apr02
} # 2016apr02: end of using $phodex=1 to blank out the AudBuffer()
if ($phodex == 2) { $c02 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 3) { $c03 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 4) { $c04 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 5) { $c05 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 6) { $c06 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 7) { $c07 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 8) { $c08 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 9) { $c09 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 10) { $c10 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 11) { $c11 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 12) { $c12 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 13) { $c13 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 14) { $c14 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 15) { $c15 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 16) { $c16 = $abc } # 2016apr02: AudBuffer Character
if ($phodex == 17) { $c17 = $abc } # 2016apr03: AudBuffer space
} # End of AudBuffer; return to AudInput or FileInput or VerbGen.
sub Parser() { # 2016mar17: enlarging the parser function.
# 2016mar17: OldConcept() shall have provided flag-panel data.
if ($prepcon == 0) { # 2016mar19: if not handling a preposition...
if ($pos == 5 || $pos == 7) { # 2016mar21: expanding then-clause
$tsj = $tult; # 2016mar19: subject?
if ($verbcon == 1) { # 2016mar21: if a verb has come in...
if ($tio > 0) { # 2016mar21: if $tio previously set...
$tdo = $tult; # 2016mar21: second noun sets time of dir.obj.
} # 2016mar21: end of test to make 2nd noun the direct object.
if ($tio == 0) {$tio = $tult} # 2016mar21: set only once
if ($tdo == 0) {$tdo = $tult} # 2016mar21: initial d.o. setting
my @k=split(',',$psy[$tvb]); # 2016mar21: expose flag-panel of verb
$pre = $k[0]; # 2016mar21: verb psi will be $pre of direct object
@k=split(',',$psy[$tio]); # 2016mar26: expose flag-panel of indir.obj.
$iob = $k[0]; # 2016mar27: excerpt indirect-object concept for k[6]
$psy[$tio]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6],$k[7],$k[8],$k[9],$k[10],3,$k[12]";
# 2016mar23: Above line inserts dba=3 for dative-case indirect object.
@k=split(',',$psy[$tdo]); # 2016mar26: expose flag-panel of dir.obj.
$psy[$tdo]="$k[0],$k[1],$k[2],$k[3],$k[4],$pre,$k[6],$k[7],0,$k[9],$k[10],4,$k[12]";
# 2016mar21: Above line inserts verb-$psi as $pre of direct object.
@k=split(',',$psy[$tvb]); # 2016mar26: expose flag-panel of main verb.
$tdo = $tult; # 2016jun26: insert time-of-direct-object for nounlock;
$psy[$tvb]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$iob,$tdo,$psi,$k[9],$k[10],$k[11],$k[12]";
$iob = 0; # 2016mar27: reset indirect-object identifier for safety.
} # 2016mar21: end of test for a condition following a verb.
} # 2016mar21: end of test for noun not object of a preposition.
} # 2016mar21: end of test for a non-prepositional condition.
if ($pos == 6) { $prepcon = 1; $tpp = $tult } # 2016mar19: prepare for noun.
if ($pos == 5 || $pos == 7) { # 2016mar19:
print "\n PrsrSbj: tsj= $tsj tvb= $tvb tio= $tio iob= $iob tdo= $tdo \n"; #2016jun26
if ($prepcon == 1) { # 2016mar19:
my @k=split(',',$psy[$tpp]); # 2016mar19: expose flag-panel of preposition;
$pre = $k[0]; # 2016mar19: Let $pre briefly be the preposition.
$psy[$tpp]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6],$k[7]$psi,$k[9],$k[10],$k[11],$k[12]";
print "ParserA: tult $tult psi= $psi pos= $pos tpp= $tpp prepcon= $prepcon \n"; # 2016mar
@k=split(',',$psy[$tult]); # 2016mar21: expose flag-panel of obj of prep.
$psy[$tult]="$k[0],$k[1],$k[2],$k[3],$k[4],$pre,$k[6],$k[7],0,$k[9],$k[10],4,$k[12]";
# 2016mar19: Line above for object sets prep as $pre; $seq as 0; $dba as 4.
print "ParserB: tult $tult psi= $psi pos= $pos tpp= $tpp prepcon= $prepcon \n"; # 2016mar19
print "ParserB: tult $tult psi= $psi tpp= $tpp verbcon= $verbcon \n"; # 2016mar21
$prepcon = 0; # 2016mar19: Reset to prevent carry-over.
} # 2016mar19: end of test for a positive $prepcon.
} # 2016mar19: end of test for a noun or pronoun.
# if ($pos == 8) { # 2016mar19: assign flags to both subject and verb.
if ($pos == 8 && $psi != 830) { # 2016jun17: if verb other than "DO"
$tvb = $tult; # 2016mar21: hold onto time-of-verb for flag-insertions.
$verbcon = 1; # 2016mar21: verb-condition is "on" for ind. & dir. objects.
print " Parser: t= $t tsj= $tsj psi= $psi pos= $pos prepcon= $prepcon \n"; # 2016mar19
my @k=split(',',$psy[$tsj]); # 2016mar19: expose flag-panel of subject noun
$subjpre = $k[0]; # 2016mar19: Hold onto $subjpre for the pos=8 verb
$psy[$tsj]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6],$tvb,$psi,$k[9],$k[10],1,$k[12]";
$tsj = 0; # 2016mar23: Reset to zero after deployment for setting flags.
@k=split(',',$psy[$tult]); # 2016mar21: expose flag-panel of verb.
$psy[$tult]="$k[0],$k[1],$k[2],$k[3],$k[4],$subjpre,$k[6],$k[7],0,$k[9],$k[10],$k[11],$k[12]";
$subjpre = 0; # 2016mar19: Reset for safety.
} # 2016mar19: end of test for a pos=8 verb.
} # 2016mar17: End of Parser; return to InStantiate()
sub InStantiate() { # http://mind.sourceforge.net/instiate.html
$pre = $prevtag; # 2016jun18: re-globalize?
$prevtag = 0; # 2016mar12: Reset for safety.
if ($oldpsi == 701) { $pos = 7 } # 2016jun19: 7 = pronoun.
if ($fyi > 0) { # 2016feb10: TEST MODE
print "\nInStantiate() has been called by a parser module \n"; # 2016feb24
print " InSt: psi= $psi,act= $act,hlc= $hlc,pos= $pos,"; # 2016jun30: flags
print "jux= $jux,pre= $pre,\n"; # 2016jun30: @psy associative-tag flag-panel
print " InSt: iob=$iob,tkb=$tkb,seq=$seq,num=$num,mfn=$mfn,dba=$dba,rv=$rv\n";
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
$act = 0; # 2016jun26: preparing to activate only older nodes of concepts.
print "InStantiate: pov= $pov pos= $pos psi= $psi \n"; # 2016jun26: TEST; REMOVE
if ($pov > 0) { # 2016JUL03: if the point-of-view does not matter; TEST
for (my $i=$t; $i>$midway; $i--) { # 2016jun26: search backwards in time.
my @k=split(',',$psy[$i]); # 2016jun26: inspect @psy flag-panel
if ($k[0] == $psi) { $k[1] = ($k[1] + 32) } #2016JUL04: impart activation.
if ($k[0] == $psi) { print "$k[1] @ $i " } #2016JUL03:
$psy[$i]="$k[0],$k[1],$k[2],$k[3],$k[4],$k[5],$k[6],$k[7],$k[8],$k[9],$k[10],$k[11],$k[12]";
} # 2016jun26: end of (for loop) searching backwards in time.
} # 2016jun26: end of test for an external source of inputs.
$tult = $t - 1; # 2016feb10: penultimate time
$act = -48; # 2016JUL06: for a "trough" of recent-most inhibition.
# 2016mar26: $k[0]$k[1]$k[2]$k[3]$k[4]$k[5]$k[6]$k[7]$k[8]$k[9]$k[10]$k[11]$k[12]
$psy[$tult] = "$psi,$act,$hlc,$pos,$jux,$pre,$iob,$tkb,$seq,$num,$mfn,$dba,$rv";
if ($jux == 250) { $jux = 0 } # 2016jun17: Reset after use.
if ($prejux == 250) { # 2016jun17: 250=NOT from OldConcept()
$jux = 250; # 2016jun17: set $jux for next instantiand;
$prejux = 0; # 2016jun17: Reset for safety.
} # 2016jun17: end of post-instantiation test;
Parser(); # 2016mar17: building up the parser function.
if ($pos == 5 || $pos == 7) { $prevtag = $psi }; # 2016mar12: after subject
if ($pos == 8) { $prevtag = $psi }; # 2016mar12: after a verb.
if ($pos == 8 && $seqneed == 0) { $seq = $psi }; # 2016mar15: for the $seq of a subject
if ($pos == 5 || $pos == 7) { # 2016mar15: if noun or pronoun...
$seq = 0; # 2016mar15: until set by the $seqneed mechanism...
if ($seqneed == 0) { $seqneed = 8 } # 2016mar15: if start of input sentence...
if ($seqneed == 5) { $seqneed = 0 } # 2016mar15: for subject only
} # 2016mar15:
if ($pos == 5 || $pos == 7) { $actpsi = $psi } # 2016JUL10: for ReEntry() & SpreadAct()
if ($pos == 8) { $seqneed = 5 }; # 2016mar15: if verb, need direct object.
$pre = 0; # 2016mar12: Reset to prevent carry-over.
$act = 0; # 2016apr27: reset to prevent carry-over.
print " InSta-end: actpsi= $actpsi quapsi= $quapsi \n \n"; # 2016JUL10: TEST
} # http://code.google.com/p/mindforth/wiki/InStantiate
# 2015jun04 Requirements of EnParser English Parser module:
# EnParser shall at first assume that a new word is a noun.
# EnParser shall call InStantiate to complete the parsing process.
sub EnParser() { # http://mind.sourceforge.net/parser.html
$act = 48; # 2016apr27: an arbitrary activation for InStantiate()
$bias = 5; # 2015jun04: Expect a noun until overruled.
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print " EnParser has been called by NewConcept \n"; # 2016jan14
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
if ($pos == 5) { $bias = 8 } # 2016feb10: after noun, expect verb.
if ($pos == 7) { $bias = 8 } # 2016feb10: after pronoun, expect verb.
if ($pos == 8) { $bias = 5 } # 2016feb10: after verb, expect noun
InStantiate(); # 2016jan19: for creating @psi concept-nodes
} # 2016feb10: EnParser() returns to OldConcept() or NewConcept().
sub RuParser() { # http://mind.sourceforge.net/parser.html
$act = 48; # 2016apr28: an arbitrary activation for InStantiate()
$bias = 5; # 2016feb24: Expect a noun until overruled.
if ($fyi > 2) { # 2016feb24: if mode is Diagnostic
print " RuParser has been called by NewConcept \n"; # 2016jfeb24
} # 2016feb24: end of test for Diagnostic or Tutorial mode.
if ($pos == 5) { $bias = 8 } # 2016feb24: after noun, expect verb.
if ($pos == 7) { $bias = 8 } # 2016feb24: after pronoun, expect verb.
if ($pos == 8) { $bias = 5 } # 2016feb24: after verb, expect noun
print "RuParser: pos= $pos bias= $bias hlc= $hlc psi= $psi \n"; #2016feb24
InStantiate(); # 2016feb24: for creating @psi concept-nodes
} # 2016feb24: RuParser() returns to OldConcept() or NewConcept().
sub OldConcept() { # http://mind.sourceforge.net/oldcept.html
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print "\nOldConcept() called by an input module.\n"; # 2016jan30
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
for (my $i=$t; $i>$midway; $i--) { # 2016feb10: search backwards in time.
my @k=split(',',$psy[$i]); # 2016mar15: inspect @psy knowledge nodes
if ($k[0] == $oldpsi) { # 2016mar15: find most recent oldpsi engram
if ($k[2] ne 0) { $hlc = $k[2] } # 2016apr07: human-language code;
if ($k[3] > 0) { $pos = $k[3] } # 2016apr06: pos = part of speech;
if ($k[9] > 0) { $num = $k[9] } # 2016apr06: grammatical num(ber);
if ($k[10] > 0) { $mfn = $k[10] } # 2016apr06: m/f/n gender 1/2/3;
} # 2016feb10: end of test for $oldpsi match in @psy array
} # 2016mar13: End of (for loop) searching through @psy conceptual array.
if ($hlc eq "en") { # 2016feb10: test for governing human-language-code
if ($oldpsi == 250) { $prejux = 250 } # 2016jun17: a flag for negation.
$psi = $oldpsi; # 2016feb10: from MindForth.
if ($pov == 2) { # 2016mar27: during a pov "dual" conversation...
if ($oldpsi == 245) { $prepgen = 8 } # 2016mar30: if "Where?" call EnPrep()
if ($oldpsi == 707) { $psi = 701; $rv = 0 } # 2016mar27: interpret "YOU" as "I";
if ($oldpsi == 701) { $psi = 707; $rv = 0 } # 2016mar27: interpret "I" as "YOU".
if ($oldpsi == 731) { $psi=737; $num=2; $dba=1; $rv=0 } # 2016mar30: we --> you.
print "\nOldConcept: oldpsi= $oldpsi real psi= $psi \n"; # 2016apr30: TEST
} # 2016mar27: end of test for other person communicating with the AI.
EnParser(); # 2016feb10: In preparation to call InStantiate().
} # 2016feb10: end of test for English human-language-code
if ($hlc eq "ru") { # 2016feb24: test for governing human-language-code
$psi = $oldpsi; # 2016feb24: from MindForth.
if ($pov == 2) { # 2016apr01: during a pov "dual" conversation...
if ($oldpsi == 245) { $prepgen = 8 } # 2016apr01: if "Where?" call RuPrep()
if ($oldpsi == 707) { $psi = 701; $rv = 0 } # 2016apr01: interpret "YOU" as "I";
if ($oldpsi == 701) { $psi = 707; $rv = 0 } # 2016apr01: interpret "I" as "YOU".
if ($oldpsi == 731) { $psi=737; $num=2; $dba=1; $rv=0 } # 2016apr01: we --> you.
if ($oldpsi == 1707) { $psi=1701; $num=1; $dba=1; $rv = 0 } #2016apr01: ТЫ --> Я
if ($oldpsi == 1701) { $psi=1707; $num=1; $dba=1; $rv = 0 } #2016apr01: Я --> ТЫ
if ($oldpsi == 1731) { $psi=1737; $num=2; $dba=1; $rv=0 } #2016apr01: МЫ --> ВЫ
print "\nOldConcept: oldpsi= $oldpsi real psi= $psi \n"; # 2016apr30
} # 2016mar27: end of test for other person communicating with the AI.
RuParser(); # 2016feb24: In preparation to call InStantiate().
} # 2016feb24: end of test for Russian human-language-code
$audnew = 0; # 2016feb09: Reset for sake of $rv of next input word.
$oldpsi = 0; # 2016jan30: reset for safety.
} # http://code.google.com/p/mindforth/wiki/OldConcept
# 2015may28 Requirements of NewConcept mind-module:
# NewConcept shall create a concept in @psy for each new word encountered.
# A flag-panel shall lodge associative tags with each new @psy concept.
sub NewConcept() { # http://mind.sourceforge.net/newcept.html
print "\nNewConcept: nxt= $nxt len= $len \n"; # 2016mar08
$psi = $nxt; # 2016jan22: For xfer to InStantiate().
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print " NewC hlc= $hlc calls InStantiate for psi $psi len $len \n"; # 2016feb12
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
$pos = $bias; # 2016feb10: InStantiate() stores value from EnParser().
# if ($hlc eq "de") { # 2016jan22: test for governing human-language-code
# DeParser(); # 2016jan22: In preparation to call InStantiate().
# } # 2016feb19: http://de.perl6intro.com
if ($hlc eq "en") { # 2016jan22: test for governing human-language-code
EnParser(); # 2015jun04: In preparation to call InStantiate().
} # 2016jan22: end of test for English human-language-code
if ($hlc eq "ru") { # 2016feb24: test for governing human-language-code
RuParser(); # 2016feb24: In preparation to call InStantiate().
} # 2016feb24: end of test for Russian human-language-code.
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print "NewConcept-late: nxt= $nxt len= $len \n"; # 2016feb03:
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
if ($len > 0) { # 2016jan30: do not count spurious new concepts
$nxt++; # 2016jan22: Increment for each new human word/concept.
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print "NewConcept increments nxt counter to $nxt \n"; # 2016feb02
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
} # 2016jan30: end of test for new concepts with positive length.
$audnew = 0; # 2016feb09: Reset for sake of $rv of next input word.
$audpsi = 0; # 2016feb03: reset to prevent carry-overs.
} # 2016feb10: NewConcept() returns to AudInput() or FileInput().
sub AudRecog() { # http://code.google.com/p/mindforth/wiki/AudRecog
$audrec = 0; # 2016jan23: prevent carry-over of previous value.
$psi = 0; # 2016jan23: prevent carry-over of previous value.
$act = 8; # 2016jan30: as in Mindforth, start with a hefty value.
my $actbase = 0; # 2016may22: trying to de-globalize the variable.
for (my $i=$spt; $i>$midway; $i--) { # 2016feb07: search backwards in time.
my @aud=split(',',$ear[$i]); # 2016jan28: @ear is new array-name
if ($pho ne $aud[0]) { $ear[$i] = "$aud[0],0,$aud[2]" } #2016apr22: de-activate
if ($pho eq $aud[0]) { # 2016jan29: If incoming pho matches stored aud0;
if ($aud[1]==0) { # 2016jan28: if matching engram has no activation;
my @prv=split(',',$ear[$i-1]); # 2016mar14: "@prv" for "previous" row.
if ($prv[0] !~ /[A-Z]/) { # 2016feb3: "if beg=1 on matching no-act aud engram"
if ($audrun < 2) { # 2016jan27: "if comparing start of a word"
my @nxr=split(',',$ear[($i+1)]); # 2016jan28: for next-in-line char
if ($nxr[0] =~ /[A-Z]/) { # 2016jan27: pattern binding operator
$ear[$i+1] = "$nxr[0],8,$nxr[2]"; # 2016feb3: "activate N-I-L character"
$audrec = 0; # 2016jan27: from MindForth AI
} # 2016jan27: "end of test for continuation of beg-aud"
my @aud=split(',',$ear[($i)]); # 2016jan31: for current char
if ($aud[2] > 0) { # 2016jan31: if concept number present
$monopsi = $aud[2]; # 2016feb06: hold onto potential monopsi
$prc = $aud[2]; # 2016mar08: provisional recognition; TEST
if (($len - $prclen) > 2) { $prc = 0 } # 2016JUL01: word too long
} # 2016feb06: end of test for potential monopsi ultimate-tag
} # 2016jan27: Mindforth "end of test for audrun=1 start of word"
} # 2016jan24: "end of test for a beg(inning) non-active aud0"
} # 2016jan27: "end of test for matching aud0 with no activation"
my @aud=split(',',$ear[$i]); # 2016JUL01: break apart @ear auditory array.
if ($aud[1] > 0) { # 2016jan28: "If matching aud0 has activation"
if ($aud[2] > 0) { # 2016mar08: check for an audpsi tag
$prc = $aud[2]; # 2016mar08: provisional recognition of a stem
$prclen = $len; # 2016JUL01: length at time of provisional recognition
} # 2016mar08: end of test for available audpsi
$audrec = 0; # 2016jan27: "Zero out any previous audrec."
my @nxr=split(',',$ear[($i+1)]); # 2016jan27: for next-in-line char
if ($nxr[0] =~ /[A-Z]/) { # 2016jan27: pattern binding operator
$act = ($act + 2); # 2016jan27: Increment $act for discrimination.
$audrec = 0; # 2016jan27: "because match-up is not complete"
$ear[$i+1] = "$nxr[0],$act,$nxr[2]"; # "Increment for discrimination."
} # 2016jan27: "end of test for active-match aud0 continuation"
@nxr=split(',',$ear[($i+1)]); # 2016jan28: for next-in-line char
if ($nxr[0] !~ /[A-Z]/) { # 2016jan27: If ctu=0 indicates end of word
if ($len == 2) { # 2016jan27: "If len(gth) is only two characters."
my @aud=split(',',$ear[$i]); # Expose values of @ear row #i
if ($aud[1] > 7) { # 2016jan28: "testing for eight (8)"
$psibase = $aud[2]; # 2016jan28 MindForth: "Assume a match."
} # 2016jan27 MindForth: "End of test for act=8 or positive."
} # 2016jan27 MindForth: "End of test for two-letter words."
} # 2016jan27 MindForth: "End of test in AudRecog for end of word."
my @aud=split(',',$ear[$i]); # Expose values of @ear row #i
if ($aud[1] > 8) { # 2016jan28: "If activation higher than initial
$actbase = 8; # 2016jan27 Mindforth: "Since act is > 8 anyway;"
my @nxr=split(',',$ear[($i+1)]); # 2016jan27: for next-in-line char
if ($nxr[0] !~ /[A-Z]/) { # 2016jan27: If matching word-engram ends
if ($aud[1] > $actbase) { # 2016feb03: "Testing for high act."
$audrec = $aud[2]; # 2016jan28: "Fetch the potential tag"
$subpsi = $aud[2]; # 2016jan28: "Seize a potential stem."
$sublen = $len; # 2016jan27: "Hold length of word-stem."
$psibase = $aud[2]; # 2016jan28: "Hold onto winner."
my @k=split(',',$psy[$i]); # 2016mar15: "k" for knowledge
$recnum = $k[9]; # 2016mar26: recognized grammatical number
if ($k[11] > 0) { $dba = $k[11] } # 2016jun24
$actbase = $aud[1]; # 2016jan28: "Winner is new actbase."
} else { # 2016jan27: "End of test for act higher than actbase."
$audrec = 0; # 2016jan27: no word has been recognized
} # 2016jan27: End of else-clause
} # 2016jan27: "End of test for final char that has a psi-tag."
} # 2016jan27: "End of test for engram-activation above eight."
} # 2016jan27: "End of test for matching aud0 with activation."
@aud=split(',',$ear[$i]); # 2016jun30:
} # 2016jan27: "End of test for a character matching 'pho'."
} # 2016feb07: End of backwards search through auditory memory.
if (($len - $prclen) > 2) { $prc = 0 } # 2016JUL01: abandon prc if word too long
$audrun++; # 2016jan27: audrun is only a counter, not a factor.
$act = 0; # 2016jan27:
$actbase = 0; # 2016jan27:
if ($psibase > 0) { $audrec = $psibase } # 2016jan27:
if ($audrec == 0) { # 2016feb06: correction, to what MindForth does here.
if ($monopsi > 0) { # 2016jan27:
if ($len < 2) { # 2016jan27:
$audrec = $monopsi; # 2016jan27: recognize one-letter word.
print " AudRec: t= $t finding one-letter audrec= $audrec \n"; #2016feb24
} # 2016jan27: end of test for word-length less than two
} # 2016jan27: end of test for presence of a found monopsi
} # 2016jan27: end of test for a found auditory recognition.
if ($audrec == 0 && $prc > 0) { # 2016jan27
$audrec = $prc; # 2016jan27: from Dushka RuAi; prov. recog;
} # 2016jan27
if ($audrec == 0) { # 2016jan27:
$audrec = $morphpsi; # 2016jan27:
if ($sublen > 0) { # 2016jan27:
$stemgap = ($len - $sublen); # 2016jan27
} # 2016jan27:
if ($stemgap < 0) { $stemgap = 0 } # 2016jan27
if ($stemgap > 1) { $subpsi = 0 } # 2016jan27
if ($stemgap > 1) { $morphpsi = 0 } # 2016jan27
if ($stemgap > 1) { $audrec = 0 } # 2016jan27
} # 2016jan27:
$psibase = 0; # 2016jan27
$subpsi = 0; # 2016jan27
if ($audrec > 0) { # 2016jan27
if ($stemgap > 2) { # 2016jan27
$audrec = 0; # 2016jan27
} # 2016jan27
} # 2016jan27
$audpsi = $audrec; # 2016jan27
$audrec = 0; # 2016jan27: temporary safety precaution after xfer.
$stemgap = 0; # 2016jan27: safety measure
} # End of AudRecog(); return to AudMem(); 2016jan26
sub RuAudRecog() { # http://code.google.com/p/mindforth/wiki/AudRecog
$audrec = 0; # 2016feb20: prevent carry-over of previous value.
$psi = 0; # 2016feb20: prevent carry-over of previous value.
$act = 8; # 2016feb20: as in Mindforth, start with a hefty value.
my $actbase = 0; # 2016may22: de-globalize here and in English AudRecog().
for (my $i=$spt; $i>$midway; $i--) { # 2016feb20: search backwards in time.
my @aud=split(',',$ear[$i]); # 2016feb20: @ear is the auditory array
if ($pho ne $aud[0]) { $ear[$i] = "$aud[0],0,$aud[2]" } #2016apr05: de-activate
if ($pho eq $aud[0]) { # 2016feb20: If incoming pho matches stored aud0;
if ($audrun == 1) { # 2016apr05: at start of an input word...
my @prv=split(',',$ear[$i-1]); # 2016apr05: "@prv" for "previous" row.
# 2016apr05: if previous space is blank...
if ($prv[0] eq "" || $prv[0] eq " " || $prv[0] eq "\N{U+0}" ) { # 2016apr05:
if ($aud[2] > 0) { $monopsi = $aud[2] } # 2016apr05: a throw-away monopsi
if ($aud[2] > 0) { print " i= $i arun = $audrun monopsi= $monopsi" } # 2016apr05:
my @nxr=split(',',$ear[($i+1)]); # 2016apr05: for next-in-line char
$ear[$i+1] = "$nxr[0],8,$nxr[2]"; # 2016apr05: "activate N-I-L character"
} # 2016apr05: end of test for matching pho as start of a word
} # 2016apr05: end of test for initial audrun, meaning start of word.
my @aud=split(',',$ear[$i]); # 2016feb20: row in @ear auditory array
if ($aud[1] > 0) { # 2016feb20: "If matching aud0 has activation"
if ($aud[2] > 0) { # 2016mar04: check for an audpsi tag
$prc = $aud[2]; # 2016mar04: provisional recognition of a stem
} # 2016mar04: end of test for available audpsi
$audrec = 0; # 2016feb20: "Zero out any previous audrec."
my @nxr=split(',',$ear[($i+1)]); # 2016feb20: for next-in-line char
$act = ($act + 2); # 2016feb20: Increment $act for discrimination.
$audrec = 0; # 2016feb20: "because match-up is not complete"
$ear[$i+1] = "$nxr[0],$act,$nxr[2]"; # "Increment for discrimination."
@nxr=split(',',$ear[($i+1)]); # 2016feb20: for next-in-line char
if ($nxr[0] eq " ") { # 2016feb28: if blank space after end of word...
if ($len == 2) { # 2016feb20: "If len(gth) is only two characters."
my @aud=split(',',$ear[$i]); # Expose values of @ear row #i
if ($aud[1] > 7) { # 2016feb20: "testing for eight (8)"
$psibase = $aud[2]; # 2016jan28 MindForth: "Assume a match."
print " RuAudRec: i= $i match $aud[0] len= $len psibase= $psibase \n"; # 2016feb28
$prc = $aud[2]; # 2016mar04: provisional recognition
print " RuAudRec: i= $i match $aud[0] len= $len prc= $prc \n"; # 2016mar04
} # 2016feb20: MindForth: "End of test for act=8 or positive."
} # 2016feb20: MindForth: "End of test for two-letter words."
} # 2016feb20: MindForth: "End of test in AudRecog for end of word."
my @aud=split(',',$ear[$i]); # 2016feb20: Expose values of @ear row #i
if ($aud[1] > 8) { # 2016feb20: "If activation higher than initial"
$actbase = 8; # 2016feb20: Mindforth: "Since act is > 8 anyway;"
my @nxr=split(',',$ear[($i+1)]); # 2016feb20: for next-in-line char
if ($nxr[0] eq " ") { # 2016feb23 English or German: !~ /[A-Z]/)
print " RuAR: i= $i no activation \n"; # 2016feb23 TEST
if ($aud[1] > $actbase) { # 2016feb20: "Testing for high act."
if ($audrec == 0) { # 2016feb28: TEST; REMOVE
$audrec = $aud[2]; # 2016feb20: "Fetch the potential tag"
} # 2016feb28: TEST
$prc = $aud[2]; # 2016ymar04: provisional recognition for stems
print " RuAudRec general: i= $i finding prc= $prc pho= $pho \n"; #2016mar04
$subpsi = $aud[2]; # 2016feb20: "Seize a potential stem."
$sublen = $len; # 2016feb20: "Hold length of word-stem."
if ($psibase == 0) { # 2016feb28: protect earlier $psibase
$psibase = $aud[2]; # 2016feb20: "Hold onto winner."
} # 2016feb28: end of TEST
my @k=split(',',$psy[$i]); # 2016mar15: "k" for knowledge
$recnum = $k[9]; # 2016mar26: recognized grammatical number
if ($k[11] > 0) { # 2016mar26: if there is a $dba value
$dba = $k[11]; # 2016mar26: for verb-recognition, etc.
} # 2016feb20: "end of test for dba"
$actbase = $aud[1]; # 2016feb20: "Winner is new actbase."
} else { # 2016feb20: "End of test for act higher than actbase."
$audrec = 0; # 2016feb20: no word has been recognized
} # 2016feb20: End of else-clause
my @aud=split(',',$ear[$i]); # 2016feb23: Expose values of @ear
$audrec = $aud[2]; # 2016feb23: capture audpsi of current engram
print " RuAudRec: at word-end $aud[0] recognizing $audrec \n"; #2016feb23
} # 2016feb20: "End of test for final char that has a psi-tag."
} # 2016feb20: "End of test for engram-activation above eight."
} # 2016feb20: "End of test for matching aud0 with activation."
} # 2016feb20: "End of test for a character matching 'pho'."
} # 2016feb20: End of backwards search through auditory memory.
$audrun++; # 2016feb20: audrun is only a counter, not a factor.
$act = 0; # 2016feb20:
$actbase = 0; # 2016feb20:
if ($psibase > 0) { $audrec = $psibase } # 2016feb20:
if ($audrec == 0) { # 2016feb20: correction, to what MindForth does here.
if ($monopsi > 0) { # 2016feb20:
if ($len < 2) { # 2016jan20:
$audrec = $monopsi; # 2016feb20: recognize one-letter word.
} # 2016feb20: end of test for word-length less than two
} # 2016feb20: end of test for presence of a found monopsi
} # 2016feb20: end of test for a found auditory recognition.
if ($audrec == 0 && $prc > 0) { # 2016feb20
$audrec = $prc; # 2016feb20: from Dushka RuAi; prov. recog;
print " RuAudR: t= $t audrec= $audrec prc= $prc pho= $pho \n"; #2016mar03
} # 2016feb20
if ($audrec == 0) { # 2016feb20:
$audrec = $morphpsi; # 2016feb20:
if ($sublen > 0) { # 2016feb20:
$stemgap = ($len - $sublen); # 2016feb20
} # 2016feb20:
if ($stemgap < 0) { $stemgap = 0 } # 2016feb20
if ($stemgap > 1) { $subpsi = 0 } # 2016feb20
if ($stemgap > 1) { $morphpsi = 0 } # 2016feb20
if ($stemgap > 1) { $audrec = 0 } # 2016feb20
} # 2016feb20:
$psibase = 0; # 2016feb20
$subpsi = 0; # 2016feb20
if ($audrec > 0) { # 2016feb20
if ($stemgap > 2) { # 2016feb20
$audrec = 0; # 2016feb20
} # 2016feb20
} # 2016feb20
$audpsi = $audrec; # 2016feb20
$audrec = 0; # 2016feb20: temporary safety precaution after xfer.
$stemgap = 0; # 2016feb20: safety measure
} # End of RuAudRecog(); return to RuAudMem(); 2016feb22
sub AudMem() { # 2016feb21: Re-instated from ghost075.pl of 13feb2016
print " AudMem-START: t= $t len= $len hlc= $hlc pho = $pho \n"; # 2016apr30
if ($pho =~ /[A-Z]/) { # 2016jan30: Only try to recognize pho(nemes)
AudRecog(); # 2016jan23: Recognize old words $char by $char.
} # 2016jan30: End of test for a letter of the alphabet.
if ($audpsi == 0) { # 2016feb05: if no news from AudRecog() early in the word
$ear[$t] = "$pho,$act,0"; # 2016feb05: no ultimate-tag
} # 2016feb05: end of test for storing pre-audpsi pho(nemes)
if ($len > 0) { # 2016feb05: assign tags to words, not empty rows
my @aud=split(',',$ear[($t)]); # 2016feb05: look at current row
if ($aud[0] !~ /[A-Z]/) { # 2016feb05: if aud0 is not a letter
if ($audpsi == 0) { # 2016feb05: if word unrecognized, nxt new concept
my @prv=split(',',$ear[($t-1)]); # 2016feb05: assuming post-word blank
$ear[$t-1] = "$prv[0],$prv[1],$nxt"; # 2016feb05: retroactive audpsi
if ($prv[0] eq "S") { # 2016mar08: if potentially "S" inflection...
@prv=split(',',$ear[($t-2)]); # 2016mar08: go back on more char
$ear[$t-2] = "$prv[0],$prv[1],$nxt"; # 2016mar08: possible end of stem
} # 2016mar08: end of test for word ending in "S"
} # 2016feb05: end of test to declare new concept for lack of old.
} # 2016feb05: end of check to see if space is reached after a word.
} # 2016feb05: end of test for a positive word-length
if ($audpsi > 0) { # 2016feb05: if there is an audpsi
$ear[$t] = "$pho,$act,0"; # 2016feb05: at first store no audpsi
my @aud=split(',',$ear[($t)]); # 2016feb05: look at current row
if ($aud[0] !~ /[A-Z]/) { # 2016feb05: if aud0 is not a letter
my @prv=split(',',$ear[($t-1)]); # 2016feb05: assuming post-word blank
$ear[$t-1] = "$prv[0],$prv[1],$audpsi"; # 2016feb05: retroactive audpsi
} # 2016feb06: end of waiting until just after a word to identify it.
} # 2016feb05: end of test for an audpsi from AudRecog()
if ($pho !~ /[A-Z]/) { # 2016feb03
$ear[$t] = "$pho,0,0"; # 2016jan28: initialize @ear panel-flags.
} # 2016jan23: Establish end of word.
} # 2016feb22: AudMem() returns to AudInput().
sub RuAudMem() { # 2016feb21: necessary for Cyrillic and not Roman
print "\nRuAudMem-START: t= $t len= $len hlc= $hlc pho = $pho \n"; # 2016apr05
# if ($pho =~ /[A-Z]/) { # 2016jan30: Only try to recognize pho(nemes)
if ($pho ne " ") { # 2016feb19: for this Russian experimental AI
if ($hlc eq "ru") { # 2016yfeb20: human-language-code
RuAudRecog(); # 2016feb20: Recognize old words $char by $char.
if ($audpsi == 0) { # 2016mar04: from JavaScript Russian Dushka AI
if ($prc > 0) { $audpsi = $prc } # 2016mar04: prov. recog; 2016mar04
} # 2016mar04: end of test for not yet an audpsi
} # 2016feb20: end of test for human-language-code "ru"
} # 2016jan30: End of test for a letter of the alphabet.
if ($audpsi == 0) { # 2016feb05: if no news from AudRecog() early in the word
if ($prc > 0) { $audpsi = $prc } # 2016mar04: for word-stems
$ear[$t] = "$pho,$act,0"; # 2016feb05: no ultimate-tag
if ($len > 4) { # 2016mar05: if long enough to include a verb-stem
$ear[$t] = "$pho,$act,$audpsi"; # 2016mar05: audpsi for verb-stems
} # 2016mar05: end of test for length long enough to be a verb
} # 2016feb05: end of test for storing pre-audpsi pho(nemes)
if ($hlc eq "ru") { # 2016feb20: special handling for Russian
if ($len > 0) { # 2016feb20: assign tags to words, not empty rows
my @aud=split(',',$ear[($t)]); # 2016feb20: look at current row
if ($aud[0] eq " " || $aud[0] eq "\n") { # 2016feb24: if aud0 is not a letter
if ($audpsi == 0) { # 2016feb20: if word unrecognized, nxt new concept
my @prv=split(',',$ear[($t-1)]); # 2016feb20: assuming post-word blank
$ear[$t-1] = "$prv[0],$prv[1],$nxt"; # 2016feb20: retroactive audpsi
if ($len > 4) { # 2016mar05: long enough to include a verb-stem
@prv=split(',',$ear[($t-2)]); # 2016mar05: penultimate character
$ear[$t-2] = "$prv[0],$prv[1],$nxt"; # 2016mar05: retroactive audpsi
@prv=split(',',$ear[($t-3)]); # 2016mar05: pre-penultimate char
$ear[$t-3] = "$prv[0],$prv[1],$nxt"; # 2016mar05: retroactive audpsi
@prv=split(',',$ear[($t-4)]); # 2016apr04: back one more character
$ear[$t-4] = "$prv[0],$prv[1],$nxt"; # 2016apr04: retroactive audpsi
} # 2016mar05: end of length-test adapted from Dushka Russian AI
} # 2016feb20: end of test to declare new concept for lack of old.
} # 2016feb20: end of check to see if space is reached after a word.
} # 2016feb20: end of test for a positive word-length
} # 2016feb20: end of special handling for Russian
if ($audpsi > 0) { # 2016feb05: if there is an audpsi
if ($hlc eq "ru") { # 2016feb20: special handling for Russian "ru"
$ear[$t] = "$pho,$act,$audpsi"; # 2016feb20: TEST
my @aud=split(',',$ear[($t)]); # 2016feb05: look at current row
# if ($aud[0] !~ /[A-Z]/) { # 2016feb05: if aud0 is not a letter
if ($aud[0] eq " ") { # 2016feb20: if post-character blank-space
# print " RuAudM: storing retroactive audpsi $audpsi \n"; # 2016feb22
my @prv=split(',',$ear[($t-1)]); # 2016feb05: assuming post-word blank
$ear[$t-1] = "$prv[0],$prv[1],$audpsi"; # 2016feb05: retroactive audpsi
} # 2016feb06: end of waiting until just after a word to identify it.
} # 2016feb20: end of test for Russian human-language-code $hlc
} # 2016feb05: end of test for an audpsi from AudRecog()
if ($pho eq " ") { # 2016feb20
$ear[$t] = "$pho,0,0"; # 2016jan28: initialize @ear panel-flags.
my @aud=split(',',$ear[$t]); # 2016feb19: Examine the @ear array.
} # 2016jan23: Establish end of word.
} # 2016feb22: RuAudMem() returns to AudInput()
sub AudInput() { # 2016feb21: reinstated from ghost075 as TEST; modified
$spt = $t; # 2016jan28: as in FileInput() module.
$bias = 5; # 2016fev11: Expect a noun until overruled.
$krt = $t; # 2016feb08: for Tutorial display of @ear array
$tsn = $t; # 2016mar13: current input is time-of-seqneed $tsn
$_ = " "; # 2016FEB03: PERL by Example (2015), p. 301
if ($pov == 2) { # 2016apr09: use STDIN only for external input...
print "\nEnter English or Russian words as Subject-Verb-Object: \n \n"; #2016apr21
$msg = <STDIN>; # 2015may01: PERL by Example (2015), p. 50
if ($hlc eq "en" || $hlc eq "de") { # 2016feb21: English or German
print "Changing to uppercase \n"; # 2016apr05
print "You entered: \n"; # 2016mar04
$msg = uc $msg; # 2016jan29: from Perl Black Book, p. 341.
} # 2016feb21: end of test for non-Cyrillic English or German
print "\nHuman: $msg \n"; # 2016jan29: newline is now _outside_ $msg.
} # 2016apr09: End of test to decide between STDIN and re-entry.
my $reversed = reverse $msg; # 2016jan29: PbyEx p. 125
# if ($reversed =~ /[Q]/) { # 2016jun21: enlarging quit-sequence
# my $fh = new IO::File; # 2016jun21: Perl_Black_Book p. 561
# print "Opening diagnostic minddata.txt file...\n"; # 2016jun21
# $fh->open(">minddata.txt") or die "Can't open: $!\n"; #2016jun21
# $tai = $vault; # 2016jun21: skip the MindBoot() sequence.
# $fh->printf ("Log-file of $vrsn AI born on $birth\n"); # 2016jun26
# $fh->printf ("time psi act hlc pos jux pre iob tkb "); # 2016jun26
# $fh->printf ("seq num mfn dba rv pho act audpsi \n"); # 2016jun26
# do { # 2016jun21: make a loop
# print "t=$tai. psi=$psy[$tai], "; # 2016jun21: show @psy concept array
# print " aud= $ear[$tai], \n"; # 2016jun21: show @ear auditory array
# $fh->printf ("t=$tai. psi=$psy[$tai], aud= $ear[$tai], \n"); # 2016jun21: PBB p. 535
# $tai++; # 2016jun21: increment $tai up until current time $t.
# } while ($tai < $t); # 2016jun21: show @psi and @ear array at recent time-points
# print "Closing minddata.txt file...\n"; # 2016jun21
# $fh->close; # 2016jun21: Perl_Black_Book p. 561
# die "TERMINATE: Q means quit. \n"; # 2016jun21
# } # 2016jun21: end of quit-sequence commented out prior to Web release.
# if ($reversed =~ /[Q]/) { # 2016jun21: enlarging quit-sequence
# my $fh = new IO::File; # 2016jun21: Perl_Black_Book p. 561
# print "Opening diagnostic minddata.txt file...\n"; # 2016jun21
# $fh->open(">minddata.txt") or die "Can't open: $!\n"; #2016jun21
# $tai = $midway; # 2016jun28: include the MindBoot() sequence.
# $fh->printf ("Log-file of $vrsn AI born on $birth\n"); # 2016jun26
# $fh->printf ("time psi act hlc pos jux pre iob tkb "); # 2016jun26
# $fh->printf ("seq num mfn dba rv pho act audpsi \n"); # 2016jun26
# do { # 2016jun21: make a loop
# print "t=$tai. psi=$psy[$tai], "; # 2016jun21: show @psy concept array
# print " aud= $ear[$tai], \n"; # 2016jun21: show @ear auditory array
# $fh->printf ("t=$tai. psi=$psy[$tai], aud= $ear[$tai], \n"); # 2016jun21: PBB p. 535
# $tai++; # 2016jun21: increment $tai up until current time $t.
# } while ($tai < $t); # 2016jun21: show @psi and @ear array at recent time-points
# print "Closing minddata.txt file...\n"; # 2016jun21
# $fh->close; # 2016jun21: Perl_Black_Book p. 561
# die "TERMINATE: Q means quit. \n"; # 2016jun21
# } # 2016jun21: end of quit-sequence commented out prior to Web release.
if ($reversed =~ /[Q]/) { die "TERMINATE: Q for quit. \n"; } # 2016apr29
if ($fyi == 2) { print "Tutorial shows workings of the AI Mind. \n"; }
do { # 2016feb02: outer loop receives input of an entire sentence.
do { # 2016feb02: inner loop treats each word character by character.
$pho = chop($reversed); # 2016jan29 returns chopped character as $pho.
if ($pho eq "\n") { $eot = 1 } # 2016feb01: for escape from outer loop.
if ($pho eq "\n" && $msg eq "") { $trigger++ } # 2016apr29
if ($pho eq "\n") { # 2016jun19: TEST
print "AudInput: psi= $psi oldpsi= $oldpsi actpsi= $actpsi \n"; # 2016jun19: TEST
} # 2016jun19
# 2016feb21: Following 33 tests convert to uppercase and $hlc to "ru":
if ($pho eq "\xA0"||$pho eq "\x80") {$pho="\x80"; $hlc="ru"} # 2016feb20
if ($pho eq "\xA1"||$pho eq "\x81") {$pho="\x81"; $hlc="ru"} # 2016feb20
if ($pho eq "\xA2"||$pho eq "\x82") {$pho="\x82"; $hlc="ru"} # 2016feb20
if ($pho eq "\xA3"||$pho eq "\x83") {$pho="\x83"; $hlc="ru"} # 2016feb20
if ($pho eq "\xA4"||$pho eq "\x84") {$pho="\x84"; $hlc="ru"} # 2016feb20
if ($pho eq "\xA5"||$pho eq "\x85") {$pho="\x85"; $hlc="ru"} # 2016feb20
if ($pho eq "\xF1"||$pho eq "\xF0") {$pho="\xF0"; $hlc="ru"} # 2016feb20
if ($pho eq "\xA6"||$pho eq "\x86") {$pho="\x86"; $hlc="ru"} # 2016feb20
if ($pho eq "\xA7"||$pho eq "\x87") {$pho="\x87"; $hlc="ru"} # 2016feb20
if ($pho eq "\xA8"||$pho eq "\x88") {$pho="\x88"; $hlc="ru"} # 2016feb20
if ($pho eq "\xA9"||$pho eq "\x89") {$pho="\x89"; $hlc="ru"} # 2016feb20
if ($pho eq "\xAA"||$pho eq "\x8A") {$pho="\x8A"; $hlc="ru"} # 2016feb20
if ($pho eq "\xAB"||$pho eq "\x8B") {$pho="\x8B"; $hlc="ru"} # 2016feb20
if ($pho eq "\xAC"||$pho eq "\x8C") {$pho="\x8C"; $hlc="ru"} # 2016feb20
if ($pho eq "\xAD"||$pho eq "\x8D") {$pho="\x8D"; $hlc="ru"} # 2016feb20
if ($pho eq "\xAE"||$pho eq "\x8E") {$pho="\x8E"; $hlc="ru"} # 2016feb20
if ($pho eq "\xAF"||$pho eq "\x8F") {$pho="\x8F"; $hlc="ru"} # 2016feb20
if ($pho eq "\xE0"||$pho eq "\x90") {$pho="\x90"; $hlc="ru"} # 2016feb20
if ($pho eq "\xE1"||$pho eq "\x91") {$pho="\x91"; $hlc="ru"} # 2016feb20
if ($pho eq "\xE2"||$pho eq "\x92") {$pho="\x92"; $hlc="ru"} # 2016feb20
if ($pho eq "\xE3"||$pho eq "\x93") {$pho="\x93"; $hlc="ru"} # 2016feb20
if ($pho eq "\xE4"||$pho eq "\x94") {$pho="\x94"; $hlc="ru"} # 2016feb20
if ($pho eq "\xE5"||$pho eq "\x95") {$pho="\x95"; $hlc="ru"} # 2016feb20
if ($pho eq "\xE6"||$pho eq "\x96") {$pho="\x96"; $hlc="ru"} # 2016feb20
if ($pho eq "\xE7"||$pho eq "\x97") {$pho="\x97"; $hlc="ru"} # 2016feb20
if ($pho eq "\xE8"||$pho eq "\x98") {$pho="\x98"; $hlc="ru"} # 2016feb20
if ($pho eq "\xE9"||$pho eq "\x99") {$pho="\x99"; $hlc="ru"} # 2016feb20
if ($pho eq "\xEA"||$pho eq "\x9A") {$pho="\x9A"; $hlc="ru"} # 2016feb20
if ($pho eq "\xEB"||$pho eq "\x9B") {$pho="\x9B"; $hlc="ru"} # 2016feb20
if ($pho eq "\xEC"||$pho eq "\x9C") {$pho="\x9C"; $hlc="ru"} # 2016feb20
if ($pho eq "\xED"||$pho eq "\x9D") {$pho="\x9D"; $hlc="ru"} # 2016feb20
if ($pho eq "\xEE"||$pho eq "\x9E") {$pho="\x9E"; $hlc="ru"} # 2016feb20
if ($pho eq "\xEF"||$pho eq "\x9F") {$pho="\x9F"; $hlc="ru"} # 2016feb20
$t++; # 2016jan16: Increment time "t" here instead of AudMem()
if ($t > $cns) { die "Safety stop: out of memory \n"; } # 2016apr09
if ($hlc eq "en" || $hlc eq "de") { # 2016feb21: for English or German
if ( $pho =~ /[A-Z]/) { # 2016jan29: pattern binding operator
if ($audnew == 0) {$audnew = $t}; # 2016feb09 Set only once.
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print " pho $pho is an alphabetic letter \n"; # 2016jan29
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
$len++; # 2016jan31: increment length as per MindForth
print "\nAudInput: increasing len(gth) to $len \n"; # 2016apr30
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print " AudInput: increasing len(gth) to $len \n"; # 2016jan31
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
if ($len == 1) { $rv = $t } # 2016jan30: set recall-vector.
AudMem(); # 2016jan29: Calling memory-insertion subroutine
} else { # 2016jan30:
$pho = " "; # 2016jan30: Send blank space...
AudMem(); # 2016jan30: ...as a message that word has ended
} # 2016feb02: end of else-clause for sending a blank space
} # 2016feb21: end of test for non-Cyrillic English or German
if ($hlc eq "ru") { # 2016feb21: for Russian input
if ($len == 0) { $rv = $t } # 2016feb29: set recall-vector.
if ($pho eq "\x80") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x81") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x82") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x83") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x84") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x85") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\xF0") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x86") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x87") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x88") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x89") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x8A") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x8B") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x8C") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x8D") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x8E") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x8F") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x90") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x91") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x92") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x93") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x94") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x95") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x96") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x97") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x98") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x99") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x9A") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x9B") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x9C") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x9D") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x9E") { $len++; RuAudMem() } #2016feb22: brute force
if ($pho eq "\x9F") { $len++; RuAudMem() } #2016feb22: brute force
if ($audnew == 0) {$audnew = $t}; # 2016feb22 Set only once.
} # 2016feb21: end of test to select proper memory storage module
if ($pho eq "\n") { $pho = " " } # 2016feb24: for escape from loop.
if ($hlc eq "ru") { # 2016feb24
if ($pho eq " ") { # 2016feb24
RuAudMem(); # 2016feb24: ...as a message that word has ended
} # 2016feb24:
} # 2016feb24: End of test of $hlc
$pos = 0; # 2016mar12: Reset to prevent InStantiate() carry-over.
$pre = 0; # 2016mar12: Reset to prevent InStantiate() carry-over.
$psi = 0; # 2016mar12: Reset to prevent InStantiate() carry-over.
} until $pho eq " "; # 2016jan30: Store whole word until $pho is empty.
if ($pho eq "\n") { $eot = 1 } # 2016feb01: for escape from outer loop.
AudDamp(); # 2016feb03:
$monopsi = 0; # 2016feb06: zero out to prevent carry-over
if ($audpsi > 0) { # 2016jan30: would be from AudRecog()
$oldpsi = $audpsi; # 2016jan30: JSAI: for conformance with MindForth
$audpsi = 0; # 2016feb04: zero out to prevent carry-over
$prc = 0; # 2016feb06: as is done in the JavaScript AiMind.html
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print " AudInput() calls OldConcept() for oldpsi $oldpsi \n"; # 2016feb04
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
OldConcept() } # 2016jan30: code-bloc from FileInput()
else { # 2016jan30: Expanding for diagnostic message.
if ($len > 0) { # 2016jan31: if input word one char or longer
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print "AudInput-else calls NewConcept nxt $nxt len= $len \n"; #2016jan30
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
NewConcept(); # 2016jan30: if not old concept, then new concept
} # 2016jan31: end of test for positive length before NewConcept().
$len = 0; # 2016jan30: Reset so next word must accumulate length.
} # 2016feb13: as in MindForth AudInput module.
$audpsi = 0; # 2016jan30: reset for safety
$len = 0; # 2016jan31: when pho=0 length reverts to zero.
$audrun = 1; # 2016feb06: for multiple calls to AudMem().
} until $eot == 1; # 2016feb01: a condition set within inner loop.
$eot = 0; # 2016feb02: Reset to zero for the sake of whole sentences.
$audpsi = 0; # 2016jan30: reset for safety
$phodex = 1; # 2016apr03: reset for AudBuffer();
$psi = 0; # 2016mar12: Reset to prevent carry-over.
$tio = 0; # 2016mar23: Reset because zero plays role as a trigger.
$verbcon = 0; # 2016mar23: reset for safety.
} # http://mind.sourceforge.net/audition.html
sub FileInput() { #2016jan10
$pov = 3; # 2016mar27: no re-interpretation of personal pronouns.
$spt = $t; # 2016jan23: from MindForth AudInput
my $_ = " "; # 2016jan10: PERL by Example (2015), p. 301
print "PerlAI will try to open and read input.txt file \n"; # 2016jan28
# open (my $fh, "<", "input.txt") or die "Can't open: $!\n"; #2016jan14
open (my $fh, "<", "input.txt") or AudInput(); # 2016jan28
# print "Switching to human input because file not found... \n";
# AudInput() } # 2016jan28: Human user must communicate by keyboard.
# 2016jan28: end of measures to take if input.txt file not found.
while (defined($char=getc $fh)) { # 2016jan12 P_B_Book p. 569
$char = uc $char; # 2016jan26: from Perl Black Book, p. 341.
AudBuffer(); #2016jan15: to manipulate inflections in OutBuffer()
if ($char eq " ") { # 2016jan18: i.e., at the end of a word
$onset = $audnew; # 2016jan18 set only at start of each word
print "\nFileInput for audnew $audnew calling NewConcept \n"; # 2016jan18
NewConcept(); # 2016jan17 test
print "\n"; #2016jan18: new-line for diagnostic clarity
}; # 2016jan13 Stop at end of word.
$rv = $t; # 2016jan16: Capture auditory onset as recall-vector.
if ($char ne " ") { # 2016jan14: Avoid storing blank characters.
if ($audnew == 0) {$audnew = $t}; # 2016jan17 Set only once.
print "F-Input calls AudMem for char $char audrun $audrun \n"; # 2016jan26
} # 2016jan14: End of test for a non-blank character.
$t++; # 2016jan16: Increment time "t" here instead of AudMem()
if ( $char =~ /[A-Z]/) { # 2016jan27: pattern binding operator
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print " char $char is an alphabetic letter \n"; # 2016jan27:
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
$len++; # 2016jan27: increment length as per MindForth
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print " FileInput: increasing len(gth) to $len \n"; # 2016jan31
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
AudMem(); # 2016jan27: Calling memory-insertion subroutine
} else { # 2016jan27:
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print " char $char is not a letter \n" # 2016jan27:
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
} # 2016jan27: Perl by Example, p. 222 (binding operator)
} # 2016jan12 P_B_Book p. 569
$audnew = 0; # 2016jan24: Reset $audnew for sake of next word.
close ($fh); #2016jan10: P_by_Ex p. 301
if ($audpsi > 0) { # 2016jan17: would be from AudRecog()
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print " FileInput() calls OldConcept() \n"; # 2016jan28
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
OldConcept() } # 2016jan17:
else { # 2016jan18: Expanding for diagnostic message.
if ($fyi > 2) { # 2016feb08: if mode is Diagnostic
print "FileInput-else calling NewConcept"; # 2016jan18
} # 2016feb07: end of test for Diagnostic or Tutorial mode.
NewConcept()
} # 2016feb13: as in MindForth AudInput module.
$audrun = 1; # 2016jan26: for multiple calls to AudMem().
} # http://mind.sourceforge.net/audition.html
sub GusRecog() { # 2016may01: stub for gustatory recognition of taste
# http://mind.sourceforge.net/gusrecog.html
} # 2016may01: GusRecog() will return to the Sensorium() module.
sub OlfRecog() { # 2016may01: stub for olfactory recognition of smells
# http://mind.sourceforge.net/olfrecog.html
} # 2016may01: OlfRecog() will return to the Sensorium() module.
sub TacRecog() { # 2016may01: stub for tactile recognition of touch
# http://mind.sourceforge.net/tacrecog.html
} # 2016may01: TacRecog() will return to the Sensorium() module.
# The visual recognition module in the Perlmind for robots
# when fully implemented will serve the purpose of letting
# AI Minds dynamically describe what they see in real time
# instead of fetching knowledge from the AI knowledge base.
sub VisRecog() { # http://www.openhub.net/p/opencv-perl
# 2016jan22: NOTHING = default answer for "What do you see?"
} # http://code.google.com/p/mindforth/wiki/VisRecog
sub Sensorium() { # 2016mar26: sensory input module.
$pov = 2; # 2016apr08: Users communicate with AI in "dual" mode.
print "\nGhost: $output \n"; # 2016apr21: array-display; output; input...
if ($chaincon == 0) { # 2016apr15: if no chain of thought in progress...
AudInput(); # 2015apr25: Calling the sense of audition.
} # 2016apr15: end of test for an internal chain of thought.
# FileInput(); # 2016jan10: Inputting from file, not keyboard.
# GusRecog(); # http://mind.sourceforge.net/gusrecog.html
# OlfRecog(); # http://mind.sourceforge.net/olfrecog.html
# TacRecog(); # http://mind.sourceforge.net/tacrecog.html
# VisRecog(); # 2015apr26: Opportunity to add vision.
} # http://mind.sourceforge.net/sesorium.html
sub MindBoot() { # 2016jan23 Bootstrap prior to learning new words.
$t = 0; # 2015apr26: bootstrap stretches over time "$t".
print "MindBoot is loading the knowledge base... \n"; #2016jan23
# ERROR -- first word so any bug will announce itself
$t=0; $ear[$t] = "E,0,0"; # 2016mar12
$t=1; $ear[$t] = "R,0,0"; # 2016mar12
$t=2; $ear[$t] = "R,0,0"; # 2016mar12
$t=3; $ear[$t] = "O,0,0"; # 2016mar12
$t=4; $ear[$t] = "R,0,586"; # 2016mar12
$psi=586; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=3; $dba=0; $rv=0; KbLoad(); # 2016mar12
$t = 6; $ear[$t] = " ,0,0"; # 2016jan28: Initialize row properly.
# A -- En(glish) Article for EnArticle module
$t = 7; $ear[$t] = "A,0,101"; # 2016jan28
$psi=101; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=0; $rv=7; KbLoad(); # 2016feb07
# ALL -- for machine reasoning logic
$t = 9; $ear[$t] = "A,0,0"; # 2016jan28
$t = 10; $ear[$t] = "L,0,0"; # 2016jan28
$t = 11; $ear[$t] = "L,0,123"; # 2016jan28
$psi=123; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=9; KbLoad(); # 2016feb07
# AN -- to be selected instead of "A" before a vowel
$t = 13; $ear[$t] = "A,0,0"; # 2016feb07
$t = 14; $ear[$t] = "N,0,102"; # 2016feb07
$psi=102; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=13; KbLoad(); # 2016feb07
# AND -- for machine reasoning logic
$t=16; $ear[$t] = "A,0,0"; # 2016feb07
$t=17; $ear[$t] = "N,0,0"; # 2016feb07
$t=18; $ear[$t] = "D,0,302"; # 2016feb07
$psi=302; $hlc="en"; $pos=3; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=16; KbLoad(); # 2016feb07
# ANY -- for machine reasoning logic
$t=20; $ear[$t] = "A,0,0"; # 2016feb07
$t=21; $ear[$t] = "N,0,0"; # 2016feb07
$t=22; $ear[$t] = "Y,0,111"; # 2016feb07
$psi=111; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=20; KbLoad(); # 2016feb07
# ANYTHING -- a default direct object for AskUser()
$t=24; $ear[$t] = "A,0,0"; # 2016feb07
$t=25; $ear[$t] = "N,0,0"; # 2016feb07
$t=26; $ear[$t] = "Y,0,0"; # 2016feb07
$t=27; $ear[$t] = "T,0,0"; # 2016feb07
$t=28; $ear[$t] = "H,0,0"; # 2016feb07
$t=29; $ear[$t] = "I,0,0"; # 2016feb07
$t=30; $ear[$t] = "N,0,0"; # 2016feb07
$t=31; $ear[$t] = "G,0,711"; # 2016feb07
$psi=711; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=4; $rv=24; KbLoad(); # 2016feb07
# BAD -- adjective for EnAdjective module
$t=33; $ear[$t] = "B,0,0"; # 2016feb07
$t=34; $ear[$t] = "A,0,0"; # 2016feb07
$t=35; $ear[$t] = "D,0,186"; # 2016feb07
$psi=186; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=33; KbLoad(); # 2016feb07
# BE -- infinitive impersonal form of 800=BE; 2016feb07
$t=37; $ear[$t] = "B,0,0"; # 2016feb07
$t=38; $ear[$t] = "E,0,800"; # 2016feb07
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=37; KbLoad(); # 2016feb07
# AM -- 1st person singular I-form of 800=BE; 2016feb07
$t=40; $ear[$t] = "A,0,0"; # 2016feb07
$t=41; $ear[$t] = "M,0,800"; # 2016feb07
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=1; $rv=40; KbLoad(); # 2016feb07
# ARE -- 2nd person singular YOU-form of 800=BE; 2016feb07
$t=43; $ear[$t] = "A,0,0"; # 2016feb07
$t=44; $ear[$t] = "R,0,0"; # 2016feb07
$t=45; $ear[$t] = "E,0,800"; # 2016feb07
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=2; $rv=43; KbLoad(); # 2016feb07
# IS -- 3rd person singular HE-SHE-IT-form of 800=BE; 2016feb07
$t=47; $ear[$t] = "I,0,0"; # 2016feb07
$t=48; $ear[$t] = "S,0,800"; # 2016feb07
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=3; $rv=47; KbLoad(); # 2016feb07
# ARE -- 1st person plural WE-form of 800=BE; 2016feb07
$t=50; $ear[$t] = "A,0,0"; # 2016feb07
$t=51; $ear[$t] = "R,0,0"; # 2016feb07
$t=52; $ear[$t] = "E,0,800"; # 2016feb07
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=1; $rv=50; KbLoad(); # 2016feb07
# ARE -- 2nd person plural YOU-form of 800=BE; 2016feb07
$t=54; $ear[$t] = "A,0,0"; # 2016feb07
$t=55; $ear[$t] = "R,0,0"; # 2016feb07
$t=56; $ear[$t] = "E,0,800"; # 2016feb07
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=2; $rv=54; KbLoad(); # 2016feb07
# ARE -- 3rd person plural THEY-form of 800=BE; 2016feb07
$t=58; $ear[$t] = "A,0,0"; # 2016feb07
$t=59; $ear[$t] = "R,0,0"; # 2016feb07
$t=60; $ear[$t] = "E,0,800"; # 2016feb07
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=3; $rv=58; KbLoad(); # 2016feb07
# BECAUSE -- conjunction for machine reasoning logic
$t=62; $ear[$t] = "B,0,0"; # 2016feb07
$t=63; $ear[$t] = "E,0,0"; # 2016feb07
$t=64; $ear[$t] = "C,0,0"; # 2016feb07
$t=65; $ear[$t] = "A,0,0"; # 2016feb07
$t=66; $ear[$t] = "U,0,0"; # 2016feb07
$t=67; $ear[$t] = "S,0,0"; # 2016feb07
$t=68; $ear[$t] = "E,0,344"; # 2016feb07
$psi=344; $hlc="en"; $pos=3; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=62; KbLoad(); # 2016feb07
# BECOME -- essential intransitive verb
$t=70; $ear[$t] = "B,0,0"; # 2016feb07
$t=71; $ear[$t] = "E,0,0"; # 2016feb07
$t=72; $ear[$t] = "C,0,0"; # 2016feb07
$t=73; $ear[$t] = "O,0,0"; # 2016feb07
$t=74; $ear[$t] = "M,0,0"; # 2016feb07
$t=75; $ear[$t] = "E,0,808"; # 2016feb07
$psi=808; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=70; KbLoad(); # 2016feb07
# BOY -- always masculine noun for use with gender flags
$t = 77; $ear[$t] = "B,0,0"; # 2016feb07
$t = 78; $ear[$t] = "O,0,0"; # 2016feb07
$t = 79; $ear[$t] = "Y,0,589"; # 2016feb07
$psi=589; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=1; $dba=0; $rv=77; KbLoad(); # 2016feb08
$t = 80; # 2016jan31: Leave a gap of one space in memory.
# BUT -- conjunction for ConJoin module
$t=81; $ear[$t] = "B,0,0"; # 2016feb08
$t=82; $ear[$t] = "U,0,0"; # 2016feb08
$t=83; $ear[$t] = "T,0,305"; # 2016feb08
$psi=305; $hlc="en"; $pos=3; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=81; KbLoad(); # 2016feb08
# CHESS -- important singular AI noun ending in "S"
$t=85; $ear[$t] = "C,0,0"; # 2016feb08
$t=86; $ear[$t] = "H,0,0"; # 2016feb08
$t=87; $ear[$t] = "E,0,0"; # 2016feb08
$t=88; $ear[$t] = "S,0,0"; # 2016feb08
$t=89; $ear[$t] = "S,0,564"; # 2016feb08
$psi=564; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=0; $rv=85; KbLoad(); # 2016feb08
# CHILD -- example of irregular noun for a polyglot AI Mind
$t=91; $ear[$t] = "C,0,0"; # 2016feb08
$t=92; $ear[$t] = "H,0,0"; # 2016feb08
$t=93; $ear[$t] = "I,0,0"; # 2016feb08
$t=94; $ear[$t] = "L,0,0"; # 2016feb08
$t=95; $ear[$t] = "D,0,525"; # 2016feb08
$psi=525; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=1; $dba=0; $rv=91; KbLoad(); # 2016feb08
# CHILDREN -- irregular plural for retrieval by parameters
$t=97; $ear[$t] = "C,0,0"; # 2016feb08
$t=98; $ear[$t] = "H,0,0"; # 2016feb08
$t=99; $ear[$t] = "I,0,0"; # 2016feb08
$t=100; $ear[$t] = "L,0,0"; # 2016feb08
$t=101; $ear[$t] = "D,0,0"; # 2016feb08
$t=102; $ear[$t] = "R,0,0"; # 2016feb08
$t=103; $ear[$t] = "E,0,0"; # 2016feb08
$t=104; $ear[$t] = "N,0,526"; # 2016feb08
$psi=526; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=0; $rv=97; KbLoad(); # 2016feb08
# DATA -- always plural noun in correction of modern usage
$t=106; $ear[$t] = "D,0,0"; # 2016feb08
$t=107; $ear[$t] = "A,0,0"; # 2016feb08
$t=108; $ear[$t] = "T,0,0"; # 2016feb08
$t=109; $ear[$t] = "A,0,599"; # 2016feb08
$psi=599; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=3; $dba=0; $rv=106; KbLoad(); # 2016feb08
# DO -- infinitive form of verb essential for EnAuxVerb module
$t=111; $ear[$t] = "D,0,0"; # 2016feb08
$t=112; $ear[$t] = "O,0,830"; # 2016feb08
$psi=830; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=111; KbLoad(); # 2016feb08
# DO -- 1st person singular I-form of auxiliary verb
$t=114; $ear[$t] = "D,0,0"; # 2016feb08
$t=115; $ear[$t] = "O,0,830"; # 2016feb08
$psi=830; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=1; $rv=114; KbLoad(); # 2016feb08
# DO -- 2nd person singular YOU-form of auxiliary verb
$t=117; $ear[$t] = "D,0,0"; # 2016feb08
$t=118; $ear[$t] = "O,0,830"; # 2016feb08
$psi=830; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=2; $rv=117; KbLoad(); # 2016feb08
# DOES -- 3rd person singular HE-SHE-IT-form of auxiliary verb
$t=120; $ear[$t] = "D,0,0"; # 2016feb08
$t=121; $ear[$t] = "O,0,0"; # 2016feb08
$t=122; $ear[$t] = "E,0,0"; # 2016feb08
$t=123; $ear[$t] = "S,0,830"; # 2016feb08
$psi=830; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=3; $rv=120; KbLoad(); # 2016feb08
# DO -- 1st person plural WE-form of auxiliary verb
$t=125; $ear[$t] = "D,0,0"; # 2016feb08
$t=126; $ear[$t] = "O,0,830"; # 2016feb08
$psi=830; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=1; $rv=125; KbLoad(); # 2016feb08
# DO -- 2nd person plural YOU-form of auxiliary verb
$t=128; $ear[$t] = "D,0,0"; # 2016feb08
$t=129; $ear[$t] = "O,0,830"; # 2016feb08
$psi=830; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=2; $rv=128; KbLoad(); # 2016feb08
# DO -- 3rd person plural THEY-form of auxiliary verb
$t=131; $ear[$t] = "D,0,0"; # 2016feb08
$t=132; $ear[$t] = "O,0,0"; # 2016feb08
$psi=830; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=3; $rv=131; KbLoad(); # 2016feb08
# DOING -- high word-frequency verb participle
$t=134; $ear[$t] = "D,0,0"; # 2016feb08
$t=135; $ear[$t] = "O,0,0"; # 2016feb08
$t=136; $ear[$t] = "I,0,0"; # 2016feb08
$t=137; $ear[$t] = "N,0,0"; # 2016feb08
$t=138; $ear[$t] = "G,0,183"; # 2016feb08
$psi=183; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=134; KbLoad(); # 2016feb08
# ELSE -- adverb for machine reasoning logic; 2016feb08
$t=140; $ear[$t] = "E,0,0"; # 2016feb08
$t=141; $ear[$t] = "L,0,0"; # 2016feb08
$t=142; $ear[$t] = "S,0,0"; # 2016feb08
$t=143; $ear[$t] = "E,0,266"; # 2016feb08
$psi=266; $hlc="en"; $pos=2; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=140; KbLoad(); # 2016feb08
# FOR -- preposition for EnPrep module
$t=145; $ear[$t] = "F,0,0"; # 2016feb08
$t=146; $ear[$t] = "O,0,0"; # 2016feb08
$t=147; $ear[$t] = "R,0,640"; # 2016feb08
$psi=640; $hlc="en"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=145; KbLoad(); # 2016feb08
# FRIEND -- for coding assignment of ad-hoc gender tags
$t=149; $ear[$t] = "F,0,0"; # 2016feb08
$t=150; $ear[$t] = "R,0,0"; # 2016feb08
$t=151; $ear[$t] = "I,0,0"; # 2016feb08
$t=152; $ear[$t] = "E,0,0"; # 2016feb08
$t=153; $ear[$t] = "N,0,0"; # 2016feb08
$t=154; $ear[$t] = "D,0,517"; # 2016feb08
$psi=517; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=0; $rv=149; KbLoad(); # 2016feb08
# GIRL -- always feminine noun for use with gender flags )
$t=156; $ear[$t] = "G,0,0"; # 2016feb08
$t=157; $ear[$t] = "I,0,0"; # 2016feb08
$t=158; $ear[$t] = "R,0,0"; # 2016feb08
$t=159; $ear[$t] = "L,0,510"; # 2016feb08
$psi=510; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=2; $dba=0; $rv=156; KbLoad(); # 2016feb08
# GOD -- masculine noun important for philosophy of AI
$t=161; $ear[$t] = "G,0,0"; # 2016feb08
$t=162; $ear[$t] = "O,0,0"; # 2016feb08
$t=163; $ear[$t] = "D,0,533"; # 2016feb08
$psi=533; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=1; $dba=0; $rv=161; KbLoad(); # 2016feb08
# GOOD -- adjective for EnAdjective module
$t=165; $ear[$t] = "G,0,0"; # 2016feb08
$t=166; $ear[$t] = "O,0,0"; # 2016feb08
$t=167; $ear[$t] = "O,0,0"; # 2016feb08
$t=168; $ear[$t] = "D,0,140"; # 2016feb08
$psi=140; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=165; KbLoad(); # 2016feb08
# HAVE -- irregular high word-frequency verb
$t=170; $ear[$t] = "H,0,0"; # 2016feb08
$t=171; $ear[$t] = "A,0,0"; # 2016feb08
$t=172; $ear[$t] = "V,0,0"; # 2016feb08
$t=173; $ear[$t] = "E,0,810"; # 2016feb08
$psi=810; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=170; KbLoad(); # 2016feb08
# HAS -- high word-frequency irregular verb form
$t=175; $ear[$t] = "H,0,0"; # 2016feb08
$t=176; $ear[$t] = "A,0,0"; # 2016feb08
$t=177; $ear[$t] = "S,0,810"; # 2016feb08
$psi=810; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=3; $rv=175; KbLoad(); # 2016feb08
# HE -- nominative form of high word-frequency pronoun
$t=179; $ear[$t] = "H,0,0"; # 2016feb08
$t=180; $ear[$t] = "E,0,713"; # 2016feb08
$psi=713; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=1; $dba=1; $rv=179; KbLoad(); # 2016feb08
# HIS -- genitive form of personal pronoun
$t=182; $ear[$t] = "H,0,0"; # 2016feb08
$t=183; $ear[$t] = "I,0,0"; # 2016feb08
$t=184; $ear[$t] = "S,0,113"; # 2016feb08
$psi=113; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=1; $dba=2; $rv=182; KbLoad(); # 2016feb08
# HIM -- dative indirect-object form of personal pronoun
$t=186; $ear[$t] = "H,0,0"; # 2016feb08
$t=187; $ear[$t] = "I,0,0"; # 2016feb08
$t=188; $ear[$t] = "M,0,713"; # 2016feb08
$psi=713; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=1; $dba=3; $rv=186; KbLoad(); # 2016feb08
# HIM -- accusative direct-object form of personal pronoun
$t=190; $ear[$t] = "H,0,0"; # 2016feb08
$t=191; $ear[$t] = "I,0,0"; # 2016feb08
$t=192; $ear[$t] = "M,0,713"; # 2016feb08
$psi=713; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=1; $dba=4; $rv=190; KbLoad(); # 2016feb08
# HELLO -- interjection for human-computer interaction
$t=194; $ear[$t] = "H,0,0"; # 2016feb08
$t=195; $ear[$t] = "E,0,0"; # 2016feb08
$t=196; $ear[$t] = "L,0,0"; # 2016feb08
$t=197; $ear[$t] = "L,0,0"; # 2016feb08
$t=198; $ear[$t] = "O,0,450"; # 2016feb08
$psi=450; $hlc="en"; $pos=4; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=194; KbLoad(); # 2016feb08
# HERE -- adverb for discussion of physical location
$t=200; $ear[$t] = "H,0,0"; # 2016feb08
$t=201; $ear[$t] = "E,0,0"; # 2016feb08
$t=202; $ear[$t] = "R,0,0"; # 2016feb08
$t=203; $ear[$t] = "E,0,201"; # 2016feb08
$psi=201; $hlc="en"; $pos=2; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=200; KbLoad(); # 2016feb08
# HOW -- adverb for EnAdverb module
$t=205; $ear[$t] = "H,0,0"; # 2016feb08
$t=206; $ear[$t] = "O,0,0"; # 2016feb08
$t=207; $ear[$t] = "W,0,209"; # 2016feb08
$psi=209; $hlc="en"; $pos=2; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=205; KbLoad(); # 2016feb08
# I -- nominative subject-form of personal pronoun; 2016feb08
$t=209; $ear[$t] = "I,0,701"; # 2016feb08
$psi=701; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=1; $rv=209; KbLoad(); # 2016feb08
# MINE -- genitive form of personal pronoun; 2016feb08
$t=211; $ear[$t] = "M,0,0"; # 2016feb08
$t=212; $ear[$t] = "I,0,0"; # 2016feb08
$t=213; $ear[$t] = "N,0,0"; # 2016feb08
$t=214; $ear[$t] = "E,0,701"; # 2016feb08
$psi=701; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=2; $rv=211; KbLoad(); # 2016feb08
# ME -- dative indirect-object form of personal pronoun; 2016feb08
$t=216; $ear[$t] = "M,0,0"; # 2016feb08
$t=217; $ear[$t] = "E,0,701"; # 2016feb08
$psi=701; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=3; $rv=216; KbLoad(); # 2016feb08
# ME -- accusative direct-object form of personal pronoun
$t=219; $ear[$t] = "M,0,0"; # 2016feb08
$t=220; $ear[$t] = "E,0,701"; # 2016feb08
$psi=701; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=0; $rv=219; KbLoad(); # 2016feb08
# IF -- for machine reasoning logic
$t=222; $ear[$t] = "I,0,0"; # 2016feb08
$t=223; $ear[$t] = "F,0,390"; # 2016feb08
$psi=390; $hlc="en"; $pos=3; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=222; KbLoad(); # 2016feb08
# IN -- preposition for EnPrep module
$t=225; $ear[$t] = "I,0,0"; # 2016feb08
$t=226; $ear[$t] = "N,0,639"; # 2016feb08
$psi=639; $hlc="en"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=225; KbLoad(); # 2016feb08
# IT -- nominative subject-form of personal pronoun; 2016feb08
$t=228; $ear[$t] = "I,0,0"; # 2016feb08
$t=229; $ear[$t] = "T,0,725"; # 2016feb08
$psi=725; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=3; $dba=1; $rv=228; KbLoad(); # 2016feb08
# ITS -- genitive form of personal pronoun; 2016feb08
$t=231; $ear[$t] = "I,0,0"; # 2016feb08
$t=232; $ear[$t] = "T,0,0"; # 2016feb08
$t=233; $ear[$t] = "S,0,725"; # 2016feb08
$psi=725; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=3; $dba=2; $rv=231; KbLoad(); # 2016feb08
# IT -- dative indirect-object form of personal pronoun; 2016feb08
$t=235; $ear[$t] = "I,0,0"; # 2016feb08
$t=236; $ear[$t] = "T,0,725"; # 2016feb08
$psi=725; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=3; $dba=3; $rv=235; KbLoad(); # 2016feb08
# IT -- accusative direct-object form of personal pronoun
$t=238; $ear[$t] = "I,0,0"; # 2016feb08
$t=239; $ear[$t] = "T,0,725"; # 2016feb08
$psi=725; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=3; $dba=4; $rv=238; KbLoad(); # 2016feb08
# KNOW -- germane to artificial intelligence
$t=241; $ear[$t] = "K,0,0"; # 2016feb08
$t=242; $ear[$t] = "N,0,0"; # 2016feb08
$t=243; $ear[$t] = "O,0,0"; # 2016feb08
$t=244; $ear[$t] = "W,0,850"; # 2016feb08
$psi=850; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=241; KbLoad(); # 2016feb08
# MAN -- always masculine noun for use with gender flags
$t=246; $ear[$t] = "M,0,0"; # 2016feb08
$t=247; $ear[$t] = "A,0,0"; # 2016feb08
$t=248; $ear[$t] = "N,0,543"; # 2016feb08
$psi=543; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=1; $dba=0; $rv=246; KbLoad(); # 2016feb08
# MEN -- irregular plural for retrieval by parameters
$t=250; $ear[$t] = "M,0,0"; # 2016feb08
$t=251; $ear[$t] = "E,0,0"; # 2016feb08
$t=252; $ear[$t] = "N,0,543"; # 2016feb08
$psi=543; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=1; $dba=0; $rv=250; KbLoad(); # 2016feb08
# MAYBE -- adverb response as alternative to YES or NO
$t=254; $ear[$t] = "M,0,0"; # 2016feb08
$t=255; $ear[$t] = "A,0,0"; # 2016feb08
$t=256; $ear[$t] = "Y,0,0"; # 2016feb08
$t=257; $ear[$t] = "B,0,0"; # 2016feb08
$t=258; $ear[$t] = "E,0,270"; # 2016feb08
$psi=270; $hlc="en"; $pos=2; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=254; KbLoad(); # 2016feb08
# MEDIA -- always plural noun in correction of modern usage
$t=260; $ear[$t] = "M,0,0"; # 2016feb08
$t=261; $ear[$t] = "E,0,0"; # 2016feb08
$t=262; $ear[$t] = "D,0,0"; # 2016feb08
$t=263; $ear[$t] = "I,0,0"; # 2016feb08
$t=264; $ear[$t] = "A,0,584"; # 2016feb08
$psi=584; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=3; $dba=0; $rv=260; KbLoad(); # 2016feb08
# MY -- adjective for personal pronoun "I"; 2016feb08
$t=266; $ear[$t] = "M,0,0"; # 2016feb08
$t=267; $ear[$t] = "Y,0,181"; # 2016feb08
$psi=181; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=266; KbLoad(); # 2016feb08
# NO -- interjection for human-computer interaction
$t=269; $ear[$t] = "N,0,0"; # 2016feb08
$t=270; $ear[$t] = "O,0,404"; # 2016feb08
$psi=404; $hlc="en"; $pos=4; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=269; KbLoad(); # 2016feb08
# NOT -- for machine reasoning logic
$t=272; $ear[$t] = "N,0,0"; # 2016feb08
$t=273; $ear[$t] = "O,0,0"; # 2016feb08
$t=274; $ear[$t] = "T,0,250"; # 2016feb08
$psi=250; $hlc="en"; $pos=2; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=272; KbLoad(); # 2016feb08
# NOTHING -- VisRecog default for what the AI Mind sees
$t=276; $ear[$t] = "N,0,0"; # 2016feb08
$t=277; $ear[$t] = "O,0,0"; # 2016feb08
$t=278; $ear[$t] = "T,0,0"; # 2016feb08
$t=279; $ear[$t] = "H,0,0"; # 2016feb08
$t=280; $ear[$t] = "I,0,0"; # 2016feb08
$t=281; $ear[$t] = "N,0,0"; # 2016feb08
$t=282; $ear[$t] = "G,0,760"; # 2016feb08
$psi=760; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=3; $dba=0; $rv=276; KbLoad(); # 2016feb08
# OF -- preposition for EnPrep module
$t=284; $ear[$t] = "O,0,0"; # 2016feb08
$t=285; $ear[$t] = "F,0,604"; # 2016feb08
$psi=604; $hlc="en"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=284; KbLoad(); # 2016feb08
# OR -- for machine reasoning logic
$t=287; $ear[$t] = "O,0,0"; # 2016feb08
$t=288; $ear[$t] = "R,0,324"; # 2016feb08
$psi=324; $hlc="en"; $pos=3; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=287; KbLoad(); # 2016feb08
# OUR -- adjective for personal pronoun "WE"; 2016feb08
$t=290; $ear[$t] = "O,0,0"; # 2016feb08
$t=291; $ear[$t] = "U,0,0"; # 2016feb08
$t=292; $ear[$t] = "R,0,186"; # 2016feb08
$psi=186; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=290; KbLoad(); # 2016feb08
# PEOPLE -- establish as plural for EnParser
$t=294; $ear[$t] = "P,0,0"; # 2016feb08
$t=295; $ear[$t] = "E,0,0"; # 2016feb08
$t=296; $ear[$t] = "O,0,0"; # 2016feb08
$t=297; $ear[$t] = "P,0,0"; # 2016feb08
$t=298; $ear[$t] = "L,0,0"; # 2016feb08
$t=299; $ear[$t] = "E,0,587"; # 2016feb08
$psi=587; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=0; $rv=294; KbLoad(); # 2016feb08
# PERSON -- for ad-hoc gender tags and robot philosophy
$t=301; $ear[$t] = "P,0,0"; # 2016feb08
$t=302; $ear[$t] = "E,0,0"; # 2016feb08
$t=303; $ear[$t] = "R,0,0"; # 2016feb08
$t=304; $ear[$t] = "S,0,0"; # 2016feb08
$t=305; $ear[$t] = "O,0,0"; # 2016feb08
$t=306; $ear[$t] = "N,0,537"; # 2016feb08
$psi=537; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=0; $rv=301; KbLoad(); # 2016feb08
# PLEASE -- interjection for human-computer interaction
$t=308; $ear[$t] = "P,0,0"; # 2016feb08
$t=309; $ear[$t] = "L,0,0"; # 2016feb08
$t=310; $ear[$t] = "E,0,0"; # 2016feb08
$t=311; $ear[$t] = "A,0,0"; # 2016feb08
$t=312; $ear[$t] = "S,0,0"; # 2016feb08
$t=313; $ear[$t] = "E,0,410"; # 2016feb08
$psi=410; $hlc="en"; $pos=4; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=308; KbLoad(); # 2016feb08
# SEE -- lets VisRecog report non-KB direct objects.
$t=315; $ear[$t] = "S,0,0"; # 2016feb08
$t=316; $ear[$t] = "E,0,0"; # 2016feb08
$t=317; $ear[$t] = "E,0,820"; # 2016feb08
$psi=820; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=315; KbLoad(); # 2016feb08
# SHE -- nominative subject-form of personal pronoun; 2016feb08
$t=319; $ear[$t] = "S,0,0"; # 2016feb08
$t=320; $ear[$t] = "H,0,0"; # 2016feb08
$t=321; $ear[$t] = "E,0,719"; # 2016feb08
$psi=719; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=2; $dba=1; $rv=319; KbLoad(); # 2016feb08
# HERS -- genitive form of personal pronoun; 2016feb08
$t=323; $ear[$t] = "H,0,0"; # 2016feb08
$t=324; $ear[$t] = "E,0,0"; # 2016feb08
$t=325; $ear[$t] = "R,0,0"; # 2016feb08
$t=326; $ear[$t] = "S,0,719"; # 2016feb08
$psi=719; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=2; $dba=2; $rv=323; KbLoad(); # 2016feb08
# HER -- dative indirect-object form of pers. pron. 2016feb08
$t=328; $ear[$t] = "H,0,0"; # 2016feb08
$t=329; $ear[$t] = "E,0,0"; # 2016feb08
$t=330; $ear[$t] = "R,0,719"; # 2016feb08
$psi=719; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=2; $dba=3; $rv=328; KbLoad(); # 2016feb08
# HER -- accusative direct-object form of pers. pron. 2016feb08
$t=332; $ear[$t] = "H,0,0"; # 2016feb08
$t=333; $ear[$t] = "E,0,0"; # 2016feb08
$t=334; $ear[$t] = "R,0,719"; # 2016feb08
$psi=719; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=2; $dba=4; $rv=332; KbLoad(); # 2016feb08
# SOME -- adjective for machine reasoning logic
$t=336; $ear[$t] = "S,0,0"; # 2016feb08
$t=337; $ear[$t] = "O,0,0"; # 2016feb08
$t=338; $ear[$t] = "M,0,0"; # 2016feb08
$t=339; $ear[$t] = "E,0,173"; # 2016feb08; 2016apr19
$psi=173; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=336; KbLoad(); # 2016feb08
# THAT -- high word-frequency pronoun
$t=341; $ear[$t] = "T,0,0"; # 2016feb08
$t=342; $ear[$t] = "H,0,0"; # 2016feb08
$t=343; $ear[$t] = "A,0,0"; # 2016feb08
$t=344; $ear[$t] = "T,0,745"; # 2016feb08
$psi=745; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=0; $rv=341; KbLoad(); # 2016feb08
# THE -- EnArticle highest-frequency English word
$t=346; $ear[$t] = "T,0,0"; # 2016feb08
$t=347; $ear[$t] = "H,0,0"; # 2016feb08
$t=348; $ear[$t] = "E,0,117"; # 2016feb08
$psi=117; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=346; KbLoad(); # 2016feb08
# THEIR -- adjective for personal pronoun "THEY"; 2016feb08
$t=350; $ear[$t] = "T,0,0"; # 2016feb08
$t=351; $ear[$t] = "H,0,0"; # 2016feb08
$t=352; $ear[$t] = "E,0,0"; # 2016feb08
$t=353; $ear[$t] = "I,0,0"; # 2016feb08
$t=354; $ear[$t] = "R,0,188"; # 2016feb08
$psi=188; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=350; KbLoad(); # 2016feb08
# THEN -- for machine reasoning logic
$t=356; $ear[$t] = "T,0,0"; # 2016feb08
$t=357; $ear[$t] = "H,0,0"; # 2016feb08
$t=358; $ear[$t] = "E,0,0"; # 2016feb08
$t=359; $ear[$t] = "N,0,213"; # 2016feb08
$psi=213; $hlc="en"; $pos=2; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=356; KbLoad(); # 2016feb08
# THERE -- adverb for discussion of physical location
$t=361; $ear[$t] = "T,0,0"; # 2016feb08
$t=362; $ear[$t] = "H,0,0"; # 2016feb08
$t=363; $ear[$t] = "E,0,0"; # 2016feb08
$t=364; $ear[$t] = "R,0,0"; # 2016feb08
$t=365; $ear[$t] = "E,0,205"; # 2016feb08
$psi=205; $hlc="en"; $pos=2; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=361; KbLoad(); # 2016feb08
# THEY -- nominative subject-form of pers. pronoun; 2016feb08
$t=367; $ear[$t] = "T,0,0"; # 2016feb08
$t=368; $ear[$t] = "H,0,0"; # 2016feb08
$t=369; $ear[$t] = "E,0,0"; # 2016feb08
$t=370; $ear[$t] = "Y,0,743"; # 2016feb08
$psi=743; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=1; $rv=367; KbLoad(); # 2016feb08
# THEIRS -- genitive form of personal pronoun; 2016feb08
$t=372; $ear[$t] = "T,0,0"; # 2016feb08
$t=373; $ear[$t] = "H,0,0"; # 2016feb08
$t=374; $ear[$t] = "E,0,0"; # 2016feb08
$t=375; $ear[$t] = "I,0,0"; # 2016feb08
$t=376; $ear[$t] = "R,0,0"; # 2016feb08
$t=377; $ear[$t] = "S,0,743"; # 2016feb08
$psi=743; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=2; $rv=372; KbLoad(); # 2016feb08
# THEM -- dative indirect-object form of pers. pron. 2016feb08
$t=379; $ear[$t] = "T,0,0"; # 2016feb08
$t=380; $ear[$t] = "H,0,0"; # 2016feb08
$t=381; $ear[$t] = "E,0,0"; # 2016feb08
$t=382; $ear[$t] = "M,0,743"; # 2016feb08
$psi=743; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=3; $rv=379; KbLoad(); # 2016feb08
# THEM -- acc. direct-object form of pers. pron. 2016feb08
$t=384; $ear[$t] = "T,0,0"; # 2016feb08
$t=385; $ear[$t] = "H,0,0"; # 2016feb08
$t=386; $ear[$t] = "E,0,0"; # 2016feb08
$t=387; $ear[$t] = "M,0,743"; # 2016feb08
$psi=743; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=4; $rv=384; KbLoad(); # 2016feb08
# THINK -- germane to artificial intelligence
$t=389; $ear[$t] = "T,0,0"; # 2016feb08
$t=390; $ear[$t] = "H,0,0"; # 2016feb08
$t=391; $ear[$t] = "I,0,0"; # 2016feb08
$t=392; $ear[$t] = "N,0,0"; # 2016feb08
$t=393; $ear[$t] = "K,0,840"; # 2016feb08
$psi=840; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=389; KbLoad(); # 2016feb08
# WE -- nominative subject-form of personal pronoun; 2016feb08
$t=395; $ear[$t] = "W,0,0"; # 2016feb08
$t=396; $ear[$t] = "E,0,731"; # 2016feb08
$psi=731; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=1; $rv=395; KbLoad(); # 2016feb08
# OURS -- genitive form of personal pronoun; 2016feb08
$t=398; $ear[$t] = "O,0,0"; # 2016feb08
$t=399; $ear[$t] = "U,0,0"; # 2016feb08
$t=400; $ear[$t] = "R,0,0"; # 2016feb08
$t=401; $ear[$t] = "S,0,731"; # 2016feb08
$psi=731; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=2; $rv=398; KbLoad(); # 2016feb08
# US -- dative indirect-object form of pers. pron. 2016feb08
$t=403; $ear[$t] = "U,0,0"; # 2016feb08
$t=404; $ear[$t] = "S,0,731"; # 2016feb08
$psi=731; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=3; $rv=403; KbLoad(); # 2016feb08
# US -- accusative direct-object form of pers. pron. 2016feb08
$t=406; $ear[$t] = "U,0,0"; # 2016feb08
$t=407; $ear[$t] = "S,0,731"; # 2016feb08
$psi=731; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=4; $rv=406; KbLoad(); # 2016feb08
# WHAT -- nominative pronoun for SelfReferentialThought
$t=409; $ear[$t] = "W,0,0"; # 2016feb08
$t=410; $ear[$t] = "H,0,0"; # 2016feb08
$t=411; $ear[$t] = "A,0,0"; # 2016feb08
$t=412; $ear[$t] = "T,0,781"; # 2016feb08
$psi=781; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=3; $dba=1; $rv=409; KbLoad(); # 2016feb08
# WHAT -- accusative pronoun for SelfReferentialThought
$t=414; $ear[$t] = "W,0,0"; # 2016feb08
$t=415; $ear[$t] = "H,0,0"; # 2016feb08
$t=416; $ear[$t] = "A,0,0"; # 2016feb08
$t=417; $ear[$t] = "T,0,781"; # 2016feb08
$psi=781; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=3; $dba=4; $rv=414; KbLoad(); # 2016feb08
# WHEN -- for SelfReferentialThought
$t=419; $ear[$t] = "W,0,0"; # 2016feb08
$t=420; $ear[$t] = "H,0,0"; # 2016feb08
$t=421; $ear[$t] = "E,0,0"; # 2016feb08
$t=422; $ear[$t] = "N,0,263"; # 2016feb08
$psi=263; $hlc="en"; $pos=2; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=419; KbLoad(); # 2016feb08
# WHERE -- for SelfReferentialThought
$t=424; $ear[$t] = "W,0,0"; # 2016feb08
$t=425; $ear[$t] = "H,0,0"; # 2016feb08
$t=426; $ear[$t] = "E,0,0"; # 2016feb08
$t=427; $ear[$t] = "R,0,0"; # 2016feb08
$t=428; $ear[$t] = "E,0,245"; # 2016feb08
$psi=245; $hlc="en"; $pos=2; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=424; KbLoad(); # 2016feb08
# WHO -- for SelfReferentialThought
$t=430; $ear[$t] = "W,0,0"; # 2016feb08
$t=431; $ear[$t] = "H,0,0"; # 2016feb08
$t=432; $ear[$t] = "O,0,791"; # 2016feb08
$psi=791; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=1; $rv=430; KbLoad(); # 2016feb08
# WHOSE -- for AI to ask grammatically correct questions
$t=434; $ear[$t] = "W,0,0"; # 2016feb08
$t=435; $ear[$t] = "H,0,0"; # 2016feb08
$t=436; $ear[$t] = "O,0,0"; # 2016feb08
$t=437; $ear[$t] = "S,0,0"; # 2016feb08
$t=438; $ear[$t] = "E,0,794"; # 2016feb08
$psi=794; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=2; $rv=434; KbLoad(); # 2016feb08
# WHOM -- for AI to ask grammatically correct questions
$t=440; $ear[$t] = "W,0,0"; # 2016feb08
$t=441; $ear[$t] = "H,0,0"; # 2016feb08
$t=442; $ear[$t] = "O,0,0"; # 2016feb08
$t=443; $ear[$t] = "M,0,794"; # 2016feb08
$psi=794; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=3; $rv=440; KbLoad(); # 2016feb08
# WHOM -- for AI to ask grammatically correct questions
$t=445; $ear[$t] = "W,0,0"; # 2016feb08
$t=446; $ear[$t] = "H,0,0"; # 2016feb08
$t=447; $ear[$t] = "O,0,0"; # 2016feb08
$t=448; $ear[$t] = "M,0,794"; # 2016feb08
$psi=794; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=4; $rv=445; KbLoad(); # 2016feb08
# WHY -- for machine reasoning logic; 2016feb10
$t=450; $ear[$t] = "W,0,0"; # 2016feb08
$t=451; $ear[$t] = "H,0,0"; # 2016feb08
$t=452; $ear[$t] = "Y,0,370"; # 2016feb08
$psi=370; $hlc="en"; $pos=3; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=450; KbLoad(); # 2016feb08
# WITH -- preposition for EnPrep module
$t=454; $ear[$t] = "W,0,0"; # 2016feb08
$t=455; $ear[$t] = "I,0,0"; # 2016feb08
$t=456; $ear[$t] = "T,0,0"; # 2016feb08
$t=457; $ear[$t] = "H,0,680"; # 2016feb08
$psi=680; $hlc="en"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=454; KbLoad(); # 2016feb08
# WOMAN -- always feminine noun for use with gender flags
$t=459; $ear[$t] = "W,0,0"; # 2016feb08
$t=460; $ear[$t] = "O,0,0"; # 2016feb08
$t=461; $ear[$t] = "M,0,0"; # 2016feb08
$t=462; $ear[$t] = "A,0,0"; # 2016feb08
$t=463; $ear[$t] = "N,0,515"; # 2016feb08
$psi=515; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=2; $dba=0; $rv=459; KbLoad(); # 2016feb08
# WOMEN -- irregular plural for retrieval by parameters
$t=465; $ear[$t] = "W,0,0"; # 2016feb08
$t=466; $ear[$t] = "O,0,0"; # 2016feb08
$t=467; $ear[$t] = "M,0,0"; # 2016feb08
$t=468; $ear[$t] = "E,0,0"; # 2016feb08
$t=469; $ear[$t] = "N,0,515"; # 2016feb08
$psi=515; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=2; $dba=0; $rv=465; KbLoad(); # 2016feb08
# YES -- interjection for human-computer interaction
$t=471; $ear[$t] = "Y,0,0"; # 2016feb08
$t=472; $ear[$t] = "E,0,0"; # 2016feb08
$t=473; $ear[$t] = "S,0,432"; # 2016feb08
$psi=432; $hlc="en"; $pos=4; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=471; KbLoad(); # 2016feb08
# YOU -- nominative singular of personal pronoun; 2016feb08
$t=475; $ear[$t] = "Y,0,0"; # 2016feb08
$t=476; $ear[$t] = "O,0,0"; # 2016feb08
$t=477; $ear[$t] = "U,0,707"; # 2016feb08
$psi=707; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=1; $rv=475; KbLoad(); # 2016feb08
# YOURS -- genitive singular of personal pronoun; 2016feb08
$t=479; $ear[$t] = "Y,0,0"; # 2016feb08
$t=480; $ear[$t] = "O,0,0"; # 2016feb08
$t=481; $ear[$t] = "U,0,0"; # 2016feb08
$t=482; $ear[$t] = "R,0,0"; # 2016feb08
$t=483; $ear[$t] = "S,0,707"; # 2016feb08
$psi=707; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=2; $rv=479; KbLoad(); # 2016feb08
# YOU -- dative singular of personal pronoun; 2016feb08
$t=485; $ear[$t] = "Y,0,0"; # 2016feb08
$t=486; $ear[$t] = "O,0,0"; # 2016feb08
$t=487; $ear[$t] = "U,0,707"; # 2016feb08
$psi=707; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=3; $rv=485; KbLoad(); # 2016feb08
# YOU -- accusative singular of personal pronoun; 2016feb08
$t=489; $ear[$t] = "Y,0,0"; # 2016feb08
$t=490; $ear[$t] = "O,0,0"; # 2016feb08
$t=491; $ear[$t] = "U,0,707"; # 2016feb08
$psi=707; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=4; $rv=489; KbLoad(); # 2016feb08
# YOU -- nominative plural of personal pronoun; 2016feb08
$t=493; $ear[$t] = "Y,0,0"; # 2016feb08
$t=494; $ear[$t] = "O,0,0"; # 2016feb08
$t=495; $ear[$t] = "U,0,737"; # 2016feb08
$psi=737; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=1; $rv=493; KbLoad(); # 2016feb08
# YOURS -- genitive plural of personal pronoun; 2016feb08
$t=497; $ear[$t] = "Y,0,0"; # 2016feb08
$t=498; $ear[$t] = "O,0,0"; # 2016feb08
$t=499; $ear[$t] = "U,0,0"; # 2016feb08
$t=500; $ear[$t] = "R,0,0"; # 2016feb08
$t=501; $ear[$t] = "S,0,737"; # 2016feb08
$psi=737; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=2; $rv=497; KbLoad(); # 2016feb08
# YOU -- dative plural of personal pronoun; 2016feb08
$t=503; $ear[$t] = "Y,0,0"; # 2016feb08
$t=504; $ear[$t] = "O,0,0"; # 2016feb08
$t=505; $ear[$t] = "U,0,737"; # 2016feb08
$psi=737; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=3; $rv=503; KbLoad(); # 2016feb08
# YOU -- accusative plural of personal pronoun; 2016feb08
$t=507; $ear[$t] = "Y,0,0"; # 2016feb08
$t=508; $ear[$t] = "O,0,0"; # 2016feb08
$t=509; $ear[$t] = "U,0,737"; # 2016feb08
$psi=737; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=4; $rv=507; KbLoad(); # 2016feb08
# YOUR -- adjective for personal pronoun "YOU"; 2016feb08
$t=511; $ear[$t] = "Y,0,0"; # 2016feb08
$t=512; $ear[$t] = "O,0,0"; # 2016feb08
$t=513; $ear[$t] = "U,0,0"; # 2016feb08
$t=514; $ear[$t] = "R,0,182"; # 2016feb08
$psi=182; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=511; KbLoad(); # 2016feb08
# YOU -- for SelfReferentialThought
$t=516; $ear[$t] = "Y,0,0"; # 2016feb08
$t=517; $ear[$t] = "O,0,0"; # 2016feb08
$t=518; $ear[$t] = "U,0,707"; # 2016feb08
$psi=707; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=522; $seq=800;
$num=1; $mfn=0; $dba=1; $rv=516; KbLoad(); # 2016feb08
# ARE -- essential intransitive verb -- 800 from Dushka; 2016feb08
$t=520; $ear[$t] = "A,0,0"; # 2016feb08
$t=521; $ear[$t] = "R,0,0"; # 2016feb08
$t=522; $ear[$t] = "E,0,800"; # 2016feb08
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=707; $tkb=528; $seq=588;
$num=1; $mfn=0; $dba=2; $rv=520; KbLoad(); # 2016feb08
# MAGIC -- for testing purposes
$t=524; $ear[$t] = "M,0,0"; # 2016feb08
$t=525; $ear[$t] = "A,0,0"; # 2016feb08
$t=526; $ear[$t] = "G,0,0"; # 2016feb08
$t=527; $ear[$t] = "I,0,0"; # 2016feb08
$t=528; $ear[$t] = "C,0,588"; # 2016feb08
$psi=588; $hlc="en"; $pos=5; $jux=0; $pre=800; $tkb=0; $seq=0;
$num=1; $mfn=3; $dba=1; $rv=524; KbLoad(); # 2016apr12
# I -- for SelfReferentialThought
$t=530; $ear[$t] = "I,0,701"; # 2016feb08
$psi=701; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=533; $seq=800;
$num=1; $mfn=0; $dba=1; $rv=530; KbLoad(); # 2016feb08
# AM -- 1st person singular of 800=BE; 2016feb09
$t=532; $ear[$t] = "A,0,0"; # 2016feb08
$t=533; $ear[$t] = "M,0,800"; # 2016feb08
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=701; $tkb=539; $seq=501;
$num=1; $mfn=0; $dba=1; $rv=532; KbLoad(); # 2016feb08
# ANDRU -- for SelfReferentialThought; 2016feb10
$t=535; $ear[$t] = "A,0,0"; # 2016feb08
$t=536; $ear[$t] = "N,0,0"; # 2016feb08
$t=537; $ear[$t] = "D,0,0"; # 2016feb08
$t=538; $ear[$t] = "R,0,0"; # 2016feb08
$t=539; $ear[$t] = "U,0,501"; # 2016feb08
$psi=501; $hlc="en"; $pos=5; $jux=0; $pre=800; $tkb=0; $seq=0;
$num=1; $mfn=1; $dba=1; $rv=535; KbLoad(); # 2016feb08
# I -- innate KB-item for testing inhibition of idea-pairs
$t=541; $ear[$t] = "I,0,701"; # 2016feb08
$psi=701; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=544; $seq=800;
$num=1; $mfn=0; $dba=1; $rv=541; KbLoad(); # 2016feb08
# AM -- 1st person singular of 800=BE; 2016feb09
$t=543; $ear[$t] = "A,0,0"; # 2016feb08
$t=544; $ear[$t] = "M,0,800"; # 2016feb08
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=701; $tkb=552; $seq=571;
$num=1; $mfn=0; $dba=1; $rv=543; KbLoad(); # 2016feb08
# A -- En(glish) Article for EnArticle module
$t=546; $ear[$t] = "A,0,101"; # 2016feb08
$psi=101; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=552; $seq=571;
$num=1; $mfn=0; $dba=0; $rv=546; KbLoad(); # 2016feb08
# ROBOT -- important for target user base
$t=548; $ear[$t] = "R,0,0"; # 2016feb08
$t=549; $ear[$t] = "O,0,0"; # 2016feb08
$t=550; $ear[$t] = "B,0,0"; # 2016feb08
$t=551; $ear[$t] = "O,0,0"; # 2016feb08
$t=552; $ear[$t] = "T,0,571"; # 2016feb08
$psi=571; $hlc="en"; $pos=5; $jux=0; $pre=800; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=1; $rv=548; KbLoad(); # 2016feb08
# I -- innate KB-item for testing inhibition of idea-pairs
$t=554; $ear[$t] = "I,0,701"; # 2016feb08
$psi=701; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=557; $seq=800;
$num=1; $mfn=0; $dba=1; $rv=554; KbLoad(); # 2016feb08
# AM -- 1st person singular of 800=BE; 2016feb09
$t=556; $ear[$t] = "A,0,0"; # 2016feb08
$t=557; $ear[$t] = "M,0,800"; # 2016feb08
$psi=800; $hlc="en"; $pos=8; $jux=0; $pre=701; $tkb=566; $seq=537;
$num=1; $mfn=0; $dba=1; $rv=556; KbLoad(); # 2016feb08
# A -- En(glish) Article for EnArticle module
$t=559; $ear[$t] = "A,0,101"; # 2016feb08
$psi=101; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=566; $seq=537;
$num=1; $mfn=0; $dba=0; $rv=559; KbLoad(); # 2016feb08
# PERSON -- for ad-hoc gender tags and robot philosophy
$t=561; $ear[$t] = "P,0,0"; # 2016feb08
$t=562; $ear[$t] = "E,0,0"; # 2016feb08
$t=563; $ear[$t] = "R,0,0"; # 2016feb08
$t=564; $ear[$t] = "S,0,0"; # 2016feb08
$t=565; $ear[$t] = "O,0,0"; # 2016feb08
$t=566; $ear[$t] = "N,0,537"; # 2016feb08
$psi=537; $hlc="en"; $pos=5; $jux=0; $pre=800; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=1; $rv=561; KbLoad(); # 2016feb08
# I -- for SelfReferentialThought
$t=568; $ear[$t] = "I,0,701"; # 2016feb08
$psi=701; $hlc="en"; $pos=7; $jux=0; $pre=0; $tkb=573; $seq=895;
$num=1; $mfn=0; $dba=1; $rv=568; KbLoad(); # 2016feb08
# HELP -- socially significant common verb
$t=570; $ear[$t] = "H,0,0"; # 2016feb08
$t=571; $ear[$t] = "E,0,0"; # 2016feb08
$t=572; $ear[$t] = "L,0,0"; # 2016feb08;
$t=573; $ear[$t] = "P,0,895"; # 2016feb08
$psi=895; $hlc="en"; $pos=8; $jux=0; $pre=701; $tkb=578; $seq=528;
$num=1; $mfn=0; $dba=1; $rv=570; KbLoad(); # 2016feb08
# KIDS -- noun lends itself to educational purposes
$t=575; $ear[$t] = "K,0,0"; # 2016feb08
$t=576; $ear[$t] = "I,0,0"; # 2016feb08
$t=577; $ear[$t] = "D,0,528"; # 2016jun30: for recognition of singular.
$t=578; $ear[$t] = "S,0,528"; # 2016feb08
$psi=528; $hlc="en"; $pos=5; $jux=0; $pre=895; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=4; $rv=575; KbLoad(); # 2016feb08
# KIDS -- noun lends itself to educational purposes
$t=580; $ear[$t] = "K,0,0"; # 2016feb08
$t=581; $ear[$t] = "I,0,0"; # 2016feb08
$t=582; $ear[$t] = "D,0,0"; # 2016feb08
$t=583; $ear[$t] = "S,0,528"; # 2016feb08
$psi=528; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=588; $seq=835;
$num=2; $mfn=0; $dba=1; $rv=580; KbLoad(); # 2016feb08
# MAKE -- common verb of high word-frequency
$t=585; $ear[$t] = "M,0,0"; # 2016feb08
$t=586; $ear[$t] = "A,0,0"; # 2016feb08
$t=587; $ear[$t] = "K,0,0"; # 2016feb08
$t=588; $ear[$t] = "E,0,835"; # 2016feb08
$psi=835; $hlc="en"; $pos=8; $jux=0; $pre=528; $tkb=595; $seq=571;
$num=2; $mfn=0; $dba=3; $rv=585; KbLoad(); # 2016feb08
# ROBOTS -- important for target user base
$t=590; $ear[$t] = "R,0,0"; # 2016feb08
$t=591; $ear[$t] = "O,0,0"; # 2016feb08
$t=592; $ear[$t] = "B,0,0"; # 2016feb08
$t=593; $ear[$t] = "O,0,0"; # 2016feb08
$t=594; $ear[$t] = "T,0,0"; # 2016feb08
$t=595; $ear[$t] = "S,0,571"; # 2016feb08
$psi=571; $hlc="en"; $pos=5; $jux=0; $pre=835; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=4; $rv=590; KbLoad(); # 2016feb08
# ROBOTS -- important for target user base
$t=597; $ear[$t] = "R,0,0"; # 2016feb08
$t=598; $ear[$t] = "O,0,0"; # 2016feb08
$t=599; $ear[$t] = "B,0,0"; # 2016feb08
$t=600; $ear[$t] = "O,0,0"; # 2016feb08
$t=601; $ear[$t] = "T,0,0"; # 2016feb08
$t=602; $ear[$t] = "S,0,571"; # 2016feb08; 2016apr12
$psi=571; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=607; $seq=849;
$num=2; $mfn=0; $dba=1; $rv=597; KbLoad(); # 2016feb08
# NEED -- common verb used for describing goals
$t=604; $ear[$t] = "N,0,0"; # 2016feb08
$t=605; $ear[$t] = "E,0,0"; # 2016feb08
$t=606; $ear[$t] = "E,0,0"; # 2016feb08
$t=607; $ear[$t] = "D,0,849"; # 2016feb08; 2016apr12
$psi=849; $hlc="en"; $pos=8; $jux=0; $pre=571; $tkb=610; $seq=701;
$num=2; $mfn=0; $dba=3; $rv=604; KbLoad(); # 2016feb08
# ME -- for SelfReferentialThought
$t=609; $ear[$t] = "M,0,0"; # 2016feb08
$t=610; $ear[$t] = "E,0,701"; # 2016feb08; 2016apr12
$psi=701; $hlc="en"; $pos=7; $jux=0; $pre=849; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=4; $rv=609; KbLoad(); # 2016feb08
# WOMEN -- irregular plural for retrieval by parameters
$t=612; $ear[$t] = "W,0,0"; # 2016feb08
$t=613; $ear[$t] = "O,0,0"; # 2016feb08
$t=614; $ear[$t] = "M,0,0"; # 2016feb08
$t=615; $ear[$t] = "E,0,0"; # 2016feb08
$t=616; $ear[$t] = "N,0,515"; # 2016feb08
# $psi=515; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$psi=515; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=621; $seq=810;
$num=2; $mfn=2; $dba=1; $rv=612; KbLoad(); # 2016feb08
# HAVE -- irregular high word-frequency verb
$t=618; $ear[$t] = "H,0,0"; # 2016feb08
$t=619; $ear[$t] = "A,0,0"; # 2016feb08
$t=620; $ear[$t] = "V,0,0"; # 2016feb08
$t=621; $ear[$t] = "E,0,810"; # 2016feb08
# $psi=810; $hlc="en"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$psi=810; $hlc="en"; $pos=8; $jux=0; $pre=515; $tkb=629; $seq=525;
$num=2; $mfn=0; $dba=3; $rv=618; KbLoad(); # 2016feb08
# A -- En(glish) Article for EnArticle module
$t=623; $ear[$t] = "A,0,101"; # 2016feb08
$psi=101; $hlc="en"; $pos=1; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=0; $rv=623; KbLoad(); # 2016feb08
# CHILD -- example of irregular noun for a polyglot AI Mind
$t=625; $ear[$t] = "C,0,0"; # 2016feb08
$t=626; $ear[$t] = "H,0,0"; # 2016feb08
$t=627; $ear[$t] = "I,0,0"; # 2016feb08
$t=628; $ear[$t] = "L,0,0"; # 2016feb08
$t=629; $ear[$t] = "D,0,525"; # 2016feb08
# $psi=525; $hlc="en"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$psi=525; $hlc="en"; $pos=5; $jux=0; $pre=810; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=4; $rv=625; KbLoad(); # 2016feb08
# TO -- preposition (3rd most frequent word) for EnPrep module; 2016mar02
$t=701; $ear[$t] = "T,0,0"; # 2016mar02
$t=702; $ear[$t] = "O,0,628"; # 2016mar10: Russian prep. "К" is #1628.
$psi=628; $hlc="en"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=701; KbLoad(); # 2016mar02
# ON -- preposition (17th most frequent word) for EnPrep module; 2016mar02
$t=704; $ear[$t] = "O,0,0"; # 2016mar02
$t=705; $ear[$t] = "N,0,637"; # 2016mar02: Russian "на' is #1637.
$psi=637; $hlc="en"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=704; KbLoad(); # 2016mar02
# AT -- preposition (22nd most frequent word) for EnPrep module; 2016mar02
$t=707; $ear[$t] = "A,0,0"; # 2016mar02
$t=708; $ear[$t] = "T,0,697"; # 2016mar02: Russian "У" is #1697.
$psi=697; $hlc="en"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=707; KbLoad(); # 2016mar02
# FROM -- preposition (26th most frequent word) for EnPrep module; 2016mar02
$t=710; $ear[$t] = "F,0,0"; # 2016mar02
$t=711; $ear[$t] = "R,0,0"; # 2016mar02
$t=712; $ear[$t] = "O,0,0"; # 2016mar02
$t=713; $ear[$t] = "M,0,647"; # 2016mar02: Russian "от" is #1647.
$psi=647; $hlc="en"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=710; KbLoad(); # 2016mar02
# BY -- preposition (30th most frequent word) for EnPrep module; 2016mar02
$t=715; $ear[$t] = "B,0,0"; # 2016mar02
$t=716; $ear[$t] = "Y,0,645"; # 2016mar02: Russian "около" is #1645.
$psi=645; $hlc="en"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=715; KbLoad(); # 2016mar02
# ABOUT -- preposition (46th most frequent word) for EnPrep module; 2016mar02
$t=718; $ear[$t] = "A,0,0"; # 2016mar02
$t=719; $ear[$t] = "B,0,0"; # 2016mar02
$t=720; $ear[$t] = "O,0,0"; # 2016mar02
$t=721; $ear[$t] = "U,0,0"; # 2016mar02
$t=722; $ear[$t] = "T,0,641"; # 2016mar02: Russian "о" is #1641.
$psi=641; $hlc="en"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=718; KbLoad(); # 2016mar02
# http://www.nlg-wiki.org/systems/Dushka -- predecessor Russian AI for MSIE
$t=1001; $ear[$t] = " ,0,0"; # 2016feb24: Reserve 1001-1999 for Russian
$t=1002; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: seems necessary?
# 2016feb22: The Unicode U+HHHH notation uses hexadecimal.
# ОШИБКА (1582 error) first word so any bug will announce itself
$t=1003; $ear[$t] = "\x8E,0,0"; # 2016feb24 " О"
$t=1004; $ear[$t] = "\x98,0,0"; # 2016feb24 " Ш"
$t=1005; $ear[$t] = "\x88,0,0"; # 2016feb24 " И"
$t=1006; $ear[$t] = "\x81,0,0"; # 2016feb24 " Б"
$t=1007; $ear[$t] = "\x8A,0,0"; # 2016feb24 " К"
$t=1008; $ear[$t] = "\x80,0,1582"; # 2016feb24 " А"
$psi=1582; $hlc="ru"; $pos=5; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=2; $dba=0; $rv=1003; KbLoad(); # 2016feb22
$t=1009; $ear[$t] = " ,0,0"; # 2016feb24: blank space
$t=1010; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# АВОСЬ (1270 maybe) for KbRetro to treat as answer; 2016may01
$t=1011; $ear[$t] = "\x80,0,0"; # 2016feb22: "А"
$t=1012; $ear[$t] = "\x82,0,0"; # 2016feb22: "В"
$t=1013; $ear[$t] = "\x8E,0,0"; # 2016feb22: "О"
$t=1014; $ear[$t] = "\x91,0,0"; # 2016feb22: "С"
$t=1015; $ear[$t] = "\x9C,0,1270"; # 2016feb22: "Ь"
$psi=1270; $hlc="ru"; $pos=2; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1011; KbLoad(); # 2016feb22
$t=1016; $ear[$t] = " ,0,0"; # 2016feb24: blank space
$t=1017; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# без (1600 without) preposition; 2016feb26
$t=1018; $ear[$t] = "\x81,0,0"; # 2016feb22: "Б"
$t=1019; $ear[$t] = "\x85,0,0"; # 2016feb22: "Е"
$t=1020; $ear[$t] = "\x87,0,1600"; # 2016feb26: "З"
$psi=1600; $hlc="ru"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1018; KbLoad(); # 2016feb24
$t=1021; $ear[$t] = " ,0,0"; # 2016feb24: blank space
$t=1022; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# благодаря (1602 thanks to, owing to) 2016feb26:
$t=1023; $ear[$t] = "\x81,0,0"; # 2016feb24: "Б"
$t=1024; $ear[$t] = "\x8B,0,0"; # 2016feb24: "Л"
$t=1025; $ear[$t] = "\x80,0,0"; # 2016feb24: "А"
$t=1026; $ear[$t] = "\x83,0,0"; # 2016feb24: "Г"
$t=1027; $ear[$t] = "\x8E,0,0"; # 2016feb24: "О"
$t=1028; $ear[$t] = "\x84,0,0"; # 2016feb24: "Д"
$t=1029; $ear[$t] = "\x80,0,0"; # 2016feb24: "А"
$t=1030; $ear[$t] = "\x90,0,0"; # 2016feb24: "Р"
$t=1031; $ear[$t] = "\x9F,0,1602"; # 2016feb26: "Я"
$psi=1602; $hlc="ru"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1023; KbLoad(); # 2016feb24
$t=1032; $ear[$t] = " ,0,0"; # 2016feb24: blank space
$t=1033; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# БЫВАТЬ (1803 to occur) verb; infinitive; 2016apr27: Cyrillic
$t=1034; $ear[$t] = "\x81,0,0"; # 2016feb24: "Б"
$t=1035; $ear[$t] = "\x9B,0,0"; # 2016feb24: "Ы"
$t=1036; $ear[$t] = "\x82,0,0"; # 2016feb24: "В"
$t=1037; $ear[$t] = "\x80,0,1803"; # 2016mar04: "А" stem $prc
$t=1038; $ear[$t] = "\x92,0,1803"; # 2016mar04: "Т" stem #prc
$t=1039; $ear[$t] = "\x9C,0,1803"; # 2016feb24: "Ь"
$psi=1803; $hlc="ru"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1034; KbLoad(); # 2016feb22
$t=1040; $ear[$t] = " ,0,0"; # 2016feb24: blank space
$t=1041; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# БЫТЬ (1800 to be) verb; irreg; infinitive 2016may01
$t=1042; $ear[$t] = "\x81,0,0"; # 2016feb24: "Б"
$t=1043; $ear[$t] = "\x9B,0,0"; # 2016feb24: "Ы"
$t=1044; $ear[$t] = "\x92,0,0"; # 2016feb22: "Т"
$t=1045; $ear[$t] = "\x9C,0,1800"; # 2016feb24: "Ь"
$psi=1800; $hlc="ru"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1042; KbLoad(); # 2016feb25
$t=1046; $ear[$t] = " ,0,0"; # 2016feb24: blank space
$t=1047; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# БУДУ (1807 will be) verb; irreg; 1st person future; 2016may01
$t=1048; $ear[$t] = "\x81,0,0"; # 2016feb25: "Б"
$t=1049; $ear[$t] = "\x93,0,0"; # 2016feb23: "У"
$t=1050; $ear[$t] = "\x84,0,0"; # 2016feb22: "Д"
$t=1051; $ear[$t] = "\x93,0,1807"; # 2016feb23: "У"
$psi=1807; $hlc="ru"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1048; KbLoad(); # 2016feb22
$t=1052; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1053; $ear[$t] = "\N{U+0},0,0"; # 2016feb25: Unicode?
# "В" (1604 "in, into, at") preposition; 2016feb26
$t=1054; $ear[$t] = "\x82,0,1604"; # 2016feb26: "В"
$psi=1604; $hlc="ru"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1054; KbLoad(); # 2016feb25
$t=1055; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1056; $ear[$t] = "\N{U+0},0,0"; # 2016feb25: Unicode?
# "ВО" (1605 "in, into, at") preposition; 2016feb26
$t=1057; $ear[$t] = "\x82,0,0"; # 2016feb25: "В"
$t=1058; $ear[$t] = "\x8E,0,1605"; # 2016feb26: "О"
$psi=1605; $hlc="ru"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1057; KbLoad(); # 2016feb25
$t=1059; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1060; $ear[$t] = "\N{U+0},0,0"; # 2016feb25: Unicode?
# вдоль (1607 "along") preposition; 2016feb26
$t=1061; $ear[$t] = "\x82,0,0"; # 2016feb25: "В"
$t=1062; $ear[$t] = "\x84,0,0"; # 2016feb25: "Д"
$t=1063; $ear[$t] = "\x8E,0,0"; # 2016feb25: "О"
$t=1064; $ear[$t] = "\x8B,0,0"; # 2016feb25: "Л"
$t=1065; $ear[$t] = "\x9C,0,1607"; # 2016feb26: "Ь"
$psi=1607; $hlc="ru"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1061; KbLoad(); # 2016feb25
$t=1066; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1067; $ear[$t] = "\N{U+0},0,0"; # 2016feb25: Unicode?
# ВИДЕТЬ (1820 "to see"); verb; infinitive; 2016may01
$t=1068; $ear[$t] = "\x82,0,0"; # 2016feb25: "В"
$t=1069; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1070; $ear[$t] = "\x84,0,0"; # 2016feb25: "Д"
$t=1071; $ear[$t] = "\x85,0,0"; # 2016feb25: "Е"
$t=1072; $ear[$t] = "\x92,0,0"; # 2016feb25: "Т"
$t=1073; $ear[$t] = "\x9C,0,1820"; # 2016feb25: "Ь"
$psi=1820; $hlc="ru"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1068; KbLoad(); # 2016feb25
$t=1074; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1075; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# ВИЖУ (1820 "I see"); verb for VisRecog; 2016may01
$t=1076; $ear[$t] = "\x82,0,0"; # 2016feb25: "В"
$t=1077; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1078; $ear[$t] = "\x86,0,0"; # 2016feb25: "Ж"
$t=1079; $ear[$t] = "\x93,0,1820"; # 2016feb25: "У"
$psi=1820; $hlc="ru"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=1; $rv=1076; KbLoad(); # 2016feb25
$t=1080; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1081; $ear[$t] = "\N{U+0},0,0"; # 2016feb25: Unicode?
# ВИДИШЬ (1820 "you see"); verb for VisRecog; 2016may01
$t=1082; $ear[$t] = "\x82,0,0"; # 2016feb25: "В"
$t=1083; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1084; $ear[$t] = "\x84,0,0"; # 2016feb25: "Д"
$t=1085; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1086; $ear[$t] = "\x98,0,0"; # 2016feb25 " Ш"
$t=1087; $ear[$t] = "\x9C,0,1820"; # 2016feb25: "Ь"
$psi=1820; $hlc="ru"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=2; $rv=1082; KbLoad(); # 2016feb25
$t=1088; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1089; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# ВИДИТ (1820 "he sees"); verb for VisRecog; 2016may01
$t=1090; $ear[$t] = "\x82,0,0"; # 2016feb25: "В"
$t=1091; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1092; $ear[$t] = "\x84,0,0"; # 2016feb25: "Д"
$t=1093; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1094; $ear[$t] = "\x92,0,1820"; # 2016feb25: "Т"
$psi=1820; $hlc="ru"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=1; $mfn=0; $dba=3; $rv=1090; KbLoad(); # 2016feb25
$t=1095; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1096; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# ВИДИМ (1820 "we see"); verb for VisRecog; 2016may01
$t=1097; $ear[$t] = "\x82,0,0"; # 2016feb25: "В"
$t=1098; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1099; $ear[$t] = "\x84,0,0"; # 2016feb25: "Д"
$t=1100; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1101; $ear[$t] = "\x8C,0,1820"; # 2016feb25: "м"
$psi=1820; $hlc="ru"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=1; $rv=1097; KbLoad(); # 2016feb25
$t=1102; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1103; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# ВИДИТЕ (1820 "you see"); verb; plural; 2016may01
$t=1104; $ear[$t] = "\x82,0,0"; # 2016feb25: "В"
$t=1105; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1106; $ear[$t] = "\x84,0,0"; # 2016feb25: "Д"
$t=1107; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1108; $ear[$t] = "\x92,0,0"; # 2016feb25: "Т"
$t=1109; $ear[$t] = "\x85,0,1820"; # 2016feb25: "Е"
$psi=1820; $hlc="ru"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=2; $rv=1104; KbLoad(); # 2016feb25
$t=1110; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1111; $ear[$t] = "\N{U+0},0,0"; # 2016feb24: Unicode?
# ВИДЯТ (1820 "they see"); verb; 3rd pers. plural; 2016may01
$t=1112; $ear[$t] = "\x82,0,0"; # 2016feb25: "В"
$t=1113; $ear[$t] = "\x88,0,0"; # 2016feb25 " И"
$t=1114; $ear[$t] = "\x84,0,0"; # 2016feb25: "Д"
$t=1115; $ear[$t] = "\x9F,0,0"; # 2016feb25: "Я"
$t=1116; $ear[$t] = "\x92,0,1820"; # 2016feb25: "Т"
$psi=1820; $hlc="ru"; $pos=8; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=2; $mfn=0; $dba=3; $rv=1112; KbLoad(); # 2016feb25
$t=1117; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1118; $ear[$t] = "\N{U+0},0,0"; # 2016feb26: Unicode?
# вместо (1608 instead of) preposition; 2016feb26
$t=1119; $ear[$t] = "\x82,0,0"; # 2016feb26: "В"
$t=1120; $ear[$t] = "\x8C,0,0"; # 2016feb26 " М"
$t=1121; $ear[$t] = "\x85,0,0"; # 2016feb26: "Е"
$t=1122; $ear[$t] = "\x91,0,0"; # 2016feb26 " С"
$t=1123; $ear[$t] = "\x92,0,0"; # 2016feb26: "Т"
$t=1124; $ear[$t] = "\x8E,0,1608"; # 2016feb26: "О"
$psi=1608; $hlc="ru"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1119; KbLoad(); # 2016feb26
$t=1125; $ear[$t] = " ,0,0"; # 2016feb25: blank space
$t=1126; $ear[$t] = "\N{U+0},0,0"; # 2016feb26: Unicode?
# вне (1609 outside) preposition; 2016feb26:
$t=1127; $ear[$t] = "\x82,0,0"; # 2016feb26: "В"
$t=1028; $ear[$t] = "\x8D,0,0"; # 2016feb22: "Н"
$t=1129; $ear[$t] = "\x85,0,1609"; # 2016feb26: "Е"
$psi=1609; $hlc="ru"; $pos=6; $jux=0; $pre=0; $tkb=0; $seq=0;
$num=0; $mfn=0; $dba=0; $rv=1027; KbLoad(); # 2016feb24
$t=1130; $ear[$t] = " ,0,0";