Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - info/
There are no other files named in the archive.

This file describes Winston's analogy system and Katz's natural
language interface.

File: Analogy	Node: Top	Up: (DIR)	Next: Basic

* Menu:

* Basic::	Basic introduction.  Read this first.
* Files::	Where things are.
* Frames::	Describes frame access fuctions.  To be written.
* Language::	Boris Katz's input and output interface.  To be written.
* News::	A list of newly written or augmented nodes.
* Projects::	A list of projects to work on.

* Data: (<analog>xsample.lsp)*
	How to prepare your own data files in English.  This gets you
	into a sample, documented data file.  It might be better to
	get out of info and just read the file.

* Sample::	Experimental gibberish (I'm trying to learn to create
                        new documentation for the tree). --- ZIG@OZ

File: Analogy	Node: Files	Up: Top

Doing (LOAD "<ANALOG>START") causes all immediately useful files to be
loaded and prepares a number of other files for autoloading when
functions in them are first used.

The last file loaded by START is SWITCHES.  Obviously it contains a
lot of global variables that are set.

The entire system is variably commented -- some files not at all,
others a little.  Here, roughly, is where to go:

FRAMES		The data base functions.

MATCH		The matcher.

SCORE		Functions for measuring the similarity of two situations.

VERIFY		Reasoning and rule-creating system.

CRITICIZE	Implements censors for inhibiting rules.

EXPLAIN		Primitive, non English functions for printing relations.

INDEX		For indexing and retrieving rules and situations

ACCESS		Interface for Katz's language system.  LIFER like.

File: Analogy	Node: Basic	Up: Top	Previous: Top	

Here is how to get started:  Start a LISP and load the system by typing


Then load a data file.  A good one to fool with is XMACBETH which
contains the current version of Macbeth, Hamlet, and a few exercises.
Do this by invoking the English reader using FREAD:


When it is done, you can look at the frames it has created.  One will
be DEFINITION-1, the frame for the cup definition.  Another is OBJECT-1, the
frame describing a cup.  Look at them by using the function F:

;; Function F no longer exists, it seems. Anybody who knows what, if
;; anything, has replaced it please modify this node accordingly.


The things you see are part of what dangles on the property lists of
the the atoms involved under the FRAME property.  Some extra layers of
nesting, now obsolete, are suppressed.

When you print the frames out, you will see a lot of link comments
like HQ-1.  These are frames describing links, so you should look
at one of these too, by doing (F HQ-1) or something like that.
You will see that these frames mention a frame, slot, and value, as
well as other information involved in the link (what it is CAUSED-BY,
for example).

Now would be a good time to go to the nodes describing the matcher and
the scorer.

* Menu:

* Match::	How to use the matcher and what it produces.
* Score::	How to determine similarity.

File: Analogy	Node: Frames	Up: Top	

This node to be written.

File: Analogy	Node: Language	Up: Top

* Menu:

* Input::	Describes E-READ.  To be written.
* Output::	Describes E-PRINT.  To be written.

File: Analogy	Node: Match	Up: Top	  Next: Score

To use the matcher, simply type (MATCH <situation 1> <situation 2>)
as in (MATCH 'MA 'HA) for matching Macbeth to Hamlet.  The result is
a new atom of the form MATCH-n with a lot of stuff on its property
list, including:

R-SITUATION and L-SITUATION, which give the names of the matched

R-REMAINDER and L-REMAINDER, which give the names of the unmatched
parts of the two situations.

LINKS, which is a list of pairs of matched parts.

;;MATCH1 seems not to exist any longer, so ignore this next part:

It is possible to condition the matcher by giving it a list of pairs
of things (objects or link frames) that are to be linked ab initio.
Do this by using MATCH1 instead of MATCH: (MATCH1 <situation 1>
<situation 2> <list of pairs of things to be matched ab initio>), as

File: Analogy	Node: Score	Up: Top	  Previous: Match

SCORE takes two situations, matches them, and reports various measures
of similarity, possibly putting a few on the property list of the
MATCH-n atom describing the match.

Thus, you can do (SCORE 'MA 'HA) 

At this point, you may want to go look at a data file

* Data: (<analog>xsample.lsp)*
	How to prepare your own data files in English.  This gets you
	into a sample, documented data file.  It might be better to
	get out of info and just read the file.

File: Analogy	Node: Data files	Up: Basic	

To be written.

File: Analogy	Node: News	Up: Top	

Node name:

MATCH		Written 2/5/83 by PHW.

SCORE		Written 2/5/83 by PHW.

BASIC		Written 2/5/83 by PHW.

FILES		Written 2/5/83 by PHW.

File: Analogy	Node: Projects	Up: Top	

0.  Document the system via help.

1.  Use the near miss group idea on a number of moderately complicated
stories.  (Kendra K.)

2.  Explore the question of how a collection of successes and failures
should be broken into good candidate sets for the near miss group
hack.  Can this lead to some proposed experiments on other situations?
(Kum-Yew Lai)

3.  Tie the function thing to Brady's shape output.  Use cups or

4.  Write a program that determines and explains, in some sensible
order, how two situations are similar and how they are different.
(Paul Maglio)

5.  Do it with abstractions.  Straight input of the abstractions.
Carry on to use the inference mechanism to recognize abstractions, and
then use them. (Brett Doehr)

6.  Show how to do analogies that relate purpose and procedure, just
as the last paper related function and form.

7.  Do it in another domain.

File: Analogy	Node: Sample	

   Foo B. Boz was born a greasy nerd and lived in a humble chateau on the banks
of the Seine in c.1830.  He died shortly thereafter, having contributed nothing
of any true value for the improvement of the human condition.  


* TOP:: The top
* FILES:: blah
* NEWS:: To be written
* TO BE:: is to do  --  J.P.Sartre
* TO DO:: is to be  --  Emmanuel Kant