Русскоязычный Искусственный Интеллект Душка
For Artificial Intelligence Dushka

RuNounPhrase Russian Noun-Phrase Module of

English and Russian bilingual ghost.pl AI in Perl


1. Cognitive architecture Diagram of the RuNounPhrase Russian Noun-Phrase Module


   /^^^^^^^^^\ RuNounPhrase finds noun or pronoun  /^^^^^^^^^\
  /   EYE     \              _____________        /   EAR     \
 /             \    | | |   /   Volition  \      / auditory    \
|               |   | | |   \_____________/     |  memory       |
|   _______     |   | | |    _____|_______      |  channel      |
|  /image  \    |   | | |   /   RuThink   \     |               |
| / percept \---|-----+ |   \_____________/     |               |
| \ engram  /   |  a| | |    _____|________     |               |
|  \_______/    |  b|c| |   / RuIndicative \    |               |
|               |  s|o|f|   \______________/    |               |
|   visual      |  t|n|i|  ____|___     |       |               |
|               |  r|c|b| /RuNoun- \----|-------|---СТУДЕНТЫ    |
|   memory      |  a|e|e|( Phrase   ) __V___    |               |
|               |  c|p|r| \________/ /RuVerb\   |               |
|   channel     |  t|t|s|           ( Phrase )  |               |
|               |   | | |            \______/---|---ЧИТАЮТ      |
|               |   | | |               |       |               |
|               |   | | |             __V___    |               |
|   _______     |   |_|_|            /RuNoun\   |               |
|  /fresh  \    |  / Psy \          / Phrase \  |               |
| / image   \   | /concept\        (  direct  )-|---КНИГИ       |
| \ engram  /---|-\ array /         \ object /  |               |
|  \_______/    |  \_____/           \______/   |               |


2. Purpose of the AI4U Textbook RuNounPhrase Mind Module

RuNounPhrase finds a Russian noun or pronoun to serve as the subject of a sentence or as the direct or indirect object of a verb being thought by RuVerbPhrase. RuNounPhrase may also call RuPrep to insert a preposition or RuAdjective to insert a Russian adjective describing a noun.


3. Function of the AI4U Textbook RuNounPhrase Module

For the subject of a sentence of thought, RuNounPhrase typically finds the most active noun-concept in the Psy array of concepts. The Russian verb-phrase module RuVerbPhrase may call the RuNounPhrase module for both an indirect object of a verb and for a direct object. If an AI Mind embodied in a robot can recognize and name objects with a VisRecog module, the noun naming the recognized object may go directly into the slot for a direct object in a sentence being generated. The robot might say, "Я ВИЖУ СОБАКУ" for "I see a dog." VisRecog may first identify the concept being recognized and then call RuNounPhrase to express the noun of the concept in a thought.

When the RuNounPhrase module must recall a noun or a pronoun in response to an external query, such as, "Who are you," first the SpreadAct module will use the $qv1psi variable to find and activate the needed noun or pronoun and the $qv2psi variable to identify the verb associated with the target noun, first in the query itself, and then in the response to the query. Since both the noun and the verb are combined in the search for memories responding to the query, the AI will not recall some random statement about the subject of the query, but will instead recall any available memory expressing both the subject of the query and the verb expressed in the query. For the query "Who are you", the AI must find both the ego-concept "I" and impute a non-spoken Russian be-verb correspnding to "am" in English, as in "I am."


4. Code of RuNounPhrase() from ghost294.pl First Working AGI in Perl


