EnPronoun English Pronoun Module of the

English and Russian bilingual ghost.pl AI in Perl

Mens Latina in Latin -- MindForth for Robots


1. Diagram of the EnPronoun (English pronoun) mind-module


   /^^^^^^^^^\             ________________        /^^^^^^^^^\
  /   EYE     \     | | | / EnThink module \      /   EAR     \
 /             \    | | | \________________/     /  _________  \
|               |   | | |  _____|________       |  /MindBoot \  |
|   _______     |   | | | (  Indicative  )      | / English   \ |
|  /image  \    |   | | |  \____________/       | \ bootstrap / |
| / percept \---|-----+ |       |    \          |  \"vault"  /  |
| \ engram  /   |  a| | |       |     \______   |   \_______/   |
|  \_______/    |  b|c| |       |     /      \  |               |
|               |  s|o|f|       |    /EnVerb- \ |  auditory     |
|   visual      |  t|n|i|       |    \Phrase  / |  memory       |
|               |  r|c|b|       |     \______/  |  channel      |
|   memory      |  a|e|e|    ___V_____/         |               |
|               |  c|p|r|   / EnNoun- \         | "DOES ANDRU"  |
|   channel     |  t|t|s|  (  Phrase   )        | "KNOW THE"    |
|               |   | | |   \_________/         | "TRUTH"       |
|               |   | | |        |              |               |
|               |   | | |     ___V_________     |               |
|   _______     |   | | |    / EnPronoun   \    | "YES"         |
|  /fresh  \    |   |_|_|   /    I, you,    \   | "HE"          |
| / image   \   |  /     \ (  he, she, it,   )  | "KNOWS"       |
| \ engram  /---|--\ Psy /  \ we, you, they /   | "IT"          |
|  \_______/    |   \___/    \_____________/    |               |


2. Purpose of the EnPronoun English Pronoun Module

EnPronoun serves various purposes of substituting an English pronoun for a noun under discussion. For instance, if a human user asks the First Working AGI or one of its derivative Minds a question like, "What do kids make?", the AI Mind needs to be able to respond in a manner like, "They make robots."


3. Algorithm of the EnPronoun mind-module

3.A. The calling module provides the parameters necessary for selecting a pronoun.

Typically the EnNounPhrase module, which deals with subjects of verbs and objects of verbs, will load the pertinent variables with the gender and number and case data necessary for selecting a pronominal form in the EnPronoun module.

3.B. As with humans, insufficient data may preclude the use of a pronoun.

If the AI Mind knows the name but not the gender of a person, the AI software may be coded to avoid calling the EnPronoun module so as to avoid a mistake.

3.C. The use of pronouns is especially important for query-responses.

If someone were to ask the AI "Where are John and Anna?", it would sound like natural human conversation if the AI were to respond, "He is in the house and she is in the car."


4. Code of EnPronoun() from ghost295.pl AI source code in Perl


sub EnPronoun() {  # http://ai.neocities.org/EnPronoun.html
  # 2019-03-02: stub only; needs full implementation.
  # print "\n EnPronoun: atcd= $atcd \n";  # 2019-03-02: TEST; REMOVE
} # 2019-03-02: EnPronoun() returns to EnNounPhrase() module.


Obsolete code of EnPronoun from 24jul14A.F version of MindForth.


