Sensorium module of the

English and Russian bilingual ghost.pl AI in Perl

Mens Latina in Latin -- MindForth for Robots

1. Diagram of the Sensorium Mind-Module

 _______________________________________________________________
|                             The Environment                   |
|                ____________                _____________      |
|  _____________| The Senses |______________| The Muscles |___  |
| |                \ \ \ \ \      The Body     | | | | |      | |
| |         ________\ \ \ \ \__________________|_|_|_|_|____  | |
| |        |         \ \ \ \ \       |      Cerebellum     || | |
| |        |          \ \ \ \ \      | (Motor Habituation) || | |
| |        |           \ \ \ \ \      \___________________/ | | |
| |        |            \ \ \ \ \            / / / / /      | | |
| Feature Extraction:   | | | | | The Brain / / / / /       | | |
| |        |------------+-+-+-+-+----------+-+-+-+-+--------| | |
| | Oldest |Memories:  S| |M| |C| |||||||| |M| |M| |C       | | |
| |        |           e| |e| |h| |Concept |o| |e| |h       | | |
| |        |           n| |m| |a| |||||||| |t| |m| |a       | | |
| |        |           s| |o| |n| |Fibers| |o| |o| |n       | | |
| |        |           o| |r| |n| |||||||| |r| |r| |n       | | |
| |        |           r| |y| |e| |as the| | | |y| |e       | | |
| | Newest |Memories:  y| | | |l| |||||||| | | | | |l       | | |
| |        |            | | | |s| | Core | | | | | |        | | |
| |        |            | | | | | |||||||| | | | | |        | | |
| |        |            | | | | | |of the| | | | | |        | | |
| |        |            | | | | | |||||||| | | | | |        | | |
| |        |            | | | | | | Mind | | | | | |        | | |
| |(Future |Memories:)  | | | | | |||||||| | | | | |        | | |
| |        |________________________________________________| | |
| |___________________________________________________________| |
|_______________________________________________________________|


2. Purpose of the Sensorium Mind-Module

The purpose of the Sensorium module is to bring sensory data into the MindGrid of memory channels and cognitive superstructures. Early AI Minds treat the computer keyboard as an auditory sensory channel for the input of human language.


3. Algorithm of the Sensorium Mind-Module

The Sensorium module calls the AudInput module to receive the analog of auditory input from the computer keyboard. Sensorium contains stubs for calling other sensory modalities when they become available after robot embodiment.


4. Code of Sensorium() from ghost302.pl AI source code in Perl


sub Sensorium() {  # http://ai.neocities.org/Sensorium.html
  $finlen = 0;     # 2017-12-26: reset for safety.
  $len = 0;        # 2017-03-31: [MindForth] let other modules increase len(gth
  $verbcon = 0;    # 2017-06-25: a reset moved to here from AudInput().
  print "\n  Human: $homo \n";  # 2017-03-25: for human-computer interface
  $msg = "";  # 2017-03-31: prevent spurious carry-over of input message.
  print "\n  Ghost: $output \n";  # 2017-12-08: array-display; output; input...
  $output = "";  # 2018-09-12: prevent build-up.
  if ($chaincon == 0) {  # 2016apr15: if no chain of thought in progress...
    AudInput();    # 2015apr25: Calling the sense of audition. 
    $krt = $t;     # 2017-03-29: KR time after input
    $len = 0;      # 2017-03-29: reset to prevent carry-over during reentry.
    $text = "";    # 2017-11-27: reset to prevent build-up.
    $tvb = 0;  # 2018-07-05: reset to prevent false $tkb-values on verbs. 
  }  # 2016apr15: end of test for an internal chain of thought.
  if ($whatcon == 1)  { SpreadAct() }  # 2018-09-30: set by InStantiate()
# 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://en.wikipedia.org/wiki/Symbol_grounding_problem
  $pov = 1;  # 2017-12-08: during thinking; prevents duplicate line of display.
} # Sensorium() module returns to MainLoop.

5. Variables for the Sensorium robot mind-module

$chaincon -- chain-of-thought condition-flag

$finlen -- fin(al) len(gth) or end-of-word for AudRecog auditory recognition module.

$krt -- knowledge representation time.

$len -- length, for avoiding input non-words. The len variable increments with each additional character during AudInput, and is reset to zero at the end of InStantiate or OldConcept or NewConcept, so that the auditory engram recall vector rv may be set for the first character of a word when the word-length is a unitary one.

$msg -- for input as a "message" to the AI. The "msg" string is built up by the concatenation of each incoming "pho" character to the accumulating "msg" string which is then displayed as the human input within the user interface. The "msg" string is reset to emptiness in the Sensorium module so that a new message of human input may accumulate.

$output -- output string as in a JavaScript AI Mind or the ghost.pl AI.

$pho -- a "phoneme" or character of auditory input.

$pov -- point-of-view: 1=self; 2=dual; 3=alien. When pov=1, the word "you" is somebody in the external world. When pov=2, the word "you" refers to the self-concept "I" in the AI. When pov=3, the word "you" is interpreted as part of a conversation by a third-party or as a word in a text, not referring to the self-concept of either the AI or of someone talking to the AI.

$text -- a general variable to hold text, especially for incrementing by concatenation.

$tvb -- time-of-verb for parsing. The EnParser module sets "t - 1" as the tvb if the word being parsed is a verb by part-of-speech. InStantiate uses the time-of-verb tvb to fill the tkb-slot in a verb-panel with the time-location of the direct object of the verb. EnParser uses the time-of-verb tvb to find the numeric verb-concept that will be the pre of a direct object being parsed. EnParser also uses the time-of-verb tvb to store the time-of-direct-object tdo as the tkb in the flag-panel of the verb. Therefore the tvb-flag needs to be reset to zero not during but after AudInput, when program-flow has returned to the Sensorium module.

$verbcon -- verb-condition for seeking (in)direct objects. $verbcon is set to a positive unitary one in the EnParser module when a verb comes in during input and remains at one while any indirect or direct object comes in. After an input sentence, $verbcon is reset to zero.

$whatcon (what-condition) -- SpreadAct() flag for condition of answering a what-query.


6. Troubleshooting and Robotic Psychosurgery

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


7. Future Development

The Sensorium module needs embodiment in robots with all possible sensory modalities.


8. Resources

Please see

http://mind.sourceforge.net/sesorium.html

https://en.wikipedia.org/wiki/Embodied_cognition


9. AiTree of Mind-Modules for Natural Language Understanding


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