LaParser Latin Parsing Module of the

Mens Latina Artificial Intelligence in Latin Language


1. Diagram of LaParser AI Mind-Module


   /^^^^^^^^^\  LaParser Assigns Associative Tags  /^^^^^^^^^\
  /   EYE     \  MINDCORE               _____     /   EAR     \
 /             \ CONCEPTS              /New- \   /             \
|   _______     |   | | |      _____  (Concept)-|-------------\ |
|  /old    \    |   | | |     /Old- \  \_____/  |  Audition   | |
| / image   \---|-----+ |    (Concept)------|---|-----------\ | |
| \ recog   /   |   | | |     \_____/-------|---|---------\ | | |
|  \_______/    |  a| | |          |________V   |         | | | |
|               |  b|C| |         / LaParser \  |         | | | |
|   visual      |  s|O|f|         \__________/  |         | | | |
|               |  t|N|i|              |noun?   | DAT-----/ | | |
|   memory      |  r|C|b|              |verb?   |           | | |
|               |  a|E|e|              |adj.?   | DEUS------/ | |
|   channel     |  c|P|r|              |adverb? |             | |
|               |  t|T|s|              |prep.?  | TIBI        | |
|   _______     |   | | |              |conj.?  |             | |
|  /new    \    |   |_|_|        ______V____    | PECUNIAM----/ |
| / percept \   |  /     \      /           \   |               |
| \ engram  /---|--\ Psy /-----( InStantiate )  |               |
|  \_______/    |   \___/       \___________/   |               |


2. Purpose of the LaParser module

LaParser serves the purpose of not only identifying a part of speech such as a noun, preposition or verb, but also of comprehending the part of speech in context by helping to assign associative tags among concepts in the Psy conceptual array. Thus LaParser and its Russian counterpart RuParser and its English counterpart EnParser serve the purpose of Natural Language Understanding (NLU).


3. Algorithm of the LaParser AI Mind-Module

3.A. PraeScium bootstrap sequence relieves burden of parsing some words.

Gradually, as all the Latin conjunctions, prepositions and pronouns are encoded within the bootstrap sequence as separate parts of speech, the Latin parsing module simply recognizes them and does not need to parse them. However, recognition of a Latin preposition will help the parsing module to treat the associated noun or pronoun as the object of the recognized preposition.

3.B. OldConcept module prepares parameters for the LaParser() module.

Latin pronouns, being brief in length -- "ars longa, pronomen breve" -- may eventually be handled in their entirety by the OldConcept module.

3.C. Assigning associative tags to concepts based on inflectional endings

3.C.1. Initial proof of concept

The current LaParser() module first sends a concept into the InStantiate module and then almost immediately inserts associative tags into the flag-panel of each pre-instantiated concept. The process happens so quickly that for all intents and purposes it is like the swiftly operating, massive parallelism of the human brain. The immediate revisiting of the instantiation process is necessary only because the Latin AI Mind interprets a sentence of Latin input without regard to the word-order or syntax of the input, relying instead upon the inflectional endings of each Latin word. Since subject, verb and object (SVO) may be in any haphazard word order, the Latin parsing module must wait almost instantly for all the SVO words to be available for parsing into their grammatical roles.

The earliest forms of the LaParser module require input of unique nominative and accusative forms to function properly. As the Latin AI matures, provisions must be made in the LaParser() module to disambiguate between Latin words which take the same form for more than one case, such as nominative and accusative case.

3.C.2. Improving LaParser() to deal with ambiguous noun inflections.

[From the Mens Latina Programming Journal]
In the Mens Latina artificial intelligence in Latin language, we have made the LaParser Latin parsing module able to understand a subject-verb-object (SVO) sentence if the subject-noun and the direct-object-noun are unambiguously nominative or accusative. Now we want LaParser to deal properly with the input of Latin sentences in which one of the SVO nouns could be either nominative or accusative, and the parsing module must decide which is the case. We will use two similar sentences.

FRATRES HABENT PUERI. ("The boys have brothers.")
FRATRES HABENT PUEROS. ("The brothers have boys.")
The noun "fratres" can be nominative or accusative, depending upon whether it is the subject or the object of the verb. Since the verb needs a nominative subject, "pueri" is the subject in one sentence, and "fratres" is the subject in the other sentence. Our task in coding is to make the AI able to treat the right noun as the subject.

