Jump to content

ELIZA: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
made it better
Tags: possible vandalism blanking
m Reverting possible vandalism by 67.6.193.141 to version by Waggie. Report False Positive? Thanks, ClueBot NG. (3066110) (Bot)
Line 1: Line 1:
{{Other uses}}
weffew
{{Multiple issues|
{{external links|date=June 2016}}
{{More footnotes|article|date=January 2009}}
}}
[[File:GNU Emacs ELIZA example.png|thumb|'''M-x doctor''' mode, an Eliza clone running in [[GNU Emacs]]]]
'''ELIZA''' is an early [[natural language processing]] [[computer program]] created from 1964 to 1966<ref name="turing">{{Cite web|title = Alan Turing at 100|url = http://news.harvard.edu/gazette/story/2012/09/alan-turing-at-100/|website = Harvard Gazette|access-date = 2016-02-22}}</ref> at the [[MIT Computer Science and Artificial Intelligence Laboratory|MIT Artificial Intelligence Laboratory]] by [[Joseph Weizenbaum]].<ref name=":0">{{Cite book|title=Computer Power and Human Reason: From Judgment to Calculation|last=Weizenbaum|first=Joseph|publisher=W.H. Freeman and Company|year=1976|isbn=0-7167-0464-1|location=New York|pages=2,3,6,182,189|via=}}</ref> Created to demonstrate the superficiality of communication between man and machine, Eliza simulated conversation by using a '[[pattern matching]]' and substitution methodology that gave users an illusion of understanding on the part of the program, but had no built in framework for contextualizing events.<ref name=":2">{{Cite book|title=Paradigms of Artificial Intelligence Programming|last=Norvig|first=Peter|publisher=Morgan Kaufmann Publishers|year=1992|isbn=1-55860-191-0|location=New York|pages=151–154|via=}}</ref> Directives on how to interact were provided by 'scripts', written originally in [[SLIP (programming language)|MAD-Slip]], which allowed ELIZA to process user inputs and engage in discourse following the rules and directions of the script. The most famous script, DOCTOR, simulated a [[Rogerian psychotherapy|Rogerian psychotherapist]] and used rules, dictated in the script, to respond with non-directional questions to user inputs. As such, ELIZA was one of the first [[chatterbot]]s, but was also regarded as one of the first programs capable of passing the [[Turing Test]].

ELIZA's creator, Weizenbaum regarded the program as a method to show the superficiality of communication between man and machine, but was surprised by the number of individuals who attributed human-like feelings to the computer program, including Weizenbaum’s secretary.<ref name=":0" /> Many academics believed that the program would be able to positively influence the lives of many people, particularly those suffering from psychological issues and that it could aid doctors working on such patients’ treatment.<ref name=":0" /><ref>{{cite journal |doi=10.1097/00005053-196602000-00005 |pmid=5936301 |title=A Computer Method of Psychotherapy |journal=The Journal of Nervous and Mental Disease |volume=142 |issue=2 |pages=148–52 |year=1966 |last1=Colby |first1=Kenneth Mark |last2=Watt |first2=James B. |last3=Gilbert |first3=John P. }}</ref> While ELIZA was capable of engaging in discourse, ELIZA could not converse with true understanding.<ref name=":3">{{cite journal |doi=10.1016/j.chb.2016.01.004 |title=Can machines talk? Comparison of Eliza with modern dialogue systems |journal=Computers in Human Behavior |volume=58 |pages=278–95 |year=2016 |last1=Shah |first1=Huma |last2=Warwick |first2=Kevin |last3=Vallverdú |first3=Jordi |last4=Wu |first4=Defeng }}</ref> However, many early users were convinced of ELIZA’s intelligence and understanding, despite Weizenbaum’s insistence to the contrary.

==Overview==
[[Joseph Weizenbaum]]’s ELIZA, running the DOCTOR script, was created to provide a ‘[[parody]]’ of “the responses of a non-directional psychotherapist in an initial psychiatric interview”<ref name=":1">{{cite journal |doi=10.1145/365153.365168 |title=ELIZA—a computer program for the study of natural language communication between man and machine |journal=Communications of the ACM |volume=9 |pages=36–45 |year=1966 |last1=Weizenbaum |first1=Joseph }}</ref>{{Failed verification|date=December 2016}} and to “demonstrate that the communication between man and machine was superficial”.<ref>{{cite journal |doi=10.1016/S0747-5632(01)00004-8 |title=From Eliza to Internet: A brief history of computerized assessment |journal=Computers in Human Behavior |volume=17 |issue=3 |pages=295–314 |year=2001 |last1=Epstein |first1=J |last2=Klinkenberg |first2=W.D }}</ref> While ELIZA is most well known for acting in the manner of a psychotherapist, this mannerism is due to the data and instructions supplied by the DOCTOR script.<ref name=":4">{{cite journal |doi=10.1162/leon.2007.40.1.31 |jstor=20206337 |title=ELIZA REDUX: A Mutable Iteration |journal=Leonardo |volume=40 |pages=31–6 |year=2007 |last1=Wortzel |first1=Adrianne }}</ref> ELIZA itself examined the text for keywords, applied values to said keywords, and transformed the input into an output; the script that ELIZA ran determined the keywords, set the values of keywords, and set the rules of transformation for the output.<ref name=":1" /> Weizenbaum chose to make the DOCTOR script in the context of psychotherapy to “sidestep the problem of giving the program a data base of real-world knowledge,”<ref name=":0" /> as in a Rogerian therapeutic situation, the program had only to reflect back the patient’s statements.<ref name=":0" /> The algorithms of DOCTOR allowed for a deceptively intelligent response, that deceived many individuals when first using the program.<ref name=":5">{{Cite book|title=Expressive Processing: Digital Fictions, Computer Games, and Software Studies|last=Wardip-Fruin|first=Noah|publisher=The MIT Press|year=1976|isbn=9780262013437|location=Cambridge|page=33|via=eBook Collection (EBSCOhost)}}</ref>

Weizenbaum named his program ELIZA after [[Eliza Doolittle]], a working-class character in [[George Bernard Shaw]]’s ''[[Pygmalion (play)|Pygmalion]]''. According to Weizenbaum, ELIZA’s ability to be “incrementally improved” by various users made it similar to Eliza Doolittle,<ref name=":1"/> since Eliza Doolittle was taught to speak with an [[upper-class]] [[Accent (dialect)|accent]] in Shaw’s play.<ref name="weizenbaumobit">{{Citation|last=Markoff|first=John|title=Joseph Weizenbaum, Famed Programmer, Is Dead at 85|date=2008-03-13|url=https://www.nytimes.com/2008/03/13/world/europe/13weizenbaum.html|authorlink=John Markoff|work=[[The New York Times]]|accessdate=2009-01-07}}</ref> However, unlike in Shaw’s play, ELIZA is incapable of learning new patterns of speech or new words through interaction alone. Edits must be made directly to ELIZA’s active script in order to change the manner by which the program operates.

Weizenbaum first implemented ELIZA in his own [[SLIP (programming language)|SLIP]] list-processing language, where, depending upon the initial entries by the user, the illusion of human intelligence could appear, or be dispelled through several interchanges. Some of ELIZA’s responses were so convincing that Weizenbaum and several others have anecdotes of users becoming emotionally attached to the program, occasionally forgetting that they were conversing with a computer.<ref name=":0" /> Weizenbaum’s own secretary reportedly asked Weizenbaum to leave the room so that she and ELIZA could have a real conversation. Weizenbaum was surprised by this, later writing, “I had not realized… that extremely short exposures to a relatively simple computer program could induce powerful delusional thinking in quite normal people.”<ref name="Weizenbaum1">{{cite book|title=Computer power and human reason: from judgment to calculation|last=Weizenbaum|first=Joseph|publisher=W. H. Freeman|year=1976|page=7}}</ref>

In 1966, interactive computing (via a teletype) was new. It was 15 years before the personal computer became familiar to the general public, and three decades before most people encountered attempts at [[natural language processing]] in Internet services like [[Ask.com]] or PC help systems such as Microsoft Office [[Office Assistant|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.{{Citation needed|date=June 2013}}

At the [[International Conference on Computer Communications|ICCC 1972]] ELIZA met another early artificial intelligence program named [[PARRY]] and had the first computer only conversation. While ELIZA was built to be a "Doctor" PARRY was intended to simulate a patient with [[schizophrenia]].<ref name="PerryElizaAtlantic">{{cite web|last1=Megan|first1=Garber|title=When PARRY Met ELIZA: A Ridiculous Chatbot Conversation From 1972|url=https://www.theatlantic.com/technology/archive/2014/06/when-parry-met-eliza-a-ridiculous-chatbot-conversation-from-1972/372428/|publisher=The Atlantic|accessdate=19 January 2017|archiveurl=https://web.archive.org/web/20170118165304/http://www.theatlantic.com/technology/archive/2014/06/when-parry-met-eliza-a-ridiculous-chatbot-conversation-from-1972/372428/|archivedate=2017-01-18|dead-url=no|date=Jun 9, 2014}}</ref>

==Design==

Weizenbaum originally wrote ELIZA in MAD-Slip for the IBM 7094, as a program to make natural language conversation possible with a computer. To accomplish this, Weizenbaum identified five “fundamental technical problems” for ELIZA to overcome: the identification of critical words, the discovery of a minimal context, the choice of appropriate transformations, the generation of responses appropriate to the transformation or in the absence of critical words and the provision of an ending capacity for ELIZA scripts.<ref name=":1" /> Weizenbaum solved these problems in her ELIZA program and made ELIZA such that it had no built in contextual framework or universe of discourse.<ref name=":4" /> However, this required ELIZA to have a script of instructions on how to respond to inputs from users.

ELIZA starts its process of responding to an input by a user by first examining the text input for a ‘keyword’. A ‘keyword’ is a word designated as important by the acting ELIZA script, which assigns to each keyword a precedence number, or a RANK, designed by the programmer.<ref name=":3" /> If such words are found, they are put into a ‘keystack’, with the keyword of the highest RANK at the top. The input sentence is then manipulated and transformed as the rule associated with the keyword of the highest RANK directs.<ref name=":1" /> For example, when the DOCTOR script encounters words such as “alike” or “same”, it would output a message pertaining to similarity, in this case “In what way?”,<ref name=":2" /> as these words had high precedence number. This also demonstrates how certain words, as dictated by the script, can be manipulated regardless of contextual considerations, such as switching first-person pronouns and second-person pronouns and vice versa, as these too had high precedence numbers. Such words with high precedence numbers are deemed superior to conversational patterns, and are treated independently of contextual patterns.

Following the first examination, the next step of the process is to apply an appropriate transformation rule, which includes two parts, the “decomposition rule” and the “reassembly rule”.<ref name=":1" /> First, the input is reviewed for syntactical patterns in order to establish the minimal context necessary to respond. Using the keywords and other nearby words from the input, different disassembly rules are tested until an appropriate pattern is found. Using the script’s rules, the sentence is then ‘dismantled’ and arranged into sections of the component parts as the “decomposition rule for the highest ranking keyword” dictates. The example that Weizenbaum gives is the input “I are very helpful” (remembering that “I” is “You” transformed), which is broken into (1) empty (2) I (3) are (4) very helpful. The decomposition rule has broken the phrase into four small segments, that contain both the keywords and the information in the sentence.<ref name=":1" />

The decomposition rule then designates a particular reassembly rule, or set of reassembly rules, to follow when reconstructing the sentence. The reassembly rule then takes the fragments of the input that the decomposition rule had created, rearranges them, and adds in programmed words to create a response. Using Weizenbaum’s example previously stated, such a reassembly rule would take the fragments and apply them to the phrase “What makes you think I am (4)” which would result in “What makes you think I am very helpful”. This example is rather simple, since depending upon the disassembly rule, the output could be significantly more complex and use more of the input from the user. However, from this reassembly, ELIZA then sends the constructed sentence to the user in the form of text on the screen.<ref name=":1" />

These steps represent the bulk of the procedures which ELIZA follows in order to create a response from a typical input, though there are several specialized situations that ELIZA/DOCTOR can respond to. One Weizenbaum specifically wrote about was when there is not a keyword. One solution was to have ELIZA respond with a remark that lacked content, such as “I see” or “Please go on.”.<ref name=":1" /> The second method was to use a “MEMORY” structure, which recorded prior recent inputs, and would use these inputs to create a response referencing a part of the earlier conversation when encountered with no keywords.<ref name=":5" /> This was possible due to Slip’s ability to tag words for other usage, which simultaneously allowed ELIZA to examine, store and repurpose words for usage in outputs.<ref name=":1" />

While these functions were all framed in ELIZA’s programming, the exact manner by which the program dismantled, examined, and reassembled inputs is determined by the operating script. However, the script is not static, and can be edited, or a new one created, as is necessary for the operation in the context needed (thus how ELIZA can “learn” new information). This also allows the program to be applied in multiple situations, including the well-known DOCTOR script, which simulates a Rogerian psychotherapist, but also a script called “STUDENT”, which is capable of taking in logical analysis parameters and using it to give the answers to problems of related logic.<ref>{{cite journal |doi=10.1016/S0020-7373(77)80016-3 |title=A response to Donald Michie |journal=International Journal of Man-Machine Studies |volume=9 |issue=4 |pages=503–5 |year=1977 |last1=Weizenbaum |first1=J. }}</ref>

==Significant implementations==
Weizenbaum's original [[MAD (programming language)|MAD]]-[[SLIP (programming language)|SLIP]] implementation was re-written in [[Lisp (programming language)|Lisp]] by Bernie Cosell.<ref>[http://www.codersatwork.com/bernie-cosell.html Coders at Work: Bernie Cosell]</ref><ref>[http://elizagen.org/index.html The Genealogy of Eliza]</ref> A [[BASIC]] version appeared in [[Creative Computing]] in 1977 (although it was written in 1973 by Jeff Shrager).<ref>[http://www.atariarchives.org/bigcomputergames/showpage.php?page=20 Big Computer Games: Eliza - Your own psychotherapist] at www.atariarchives.org</ref> This version, which was ported to many of the earliest personal computers, appears to have been subsequently translated into many other versions in many other languages.

Another version of Eliza popular among software engineers is the version that comes with the default release of [[GNU Emacs]], and which can be accessed by typing <code>[[Meta key|M]]-x doctor</code> from most modern emacs implementations.

==Influence on games==
ELIZA influenced a number of early [[computer games]] by demonstrating additional kinds of [[interface design]]s. [[Don Daglow]] wrote an enhanced version of the program called ''[[Ecala]]'' on a [[DEC PDP-10]] [[minicomputer]] at [[Pomona College]] in 1973 before writing the computer [[role-playing game]], ''[[Dungeon (computer game)|Dungeon]]'' (1975).

==Response and legacy==
Lay responses to ELIZA were disturbing to Weizenbaum and motivated him to write his book ''[[Computer Power and Human Reason|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. In the independent documentary film ''[[Plug & Pray]]'' (2010) Weizenbaum said that only people who misunderstood ELIZA called it a sensation.<ref>[http://www.plugandpray-film.de/en/content.html ''Plug & Pray''], documentary film featuring Joseph Weizenbaum and [[Ray Kurzweil]]</ref>

The [[Israel]]i poet [[David Avidan]], who was fascinated with future technologies and their relation to art, desired to explore the use of computers for writing literature. He conducted several conversations with an [[APL (programming language)|APL]] implementation of ELIZA and published them – in English, and in his own translation to [[Hebrew]] – under the title ''My Electronic Psychiatrist – Eight Authentic Talks with a Computer''. In the foreword he presented it as a form of [[constrained writing]].<ref>{{Citation|last=Avidan|first=David|title=Collected Poems|volume=3|year=2010|publisher=Hakibbutz Hameuchad|location=Jerusalem|oclc=804664009}}</ref>

There are many programs based on ELIZA in different programming languages. In 1980 a company called "Don't Ask Software" created a version called "[[Abuse (chatterbot)|Abuse]]" for the [[Apple II]], [[Atari 8-bit family|Atari]], and [[Commodore 64]] computers, which verbally abused the user based on the user's input.<ref name="abusereview">{{Citation | last = Davidson | first = Steve | title = Abuse | newspaper = Electronic Games | date = January 1983 | volume = 1 | issue = 11 | url = http://www.atarimania.com/magazine_review.awp?id=86 | format = }}</ref> 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 (computer game)|The Prisoner]]'' incorporated ELIZA-style interaction within its gameplay. [[George Lucas]] and [[Walter Murch]] incorporated an Eliza-like dialogue interface in their screenplay for the feature film ''[[THX-1138]]'' in 1969. Inhabitants of the underground future world of THX would retreat to "confession booths" when stressed, and initiate a one-sided Eliza-formula conversation with a Jesus-faced computer who claimed to be "Omm". In 1988 the British artist and friend of Weizenbaum [[Brian Reffin Smith]] created and showed at the exhibition 'Salamandre', in the Musée du Berry, [[Bourges]], France, two art-oriented ELIZA-style programs written in [[BASIC]], one called 'Critic' and the other 'Artist', running on two separate [[Amiga 1000]] computers. The visitor was supposed to help them converse by typing in to 'Artist' what 'Critic' said, and vice versa. The secret was that the two programs were identical. [[GNU Emacs]] formerly had a <code>psychoanalyze-pinhead</code> [[Command (computing)|command]] that simulates a session between ELIZA and [[Zippy the Pinhead]].<ref>{{cite web|url=http://www.ibm.com/developerworks/ibm/library/lol/pinhead.html|title=lol:> psychoanalyze-pinhead}}</ref> The Zippyisms were removed due to copyright issues, but the DOCTOR program remains.

ELIZA has been referenced in popular culture and continues to be a source of inspiration for programmers and developers focused on Artificial Intelligence. It was also featured in a 2012 exhibit at [[Harvard University]] titled "Go Ask A.L.I.C.E", as part of a celebration of mathematician [[Alan Turing]]'s 100th birthday. The exhibit explores Turing's lifelong fascination with the interaction between man and computer, pointing to ELIZA as one of the earliest realizations of Turing's ideas.<ref name=turing/>

==Partial list of implementations==
* Using [[Java (programming language)|Java]], and based very closely on Weizenbaum's published description of the program: [http://www.chayden.net/eliza/Eliza.html Eliza]
* Using [[Zilog Z80#Z80 assembly language|Z80 assembly language]] on the [[TI-83#TI-83 Plus|TI-83 Plus]]: [http://www.ticalc.org/archives/files/fileinfo/354/35463.html ticalc.org]
{{Computing_platform requirements| OS_name=TI-83&4 series| CPU_name=Zilog Z80| this_software_genre=games}}
* Trans-Tex Software has released [[shareware]] versions for Classic Mac OS and {{nowrap|Mac OS X}}<ref>[http://www.tex-edit.com/index.html#Eliza Trans-Tex Software]</ref>
* <code>doctor.el</code> (circa 1985) in [[Emacs lisp]]: [http://www.cs.cmu.edu/Groups/AI/areas/classics/eliza/emacs/doctor.el http://www.cs.cmu.edu/Groups/AI/areas/classics/eliza/emacs/doctor.el]. [http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/play/doctor.el Current version].
* Source code in [[Tcl]]: [http://wiki.tcl.tk/9235 http://wiki.tcl.tk/9235]
* Source code in [[BASIC]]: http://www.atariarchives.org/bigcomputergames/showpage.php?page=20
* Used in AGT: Automatic Goblin Therapist: [http://www.wowinterface.com/downloads/fileinfo.php?id=9780#info ''[[World of Warcraft]]'' add-on]
* Written in [[TDBS]] for the Kakadu Konnection BBS in Darwin Australia and widely distributed to other [[The Bread Board System|TBBS]] [[bulletin boards]] in 1989.
* Source code in [[Guile Scheme]]: [https://github.com/apgwoz/chatter chatter]
* Lisp reimplementation (apparently based on the Apple II Basic version)[http://jeffshrager.org/llisp/26.html jeffshrager.org]
* online [[Prolog]] demo complete with source code [http://www.lpa.co.uk/pws_dem4.htm pws_dem4]
* [[JavaScript]] implementation: [http://www.masswerk.at/elizabot/ elizabot]
* Editing source code, Darius Steighler brings a new version of Eliza.<ref>[http://www.kurehumanite.com/ELIS/ ELIS]</ref>
* Perl CPAN Module [http://search.cpan.org/dist/Chatbot-Eliza/lib/Chatbot/Eliza.pm Chatbot::Eliza]
* Python Eliza implementation: [http://www.jezuk.co.uk/cgi-bin/view/software/eliza eliza]
* Go library: [https://github.com/necrophonic/go-eliza go-eliza]
* Google Home ("includes code from [http://www.masswerk.at/elizabot/ elizabot]"). Video of Eliza talking to Eliza on Google Home - https://www.youtube.com/watch?v=Rk7QQfifov4

==See also==
* [[List of chatterbots]]
* [[ELIZA effect]]

==Notes==
{{reflist|30em}}

==References==
* {{McCorduck 2004}}
* {{Citation | last = Weizenbaum | first = Joseph | authorlink = Joseph Weizenbaum | year = 1976 | title = [[Computer Power and Human Reason|Computer power and human reason: from judgment to calculation]] | isbn = 0-7167-0463-3 | publisher = [[W.H. Freeman|W. H. Freeman and Company]]}}
* {{Citation | last = Whitby | first = Blay | authorlink = Blay Whitby | year = 1996 | contribution = The Turing Test: AI's Biggest Blind Alley? | title = Machines and Thought: The Legacy of Alan Turing | volume = 1 | editor = Millican, Peter |editor2=Clark, Andy | publisher = [[Oxford University Press]] | pages = 53–62 | isbn = 0-19-823876-2 | url=http://www.cogs.susx.ac.uk/users/blayw/tt.html}}
* {{FOLDOC}}
* Norvig, Peter. ''Paradigms of Artificial Intelligence Programming.'' (San Francisco: Morgan Kaufmann Publishers, 1992), 151-154, 159, 163-169, 175, 181. {{ISBN|1-55860-191-0}}.
* Wardip-Fruin, Noah. ''Expressing Processing: Digital Fictions, Computer Games, and Software Studies.'' (Cumberland: MIT Press, 2014), 24-36. {{ISBN|9780262517539}}.

==External links==
* [http://elizagen.org/index.html A page dedicated to the genealogy of Eliza programs.]
* [http://www.stanford.edu/group/SHR/4-2/text/dialogues.html dialogues with colorful personalities of early AI], a collection of dialogues between ELIZA and various conversants, such as a company vice president and [[PARRY]] (a simulation of a paranoid schizophrenic)
* [http://www.ilmarefilm.org/archive/weizenbaum_archiv_E.html Weizenbaum. Rebel at work] – Peter Haas, Silvia Holzinger, Documentary film with Joseph Weizenbaum and ELIZA.

{{DEFAULTSORT:Eliza}}
[[Category:History of artificial intelligence]]
[[Category:Chatterbots]]
[[Category:Health software]]
[[Category:Psychotherapy]]
[[Category:Video games with available source code]]
[[Category:Public-domain software with source code]]

Revision as of 04:58, 17 June 2017

M-x doctor mode, an Eliza clone running in GNU Emacs

ELIZA is an early natural language processing computer program created from 1964 to 1966[1] at the MIT Artificial Intelligence Laboratory by Joseph Weizenbaum.[2] Created to demonstrate the superficiality of communication between man and machine, Eliza simulated conversation by using a 'pattern matching' and substitution methodology that gave users an illusion of understanding on the part of the program, but had no built in framework for contextualizing events.[3] Directives on how to interact were provided by 'scripts', written originally in MAD-Slip, which allowed ELIZA to process user inputs and engage in discourse following the rules and directions of the script. The most famous script, DOCTOR, simulated a Rogerian psychotherapist and used rules, dictated in the script, to respond with non-directional questions to user inputs. As such, ELIZA was one of the first chatterbots, but was also regarded as one of the first programs capable of passing the Turing Test.

ELIZA's creator, Weizenbaum regarded the program as a method to show the superficiality of communication between man and machine, but was surprised by the number of individuals who attributed human-like feelings to the computer program, including Weizenbaum’s secretary.[2] Many academics believed that the program would be able to positively influence the lives of many people, particularly those suffering from psychological issues and that it could aid doctors working on such patients’ treatment.[2][4] While ELIZA was capable of engaging in discourse, ELIZA could not converse with true understanding.[5] However, many early users were convinced of ELIZA’s intelligence and understanding, despite Weizenbaum’s insistence to the contrary.

Overview

Joseph Weizenbaum’s ELIZA, running the DOCTOR script, was created to provide a ‘parody’ of “the responses of a non-directional psychotherapist in an initial psychiatric interview”[6][failed verification] and to “demonstrate that the communication between man and machine was superficial”.[7] While ELIZA is most well known for acting in the manner of a psychotherapist, this mannerism is due to the data and instructions supplied by the DOCTOR script.[8] ELIZA itself examined the text for keywords, applied values to said keywords, and transformed the input into an output; the script that ELIZA ran determined the keywords, set the values of keywords, and set the rules of transformation for the output.[6] Weizenbaum chose to make the DOCTOR script in the context of psychotherapy to “sidestep the problem of giving the program a data base of real-world knowledge,”[2] as in a Rogerian therapeutic situation, the program had only to reflect back the patient’s statements.[2] The algorithms of DOCTOR allowed for a deceptively intelligent response, that deceived many individuals when first using the program.[9]

Weizenbaum named his program ELIZA after Eliza Doolittle, a working-class character in George Bernard Shaw’s Pygmalion. According to Weizenbaum, ELIZA’s ability to be “incrementally improved” by various users made it similar to Eliza Doolittle,[6] since Eliza Doolittle was taught to speak with an upper-class accent in Shaw’s play.[10] However, unlike in Shaw’s play, ELIZA is incapable of learning new patterns of speech or new words through interaction alone. Edits must be made directly to ELIZA’s active script in order to change the manner by which the program operates.

Weizenbaum first implemented ELIZA in his own SLIP list-processing language, where, depending upon the initial entries by the user, the illusion of human intelligence could appear, or be dispelled through several interchanges. Some of ELIZA’s responses were so convincing that Weizenbaum and several others have anecdotes of users becoming emotionally attached to the program, occasionally forgetting that they were conversing with a computer.[2] Weizenbaum’s own secretary reportedly asked Weizenbaum to leave the room so that she and ELIZA could have a real conversation. Weizenbaum was surprised by this, later writing, “I had not realized… that extremely short exposures to a relatively simple computer program could induce powerful delusional thinking in quite normal people.”[11]

In 1966, interactive computing (via a teletype) was new. It was 15 years before the personal computer became familiar to the general public, and three 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.[citation needed]

At the ICCC 1972 ELIZA met another early artificial intelligence program named PARRY and had the first computer only conversation. While ELIZA was built to be a "Doctor" PARRY was intended to simulate a patient with schizophrenia.[12]

Design

Weizenbaum originally wrote ELIZA in MAD-Slip for the IBM 7094, as a program to make natural language conversation possible with a computer. To accomplish this, Weizenbaum identified five “fundamental technical problems” for ELIZA to overcome: the identification of critical words, the discovery of a minimal context, the choice of appropriate transformations, the generation of responses appropriate to the transformation or in the absence of critical words and the provision of an ending capacity for ELIZA scripts.[6] Weizenbaum solved these problems in her ELIZA program and made ELIZA such that it had no built in contextual framework or universe of discourse.[8] However, this required ELIZA to have a script of instructions on how to respond to inputs from users.

ELIZA starts its process of responding to an input by a user by first examining the text input for a ‘keyword’. A ‘keyword’ is a word designated as important by the acting ELIZA script, which assigns to each keyword a precedence number, or a RANK, designed by the programmer.[5] If such words are found, they are put into a ‘keystack’, with the keyword of the highest RANK at the top. The input sentence is then manipulated and transformed as the rule associated with the keyword of the highest RANK directs.[6] For example, when the DOCTOR script encounters words such as “alike” or “same”, it would output a message pertaining to similarity, in this case “In what way?”,[3] as these words had high precedence number. This also demonstrates how certain words, as dictated by the script, can be manipulated regardless of contextual considerations, such as switching first-person pronouns and second-person pronouns and vice versa, as these too had high precedence numbers. Such words with high precedence numbers are deemed superior to conversational patterns, and are treated independently of contextual patterns.

Following the first examination, the next step of the process is to apply an appropriate transformation rule, which includes two parts, the “decomposition rule” and the “reassembly rule”.[6] First, the input is reviewed for syntactical patterns in order to establish the minimal context necessary to respond. Using the keywords and other nearby words from the input, different disassembly rules are tested until an appropriate pattern is found. Using the script’s rules, the sentence is then ‘dismantled’ and arranged into sections of the component parts as the “decomposition rule for the highest ranking keyword” dictates. The example that Weizenbaum gives is the input “I are very helpful” (remembering that “I” is “You” transformed), which is broken into (1) empty (2) I (3) are (4) very helpful. The decomposition rule has broken the phrase into four small segments, that contain both the keywords and the information in the sentence.[6]

The decomposition rule then designates a particular reassembly rule, or set of reassembly rules, to follow when reconstructing the sentence. The reassembly rule then takes the fragments of the input that the decomposition rule had created, rearranges them, and adds in programmed words to create a response. Using Weizenbaum’s example previously stated, such a reassembly rule would take the fragments and apply them to the phrase “What makes you think I am (4)” which would result in “What makes you think I am very helpful”. This example is rather simple, since depending upon the disassembly rule, the output could be significantly more complex and use more of the input from the user. However, from this reassembly, ELIZA then sends the constructed sentence to the user in the form of text on the screen.[6]

These steps represent the bulk of the procedures which ELIZA follows in order to create a response from a typical input, though there are several specialized situations that ELIZA/DOCTOR can respond to. One Weizenbaum specifically wrote about was when there is not a keyword. One solution was to have ELIZA respond with a remark that lacked content, such as “I see” or “Please go on.”.[6] The second method was to use a “MEMORY” structure, which recorded prior recent inputs, and would use these inputs to create a response referencing a part of the earlier conversation when encountered with no keywords.[9] This was possible due to Slip’s ability to tag words for other usage, which simultaneously allowed ELIZA to examine, store and repurpose words for usage in outputs.[6]

While these functions were all framed in ELIZA’s programming, the exact manner by which the program dismantled, examined, and reassembled inputs is determined by the operating script. However, the script is not static, and can be edited, or a new one created, as is necessary for the operation in the context needed (thus how ELIZA can “learn” new information). This also allows the program to be applied in multiple situations, including the well-known DOCTOR script, which simulates a Rogerian psychotherapist, but also a script called “STUDENT”, which is capable of taking in logical analysis parameters and using it to give the answers to problems of related logic.[13]

Significant implementations

Weizenbaum's original MAD-SLIP implementation was re-written in Lisp by Bernie Cosell.[14][15] A BASIC version appeared in Creative Computing in 1977 (although it was written in 1973 by Jeff Shrager).[16] This version, which was ported to many of the earliest personal computers, appears to have been subsequently translated into many other versions in many other languages.

Another version of Eliza popular among software engineers is the version that comes with the default release of GNU Emacs, and which can be accessed by typing M-x doctor from most modern emacs implementations.

Influence on games

ELIZA influenced 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 DEC PDP-10 minicomputer at Pomona College in 1973 before writing the computer role-playing game, Dungeon (1975).

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. In the independent documentary film Plug & Pray (2010) Weizenbaum said that only people who misunderstood ELIZA called it a sensation.[17]

The Israeli poet David Avidan, who was fascinated with future technologies and their relation to art, desired to explore the use of computers for writing literature. He conducted several conversations with an APL implementation of ELIZA and published them – in English, and in his own translation to Hebrew – under the title My Electronic Psychiatrist – Eight Authentic Talks with a Computer. In the foreword he presented it as a form of constrained writing.[18]

There are many programs based on ELIZA in different programming languages. In 1980 a company called "Don't Ask Software" created a version called "Abuse" for the Apple II, Atari, and Commodore 64 computers, which verbally abused the user based on the user's input.[19] 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. George Lucas and Walter Murch incorporated an Eliza-like dialogue interface in their screenplay for the feature film THX-1138 in 1969. Inhabitants of the underground future world of THX would retreat to "confession booths" when stressed, and initiate a one-sided Eliza-formula conversation with a Jesus-faced computer who claimed to be "Omm". In 1988 the British artist and friend of Weizenbaum Brian Reffin Smith created and showed at the exhibition 'Salamandre', in the Musée du Berry, Bourges, France, two art-oriented ELIZA-style programs written in BASIC, one called 'Critic' and the other 'Artist', running on two separate Amiga 1000 computers. The visitor was supposed to help them converse by typing in to 'Artist' what 'Critic' said, and vice versa. The secret was that the two programs were identical. GNU Emacs formerly had a psychoanalyze-pinhead command that simulates a session between ELIZA and Zippy the Pinhead.[20] The Zippyisms were removed due to copyright issues, but the DOCTOR program remains.

ELIZA has been referenced in popular culture and continues to be a source of inspiration for programmers and developers focused on Artificial Intelligence. It was also featured in a 2012 exhibit at Harvard University titled "Go Ask A.L.I.C.E", as part of a celebration of mathematician Alan Turing's 100th birthday. The exhibit explores Turing's lifelong fascination with the interaction between man and computer, pointing to ELIZA as one of the earliest realizations of Turing's ideas.[1]

Partial list of implementations

Template:Computing platform requirements

See also

Notes

  1. ^ a b "Alan Turing at 100". Harvard Gazette. Retrieved 2016-02-22.
  2. ^ a b c d e f Weizenbaum, Joseph (1976). Computer Power and Human Reason: From Judgment to Calculation. New York: W.H. Freeman and Company. pp. 2, 3, 6, 182, 189. ISBN 0-7167-0464-1.
  3. ^ a b Norvig, Peter (1992). Paradigms of Artificial Intelligence Programming. New York: Morgan Kaufmann Publishers. pp. 151–154. ISBN 1-55860-191-0.
  4. ^ Colby, Kenneth Mark; Watt, James B.; Gilbert, John P. (1966). "A Computer Method of Psychotherapy". The Journal of Nervous and Mental Disease. 142 (2): 148–52. doi:10.1097/00005053-196602000-00005. PMID 5936301.
  5. ^ a b Shah, Huma; Warwick, Kevin; Vallverdú, Jordi; Wu, Defeng (2016). "Can machines talk? Comparison of Eliza with modern dialogue systems". Computers in Human Behavior. 58: 278–95. doi:10.1016/j.chb.2016.01.004.
  6. ^ a b c d e f g h i j Weizenbaum, Joseph (1966). "ELIZA—a computer program for the study of natural language communication between man and machine". Communications of the ACM. 9: 36–45. doi:10.1145/365153.365168.
  7. ^ Epstein, J; Klinkenberg, W.D (2001). "From Eliza to Internet: A brief history of computerized assessment". Computers in Human Behavior. 17 (3): 295–314. doi:10.1016/S0747-5632(01)00004-8.
  8. ^ a b Wortzel, Adrianne (2007). "ELIZA REDUX: A Mutable Iteration". Leonardo. 40: 31–6. doi:10.1162/leon.2007.40.1.31. JSTOR 20206337.
  9. ^ a b Wardip-Fruin, Noah (1976). Expressive Processing: Digital Fictions, Computer Games, and Software Studies. Cambridge: The MIT Press. p. 33. ISBN 9780262013437 – via eBook Collection (EBSCOhost).
  10. ^ Markoff, John (2008-03-13), "Joseph Weizenbaum, Famed Programmer, Is Dead at 85", The New York Times, retrieved 2009-01-07
  11. ^ Weizenbaum, Joseph (1976). Computer power and human reason: from judgment to calculation. W. H. Freeman. p. 7.
  12. ^ Megan, Garber (Jun 9, 2014). "When PARRY Met ELIZA: A Ridiculous Chatbot Conversation From 1972". The Atlantic. Archived from the original on 2017-01-18. Retrieved 19 January 2017. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  13. ^ Weizenbaum, J. (1977). "A response to Donald Michie". International Journal of Man-Machine Studies. 9 (4): 503–5. doi:10.1016/S0020-7373(77)80016-3.
  14. ^ Coders at Work: Bernie Cosell
  15. ^ The Genealogy of Eliza
  16. ^ Big Computer Games: Eliza - Your own psychotherapist at www.atariarchives.org
  17. ^ Plug & Pray, documentary film featuring Joseph Weizenbaum and Ray Kurzweil
  18. ^ Avidan, David (2010), Collected Poems, vol. 3, Jerusalem: Hakibbutz Hameuchad, OCLC 804664009
  19. ^ Davidson, Steve (January 1983), "Abuse", Electronic Games, vol. 1, no. 11
  20. ^ "lol:> psychoanalyze-pinhead".
  21. ^ Trans-Tex Software
  22. ^ ELIS

References