sub RuNounPhrase() {  # 2016feb24: thinking with Russian nouns and pronouns
  $act = 0;  # 2016apr01: so comparisons may be higher.
  $aud = 0;  # 2018-09-28: same as in the EnNounPhrase module.
  $audjuste = 0;  # 2016feb24: prevent carry-over
  $defact = -64;  # 2017-06-17: for default comparisons with?
  $motjuste = 0;  # 2016feb24: 
  $subjpsi = 0;   # 2017-06-17: how can there already be a subject-psi? TEST
  my $tsels = 0;  # 2016may25: de-globalize the time-of-selection-of-subject.
  if ($verblock > 0) {  # 2016apr28: positive verblock?
    my @k=split(',',$psy[$verblock]);  # 2016apr28: inspect t=verblock row;
    $svo1 = $k[1];  # 2017-06-17: keep track of subject-concept. 
    $nounlock = $k[13];  # 2017-06-17: dirobj tkb becomes nounlock value.
    $subjnum = $k[8];    # 2017-06-17: from number of verb; 
  }  # 2016apr28: end of test for a positive verblock;
  if ($nounlock > 0) {  # 2016apr28: already a nounlock? 
    $dirobj = 1;  # 2016apr28: nounlock is specifically for a direct object.
    $subjectflag = 0;  # 2016apr28: needed for conditional tests below;
    my @k=split(',',$psy[$nounlock]);  # 2016apr28: inspect t=nounlock row;
    $motjuste = $k[1];  # 2017-06-17: in case a search is needed for non-zero $rv
    $act = $k[3];   # 2017-06-17: let activation-level play its role here;
    if ($k[7] == 4) {   # 2017-06-17: if acc. case as for any nounlock;
      if ($k[14] > 0) { $aud = $k[14] }  # 2017-06-17: find positive $rv; 
    } else {  # 2017-06-17: if only a zero $rv $k[14] is found...
      for (my $i=$t; $i>$midway; $i--) {  # 2016apr28: search backwards in time.
        @k=split(',',$psy[$i]);  # 2016apr28: inspect @psy flag-panel
        if ($motjuste == $k[1]) {  # 2017-06-17: find motjuste for sake of rv
          if ($dirobj == 1 && $k[7] == 4) {   # 2017-06-17: direct object?
            if ($k[14] > 0) { $aud = $k[14] }  # 2017-06-17: find positive $rv; 
            if ($k[14] > 0) { last }  # 2017-06-17: exit loop if $rv is found.
          }  # 2016apr28: end of test for direct object and accusative case.
        }  # 2016apr28: end of test to find $motjuste with valid $rv.
      }  # 2016apr28: end of for-loop in search of a positive recall-vector.
    }  # 2016apr28: end of else-clause to find a non-zero k12 $rv.
    $actpsi = $k[1];  # 2017-06-17: send direct object into SpreadAct()
  }  # 2016apr13: end of test for a positive nounlock;
    if ($nounlock == 0) {  # 2017-06-17: if nouns are free to compete...
    $subjectflag = 1;  # 2017-06-17: a default until countermanded.  
    $dba = 1;  # 2017-06-17: default nominative until countermanded.  
    if ($dirobj == 1) { $subjectflag = 0 }  # 2017-06-17: countermanding default
    for (my $i=$t; $i>$midway; $i--) {  # 2017-06-17: include input for topical response
      my @k=split(',',$psy[$i]);  # 2017-06-17: inspect @psy knowledge-nodes.
      if ($k[2] == 3) {  # 2018-09-27: select only Russian words
        if ($k[6]==5 || $k[6]==7) {  # 2017-06-17: select $pos noun or pronoun
          if ($k[13] > 0 ) {  # 2017-06-17: retrieve ideas, not single words.
            if ($k[3] > $act) {   # 2017-06-17: k3 activation as criterion. 
              $motjuste = $k[1];  # 2017-06-17: Select the most active concept.
              $svo1 = $k[1];      # 2017-06-17: keep track of subject.
              $mjact = $k[3];  # 2017-06-17: if too low, motjuste defaults to "I"
              if ($k[3] > $act && $k[12] > 0) {  # 2017-06-17: if k1-psi has k12-seq
                $verblock = $k[13];  # 2017-06-17: assign $tkb value to verblock.
              }  # 2017-06-17: end of test for a k1-subject with a k12-seq.
              if ($k[3] > $act && $k[13] > 0) {  # 2017-06-17: if k1-psi has k13-tkb
                $verblock = $k[13];  # 2017-06-17: assign $tkb value to verblock.
              }  # 2017-06-17: end of test for a k1-subject with a k13-tkb.
              if ($dirobj == 1) { $actpsi = $k[1] }  # 2017-06-17
              $subjpsi = $motjuste;  # 2017-06-17: for selection of verb-form.
              $snu = $k[8];  # 2017jun17: for parameter in verb-selection; 
              $aud = $k[14];      # 2018-09-28: normal recall-vector for Speech()
              $audjuste = $k[14]; # 2017-06-17: temporary recall-vector for Speech
              $tseln = $i;        # 2017-06-17: use time-point for inhibition. 
              $tsels = $i;        # 2017-06-17: use time-point for inhibition. 
              $act = $k[3];       # 2017-06-17: noun must have higher act to win
            }  # 2017-06-17: end of test for a higher activation $act
          }  # 2017-06-17: end of test for a k[13] tkb verblock
        }  # 2017-06-17: end of test for noun or pronoun as subject
      }  # 2017-06-17: end of test for human language code $hlc == 3
    }  # 2017-06-17: End of (for loop) searching for most active "motjuste"
  } # 2017-06-17: end of test for absence of a $nounlock.
  my @k=split(',',$psy[$tsels]);  # 2017-06-17: inspect subject at time of selection;
  $psy[$tsels]="$k[0],$k[1],$k[2],-90,$k[4],$k[5],$k[6],"
  . "$k[7],$k[8],$k[9],$k[10],$k[11],$k[12],$k[13],$k[14]"; # 2017-06-17: concatenate
  if ($subjectflag == 0) {  # 2017-06-17: i.e., dir.obj or pred.nom;
    if ($nounlock > 0) {  # 2017-06-17: if verb is locked to a particular $seq...
      my @k=split(',',$psy[$nounlock]);  # 2017-06-17: inspect t=nounlock row;
#     print " t= $t nounlock= $nounlock ";  # 2017-06-17: DIAGNOSTIC reserve
      $motjuste = $k[1];  # 2017-06-17: nounlock psi pre-empts search.
      $act = $k[3];  # 2017-06-17: let activation-level play its role here;
      $aud = $k[14]; # 2017-06-17: k14 recall-vector to auditory engram. 
    }  # 2017-06-17: end of test for a positive nounlock.
  }  # 2017-06-17: end of test for not-a-subject before using ELSE
  if ($audjuste > 0) {  # 2017-06-17: avoid "I" for "YOU" or "YOU" for "I"
    $aud = $audjuste;  # 2017-06-17: for transfer into Speech() module
  }  else {  # 2017-06-17: 
    for (my $i=$t; $i>$midway; $i--) {  # 2017-06-17: search backwards in time.
      my @k=split(',',$psy[$i]);  # 2017-06-17: inspect @psy flag-panel
      $act = $k[3];  # 2017-06-17: let activation-level play its role here;
      if ($motjuste == $k[1]) {  # 2017-06-17: find motjuste for sake of rv
        if ($subjectflag == 1 && $k[7] == 1) {   # 2017-06-17: subject?
          if ($k[14] > 0) { $aud = $k[14] }  # 2017-06-17: find positive $rv; 
          if ($k[14] > 0) { last }  # 2017-06-17: exit loop if $rv is found.
        }  # 2017-06-17: end of test for subject and for nominative case.
        if ($dirobj == 1 && $k[7] == 4) {   # 2017-06-17: direct object?
          if ($k[14] > 0) { $aud = $k[14] }  # 2017-06-17: find positive $rv; 
          if ($k[14] > 0) { last }  # 2017-06-17: exit loop if $rv is found.
        }  # 2017-06-17: end of test for direct object and accusative case.
      }  # 2017-06-17: end of test to find $motjuste with valid $rv.
   }  # 2017-06-17: End of (for loop) searching through @psy conceptual array. 
  }  # 2017-06-17: end of else-clause for when recall-vector is zero.
  if ($nounlock == 0) {  # 2017-06-17: if no nounlock override; 
    if ($mjact < 20) {  # 2017-06-17: if no subject active enough for chain-of-thought
      if ($subjectflag == 1) {  # 2017-06-17: default to "I" only as subject
        $actpsi = 1701;  # 2017-06-17: send 1701=I ego-concept into SpreadAct()?
        $motjuste = 1701;  # 2017-06-17: 1701=I default concept of AI Mind
        for (my $i=$t; $i>$midway; $i--) {  # 2017-06-17: search for "I"
          my @k=split(',',$psy[$i]);  # 2017-06-17: examine @psy
          if ($k[1]==1701 && $k[13]>0) { # 2017-06-17: I=1701 with $tkb verblock?
            if ($k[3] > $defact) {  # 2017-07-16: if higher k3 act is found;
              $tseln = $i;  # 2017-06-17: retain time of motjuste; 
              $tsels = $i;  # 2017-06-17: retain time of Russian subject;
              $actpsi = $k[1];    # 2017-06-17: psi with activation to spread
              $defact = $k[3];    # 2017-06-17: dynamic metric;
              $verblock = $k[13]; # 2017-06-17: k13 $tkb as verblock; 
              $aud = $k[14];      # 2017-06-17: recall-vector for auditory engram
            }  # 2017-06-17: end of test for higher-act ego-concept;
          }  # 2017-06-17: end of test for "1701=ego" with seq-check;
        }  # 2017-06-17: end of search for least-inhibited "1701=ego"; 
        $dba = 1;        # 2017-06-17: From RuAi; subject requires nom. case; 
        $nphrnum = 1;    # 2017-06-17: for RuVerbPhrase();
        $nphrpos = 7;    # 2017-06-17: prevent article "A" with "I"?
        $prsn = 1;       # 2017-06-17: for use elsewhere; 
        $subjnum = 1;    # 2017-06-17: for use elsewhere;
        $subjpsi = 1701; # 2017-06-17: for use elsewhere;
        $topic = 1701;   # 2017-06-17: for question-asking modules; 
        for (my $i=$t; $i>$midway; $i--) {  # 2017-06-17: parameters for 1701=ego.
          my @k=split(',',$psy[$i]);  # 2017-06-17: examine @psy
          if ($k[1] == 1701) {  # 2017-06-17: if 1701=ego is found;
            if ($k[7] == 1) {  # 2017-06-17: k7/dba must be nominative=1; 
              $audjuste = $k[14];  # 2017-06-17: "ego" recall-vector;
              $aud = $k[14];  # 2017-06-17: "ego" recall-vector for Speech()
              if ($k[14]>0) { $aud=$k[14] }        # 2018-09-28: insurance
              if ($k[14]>0) { last }             # 2018-09-28: insurance
            }  # 2017-06-17: end of test for nominative "ego"; 
          }  # 2017-06-17: End of search for 1701=ego;
        }  # 2017-06-17: end of 1701=ego search based on parameters.
      }  # 2017-06-17: end of test for "ego" to become subj. not obj.
    }  # 2017-06-17: end of test for low activation warranting a default
  }  # 2017-06-17: end of test for absence of pre-ordained nounlock;
  Speech();  # 2017-0617: speak the word starting at the $aud time. 
  $dirobj = 0;    # 2017-06-17: reset for safety
  $mjact = 0;     # 2017-06-17: reset for safety.
  $motjuste = 0;  # 2017-06-17: reset for safety. 
}  # 2018-09-28: RuNounPhrase() returns to Russian RuIndicative() module