We have now set up some variables kbdba and kbnum to make the flag-panel values of a recognized concept available to the LaParser() Latin parsing module. These values are not the final determination of the case and number of a noun, because there may be some ambiguity. But they may serve as the default values when a recognized concept is first instantiated in Stage One of the Latin parsing.

In Stage Two, the LaParser() Latin parser module performs a series of tests to determine or disambiguate the speaker-intended case of the noun, based not only on its perhaps ambiguous inflectional ending but also on the other Latin nouns being used in the sentence of input. The rota counter allows the InStantiate() module to cycle or rotate through the several nouns that are possibly included in the Latin input, so that the OutBuffer() detection of potentially ambiguous Latin noun-endings may load the initial instantiation time-point onto unknown "upshot" placeholder variables to be kept ready during a series of "Stage Two" LaParser() tests in advance of re-instantiating each of the several nouns as either the tsj subject, or the tio indirect object, or the tdo direct object of the Latin verb. If the upshot variable (ux1-ux5; uy1-uy5; uz1-uz5) wins selection, it already contains the Stage One time-point of instantiation which will now be transferred to the time-point of the subject or indirect object or direct object, so that each item may be re-instantiated with the properly tested and identified associative tags which play their essential role in the Natural Language Understanding of the input sentence.


4. Code of LaParser() from Abra014A Mens Latina in JavaScript for MSIE


function LaParser() { // http://ai.neocities.org/LaParser.html 
// if (pos == 5) alert("LaP: psi= "+psi+" dba= "+dba+" num= "+num);  // 2019-05-09: TEST 
  act = 48; // 2018-01-11: an arbitrary activation for InStantiate()
  bias = 5; // 2018-01-10: Expect a noun until overruled. 
  if (pos == 5) bias = 8;  // 2018-01-11: after noun, expect verb.
  if (pos == 7) bias = 8;  // 2018-01-11: after pronoun, expect verb.
  if (pos == 8) bias = 5;  // 2018-01-11: after verb, expect noun

  Psy[toc].psyExam(); // 2010-05-10: examine flag-panel at time-of-old-concept 
  kbdba = psi7;  // 2019-05-10: transfer dba-value to "kbdba"
  kbnum = psi8;  // 2019-05-10: transfer num-value to "kbnum"
  kbmfn = psi8;  // 2019-05-10: transfer mfn-value to "kbmfn"
  dba = kbdba;   // 2019-05-10: default value for initial instantiation.

  InStantiate();  // 2019-05-05: for creating psy concept-nodes

// 2019-05-10: Stage Two 
  if (uy1>0 && uy4==0) { // 2019-05-10: if nominative but not accusative...
    tsj = uy1;  // 2019-05-10: if nominative only, then subject
    Psy[tsj] = new  // 2019-05-10: re-instantiate the noun as subject
    psyNode(psi0,psi1,psi2,psi3,psi4,psi5,psi6,psi7,psi8,psi9,psi10,psi11,psi12,psi13,psi14);
  }  // 2019-05-10: end of test for noun nominative but NOT accusative

  if (ux1 > 0 && ux4 > 0 && uy4==0)  {  // 2019-05-10: if form is both nom. and acc.
    tdo = ux4;  // 2019-05-10: accusative
    Psy[tdo].psyExam(); // 2010-05-04: expose flag-panel of Latin direct object
    Psy[tdo] = new  // 2019-05-10: re-instantiate the noun as direct object
    psyNode(psi0,psi1,psi2,psi3,psi4,psi5,psi6,4,psi8,psi9,psi10,psi11,psi12,psi13,psi14);
  }  // 2019-05-10: end of test for noun both nominative and accusative

  if (tsj > 0 && tvb > 0 && tdo > 0) {  // 2019-05-04: if SVO input complete... 
    Psy[tsj].psyExam(); // 2010-05-04: expose flag-panel of subject
    Psy[tsj] = new  // 2019-05-04: insert "tvb" as the "tkb" of the subject
  psyNode(psi0,psi1,psi2,psi3,psi4,psi5,psi6,psi7,psi8,psi9,psi10,psi11,QED2,tvb,psi14);
    Psy[tvb].psyExam(); // 2010-05-04: expose flag-panel of the verb
    Psy[tvb] = new  // 2019-05-04: insert "tdo" as the "tkb" of the verb
  psyNode(psi0,psi1,psi2,psi3,psi4,psi5,psi6,psi7,psi8,psi9,QED1,psi11,QED4,tdo,psi14);
    Psy[tdo].psyExam(); // 2010-05-04: expose flag-panel of the direct object
    Psy[tdo] = new  // 2019-05-04: 
  psyNode(psi0,psi1,psi2,psi3,psi4,psi5,psi6,4,psi8,psi9,QED2,psi11,psi12,psi13,psi14);
  }  // 2019-05-04: end of test for completion of subject-verb-object input. 

}  // 2019-04-26: LaParser() returns to OldConcept() or NewConcept().


