Joseph Weizenbaum was a computer scientist and professor at MIT, be...
Weizenbaum called it ELIZA after the character Eliza Dolittle from ...
The MAC (multiple-access computer) system was developed at MIT in t...
The saying "to explain is to explain away" suggests that when we ex...
SLIP (Symmetric List Processor) is a list processing programming la...
Example of a content free remark: `I see`
The fact that the "script is data" allowed for a high degree of fle...
COMIT was the first string processing language developed. It was de...
:
" :i .. :,-.:: . . . :
,
: . ..
: i i ;!,: :
i " " :
.
'... .......... .. ..
:::: :i
1"5."
...
. .. . .: :. .'~ ~..
.:
. : , :
. .
: ...
¢ompu aI cma
"
.: : " " " " : ; . i
~i: :
ELIZA A Computer Program
For the Study of Natural Language
Communication Between Man
And Machine
,JosEPh ~VEIZENBA UM
Massach.usclls [nshl-ute qf Tcchnu[ogg,* Cambridge, Mass.
ELIZA is a program operating within the MAC time-sharing
system at MIT which makes certain kinds of natural language
conversation between man and computer possible. Input sen-
tences are analyzed on the basis of decomposition rules which
are triggered by key words appearing in the input text.
Responses are generated by reassembly rules associated with
selected decomposition rules. The fundamental technical prob-
lems with which ELIZA is concerned are: (1) the identification of
key words, (2) the discovery of minimal context, (3) the choice
of appropriate transformations, (4) generation of responses in
the absence of key words, and (5) the provision of an editing
capability for ELIZA "scripts". A discussion of some psychologi-
cal issues relevant to the ELIZA approach as well as of future
developments concludes the paper.
Introduction
It is said that• to explain is to explain away. This maxim
is nowhere so well fulfilled as in the area of computer
programming, especially in what is ealled heuristic pro-
gramming and artifieiM intelligence. For in those realms
machines are made to behave in wondrous ways, often
suftieient to dazzle even the most experim~eed observer.
But once a particular program is unmasked, once its
inner workings are explained in language sufficiently plain
to induce understanding, its magic crumbles away; iL
st~mds revealed as a mere collection of procedures, each
quite comprehensible. The observer says to himself "I
could have written that". With that thought he moves the
program in question from the shelf m~trked "intelligent",
to that reserved for curios, fit to be discussed only with
people less enlightened than he.
Work reported herein was supported (iu prot) by Project MAC,
an _\-lIT research program sponsored by the Advm~ced Research
Pr,,jects Aget,cy, l)~l)ar~met~t ~,1" l)ofense, under Office of Naval
Research Contract Number Nora'-4102(01).
* Department of Eleeirieal Engineering.
36
Comnutnieations of the .~(',M
: - . . .
. .
..
---": t .7:g~~
:-: ; ;: i
A. G.
OETTINGER,
Editor
7:~.S C:
5)~. ;. ~ ~- !
o
7?27 E
:2:~:
7~9j ~
:7;2: Y :?
75~.7c_'-5
}
} : ~:<:..
}:
-.5~::a
:: L 2: .:
.i:
i. :::! 7:
i );4p
yL>
>>7-
:: ) :2>J2
{
%
i::i ::7
G{ )i :
::.73: ::::,
Tile object of this paper is to cause just such a re-
evaln~tion of the program about to be "explained". Few }
4
programs ever needed it more.
ELIZA Prograrn }
ELIZA is a program which makes naturM hmguage
conversation with a Colnputer possible. Its present imple-
mentation is oa the MAC time-sharing system at MIT. i:
It is written in 5lAD-SLIP [4] for the IBM 7091. Its name
was chosen to emphasize that it nmy be incrementally
improved by its users, since its language abilities may be
continually improved by a "teacher". Like the Eliza 0!
Pygmalion fame, it (ran be made to appear even more
civilized, t,he relation of appearance to realiW, however,
remaining in ~he donmin of the playwright.
For ll~e present purpose it is sufficient to characterize
the ~[A() system as one which permits an individual to
operate a full seale computer from a remotely located type-
writer. The individual operator has the illusion thai, he is
the sole riser of the computer complex, while in facl~ others
may be "time-sharing" the system with him. What is
important here is that the computer can read messages
typed on the typewriter and respond by writing oil the
same instrument. %'he time between the computer's
receipt of a message and the appearance of its response is
a function of the program controlling the dialogue and of
such MAC system parmneters as the number of users
currently eon'esponding with the system. These latter
parameters generally contribute so little to the overall
response time that conversational interaction with the
computer need never involve truly intolerable delays.
When in conversation with ELIZA, tile user types in
some statement or set of statements in natm'al language
using normal punetua.tion and sentence structures. Only
the question mark may not be used, because it is inter-
preted as a line delete character by the MAC system. The
user's sratement is terminated by a double carriage return
which serves to turn eontrol over to ELIZA. ELIZA It hen
analyzes the user's statement and generates some response
whieh it types out.. Control is then again with the user.
A ltypieal conversation is the following:
Men are all alike.
IN WHAT WAY
They're always bugging us about something or other.
CAN Y()U THINK (H: A SPECIFIC EXAMPLE
Well, my boyfriend made me come here.
YOUR BOYFRIEND MAI)E YOU COME HERE
tie
says i'm depressed much of the time. i:-(-:
[ AM SORRY TO HEAR YOU ARE DEPRESSED
%olume 9 / Number / / January., 1966
2.:
~t such a
)lained . i.
tral langu
~resent, inn:
teal at _1[
~94. Its n~
inereme~t:.
ilities mat"
the Eli~e.
tr even
1~:
ity, howe;
) cha.racte
individuai
loeated t~
ion that ii
in fact off:
tint. Whai
ead messy;:
"riting 01i
compute
ts resp0i~
alogue and:
~ber of us
These [~i~
o the 0vei
ion with
.e delays.
user types
ural lunge
aetures. 6t
se it, is b:.:
) svstera. ~
a.rriage ret~.
~LIZA i?:
.,ornle reset
:h tho
(
7 :
RI~ :
~o
J tl tl u arv;[ I:
it'~ ~=~e. !. ant tmhappy.
i)() ~ 0U TitlNK COMING IIERE WILl, IiELP YOU NOT TO
t@; iTNiIAPPY
i
>cod some help, tidal m,,teh seems certain.
"G'I~AT WOL'I,D IT MEAN TO YOU IF YOU GOT SOME IIELP
l'c, ri~ ps I could learn ~o get ahmgv, ith my mother.
2-.f::LL
2~ii::
MORE ABOUT YOUE FAMILY
),[5" -mnher takes care of me,
WiI() EI,SE IN ¥0UR FAMILY TAKES CAiIE 0F YOU
),iy father.
YO[/R FATHER
5-,)u are like my father in some ways.
WiIAT RESEMBLANCE DO YOU SEE
You are not vet',," aggressive but 1 think you don't wa.t~.t me to
notice that.
WHAT MAKES YOU TttINK I AM NOT VER~ AGGRESSIVE
~'ou dolt';
argue with me.
WIlY 1)O YOU THINK
I
DON'T ARGUE WITH YOU
"~-(}u are afraid of me,
DOES iT PLEASE YOU TO BEI, IE\'E I AM AFRA[I) OF YOU
My far her is afraid of everybody.
WHAT ELSE COMES TO MIND WtIEN YOU THINK OF
Y()(-II FATHER
Bullies.
DOES THAT HA\-E ANYTtIING TO DO WITH THE FACT
TItAT YOUR BOYFR IENI) MADE YOU COME HERE
The capitalized lines are the machine responses.
The gross procedure of the program is quite simple; the
text: is read and inspected for the presence of a
keyword.
if such a word is found, the sentence is transformed
according to a
rule
associated with the keyword, if not a
content-free renmrk or, under certain conditions, an earlier
transformation is retrieved. The text so computed or
retrieved is then printed out.
In detail, of course, the procedure sketched above is
considerably more complex. Keywords, for example, amy
have a RAXK or precedence number. The procedure is
sensitive to such numbers in that it will abandon a key-
word a.lready found in the left-to-right scan of the text in
fxvor of one having a higher rank. Also, the procedure
reeo~,afizes a comma or a period as a delimiter. Whenever
either one is encountered and a keyword has already been
found, all snbsequent text is deleted from the input mes-
sage. If no key had yet been found the phrase or sentence
to the left• of the delimiter (as well as the delimiter itself)
is deleted. As a result•, only single phrases or sentences are
ever transformed.
I£eywords and their associated transformation t rules
constitute the SCRIPT for a particular class of con-
versation. An important property of ELIZA is that a
script is data; i.e., it is not part of the program itself.
Hence, ELIZA is not restricted to a particular set of
recognition patterns or responses, indeed not even to any
specific language. ELIZA scripts exist (at, this writing) in
Welsh attd Gernmn as well as in English.
The fundamental technical problems with which ELIZA
must be preoccupied are the following:
(1) The identification of the "most important" keyword
The word "transformation" is used in its generic sense rather
than that given it by tia.rris and Chomsky in linguistic contexts.
V(~lume 9 /Numher 1 / January, 1966
occurring in the input message.
(2) Tile identification of some minimal context within
which the chosen keyword at)pears; e.g., if the keyword is
"you",
is it followed by the word "are" (in which ease an
assertion is probably being made).
(3) The choice of an appropriate transformation rule
and, of course, the making of the transformation itself.
(4) The provision of mechanism that will permit
ELIZA to respond
"intelligently"
when the input text
contained no keywords.
(5) The provision of machinery that facilitates editing,
particularly extension, of the script on the script writing
level.
There are, of course, the usual constraints dictated by
the need to be eeononfical in the use of computer time and
storage space.
The central issue is clearly one of text manipulation,
and at the heart of that issue is the concept of the
trans-
formation rule
which has been said to be associated with
certain keywords. The meehanisins subsumed under the
sloga.n "transformation rule" are a number of SLIP func-
tions which serve to (1) decompose a data string according
to certain criteria, hence to test the string as to whether it
satisfies these criteria or not, and (2) to reassemble a
decomposed string according to certain assembly specifica-
tions.
While this is not the i)lace to discuss these functions in
all their detail (or even to reveal their full power and
generality), it is important to the understanding of the
operation of ELIZA to describe them in
some
detail.
Consider the sentence "I ant very unhappy these days".
Suppose a foreigner with only a limited knowledge of
English but with a veer good ear heard that sentence
spoken but understood only the first two words "I am".
Wishing to appear interested, perhaps even sympathetic,
he may reply "How long have you been very unhappy
these days?" What he nmst have done is to apply a kind
of template to the original sentence, one part of which
matched the two words "I aln" and the remainder isolated
the words "very unhat)py these days". He must also have
a reassembly kit specifically associated with that template,
one that specifies that any sentence of the form "I am
BLAH" can be transformed to "How long have you been
BLAH", independently of the meaning of BLAH. A
somewhat more complicated example is given by the
sentence "It seems that you hate me". Here the foreigner
understands only the words "you" and "me"; i.e., he
applies a template that decomposes the sentence into the
four parts:
(1) It seems that (2) you (3) hate (4) me
of which only the second and fourth parts are understood.
The reassembly rule might then be "What makes you
think I hate you"; i.e., it nfight throw away the first
component, translate the two known words ("you" to
"I" and
"me"
to "you") and tack on a stock phrase
(What makes you think) to the front of the reconstruction.
Communications
of the
ACM
37
A formal notation in which to represent the decomposition
template is:
(0 YOU 0 ME)
and the reassembly rule
(WHAT MAKES YOU THINK I 3 YOU).
The "0" in the decomposition rule stands for "an in-
definite number of words" (analogous to the indefinite
dollar sign of COMIT) [6] while the "3" in the reassembly
rule indicates that the third component of the subject
decomposition is to be inserted in its place. The decom-
position rule
(0 YOU 1 ME)
would have worked just as well in this specific example. A
nonzero integer "n" appearing in a decomposition rule
indicates that the component in question should consist
of exactly "n" words. However, of the two rules shown,
only the first would have matched the sentence, "It seems
you hate and love me," the second failing because there is
more than one word between "you" and "me".
~1 RI,1 R1,2"'" Rl,ml D2 R2J RZ,Z" " "Rz,m2 De Ra,t FIn'2~ '" " R%nan
Fro. 1. :Keyword and rule list structure
in ELIZA the question of which decomposition rules to
apply to an input text is of course a crucial one. The input
sentence might have been, for example, "It seems that
you hate," in which ease the decomposition rule (0 YOU
0 ME) would have failed in that the word "ME" would
not have been found at all, let alone in its assigned place.
Some other decomposition rule would then have to be
tried and, failing that, still another until a match could
be made or a total failure reported. ELIZA must therefm~
have a mechanism to sharply delimit the set of decom-
position rules which are potentially applicable to a cur-
rently active input sentence. This is the keyword mecha-
nism.
An input sentence is scanned from left to right. Each
word is looked up in a dictionary of keywords. If a word
is identified as a keyword, then (apart from the issue of
precedence of keywords) only decomposition rules con-
taining that keyword need to be tried. The trial sequence
can even be partially ordered. For example, the decom-
position rule (0 YOU 0) associated with the keyword
"YOU" (and decomposing an input sentence into (1) all
words in front of "YOU", (2) the word "YOU", and (3)
all words following "YOU") should be the last, one tried
since it is bound to succeed.
Two problems now arise. One stems from the fact that
almost none of the words in any given sentence are repre.
sented in the keyword dictionary. The other is that of
"associating" both decomposit;ion and reassembly rules
with keyword~-;. The iirst is serious in that the determina-
tion that a word is not in a dictionary may well require
more computation (i.e., time) than the location of a word
which is represented. The attack on both problems begins
by placing both a keyword trod its associated rules on a
list. The basic format of a typical key list is the following:
(K ((D0 (R~. t) (R~, 2) "'" (Rt
....
))
((D2) (R2. ~) (R2.2) "" (R2.,,,~))
:
((D,~) (R,,, ~) (taw,
~) ... (R,~, .~)))
where K is the keyword, D, the it, h decomposition rule
associated with K and R¢, ~ the jth reassembly rule ass0.
ciated with the ith decomposition rule.
A common pictorial representation of such a structure
is the tree diagram shown in Figure 1. The top level of
this structure contains the keyword followed by the names
of lists; each one of which is again a list structure beginning
with a decomposition rule and followed by reassembly
rules. Since list structures of this type have no predeter-
mined dimensionality limitations, any number of decom-
position rules may be associated with a given keyword and
any number of reassembly rules witch any specific decom-
position rule. SLiP i8 rich in functions that sequence over
structures of this type efficiently. Hence programmin
problems are minimized.
An ELIZA script consists mainly of a set of list struc-
tures of the type shown. The actual keyword dictionary is
constructed when such a script is first read into the
hitherto empty program. The basic structural component
of the keyword dictionary is a vector KEY of (currently)
128 contiguous computer words. As a particular key list
structure is read the keyword K at its top is randomized
(hashed) by a procedure that produces (currently) a 7
bit integer "i". The word "always", for example, yields
the integer 14. KEY(i), i.e., the ith word of the vector
KEY, is then examined to determine whether it contains
a list. name. If it does not, then an empty list is created,
its name placed in KEY(i), and the key list structure in
question placed on that list. If KEY(i) already contains a
list name, then the name of the key list structure is placed
on the bottom of the list named in KEY(i). The largest
dictionary so far attempted contains about 50 keywords.
No list named in any of the words of the KEY vector
contains more than two key list structures.
Every word encountered in the scan of an input text,
i.e., during the actual operations of ELIZA, is randomized
by the same hashing algorithm as was originally applied to
the incoming keywords, hence yields an integer which
points to the only possible list structure which could
potentially contain that word as a keyword. Even then,
only the tops of any key list structures that may be found
there need be interrogated to determine whether or not a
keyword has been found. By virtue of the various list
38 Communications of tile ACM Volume 9 / Number 1 / January, 1966
i :
e repre-
that of
y rule~
arn~inw
require
word
; begim
es
Oil
lowing:
on rule
le asso;
rueLure
[evel Of
ginning
.seInbly
"edeter::
decon>
)rd &nd
deoom:
oe. over
1TI YV~ irt :
:: st:t?ue-:
,nary is
~to the
portent :
rently)
~ey list
onfized
Y) a 7
5~ields
veer.tot
)ntains
reated,}i
t
ains a:
ola~eed:
l~trg-est i
xx-ol-ds.i
\-"
e e
tog
t text,
1hi zed
)liecI to
~vhieln
eoutld :
l then
:::
fol_t ha{
not a
us list
Y, 1966:
:i}
.... ~,-.~,~,~ciT~o.~., ...... ~, operations_ that SLIP makes available, the
a,:ttta] identification of a keyword leaves as its i)rim:ipal
product a pointer to the list of decomposition (and hence
rc:t~se~bly) rules associated with the identified keyword.
()~e resui~ of this strategy is that often less time is required
to discover that a given word is >_of in the keyword dic-
~io~ary than to locate it if it. is there. However, tile location
of a keyword yields pointers to all inforntation associated
with that word.
Some conversational protocols require that certain
transformations be made on certain words of .the input text
iiidependel~tly of any contextual considerations. The first
conversation displayed in this paper, for example, requires
that firsb person pronouns be exchanged for second person
pronouns and vice versa throughout tile input text. There
may be further transformations but these minimal sub-
stitutions are unconditional. Simple substitution rules
ought not to be elevated to the level of transformations,
nor should the words involved be forced to carry with them
all the structure required for the fully complex case.
],'urthermore, unconditional substitutions of single words
for single words can be accomplished during the text scan
itself, not as a Lransformat.ion of the entire text subsequent
to scanning. To facilitate the realization of these
desiderata, any word in the key dictionary, i.e., at the
top of a key fist, structure., may be followed by an equM
sign followed by whatever word is to be its substitute.
Tranformation rules may, but need not, follow. If none
do follow such a subst, itution rule, then the substitution is
made on the fly, i.e:, during text scanning, but the word
in question is not identified as a keyword for subsequent
purposes. Of course, a word may be both subtituted for
and be a keyword as well. An example of a simple sub-
stitution is
(YOUIISELF = MYSELF).
Neither "yourself" nor "myself" are keywords in the
particular script from which this example was chosen.
The fact that keywords can have ranks or precedences
has already been mentioned. The need of a ranking mecha-
nism may be established by an example. Suppose an input
sentence is "I know everybody laughed at me." A script
may tag the word "I" as well as the word "cvetTbody"
as a keyword. Without differential ranking, "I" occurring
first would determine the transformation to be applied.
A typical response might be "You say you know everybody
laughed at. you." But. the important message in the input
sentence begins with the word "everybody". It is very
often true that when a person speaks in terms of universals
such as "everybody", "always" and "nobody" he is really
referring to some quite specific event or person. By giving
"'everybody" a higher rank than "I", the response "Who
in particular are you thinking of" may be generated.
The specific mechanism employed in ranking is that the
rank of every keyword encountered (absence of rank
implies rank equals 0) is compared with the rank of the
highest, ranked keyword already seen. If the rank of the
Volume 9 / Number 1 / .]anuary, 1966
new word is higher than that of any previously encoun-
tered word, the pointer to tile transformation rules
associated with the new word is placed on top of a list
called the keystack, otherwise it is placed on the bottom
of the keystaek. Wizen the text scan terminates, the key-
stack has at its top a pointer associated with the highest
ranked keyword encountered in the scan. The remaining
pointers in the stack may not be monotonically ordered
with respect to the ranks of the words from which they
were derived, but they are nearly so--in any event they
are in a useful attd interesting order. Figure 2 is a simpli-
,
~ ke'/steck ~
J
' '
' * ! :
YES
-~ ......
~.._i k..!i_IH~[_/~--
_ t
YgS
t ~' ~c___F-]:;,:~:o~ 1
FIG. 2. Basic flow diagram of keyword detect.ion
fled flow diagram of keyword detection. The rank of a
keyword must, of course, a!so be associated with the
keyword. Therefore it must appear on the keyword list
structure. It may be found, if at all, just in front of the
list of transformation rules associated with the keyword.
As an example consider the word "MY" in a particular
script. Its keyword list may be as follows:
(MY -- YOUR. 5 (transformation rules)).
Such a list would mean that whenever the word "MY" is
encountered in any text, it would be replaced by the word
"YOUR". Its rank would be 5.
Upon completion of a given text scan, the keystack is
either empty or contains pointers derived from the key-
words found in the text. Each of such pointers is actually a
sequence reader--a SLip mechanism which facilitates
scanning of lists--pointing into its particular key list in
such a way that one sequencing operation to the right
(SEQLR) will sequence it to the first set of transformation
rules associated with its keyword, i.e., to the list
((Dr) (Rt,,) (R,,e) ... (R~,R,.~)).
The top of that list, of course, is a list which serves a
decomposition rule for the subject text. The top of the
keystack contains the first, pointer to be activated.
The decomposition rule D~ associated with the keyword
K, i.e., {(D0, K}, is now tried. It may fail however. For
example, suppose the input text was:
You are very helpful.
Conarnunications of the ACM 39
Tile lwywor<t, say, is "'you", and I cD,), you} is
(0 I remind you of 0;.
(l-h:call that the "you" it, the original sentence has already
b(:(n replaced I%" "I" in the text now analyzed.) This
det:omposilicq~ rule obviously fails to match tile input
sentence. Should i(D0, K} fail to find a match, then
I(D2), K} is tried. Should that too fail, {(Da), K} is
atlempted, and so (m. Of course, lhe set of transformation
rules can be guaranteed to terminate with a decomposition
rule which nmst match. The decomposition rule
(o
K
o)
will match any text in which tile word K appears while
(0)
will match any text whaiever. However, there are other
ways to leave a particular set of transformation rules, as
will be shown below. For the present, suppose that some
particular decomposition rule
(D,')
has lnatehed the input
text. (D~), of course, was found
on a
list of the form
((DO(R:,
~)(& ~) --- (R,- ..... )).
Sequencing the reader which is presently pointing at
(D,) will retrieve the reassembly rule (R,. ~) which may
then be applied to the decomposed input text to yield the
output message.
Consider again the input text
You are very helpful
.:..
in which
"you"
is the only key word. The sentence is
transformed during scanning to
[ are very hell)ful
(Dr), you} is
"(0
i remind your of 0)" and fails to match
as already discussed. However, I (De), you} is "(0 I are 0)"
and obviously ma.tehes the text, decomposing it into the
coltstituents
d) empty (2) I .,.3) are 6l) very helpful.
{(Re. I), you} is
(What makes you think I am 4)
Hence it produces the output text
wtm~ makes you think I am very helpful.
Having produced it, the integer 1 is put in front of (Re. t)
so that the i ransfonnation rule list in question now appears
as
((D~)I(Re,~)(R2,~)
... (Re ..... )).
Next time ~ (De), K} matches an input text, the reassembly
rule (R2..2) will be applied and the integer 2 will replace
the 1. After (R2. ,~,) has been exercised, (Re. ,) will again
be invoked. Thus, after the system has been in use for a
time, ex'ery decomposition rule which has matched some
input text has associated with it an integer which corre-
sponds to the last l~assembly rule used in connection with
thtG decomposition rule. Tl, Js mechanism h~st,res that the
complete set of reassernbly rules ~ssoeiated with a given
deeomposh:ion rule is cycled through before any repetitions
0CCUY,
The system described so far is ess(qltially one which
selects ~t decomposition rule for the highest ranking key-
word found in an input text, attempts to match that text
according to that decomposition rule and, failing to make
a match, selects
the
next reassembly rule associated with
the matching decomposition rule and applies it. to generate
an output texi. It is, in other words, a system which, for
the highest ranking keyword of a text, selecta a speeifie
decomposition and reassembly rule to be used ill forming
the output message.
Were the system to remain that simple, then keywords
that required identical sets of transformation rules would
each require that a copy of these transformation rules be
associated with them. This woukl be logically sound but
would complicate the task of script writing and would also
make unnecessary storage demands. There are therefore
special types of decomposition and assembly rules char-
aeterized by the appearance of
.....
at the top of the
rule list. The word following the equal sign indicates which
new set of transformation rules is to be applied. ]"or ex-
ample, the keyword "what" may have associated with it
a transformation rule set of the form
((0) (Why do you ask) (Is that an important, question) . . .)
which would apply equally well to the keywords "how"
and "when". The entire keyword list for "how" may
therefore be
(How (=What))
The keywords "how", "what" and "when" may thus be
made to form an equivalence class with respect to the
transformation rules which are to apply to them.
In the above example the rule "(=what,)" is in the
place of a decomposition rule, although it causes no
decomposition of tile relevant text. It may also appear,
however, in the place of a reassembly rule. l.'or example,
the keyword
"am"
may have mnong others the following
transformation rule set associated with it:
((0 are you 0) d)o you believe you are 4) . . .
(=what) . .
.)
{
(it is here assumed that "are" has been substituted for
"am" and
"you"
for
"I"
in the initial text seam) Then,
the input text
Am I siek
would elicit either
])o you believe you are siek
or
Why do yotl ask i
depending on how many tinles the general form had
already occurred.
Under still other conditions it may be desirable to
40
Connnunications of tile AkC~I
Volume 9 / Number 1 / January, 1966
<~--~
mt tb
; give~
'titi0r~z
which
~ texi
make
:t
with
tlerate
%
for
pecific
rming
words
vould
tes b~:
:l but
t
als0
"ef0re
char.
f the;
~hieh
r eli
t.h it,
:
.,)
OW"
may:
s be
the
the
no
ear, :
ple,
ing :
.)
for
to :;
:i
:i<<[o:~'iY~ ,::~ preliminary transformciiiou
On tile
htput
<exb
[ ,, : L,.)i'o ~u})iec'{ino" i,'..to 1he de,.:onuDosP, ~o:~s" " " :rod reti-4senttc"/iles
-<.~ <> ~L m,v y[eid the ou[t)ut .:ext. ~¢or example, the
~-,v,:{or / "vouh-e" should bad
to
the transformation
rules
~t
..... ,.iat,-d
with "you"
t,)ttt S}tOltld
{;;'At })e replaced by a
,,. ~)r,:[ Imir. The dieticmarv e:ttry £~u" "3-ou'rC' is therefore:
yo~re =
i:m
((0 I'm
O) (P1~I;
(I _k).[
3) (:=YOU.)})
,.~ hic.h has the foiiowit~e~ effect:
l'). -Wherever :'3:ou']'e" is _out~u~' ~ in the input text.., i~ is
r~q,h eed
bv I m
.
t-/ ..ou.re is actually selected as ihe ream%hi,
i<eyword, then the input text: is decomposed late three
e{u:stiluent parts, namely, all text in h'out of the first
oecurre>.ce of
"I'm",
the word "I'm" itself, and all text
followi~lg tile first occurrc:we of "I'm".
(3) The reassembly rule beginning with ih(' eode
'g?RI5" is eneountered at!d the decomposed texk: re-
assembled such that the words ' I A-Xl" appear in front
of the third constituent, determined by the earlier de-
compositiou.
(4) Contxol is transferred, so to speak, to the trans-
formmion rules associated with the keyword "you",
where, further decompositions etc. are attempted.
It, is to be noted that the set
,'P {Ill (I AM 3) (=YOU))
i~ logically in the place of a reassembly rule attd may
therefore be one of really
reassembly
rules associated with
the given decomposition.
Another form of reassembly rule is
(NEWKI::Y)
v..,deh
serves the eas{~ in which attempts to nmtch
on
the
(:urcently regnant keyword
are
to be given up and the
end.ire decomposition a~d reassembly process is to start
a~aht on
the basis of the keyword to be found in the
keystack. Whenever this rule is invoked, the top of ttle
k('ysta('k is "popped
Ul)"
once, i.e., the new regnant key-
word recovered and removed from the keystack, att(.l the
entire process reinitiated as if the initial text scan had jusla
termirmted. This mechanism makes it possible to, in effect,
test on key phrases as opposed to single key words.
A serious problem whieh remains to be discussed is the
reaction of the system in ease no keywords renmin to
serve as transformation triggers. This can arise either in
cas:, the ke3"stack is emI)ty when NEWKEY is invoked or
wheu the input text. contained no keywords initially•
The simplest meelmnism supplied is in the form of the
special reserved keyword "NONE" which must be part of
nny script. The script writer must assoeiate the universally
matching deeomposition rule (0) with it and follow this by
as many content-h'ee remarks in the form of transforma-
tied rules as he pleases. (Exmnples are: "Please go
on",
rhars very interesting" and "I see".)
There is, however, another mechanism which causes the
system to respond more spectacularly in the absence of a
key. The word "MEMORY" is another reserved pseudo-
keyword. The key list structure associated with it differs
"Volume 9 / Number 1 / January, 1966
from the ordinary one in some respects. An example
ilIuminat:es this point.
Consider tile following structure:
(MEMORY
MY
(0 YOUR 0 = LETS DISCUSS FURTHER WHY YOUR 3)
(0 YOUR 0 - EARLIER YOU SAID YOUR 3)
The word
"MY"
(which must be an ordinary keyword
as well) has been selected to serve a special function.
Whenever it is the highest ranking keyword of a text one
of the transformations on the MEMORY list is randomly
selected, and a copy of the text is transformed accordingly.
This transformation is stored on a first-in-first-out stack
for later use. The ordinary processes already described are
then carried out. When a text without keywords is en-
countered later and a certain counting mechanism is in a
particular state and the stack in question is not empty,
then the transformed text is printed out as the reply• It
is, of course, also deleted from the stack of such trans-
formations.
The eurrent version of ELIZA requires that one keyword
be associated with MEMORY and that exactly four
transformations aceoinpany that word in that context. (An
application of a transformation rule of the form
(LEFT HAND SIDE = tlIGIIT HAND SIDE)
is equivalent to the successive application of the two forms
(LEFT HAND SIDE), (RIGIIT HAND SIDE).)
Three more details will complete the formal description
of the ELIZA program.
The transformation rule mechanism of SLIP is such that.
it permits tagging of words in a text and their subsequent
recovery on the basis of one of their tags. The keyword
"MOTHER?' in ELIZA, for example, may be identified
as a noun and as a member of the class "family" as follows:
(MOTHER DLIST (/NOUN FAMILY)).
Such tagging in no way interferes with other information
(e.g., rank or transformation rules) which may be asso-
dated with the given tag word. A decomposition rule nmy
contain a matching constituent of the form (/TAGI
TAG2 .--)which will match and isolate a word in the
subject text having any one of the mentioned tags. If, for
example, "MOTHER" is tagged as indicated and the
input text
"CONSIDER 5IY AGED MOTtIER AS WELL AS ME"
subjected to the decomposition rule
(0 YOUR, 0 (/FAMILY) 0)
(remembering that "MY" has been replaced by "YOUR"),
then the decomposition would be
(1) CONSIDER (2) YOUR (3) AGED (4) MOTHER
(5) AS WELL AS ME.
Another flexibility inherent in the SLiP text manipula-
tion mechanism underlying ELIZA is tha or-ing of
matching criteria is permitted in decomposition rules•
The above input text would have been decomposed
Communications of the
ACM
41
:t
: :::4ffs"
S
J
{
precisely as stated above by the decomposition rule:
(0 YOUR 0 (.FATHEII MOTIIEII) 0)
which, by virtue of the presence of "," in the sublis¢
struc.ture seen above, would have isolated either the word
"FATItER" or "MOTHER" (in that order) in the input.
text, whichever occurred first after the first appearance of
the word "YOUR".
Finally, the script writer nmst begin his script with a
list, i.e., a message enclosed in parentheses, which contains
the statement he wishes EI.IZA to type when the system
is first loaded. This list nmy be empty.
Editing of an ELIZA script is achieved via appeal to a
contextual editing program (ED) which is part of the
MAC library. This program is called whenever the input
text to ELIZA consists of the single word "EDIT".
EHZA then puts itself in a so-called dormant state and
presents the then stored script for editing. Detailed
d:-scriptio:t of ED is out of place here. Suftice it to say that
changes, additions and deletions of the script may be made
with considerable efficiency and on the basis of entirely
contextual cues, i.e., without resort to line numbers or
any other artificial devices. When editing is completed,
ED is given the command to FILE the revised script. The
new script is then stored on the disk and read into ELIZA.
ELIZA lhen types the word "START" to signal that the
conversation may resume under control of the new script.
An important consequence of the editing facility built
into ELIZA is that a given ELIZA script need not start
out to be a large, full-blown scenario. On the contrary, it
should begin as a quite modest set of keywords and
transformation rules and permitted to be grown and
molded as experience with it builds up. This appears to
be the best. way to use a truly, interactive man-machine
facility--i.e., not as a device for rapidly debugging a code
representing a fully thought out solution to a problem, but
rather as an aid for the exploration of problem solving
strategies.
Discussion
At this writing, the only serious ELIZA scripts whieh
exist are seine which cause ELIZA to respond roughly as
would certain psychotherapists (Rogerians). ELIZA
performs best when its human correspondent is ilfitially
instructed to "taJk" to it, via the typewriter of course,
just as one would to a psychiatrist. This mode of ton-
versation was chosen because the psychiatric interview
is one of the few examples of categorized dyadic natural
language comnmnieation in which one of the participating
pair is free to assume the pose of knowing almost nothing
of the real world. If, for exalnple, one were to tell a psv-
ehiatrist "I went for a long boat ride" and he responded
"Tell me about boats", one would not assume that he knew
nothing about boats, but that he had some purpose in so
direeting the subsequent conversation. It is important to
note that this assumption is one made by the speaker.
Whether it is realistic or not is art altogether separate
question. In any case, it has a crucial psychological utility
42 Communications of the ACM
i> <i!:,.t k -erves tile spea]<er to nm rain his sense o~ btqng
! J
:-:~::rc: a,qd understood. The ~peak,,~r further d<,:fe::d~
his
,
lhn~o
F\
)
hnpression (which even h: real Ere may be ' ) by
.~
.i . t
ac:iuoutmg to
his conversationa: l?ar{n()r
ah
sorts of back-
ground kno w!edge, insigl:t s and l'easo~dn o.c abilit 3: But ::radii,
t.hese are the .~pegl, e,'a contribution to the conversation.
Thev. manifest then:selves hfferentialh-., in the
_~ ~: te.@ce{a.h m .~°
-"
l ~ i ]
he makes of d-to offered responses, t rein the purely tec~: ncal
programming poiLU of view then, the t?sychbJ:ric
interview
form of an I';LIZA script has the advantage that it elimi-
nates the need of storing
e.~:pUcit
inform:tth?n about the
real world.
The human speaker will, a~ has been said, contribute
much to clothe EI,IZA'S responses h: vestmen:s of
plausibility. But he will
not
defend his illusion (that he is
being understood) against all odds. In tmnutn eonversat:on
a speaker will make certain (perhaps generous) assmnl)-
lions about his conversational partner. As long as ~ it
remains possible to interpret the latter's response~ con-
sistently with those assumptions, the speaker's image of
his partner remains unchanged, in particular, undanmged.
Responses wlfieh are difficult to so interpret may well
result in an enhancement of the inmge of the partner, in
additional rationalizations which then make more con>
plicated interpretations of his responses reasonable.
When, however, such rationalizations become too inassive
and even self-contradictory, the entire image may erumble
and be replaeed by another ("He is not, after all, as smart
as I thought he was"). When the conversational pa.rtner
is a machine (the distinction between nmchine and prograin
is here not useful) then the idea of
credibility
may weU be
substituted for that. of
pla.'uaibiStfl
in the above.
With ELIZA as the basic vehicle, experiments may be
set up in which the subjects find it credible to believe that
the responses which appear on his typewriter are gener-
ated by a human sitting at a similar instrmnent in another
room. How must the script be written in order to maintain
the credibility of this idea over a long period of time?
How can the performance of ELIZA be systematically
degraded in order to achieve controlled and predictable
thresholds of credibility in the subject? What, in all this,
is the role of the initial instruction to the subject? On the
other hand, suppose the subject is told he is communicating
with a maehine. What is he led to believe about the
machine as a result of his conversational experience with
it? Seine subjects'have been very hm'd to convince that
ELIZA (with its present script) is not hunmn. This is a
striking form of Turing's test. What experimental design
would make it more nearly rigorous and airtight?
The whole issue of the credibility (to humans) of
machine output demands investigation. Important de-
cisions increasingly tend to be made in response to com-
puter output. The uhimately responsible human inter-
preter of "What the machine says" is, not unlike the
correspondent with EHZA, constantly faced with the
need to make credibility judgments. ELIZA shows, if
nothing else, how easy it is to create and nmiutain the
illusion of understanding, hence perhaps of judgment
Vohunc 9 / Number 1 / January, 1966
APPENIOIX. A~a. ELIZA
Script
(HOW DO YOU 00. PLEASE TELL ME YOUR PROBLEM)
START
(SORRY ((0) (PLEASE DON'T APOLIGIZE)
(APOLOGIES ARE NOT NECESSARY) (WHAT FEELINGS
DO YOU HAVE WHEN YOU APOLOGIZE) (lIVE TOLD YOU
THAT APOLOGIES ARE
NOT
REQUIRED)))
(DONT = DON'T)
(CANT = CAN'T)
(WONT = WON'T)
(REMEMBER S
((0 YOU REMEMBER O) (DO YOU OFTEN THINK OF 4)
(DOES THINKING OF ~ BRING ANYTHING ELSE TO MINO)
(WHAT ELSE OO YOU REMEMBER)
(WHY DO YOU REMEMBER 4 JUST NOW)
(WHAT IN THE PRESENT SITUATION REMINDS YOU OF ~)
(WHAT IS THE CONNECTION BETWEEN ME AND ~))
((0 DO I REMEMBER 0) (DID YOU THINK I WOULD FORGET 5)
(WHY DO YOU THINK I SHOULD RECALL S NOW)
(WHAT ABOUT 5) (=WHAT) (YOU MENTIONED S))
((0) (NEWKEY)))
(IF 3 ((0 IF 0) (DO YOU THINK ITS LIKELY THAT 3) (DO YOU WISH THAT 3)
(WHAT DO YOU THINK ABOUT 3) (REALLY, 2 3)))
(WHAT DO YOU THINK ABOUT ~) (REALLY, 2 3)))
(DREAMT ~ ((0 YOU DREAMT O)
(REALLY, ~) (HAVE YOU EVER FANTASIED ~ WWILE YOU WERE AWAKE)
(HAVE YOU DREAMT ~ BEFORE) (=DREAM) (NEWKFY)))
(DREAMED = DREAMT ~ (=DREAMT))
(DREAM 3 ((0) (WHAT DOES THAT DREAM SUODEST TO YOU)
(OO YOU DREAM OFTEN) (WHAT PERSONS APPEAR IN YOUR DREAMS)
(DON'T YOU BELIEVE THAT DREAM HAS SOMETHINC TO ~0 WITH
YOUR PROBLEM) (NEWKEY)))
(DREAMS = DREAM 3 (=DREAM))
(HOW (=WHAT))
(WHEN (=WHAT))
(ALIKE 10 (=DIT))
(SAME 10 (=DIT))
(CERTAINLY (=YES))
(FEEL DLIST(/BELIEF))
(THINK DLIST(/BELIEF))
(BELIEVE DLIST(/BELIEF))
(WISH DLIST(/BELIEF))
(MEMORY MY (0 YOUR 0 = LETS DISCUSS FURTHER WHY YOUR 3)
(0 YOUR 0 = EARLIER YOU SAID YOUR 3)
(O YOUR 0 = BUT YOUR 3)
(0 YOUR 0 = DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR 3))
(NONE ((0) (I AM NOT SURE I UNDERSTAND YOU FULLY)
(PLEASE GO ON)
(WHAT DOES THAT SUGGEST TO YOU)
(DO YOU FEEL STRONGLY ABOUT DISCUSSING SUCH THINGS)))
(PERHAPS ((0) (YOU DON'T SEEM QUITE CERTAIN)
(WHY THE UNCERTAIN TONE)
(CAN'T YOU BE MORE POSITIVE)
(YOU AREN'T SURE) (DON~T YOU KNOW)))
(MAYBE (=PERHAPS))
(NAME 15 ((0) (I AM NOT {NTERESTED IN NAMES)
(I'VE TOLD YOU BEFORE, I DON'T CARE ABOUT NAMES -
PLEASE CONTINUE)) )
PLEASE CONTINUE)) )
(DEUTSCH (=XFREMD))
(PRANCAIS (=XFREMD))
(ITALIAN0 (=XFREMD))
(ESPANOL (=XFREMD))
(XFREMD ((0) (I AM SORRY, I SPEAK ONLY ENGLISH)))
(HELLO ((0) (HOW DO YOU DO, PLEASE STATE YOUR PRORLFM)))
(COMPUTER 50 ((O) (DO COMPUTERS WORRY YOU)
(WHY DO YOU MENTION COMPUTERS) (WHAT DO YOU THINK MACHINES
HAVE TO DO WITH YOUR PROBLEM) (DON'T YOU THINK COMPUTERS CAN
HELP PEOPLE) (WHAT ABOUT MACHINES WORRIES YOU) (WHAT
DO YOU THINK ABOUT MACHINES)))
(MACHINE
SO
(=COMPUTER))
(MACHINES 50 (=COMPUTER))
(COMPUTERS 50 (=COMPUTER))
(AM = ARE ((O ARE YOU O) (DO YOU BELIEVE YOU ARE ~)
44 Communications of the ACM
(WOU!D YOU WANT TO BE ~) {YOU WISH I WCUL0 TELL YOU YOU ArE 4)
(WHAT WOULD IT MEAN IF YOU WERE ~) (=WHAT))
((0) (WHY O0 YOU SAY 'AM') (I DON~T UNDERSTgNO THAT)))
(ARE ((0 ARE I 0 )
(WHY ARE YOU iNTERESTED IN WHETHFR I AM ~ OR NOT)
(WOULD YOU PREFER IF ~ WEREN'T ~) (PERHAPS i A~ ~ IN YOU~
FANTASIES) (DO YOU SOMETIMES THINK I AM ~) (=W~AT))
((O ARE 0) (DiD YOU THINK THEY MIGHT NOT BE 3)
(WOULD YOU LIKE IT IF THEY WERE NOT 3) (WHA T !F THEY WPRE NOT 3>
(POSSIBLY THEY ARE 3)) )
(YOUR = MY ((0 MY O) (WHY ARE YOU CONCERNED OVER MY 3)
(WHAT ABOUT YOUR OWN 3) (ARE YOU WORRIED ABOUT SO~.!EONE ELSES 3)
(REALLY, MY
3)))
(WAS 2 ((0 WAS YOU 0 )
(WHAT IF YOU WERE ~) (DO YOU THINK YOU WERE h)
(WERE YOU k) (WHAT WOULD IT MEAN IF YOU WERE ~)
(WHAT DOES ' 4 ' SUGGEST TO YOU) (=WHAT))
((O YOU WAS O)
(WERE YOU REALLY) (WHy DO YOU TELL ME YOU WERE ~ NOW)
(WERE YOU REALLY) (WHY DO YOU TELL ME YOU WERE ~ NOW)
(PERHAPS I ALREADY KNEW YOU WERE h) )
((O WAS I O) (WOULD YOU LIKE TO BELIEVE { WAS h)
(WHAT SUGGESTS THAT I WAS ~)
(WHAT DO YOU THINK) (PERHAPS I WAS q)
(WHAT IF I HAD BEEN ~))
((0) (NEWKEY)))
(WERE = WAS (=WAS))
(ME = YOU)
(YOU'RE = I'M ((0 I'M 0) (PRE (I ARE S) (=YOU))))
(I'M = YOU'RE ((0 YOU'RE O) (PRE (YOU ARE 3) (=I))))
(MYSELF = YOURSELF)
(YOURSELF = MYSELF)
(MOTHER OLIST(/NOUN FAMILY))
(NON = MOTHER DLIST(/ FAMILY))
(DAD = FATHER DLIST(/ FAMILY))
(FATHER DLIST(/NOUN FAMILY))
(SISTER BLIST(/FAMILY))
(BROTHER DLIST(/FAMILY))
(WIFE
DLIST(/FAMILY))
(CHILDREN OLIST(/FAMILY))
(I =
YOU
((0 YOU (* WANT NEED) O) (WHAT WOULD IT MEAN TO YOU IF YOU GOT ~)
(WHY DO YOU WANT 4) (SUPPOSE YOU GOT ~ SOON) (WHAT
IF YOU NEVER GOT ~) (WHAT WOULD GETTING ~ MEAN TO
YOU) (WHAT DOES WANTING ~ HAVE TO DO WITH THIS DISCUSSION))
((0 YOU ARE O (-SAD UNHAPPY DEPRESSED SICK ) 0)
(I AM SORRY TO HEAR YOU ARE 5) (DO YOU THINK COMING HERE
WILL HELP YOU NOT TO BE 5) (I'M SURE ITS NOT PLEASANT TO
BE 5) (CAN YOU EXPLAIN WHAT MADE YOU 5))
((O YOU ARE O (-HAPPY ELATED GLAD BETTER ) 0)
(HOW HAVE I HELPED YOU TO BE 5)
(HAS YOUR TREATMENT MADE YOU 5) (WHAT MAKES YOU S JUST
NOW) (CAN YOU EXPLAIN WHY YOU ARE SUDDENLY 5))
((0 YOU WAS O) (=WAS))
((0 YOU WAS O) (:WAS))
((O YOU (/BELIEF) YOU 0) (DO YOU REALLY THINK SO) (BUT YOU ARE
NOT SURE YOU 5) (DO YOU REALLY DOUBT YOU 5))
((0 YOU 0 (/BELIEF) O I 0) (=YOU))
((0 YOU ARE O)
(IS IT BECAUSE YOU ARE ~ THAT YOU CAME TO ME)
(HOW LONG HAVE YOU BEEN 4)
(DO YOU BELIEVE IT NORMAL TO BE ~)
(DO YOU ENJOY BEING 4))
((0 YOU (* CANIT CANNOT) G) (HOW DO YOU KNOW YOU CAN'T ~)
(HAVE YOU TRIED)
(PERHAPS YOU COULD ~ NOW)
(DO YOU REALLY WANT TO BE ABLE TO ~))
((0 YOU DONIT 0)(DONIT YOU REALLY 4)(WHY DON'T YOU ~)
(DO YOU WISH TO BE ABLE TO ~) (DOES THAT TROUBLE YOU))
((0 YOU FEEL 0) (TELL ME MORE ABOUT SUCH PEELINGS)
(DO YOU OFTEN FEEL ~)
(DO YOU ENJOY FEELING ~)
(OF WHAT DOES FEELING 4 REMIND YOU))
((0 YOU G I 0) (PERHAPS IN YOUR FANTASY WE 3 EACH OTHER)
(DO YOU WISH TO 3 ME)
(YOU SEEN TO NEED TO 3 ME)
(DO YOU 3 ANYONE ELSE))
Volume9 / Number l / January, 19h6
i/
i:(
NOT ) )
ES 3)
s
;7
966 ::
((o) (YOU SAY 1)
(CAN YOU ELABORATE ON THAT) (~0 Y~U SAY Z FOR SDME S~ECiAL REASON)
(TNATtS QUITE INTERESTING)))
(YOU = I ((0 I REWIND YOU OF O) (-DIT))
((O I ARE O) (WHAT MAKES YOU THINK i A~ h)
(OOES IT PLEASE YOU TO RELIEVE I A~: ~)
(DO YOU SOMETIMES WISH YOU WERE k)
(PERHAPS YOU WOUL0 LIKE TO BE ~))
((0 ! O YOU) (WHY DO YOU THINK I 3 YOU)
(YOU LIKE TO THINK I 3 YOU - DON'T YOU)
(WHAT MAKES YOU THINK I 3 YOU)
(REALLY, I 3 YOU) (DO YOU WISH TO RFLIEVF I 3 YOU)
(REALLY, I 3 YOU) (00 YOU WISH TO RELIEVE I
3
YOU)
(SUPPOSE I DID 3 YOU - WHAT WOULD THAT NEAt])
(DOES SOMEONE ELSE BELIEVE I 3 YOU))
((O
i
O) (WE WERE DISCUSSING YOU - FiOT ME)
(OH, I 3) (YOU'RE NOT REALLY TALKI~;G ABOUT ME - ARE YOU)
(WHAT ARE YOUR FEELINGS NOW)))
(YES ((0) (YOU SEEM QUITE POSITIVE) (YOU AqE SURE)
(! SEE)
(I
UNDERSTAND)))
(NO ((0) (ARE YOU SAYING 'NO' JUST TO BE NEGATIVE)
(YOU ARE BEING A BIT NEGATIVE) (WHY NOT) (WHY 'NO')))
(MY = YOUR 2 ((D YOUR 0 (/FAMILY) 0)
(TELL ME MORE ABOUT YOUR FAMILY) ( WHO ELSE IN YOUR FAMILY
5) (YOUR ~) (WHAT ELSE COMES TO MIND WHEN YOU THINK OF
YOUR ~))
((0 YOUR O) (YOUR 3) (WHY DO YOU SAY YOUR )) (DOES THAT
SUGGEST ANYTHING ELSE WHICH BELONGS TO YOU) (IS IT
IMPORTANT TO YOU THAT 2 3)))
(CAN
((0 CAN
I O)
(YOU BELIEVE
I CAN ~
DON'T YOU) (:WHAT)
(YOU WANT ME TO BE ABLE TO ~) (PERHAPS YOU WOULD LIKE TO BE
ABLE TO 4 YOURSELF)) ((0 CAN YOU 0) (WHETHER OR NOT YOU CAN
DEPENDS ON YOU MORE THAN ON ME) (DO YOU WANT TO BE ABLE TO ~)
(PERHAPS YOU DON'T WANT TO ~) (=WHAT)))
(WHAT ((O) (WHY DO YOU ASK) (DOES THAT QUESTION INTFRrST YOU)
(WHAT IS IT YOU REALLY WANT TO KNOW)
(ARE SUCH QUESTIONS MUCH ON YOUR MIND)
(WHAT ANSWER WOULD PLEASE YOU MOST)
(WHAT DO YOU THINK) (WHAT COMES TO YOUR MIND WHFN YOU ASK THAT)
(HAVE YOu ASKED SUCH QUESTION BEFORE)
(HAVE YOU ASKED ANYONE ELSE)))
(BECAUSE ((0) (IS THAT THE REAL REASON) (nON'T A~!Y OTHER RPASONS
COME TO HIND) (DOES THAT REASON SEEM TO EXPLAIN ANYTHING ELSE)
(WHAT OTHER REASONS MIGHT THERE BE)))
(WHY ((O WHY DON'T I 0) (DO YOU BELIEVE I DONIT 5) (PERHAPS I
WILL 5 IN GOOD TIME) (SHOULD YOU 5 YOURSELF) (YOU WANT ME TO 5)
(:WHAT))
(=WHAT))
((0 WHY CAN'T YOU O) (DO YOU THINK YOU SHOULD BE ABLE TO S)
(DO YOU WANT TO BE ABLE TO 5) (DO YOU BFLIFVE THIS WILL HELP YOU
TO 5) (HAVE YOU ANY IDEA WHY YOU CANfT 5) (=WHAT))
(= WHAT))
(EVERYONE
2 ((O
(* EVERYONE EVERYBODY NOBODY
NOONF) O )
(REALLY, 2) (SURELY NOT 2) (CAN YOU THINK OF
ANYONE IN PARTICULAR) (WHO, FOR EXAMPLE) (YOU ARE THINKINO
OF
A VERY SPECIAL PERSON)
(WHO, MAY I ASK) (SOMEONE
SPECIAL PERHAPS)
(YOU HAVE A PARTICULAR PERSON IN MINn, DON'T YOU) (WHO DO YOU
THINK YOU'RE TALKING
ABOUT)))
(EVERYBODY 2 (= EVERYONE))
(NOBODY 2 (=EVERYONE))
(NOONE 2 (:EVERYONE))
(ALWAYS I ((0) (CAN YOU THINK OF A SPECIFIC EXAMPLE) (WHEN)
(WHAT INCIDENT ARE YOU THINKING OF) (REALLY, ALWAYS)))
(LIKE 10 ((O (*AM IS ARE WAS) 0 LIKE O) (=DIT))
((0) (NEWKEY)) )
(DIT ((O) (IN WHAT WAY) (WHAT RESEMBLANCE DO YOU SEE)
(WHAT DOES THAT SIMILARITY SUGGEST TO YOU)
(WHAT OTHER CONNECTIONS DO YOU SEE)
(WHAT DO YOU SUPPOSE THAT RESEMBLANCE MEANS)
(WHAT IS THE CONNECTION, DO YOU SUPPOSE)
(COULD
THERE REALLY
BE SOME
CONNECTION)
(HOW)))
()
I=~ECEIVi.3D SEPTEMBER, 1965
Vohune 9 / Number 1 / January, 1966
LETTERS--continued
from p.
35
The ,echnique consists of translating the code for the letter
"O" to tim co<tc for the numeral O whenever it is eneomttered in the
input character string. If the "' " ~,rltlg conszsts ()lily of items stleh as
z~ulnbers and nanles and it is Ilecessary to sort alphabetically on
names, the occurrence of an alphabetic character within a name
field is used to cause the code for zero to be retranslated to the
c(,de fop *he letler "O" b>" a rescan of lhe characters in the name
field.
If no sorting is required, the retranslation can be avoided, pro-
vided that delimiters such as FORMAT or GO TO are spelled
with zero within the recognizer seglnent of a translator. It, is also
necessary to redefine identifier as
identifier) ::= (letter::- (identifier) (fetter3 i (identifier> (digit'., [
(0) (ident.ifier)
where it is understood that the letter "O" is removed from the
standard definition of letter as in ALGOL 60. The redefinition per-
mits the inclusion of identifiers such as 017)11) or COPS but prevents
the use of an identitier consisting only of the repeated inark O.
This technique requires consistency of use and might result in
chaos in a wat'ehousing operation in which tile letter "0" is used
ili parts labels with check digits.
L. RICH:~.RD TUaNER
/ ATASA Lewis Rcsvarch Cente:"
//:
/ CIeceland, Ohio
/
/
/
/
/
~ J
~-~mments on a Problem in
Concurrent
Programming
Control
Dear Editor :
I would like to cornment on Mr. Dijkstra's solution [Solution
of a problem in concurrent programming control.
Comm ACM 8
(Sept. 1965), 569] to a messy pr(~hlem that is hardly academic. We
are using it now on a multiple computer complex.
When there are only two computers, the algorithm may be
simplified to the following:
Boolean
array bE0; 1) integer k, i, j,
comment This is the program for computer i, which may he
tither 0 or 1, computer j ~ i is the other one, 1 or 0;
CO:
b (i)
:= false;
CI: if k ~- i then begin
C2: if not
b(j)
then go to C2;
elsek := i; go to C1 end;
else critical section;
b(i)
:= true;
remainder of program;
go to C0;
end
Mr. Dijkstra has come up with a clever solution to a really
practical problem.
HARRIS H Y$.[AN
Munitype
New York, New York
Communications of tile ACM
45

Discussion

The saying "to explain is to explain away" suggests that when we explain something, we may unintentionally diminish its significance or complexity. In this instance, Weizenbaum had been surprised by how people reacted to Eliza, attributing intelligence and even emotion to the program. He wanted to demystify the program by explaining its inner workings in plain language. Example of a content free remark: `I see` Weizenbaum called it ELIZA after the character Eliza Dolittle from George Bernard Shaw’s 1913 play Pygmalion. In Pygmalion, Eliza is a flower seller who is taught proper elocution by Professor Henry Higgins as part of a bet to prove that he can transform her from a common, uneducated person into a refined and cultured lady who can pass off as a duchess in high society. An adaptation of the play, the musical My Fair Lady, debuted in 1956, with the movie version hitting theaters in 1964. The fact that the "script is data" allowed for a high degree of flexibility and customization in the conversation. By separating the conversation script from the program itself, Weizenbaum made it possible to easily modify the conversation without having to change the underlying code. SLIP (Symmetric List Processor) is a list processing programming language created by Weizenbaum. You can find the SLIP Manual here: https://drive.google.com/file/d/1XtF7EM1KhwMPKsp5t6F0gwN-8LsNDPOl/view COMIT was the first string processing language developed. It was developed by Victor Yngve at MIT in the late 1950s. Yngve created the language for supporting research in the field of linguistics, and more specifically, the area of machine translation for natural language processing. The indefinite dollar sign ($) is a special symbol in Comit that represents a wildcard or placeholder value. It is used to match any value or expression of any type in a Comit program. Joseph Weizenbaum was a computer scientist and professor at MIT, best known for his groundbreaking work on artificial intelligence. He was born in Berlin in 1923 to Jewish parents and escaped Nazi Germany in 1936, immigrating with his family to the United States. After serving in the US Army Air Corps as a meteorologist, he resumed his studies and earned a B.S. in Mathematics in 1948 and an M.S. in 1950 from Wayne State University. Weizenbaum is known for his pioneering work on natural language processing and the development of one of the first chatbots - Eliza. Weizenbaum would eventually become a vocal critic of the ways in which technology can be used to dehumanize people. ![](https://i.imgur.com/JEBtepG.jpg) *Joseph Weizenbaum* The MAC (multiple-access computer) system was developed at MIT in the 1960s under the leadership of Professor Robert M. Fano. The system consisted of a large mainframe computer and a network of user terminals, which were connected via a time-sharing system that allowed multiple users to access the same computer simultaneously. It would become the most influential effort in timesharing, and was instrumental in the development of several important technologies and applications, including interactive graphics, natural language processing, and artificial intelligence.