Cover of the instruction manual for Eliza
The original ELIZA program was created by Dr. Joseph Weizenbaum. He described it in an article “ELIZA – A Computer Program For the Study of Natural Language Communication Between Man and Machine” that was published in the Communications of the ACM in January 1966:
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 sentences 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.
ELIZA supported different scripts for different types of conversations. The most famous script, which became synonymous with ELIZA, was DOCTOR1.
As Weizenbaum described in his 1976 book Computer Power and Human Reason:
For my first experiment, I gave ELIZA a script designed to permit it to play (I should really say parody) the role of a Rogerian psychotherapist engaged in an initial interview with a patient. The Rogerian psychotherapist is relatively easy to imitate because much of his technique consists of drawing his patient out by reflecting the patient’s statements back to him.
ELIZA was the first example of what is sometimes today called a “chatterbot.” By matching keywords and using transformation rules, ELIZA allowed a user to carry on a (seemingly) intelligent conversation with a computer. It foreshadowed future digital assistants such as Siri2, which appeared 45 years later. Weizenbaum was very surprised by the reaction to the program:
I was startled to see how quickly and how very deeply people conversing with DOCTOR became emotionally involved with the computer and how unequivocally they anthropomorphized it. Once my secretary, who had watched me work on the program for many months and therefore surely knew it to be merely a computer program, started conversing with it. After only a few interchanges with it, she asked me to leave the room.
Weizenbaum’s original ELIZA was written in SLIP (which stood for Symmetric LIst Processor), a language that he created. But the most common version of ELIZA was written by Bernie Cosell in LISP3. Cosell wrote his version based solely on the Communications of the ACM article, without having seen any of Weizenbaum’s SLIP code. Most people who experienced ELIZA actually saw Cosell’s version.3 As far as I know, the original SLIP code is lost today.
Another popular version was written in BASIC by Jeff Schrager in 1973. It was published in the July/August 1977 issue of Creative Computing. (This version is sometimes incorrectly credited to Steve North, who actually did the translation to Microsoft BASIC.) It also appeared in the book More BASIC Computer Games. Most other versions of ELIZA from around this time were derived from Schrager’s version.
The Radio Shack version of Eliza was written by Robert A. Arnstein, the author of many of Radio Shack’s other entertainment programs such as Invasion Force, Pyramid 2000, and Bedlam. It worked on a TRS‑80 Model I equipped with either Level I or Level II BASIC and later on the Model III. However, Eliza would only load on a cassette system and couldn’t easily be converted to disk.
The name Talking Eliza referred to the ability to speak responses through Radio Shack’s TRS‑80 Voice Synthesizer. The talking version was originally a separate program contained on the second side of the cassette. However, it appears to have later been integrated into the main program. Talking Eliza was far more limited than the non-talking version: it only had a limited number of responses and it couldn’t integrate anything typed from the keyboard into them. Still, having a computer talk was a real novelty at the time. As they said in the TRS‑80 Microcomputer News:
You may spend hours listening to Eliza discuss your keyboard inputs!
The Eliza manual, like many other early TRS‑80 manuals, was written by Harvey Gerst. It prominently credited Dr. Weizenbaum’s ELIZA as the original, unlike some other Eliza adaptations.
Arnstein wrote his Eliza in assembly language, but examining the messages within the program suggests that it was at least inspired by Jeff Schrager’s BASIC version. It is a very advanced ELIZA implementation and under the right circumstances, Eliza’s responses can seem as though she is actually following your conversation. One unique feature is that Eliza responds to profanity with scolding messages such as “CUSSING WILL GET YOU NOWHERE” and “I AM OFFENDED BY YOUR VILE TONGUE!”
Exiting the program by typing GOODBYE displays a “psychological evaluation.” These evaluations appear to be random, ranging from the mild “AS BEST I CAN DETERMINE, YOU HAVE NO PSYCHOLOGICAL PROBLEMS BESIDES A NORMAL AMOUNT OF PARANOIA” to the more alarming “I’M AFRAID THAT I MUST CONCLUDE THAT YOU ARE DANGEROUSLY PSYCHOTIC AND SHOULD BE LOCKED UP.” (A review in 80 Microcomputing suggested that Eliza should come with a warning label because of those evaluations and stated “This program can be dangerous to your mental health.”)
The Eliza manual ended with these words:
Please keep in mind that Eliza is a “simulation” of Artifical Intelligence. We do not believe that she is really capable of any independent thought, so we strongly advise against taking any of her comments seriously — especially her evaluations.
She is what she is — Eliza — no more, and no less. Enjoy her company.
- It’s not clear what scripts existed other than DOCTOR. Weizenbaum’s original article only referred to scripts supporting Welsh and German. Bernie Cosell’s ELIZA only implemented DOCTOR, and DOCTOR and ELIZA became interchangeable. ↩
- Asking Siri about Eliza will generate the response: “Eliza is my good friend. She was a brilliant psychiatrist, but she’s retired now.” ↩
- In fact, many histories say that Weizenbaum wrote the original ELIZA in LISP, not SLIP. (The fact that LISP and SLIP share the same letters probably doesn’t help with the confusion.) ↩ ↩