5. Variables for the LaParser AI Mind-Module

act -- quasi-neuronal activation-level

bias -- LaParser(); NewConcept(): expected part-of-speech POS

dba -- doing-business-as noun-case or verb-person. For Latin verbs, LaParser() may use the b15 and b16 characters ending a verb in the OutBuffer() module to set the dba and prsn values for a verb about to be instantiated.

kbdba -- knowledge-base doing-business-as -- in the Mens Latina Latin AI, reveals what case a Latin noun is in at the particular toc (time of old concept) when the Latin noun was recognized as representing a particular concept. Because the inflectional ending of a recognized Latin word may be ambiguous with respect to, say, nominative case or accusative case, the value of the dba tag at the time of recognition is not the final say or final interpretation of what case a noun is in as part of a new Latin input. The value obtained from the toc node may be treated as a temporary default value likely to be overridden by the grammatical tests conducted by the LaParser() module.

kbmfn -- knowledge-base masculine-feminine-neuter -- in the Mens Latina Latin AI, is the gender (masculine/feminine/neuter) of a Latin noun as revealed at the toc time of its recognition as a word and a concept. The gender-value obtained for the noun is not likely to be overruled. Although in English a "friend" can be a he or a she, in Latin the gender is more closely bound with each particular noun.

kbnum -- knowledge-base num(ber) -- in the Mens Latina Latin AI, is the grammatical number (singular or plural) of a particular conceptual engram of a Latin word at the toc time of its recognition as a word and a concept. The given value serves as a default for the first instantiation of the input noun, and is not likely to be overridden, because Latin inflectional noun-endings typically reveal the grammatical number of the noun.

pos -- (part of speech) 1=adj 2=adv 3=conj 4=interj 5=noun 6=prep 7=pron 8=verb

tdo -- time-of-direct-object for parser module.

tio -- time-of-indirect-object for parser module.

toc -- time-of-old-concept -- in the Mens Latina Latin AI, is obtained from the index "i" in the AudRecog() auditory recognition module so that other modules in the AI Mind may zero in not on the auditory engram of the word but on the simultaneous conceptual node for the recognized word, in order to harvest or fetch the values in the flag-panel of quasi-neuronal associative tags connecting the one recalled node of the concept with other concepts.

tsj -- time-of-subject for parsing.

tvb -- time-of-verb for parsing.

ux1 -- -- unknown Latin case potentially nominative.

ux4 -- -- unknown Latin case potentially accusative.

uy1 -- -- unknown Latin case potentially nominative.

uy4 -- -- unknown Latin case potentially accusative.


6. Troubleshooting and Debugging

6.1.a. Symptom: (Something goes wrong.)
6.1.b. Solution: (AI Mind Maintainer devises solution.)


7. Future Development of LaParser


8. Acknowledgements

  • Mitomino kindly and helpfully wrote a response on the Latin StackExchange.

  • Draconis kindly and helpfully wrote a response on the Latin StackExchange.


    9. Resources for the LaParser Mind-Module


    10. AiTree of Artificial Intelligence in Latin Language


    Return to top; or to
    http://old.reddit.com/r/Latin
    http://old.reddit.com/r/classics
    http://old.reddit.com/r/latina
    http://old.reddit.com/r/LatinLanguage
    http://old.reddit.com/r/LatinMemes
    http://old.reddit.com/r/Locutorium -- posts must be in Latin
    http://old.reddit.com/r/RoughRomanMemes
    http://en.wikipedia.org/wiki/Natural_language_understanding -- solved.
    http://old.reddit.com/r/ControlProblem -- NOT SOLVED.
    FAQ -- Frequenter Advenientes Quaestiones
    Mens Latina Programming Journal for Artificial Intelligence in Latin Language.
    Modus Operandi -- User Manual for Artificial Intelligence in Latin Language.
    Subject to change without notice.