:  EnPronoun  \ For use with what-do-X-do queries.
  num @ 1 = IF  \ If antecedent num(ber) is singular.
    mfn @ 1 = IF  \ if masculine singular; 13apr2010
      midway @  t @  DO  \ Look backwards for 49=HE.
        I       0 en{ @  713 = IF  \ If 713=HE is found,
         713 motjuste !  \ "nen" concept #713 for "he".
          I     8 en{ @  aud !  \ Recall-vector for "he".
          LEAVE  \ Use the most recent engram of "he".
        THEN  \ End of search for 713=HE; 10-nov2012.
      -1 +LOOP  \ End of loop finding pronoun "he".
      SpeechAct \ Speak or display the pronoun "he".
    THEN  \ end of test for masculine gender-flag.
    mfn @ 2 = IF  \ if feminine singular.
      midway @  t @  DO  \ Look backwards for 80=SHE
        I       0 en{ @ 719 = IF  \ If 719=SHE is found,
         719 motjuste !  \ "nen" concept #719 for "she".
          I     8 en{ @  aud !  \ Recall-vector for "she".
          LEAVE  \ Use the most recent engram of "she".
        THEN  \ End of search for #719 "she".
      -1 +LOOP  \ End of loop finding pronoun "she"
      SpeechAct \ Speak or display the pronoun "she"
    THEN  \ end of test for feminine gender-flag.
    mfn @ 3 = IF  \ if neuter singular; 13apr2010
      midway @  t @  DO  \ Look backwards for 725=IT.
        I       0 en{ @ 725 = IF  \ If 725=IT is found,
         725 motjuste !  \ "nen" concept #725 for "it".
          I     8 en{ @  aud !  \ Recall-vector for "it".
          LEAVE  \ Use the most recent engram of "it".
        THEN  \ End of search for 725=IT; 10nov2012
      -1 +LOOP  \ End of loop finding pronoun "it".
      SpeechAct \ Speak or display the pronoun "it".
    THEN  \ end of test for neuter gender-flag.
    0 numsubj !  \ safety measure; 13apr2010
  THEN  \ End of test for singular num(ber)
  num @ 2 = IF  \ 30dec2009 If num(ber) of antecedent is plural
    ( code further conditions for "WE" or "YOU" )
    midway @  t @  DO  \ Look backwards for 743=THEY.
      I       0 en{ @ 743 = IF  \ If 743=THEY is found,
       743 motjuste !  \ "nen" concept #743 for "they".
        I     8 en{ @  aud !  \ Recall-vector for "they".
        LEAVE  \ Use the most recent engram of "they".
      THEN  \ End of search for 743=THEY; 10nov2012.
    -1 +LOOP  \ End of loop finding pronoun "they".
    SpeechAct \ Speak or display the pronoun "they".
  THEN  \ 30dec2009 End of test for plural num(ber)
; ( http://code.google.com/p/mindforth/wiki/EnPronoun )


5. Variables for the EnPronoun (English pronoun) mind-module

$atcd -- "antecedent" for EnPronoun.

$mfn -- masculine-feminine-neuter gender flag which plays an especially important role in the EnPronoun mind-module by determining whether EnPronoun will select "he", "she" or "it" to be the pronoun replacing a noun. To aid this process, every professional Mind Maintainer should consider embedding the most frequent masculine names for boys and the most frequent feminine names for girls in the MindBoot sequence, so that the mfn flag will be available as a determinant of which pronoun to use.

$num -- num(ber) flag for grammatical number, important for enabling the EnPronoun module to decide between using "he", "she", "it" as a singular pronoun or "they" as a plural pronoun.


6. Troubleshooting and Robotic Psychosurgery

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


7. Future Development of EnPronoun

AI pronoun technology is already advanced enough to take things to the next level and use the EnPronoun module to introduce relative clauses into the thinking of an AI Mind. It is easy for an AI coder to combine the following separate ideas into one sentence containing a subordinate clause.

I know a man.
The man loves music.
If both of the above ideas are active simultaneously in the AI Mind, the AI software could use the $etc variable to trigger the calling of EnPronoun for the replacement of "the man" with the relative pronoun "who".
I know a man who loves music.
The English-parser EnParser module may easily be enhanced to deal with the comprehension of incoming relative clauses by trapping such relative pronouns as "who" or "which" or "that" in order to assign associative tags among the subjects, verbs and objects of subordinate clauses.


8. Resources


Please see

http://github.com/kernc/mindforth/blob/master/wiki/EnPronoun.wiki


9. AiTree of First Working AGI Mind-Modules


Return to top; or to
Tiananmen Square IV VI
javascript subreddit for AI Mind discussion;
Forth subreddit for MindForth discussion;
Perl subreddit for ghost.pl AI Mind Maintainers.
http://old.reddit.com/r/ControlProblem -- NOT SOLVED.
http://en.wikipedia.org/wiki/Natural_language_understanding -- solved.
Iskusstvenny Intellekt Programming Journal for Artificial Intelligence in Russian Language.
Converting ancient Latin AI into modern Russian AI
http://ai.neocities.org/Dushka.html -- tutorial Russian AI;
If you have any questions about the First Working AGI, please Join the Discussion.
Joint Artificial Intelligence Center (JAIC) -- the AI Manhattan Project.
Subject to change without notice.
Many thanks to NeoCities.
http://neocities.org/blog
http://trollheaven.blogspot.com