[comp.ai.digest] Software Wanted to Build a Mind

POPX@VAX.OXFORD.AC.UK (03/24/88)

From: Jocelyn Paine,
      Experimental Psychology Department,
      South Parks Road,
      Oxford.

Janet Address: POPX @ OX.VAX



                             SOFTWARE WANTED
                                    -
                             TO BUILD A MIND


I'm  trying to  teach  Oxford  undergraduates an  information-processing
model of psychology, by giving  them a computerised organism (named P1O,
after the course) which has a "mind" which they can watch and experiment
with. To do this, I've depicted how  a mind might be built out of units,
each performing a  simpler task than the original mind  (my depiction is
loosely   based   on   Dennett's   "Towards   a   Cognitive   Model   of
Consciousness").  Each of  my  units does  some  well-defined task:  for
example,   parsing,    edge-detection,   conversion   of    a   semantic
representation to text.

Now I have to implement each unit, and hook them together. The units are
not black  boxes, but black  boxes with windows:  i.e. I intend  that my
students can inspect and modify some of the representations in each box.
The units  will be  coded in Prolog  or Pop-11, and  run on  VAX Poplog.
Taking the parser as an example: if it is built to use a Prolog definite
clause grammar, then  my students should be able to:  print the grammar;
watch the parser generate parse trees,  and use the editor to walk round
them;  change the  grammar  and see  how this  affects  the response  to
sentences.

P1O will live in a simulated  world which it perceives by seeing objects
as sharp-edged images on a retina.  This retina is a rectangular grid of
perhaps 2000 pixels, each spot sensing either nothing, or a spot of some
particular colour. One of the images  will be that of P1O's manipulator,
which can detect whether it is touching an object. P1O can also perceive
loud noises, which direct its attention toward some non-localised region
of space. Finally, P1O can hear sentences  (stored as a list of atoms in
its "auditory  buffer"), and  can treat  them either  as commands  to be
obeyed, statements  to be  believed (if  it trusts  the speaker),  or as
questions to be answered.

P1O's  perceptual  interpreter  takes  the images  on  its  retina,  and
converts them via edge-detection  and boundary-detection into hypotheses
about the  locations of  types of objects.  The interpreter  then checks
these hypotheses  for consistency with P1O's  belief memory, determining
the while which individuals of a type it's seeing. Hypotheses consistent
with  past beliefs  are  then  put into  the  belief  memory, as  Prolog
propositions.

The sentences which P1O hears are also converted into propositions, plus
a mood (question,  command, or statement). This is  done by generating a
parse tree,  and then a  propositional representation of  the sentence's
meaning. Statements are  checked for consistency with  the belief memory
before being  entered into it; questions  cause the belief memory  to be
searched; commands invoke P1O's planner,  telling it for example to plan
a sequence  of actions  with which it  can pick  up the  brown chocolate
button which it sees.

These action sequences then go to  P1O's motor control unit, which moves
the manipulator. This  involves positional feedback - P1O  moves a small
step at a time, and has to correct after each step.

P1O's simulated environment is responsible for tracking the manipulator,
and updating the retinal image accordingly. Students can also update the
image for themselves.

At the top level,  P1O has some goals, which keep it  active even in the
absence of commands from the student.  The most important of these is to
search  for food.  The  type of  food sought  depends  on P1O's  current
feeling of hunger, which depends in  turn on what it has recently eaten.
The goals are processed by the top-level control module, which calls the
other modules as appropriate.



Above, I've described  P1O as if I've already built  it. I haven't, yet,
and  I'm seeking  Prolog or  Pop-11 software  to help.  I'd also  accept
software in other  languages which can be translated  easily. I'll enter
any software  I receive into my  Prolog library (see AILIST  V5.279, 3rd
Dec 1987; IKBS  Bulletin 87-32, 18 Dec 1987; the  Winter 1987 AISB News)
for use by others.

I think so far that I need these most:

(1) LANGUAGE ANALYSIS:

(1.1)  A grammar,  and  its parser,  for some  subset  of English,  in a
notation  similar to  DCG's  (though  it need  not  be _implemented_  as
DCG's). Preferably  with parse  trees as  output, represented  as Prolog
terms. The notation  certainly doesn't have to be Prolog,  though it may
be translatable thereto: it should be comprehensible to linguists who've
studied formal grammar.

(1.2) As above, but for the  translation from parse-trees into some kind
of  meaning (preferably  propositions, but  possibly conceptual  graphs,
Schankian CD, etc) represented as Prolog terms. I'm really not sure what
the clearest notation would be for beginners.

(1.3) For teaching reasons, I'd prefer my analyser to be 2-stage; parse,
and then convert the trees to some  meaning. However, in case I can't do
this: one grammar and analyser which does both stages in one go. Perhaps
a chart parser using functional unification grammars?

(1.4) A morphological analyser, for splitting words into root, suffixes,
etc.

(2) VISION

(2.1) An edge-detector. This should take a 2-D character array as input,
and return a list of edges  with their orientation. I'm content to limit
it to vertical  and horizontal edges. It need not  deal with fuzzy data,
since the images will be drawn by  students, and not taken from the real
world.  This  can  be  in  any algorithmic  language:  speed  is  fairly
important, and I can call most other languages from Poplog.

(2.2) A boundary-detector. This should  take either the character array,
or the list  of edges, and return  a list of closed  polygons. Again, it
can be in any algorithmic language.

(3) SPEAKING

(3.1) A  speech planner,  which takes  some meaning  representation, and
converts into a  list of words. This  need not use the  same grammar and
other knowledge as the language analyser (though it would be nicer if it
did).

(4) WINDOWING

(4.1) Any  software for allowing the  Poplog editor VED to  display more
than two windows on the same  screen, and for making VED highlight text.
Alternatively,   Pop-11   routines  which   control   cursor-addressable
terminals directly, bypassing VED, but  still being able to do immediate
input of characters.

(5) OTHER

(5.1)  If  I  model  P1O's   mind  as  co-operating  experts,  perhaps a
blackboard shell would be useful. Does anyone have a Prolog one?



I'd also  like to  hear from anyone  who has  other software  they think
useful, or who has  done this kind of thing already -  surely I can't be
the first to  try teaching in this way? In  particular, does anyone have
ideas on  how to manage the  environment efficiently, and what  form the
knowledge in top-level control should take. I'll acknowledge any help in
the course documentation.


                            Jocelyn Paine



                  INFORMATION ON BULLETIN BOARDS WANTED



I already  belong to AILIST: from  time to time  I see in it  mention of
other boards, usually  given in the form COMP.SOURCES  or SCI.MED. Where
can I obtain a list of these boards, and how to subscribe?

                                                            Jocelyn Paine


  [To reply, I think the following should work:
  POPX%VAX.OXFORD.AC.UK%AC.UK%UKACRL.BITNET@CUNYVM.CUNY.EDU .
  As for other bboards, different ones exist on different
  networks.  For a list of Arpanet bboards, write to
  Zellich@SRI-NIC.ARPA.  For Bitnet bboards, I think a message
  containing the command HELP will get you started; just send
  it to LISTSERV@FINHUTC (or @NDSUVM1).  I don't know how one
  gets the list of Usenet newsgroups.  -- KIL]

nobody@sunybcs.UUCP (03/25/88)

In article <8803250637.AA22481@ucbvax.Berkeley.EDU> POPX@VAX.OXFORD.AC.UK
writes:
>                             SOFTWARE WANTED
>                                    -
>                             TO BUILD A MIND


You might be interested in the following document, excerpts of which
follow; the full document is available by contacting us.

					William J. Rapaport
					Assistant Professor

Dept. of Computer Science||internet:  rapaport@cs.buffalo.edu
SUNY Buffalo		 ||bitnet:    rapaport@sunybcs.bitnet
Buffalo, NY 14260	 ||uucp: {ames,boulder,decvax,rutgers}!sunybcs!rapaport
(716) 636-3193, 3180     ||



             DEVELOPMENT OF A COMPUTATIONAL COGNITIVE AGENT

                      Stuart C. Shapiro, Director
                William J. Rapaport, Associate Director

                          SNePS Research Group
                     Department of Computer Science
                            SUNY at Buffalo
                             226 Bell Hall
                           Buffalo, NY 14260
            shapiro@cs.buffalo.edu, rapaport@cs.buffalo.edu

OVERVIEW.

The long term goal of the SNePS Research  Group  is  to  understand  the
nature  of intelligent cognitive processes by developing and experiment-
ing with a computational cognitive agent that will be able  to  use  and
understand  natural language, and will be able to reason and solve prob-
lems in a wide variety of domains.

...

ACCOMPLISHMENTS.

In pursuit of our long term goals, we have developed:

 (1)   The  SNePS  Semantic  Network  Processing  System,  a  knowledge-
       representation/reasoning system that allows one to design, imple-
       ment, and use specific knowledge representation  constructs,  and
       which  easily  supports nested beliefs, meta-knowledge, and meta-
       reasoning.

 (2)   SNIP,  the  SNePS  Inference  Package,  which  interprets   rules
       represented in SNePS, performing bi-directional inference, a mix-
       ture of forward chaining and backward chaining which focuses  its
       attention  on the topic at hand.  SNIP can make use of universal,
       existential, and numerical quantifiers, and a  specially-designed
       set  of propositional connectives that include both true negation
       and negation-by-failure.

 (3)   Path-Based Inference, a very general method of  defining  inheri-
       tance rules by specifying that the existence of an arc in a SNePS
       network may be inferred from the existence  of  a  path  of  arcs
       specified by a sentence of a ``path language'' defined by a regu-
       lar grammar.  Path-based reasoning is fully integrated into SNIP.

 (4)   SNeBR, the SNePS Belief Revision system, based on SWM,  the  only
       extant, worked-out logic of assumption-based belief revision.

 (5)   A Generalized Augmented Transition  Network  interpreter/compiler
       that  allows  the  specification  and  use of a combined parsing-
       generation grammar, which can be used to parse a natural-language
       sentence  into  a SNePS network, generate a natural-language sen-
       tence from a SNePS network,  and  perform  any  needed  reasoning
       along the way.

 (6)   A theory of Fully Intensional Knowledge Representation, according
       to  which  we  are developing knowledge representation constructs
       and grammars for the Computational Cognitive Mind.   This  theory
       also  affects the development of successive versions of SNePS and
       SNIP.  For instance, the insight we  developed  into  the  inten-
       sional  nature  of  rule  variables led us to design a restricted
       form of unification that cuts down on the search space  generated
       by SNIP during reasoning.

 (7)   CASSIE, the Computational Cognitive Mind we  are  developing  and
       experimenting  with,  successive  versions  of which represent an
       integration of all our current work.

CURRENT RESEARCH.

Current projects being carried out  by  various  members  of  the  SNePS
Research Group, some joint with other researchers, include:

 (1)   VMES, the Versatile Maintenance Expert System:

...
 (2)   Discussing and Using Plans:

...
 (3)   Intelligent Multi-Media Interfaces:

...
 (4)   Cognitive and Computer Systems for Understanding Narrative Text:

...
 (5)   The Representation of Natural Category Systems and Their Role  in
       Natural-Language Processing:

...
 (6)   Belief Representation, Discourse Analysis, and Reference in  Nar-
       rative:

...
 (7)   Understanding Pictures with Captions:

...
BIBLIOGRAPHY.

A bibliography of over 90 published  articles,  technical  reports,  and
technical  notes  may  be obtained from Mrs. Lynda Spahr, at the address
given above, or by electronic mail to spahr@gort.cs.buffalo.edu.