5. Variables for the RuNounPhrase Module in a Russian AI Mind

$motjuste -- (from French) best word for inclusion in a thought.


6. Troubleshooting and Debugging for AI Mind Maintainers

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


7. Future Development

  • Roadmap to Artificial Intelligence


    8. Resources for the AI4U Textbook RuNounPhrase Module


    9. Spread the News on TikTok and Other Venues

    Are you on TikTok? Are you eager to be a ThoughtLeader and Influencer?
    Create a TikTok video in the following easy steps.

    I. Capture a screenshot of https://ai.neocities.org/RuNounPhrase.html
    for the background of your viral TikTok video.

    II. In a corner of the screenshot show yourself talking about the RuNounPhrase mind-modulee.

    III. Upload the video to TikTok with a caption including all-important hash-tags which will force governments and corporations to evaluate your work because of FOMO -- Fear Of Missing Out:
    #AI #ИИ #brain #мозг #ArtificialIntelligence #ИскусственныйИнтеллект #consciousness #сознание #Dushka #Душка #psychology #психология #subconscious #подсознание
    #AGI #AiMind #Alexa #ChatAGI #chatbot #ChatGPT #cognition #cyborg #Eureka #evolution #FOMO #FreeWill #futurism #GOFAI #HAL #immortality #JAIC #JavaScript #linguistics #metempsychosis #Mentifex #mindmaker #mindgrid #ML #neuroscience #NLP #NLU #OpenAI #OpenCog #philosophy #robotics #Singularity #Siri #Skynet #StrongAI #transhumanism #Turing #TuringTest #volition

    A sample video is at
    https://www.tiktok.com/@sullenjoy/video/7212264031132978474


    10. AiTree of Mind-Modules for Natural Language Understanding


    Nota Bene: This webpage is subject to change without notice. Any Netizen may copy, host or monetize this webpage to earn a stream of income by means of an affiliate program where the links to Amazon or other booksellers have code embedded which generates a payment to the person whose link brings a paying customer to the website of the bookseller.

    This page was created by an independent scholar in artificial intelligence who created the following True AI Minds with sentience and with limited consciousness.

  • http://ai.neocities.org/mindforth.txt -- MindForth Robot AI in English.

  • http://ai.neocities.org/DeKi.txt -- Forth Robot AI in German.

  • http://ai.neocities.org/perlmind.txt -- ghost.pl Robot AI thinks in English and in Russian.

  • http://ai.neocities.org/Ghost.html -- JavaScript Robot AI Mind thinks in English.

  • http://ai.neocities.org/mens.html -- JavaScript Robot AI Mind thinks in Latin.

  • http://ai.neocities.org/Dushka.html -- JavaScript Robot AI Mind thinks in Russian.

    The following books describe the free, open-source True AI Minds.

    AI4U -- https://www.iuniverse.com/BookStore/BookDetails/137162-AI4U

    AI4U (paperback) -- http://www.amazon.com/dp/0595259227

    AI4U (hardbound) -- http://www.amazon.com/dp/0595654371

    The Art of the Meme (Kindle eBook) -- http://www.amazon.com/dp/B007ZI66FS

    Artificial Intelligence in Ancient Latin (paperback) -- https://www.amazon.com/dp/B08NRQ3HVW

    Artificial Intelligence in Ancient Latin (Kindle eBook) -- https://www.amazon.com/dp/B08NGMK3PN

  • https://redditfavorites.com/products/artificial-intelligence-in-ancient-latin

    Artificial Intelligence in German (Kindle eBook) -- http://www.amazon.com/dp/B00GX2B8F0

    InFerence at Amazon USA (Kindle eBook) -- http://www.amazon.com/dp/B00FKJY1WY

    563 Mentifex Autograph Postcards were mailed in 2022 primarily to autograph collector customers at used bookstores to press the issue of whether or not the Mentifex oeuvre and therefore the autograph is valuable. These artwork-postcards with collectible stamps may be bought and sold at various on-line venues.

  • https://www.ebay.com
  • https://galaxycon.com/search?q=Mentifex

    See AI 101 AI 102 AI 103 year-long community college course curriculum for AI in English.
    See Classics Course in Latin AI for Community Colleges or Universities.
    See College Course in Russian AI for Community Colleges or Universities.
    Collect one signed Mentifex Autograph Postcard from 563 in circulation.
    See Attn: Autograph Collectors about collecting Mentifex Autograph Postcards.

    Return to top; or to
    Image of AI4U found at a book store
    The collectible AI4U book belongs in every AI Library as an early main publication of Mentifex AI.


    Website Counter