ELIZA is a computer program by Joseph Weizenbaum, designed in 1966, which parodied a Rogerian therapist, largely by rephrasing many of the patient's statements as questions and posing them to the patient. Thus, for example, the response to "My head hurts" might be "Why do you say your head hurts?" The response to "My mother hates me" might be "Who else in your family hates you?" ELIZA was named after Eliza Doolittle, a working-class character in George Bernard Shaw's play Pygmalion, who is taught to speak with an upper class accent.
Weizenbaum said that ELIZA provided a "parody
" of "the responses of a non-directional psychotherapist in an initial psychiatric interview." He chose the context of psychotherapy to "sidestep the problem of giving the program a data base of real-world knowledge", the therapeutic situation being one of the few real human situations in which a human being can reply to a statement with a question that indicates very little specific knowledge of the topic under discussion. For example, it is a context in which the question "Who is your favorite composer?" can be answered acceptably with responses such as "What about your own favorite composer?" or "Does that question interest you?"
First implemented in Weizenbaum's own SLIP list-processing language, ELIZA worked by simple parsing and substitution of key words into canned phrases. Depending upon the initial entries by the user the illusion of a human writer could be instantly dispelled, or could continue through several interchanges. It was sometimes so convincing that there are many anecdotes about people becoming very emotionally caught up in dealing with ELIZA for several minutes until the machine's true lack of understanding became apparent. This was likely due to people's tendency to attach meanings to words which the computer never put there.
In 1966, interactive computing (via a teletype) was new. It was 15 years before the personal computer became familiar to the general public, and two decades before most people encountered attempts at natural language processing in Internet services like Ask.com or PC help systems such as Microsoft Office Clippy. Although those programs included years of research and work, ELIZA remains a milestone simply because it was the first time a programmer had attempted such a human-machine interaction with the goal of creating the illusion (however brief) of human-human interaction.
In the article "theNewMediaReader" an excerpt from "From Computer Power and Human Reason" by Joseph Weizenbaum in 1976, edited by Noah Wardrip-Fruin and Nick Montfort he references how quickly and deeply people became emotionally involved with the computer program, taking offence when he asked to view the transcripts, saying it was an invasion of their privacy, even asking him to leave the room while they were working with ELIZA.
Influence on games
ELIZA impacted a number of early computer games
by demonstrating additional kinds of interface designs
. Don Daglow
wrote an enhanced version of the program called Ecala
on a PDP-10 mainframe computer
at Pomona College
before writing what was possibly the second or third computer role-playing game
) (The first was probably "dnd
", written on and for the PLATO system
in 1974, and the second may have been Moria
, written in 1975). It is likely that ELIZA
was also on the system where Will Crowther
, the 1975 game that spawned the interactive fiction
genre. But both these games appeared some nine years after the original ELIZA
Response and legacy
Lay responses to ELIZA were disturbing to Weizenbaum and motivated him to write his book Computer Power and Human Reason: From Judgment to Calculation
, in which he explains the limits of computers, as he wants to make clear in people's minds his opinion that the anthropomorphic views of computers are just a reduction of the human being and any life form for that matter.
There are many programs based on ELIZA in different languages. For example, in 1980, a company called "Don't Ask Software", founded by Randy Simon, created a version for the Apple II, Atari, and Commodore PCs, which verbally abused the user based on the user's input. In Spain, Jordi Perez developed the famous ZEBAL in 1993, written in Clipper for MS-DOS. Other versions adapted ELIZA around a religious theme, such as ones featuring Jesus (both serious and comedic) and another Apple II variant called I Am Buddha. The 1980 game The Prisoner incorporated ELIZA-style interaction within its gameplay.
- A complete and faithful online implementation by Charles Heayden of the program described by Weizenbaum http://www.chayden.net/eliza/Eliza.html
- Source code in Java: http://chayden.net/eliza/Eliza.html
- Another Java-implementation of ELIZA: http://www.wedesoft.demon.co.uk/eliza/
- Using C on the TI-89: http://kaikostack.com/ti89_en.htm#eliza
- Using z80 Assembly on the TI-83 Plus: http://www.ticalc.org/archives/files/fileinfo/354/35463.html
- A perl module Chatbot::Eliza — example implementation
- Trans-Tex Software has released shareware versions for Classic Mac OS and Mac OS X: http://www.tex-edit.com/index.html#Eliza
doctor.el (circa 1985) in Emacs.
- Source code in Tcl: http://wiki.tcl.tk/9235
- The Indy Delphi oriented TCP/IP components suite has an Eliza implementation as demo.
- Pop-11 Eliza in the poplog system. Goes back to about 1976, when it was used for teaching AI at Sussex University. Now part of the free open source Poplog system.
- Source code in BASIC: http://www.atariarchives.org/bigcomputergames/showpage.php?page=22
- ECC-Eliza for Windows (actual program is for DOS, but unpacker is for Windows) (rename .txt to .exe before running): http://www5.domaindlx.com/ecceliza1/ecceliza.txt. More recent version at http://web.archive.org/web/20041117123025/http://www5.domaindlx.com/ecceliza1/ecceliza.txt.