ELIZA és un primer programa informàtic de processament del llenguatge natural creat entre 1964 i 1966 al MIT per Joseph Weizenbaum. Creada per explorar la comunicació entre humans i màquines, ELIZA simulava la conversa utilitzant una metodologia de concordança i substitució de patrons que donava als usuaris una il·lusió d'enteniment per part del programa, però no tenia cap representació que es pogués considerar realment comprenent el que es deia en la conversa. Mentre que el programa ELIZA en si es va escriure (originalment) en MAD-SLIP, les directives de concordança de patrons que contenien la major part de la seva capacitat de llenguatge es van proporcionar en "scripts" separats, representats en una representació semblant al Lisp. El guió més famós, DOCTOR, simulava un psicoterapeuta de l'escola rogeriana (en què el terapeuta sovint reflecteix les paraules del pacient al pacient), i utilitzava regles, dictades al guió, per respondre amb preguntes no direccionals a les entrades dels usuaris. Com a tal, ELIZA va ser un dels primers chatterbots ("chatbot" modernament) i un dels primers programes capaços d'executar la prova de Turing.

El creador d'ELIZA, Weizenbaum, pensava que el programa fos un mètode per explorar la comunicació entre humans i màquines. Es va sorprendre que persones, inclosa la secretària de Weizenbaum, atribuïssin sentiments humans al programa informàtic. Molts acadèmics creien que el programa podria influir positivament en la vida de moltes persones, especialment aquelles amb problemes psicològics, i que podria ajudar els metges que treballen en el tractament d'aquests pacients. Tot i que ELIZA era capaç de participar en el discurs, no podia conversar amb veritable comprensió. Tanmateix, molts usuaris primerencs estaven convençuts de la intel·ligència i la comprensió d'ELIZA, malgrat la insistència de Weizenbaum en el contrari. El codi font original d'ELIZA havia desaparegut des de la seva creació a la dècada de 1960, ja que no era habitual publicar articles que incloguessin codi font en aquest moment. Tanmateix, més recentment, el codi font MAD-SLIP s'ha descobert als arxius del MIT i s'ha publicat a diverses plataformes, com archive.org. El codi font té un gran interès històric, ja que demostra no només l'especificitat dels llenguatges i tècniques de programació en aquell moment, sinó també l'inici de l'abstracció de programari com a mitjà per aconseguir una programació de programari sofisticada.

Visió general miniatura|Una conversa entre un humà i el guió DOCTOR d'ELIZA ELIZA de Joseph Weizenbaum, que executa el guió DOCTOR, va ser creat per oferir una paròdia de "les respostes d'un psicoterapeuta no direccional en una entrevista psiquiàtrica inicial"Weizenbaum 1976, p. 188. i per "demostrar que la comunicació entre l'home i la màquina era superficial". Tot i que ELIZA és més coneguda per actuar a la manera d'un psicoterapeuta, els patrons de parla es deuen a les dades i instruccions proporcionades pel guió DOCTOR. La mateixa ELIZA va examinar el text per buscar paraules clau, va aplicar valors a aquestes paraules clau i va transformar l'entrada en una sortida; l'script que va executar ELIZA va determinar les paraules clau, establir els valors de les paraules clau i establir les regles de transformació per a la sortida. Weizenbaum va optar per fer el guió DOCTOR en el context de la psicoteràpia per "esquivar el problema de donar al programa una base de dades de coneixement del món real", ja que en una situació terapèutica rogeriana, el programa només havia de reflectir la visió del pacient i les seves declaracions. Els algorismes de DOCTOR van permetre una resposta enganyosament intel·ligent, que va convèncer moltes persones quan van utilitzar el programa per primera vegada.

Weizenbaum va batejar el seu programa ELIZA per Eliza Doolittle, un personatge de la classe treballadora a l'obra de teatre Pigmalió de George Bernard Shaw. Segons Weizenbaum, la capacitat d'ELIZA de ser "millorada progressivament" per diversos usuaris la va fer semblant a Eliza Doolittle, ja que a Eliza Doolittle se li va ensenyar a parlar amb un accent de classe alta a l'obra de Shaw. Tanmateix, a diferència de l'obra de Shaw, ELIZA és incapaç d'aprendre nous patrons de parla o noves paraules només mitjançant la interacció. Les edicions s'han de fer directament a l'script actiu d'ELIZA per canviar la manera com funciona el programa.

Weizenbaum va implementar per primera vegada ELIZA en el seu propi llenguatge de processament de llistes SLIP, on, depenent de les entrades inicials de l'usuari, la il·lusió de la intel·ligència humana podia aparèixer o es va dissipar mitjançant diversos intercanvis. Algunes de les respostes d'ELIZA van ser tan convincents que Weizenbaum i diversos altres tenen anècdotes d'usuaris que s'enganxaven emocionalment al programa, oblidant de tant en tant que conversaven amb un ordinador. La pròpia secretària de Weizenbaum va demanar a Weizenbaum que abandonés la sala perquè ella i ELIZA poguessin tenir una conversa real. Weizenbaum va quedar sorprès per això, després va escriure: "No m'havia adonat... que les exposicions extremadament breus a un programa informàtic relativament senzill podrien induir un poderós pensament delirant en persones bastant normals".

El 1966, la informàtica interactiva (mitjançant un teletip) era nova. Van passar 15 anys abans que l'ordinador personal es conegués al públic en general i tres dècades abans que la majoria de la gent es trobés amb intents de processament del llenguatge natural en serveis d'Internet com Ask.com o sistemes d'ajuda per a PC com Microsoft Office Clippit . Tot i que aquests programes incloïen anys d'investigació i treball, ELIZA continua sent una fita simplement perquè era la primera vegada que un programador intentava una interacció humà-màquina amb l'objectiu de crear la il·lusió (per molt breu que sigui) de la interacció humà-home.

A l'ICCC 1972, ELIZA es va reunir amb un altre primer programa d'intel·ligència artificial anomenat PARRY per a una conversa només amb ordinador. Mentre que ELIZA va ser construïda per parlar com a metge, PARRY estava pensat per simular un pacient amb esquizofrènia.

Disseny miniatura|300x300px|ELIZA a Emacs. Weizenbaum va escriure originalment ELIZA a MAD-SLIP per a CTSS en un IBM 7094, com un programa per fer possible la conversa en llenguatge natural amb un ordinador. Per aconseguir-ho, Weizenbaum va identificar cinc "problemes tècnics fonamentals" per a ELIZA a superar: la identificació de paraules clau, el descobriment d'un context mínim, l'elecció de transformacions adequades, la generació de respostes en absència de paraules clau i la provisió de paraules clau. d'una capacitat d'edició per als scripts ELIZA. Weizenbaum va resoldre aquests problemes i va fer que ELIZA no tingués un marc contextual ni un univers de discurs integrat. Tanmateix, això requeria que ELIZA tingués un script d'instruccions sobre com respondre a les aportacions dels usuaris.

ELIZA comença el seu procés de resposta a una entrada d'un usuari examinant primer l'entrada de text per una "paraula clau". Una "paraula clau" és una paraula designada com a important per l'script d'ELIZA actuant, que assigna a cada paraula clau un número de precedència, o un RANK, dissenyat pel programador. Si es troben aquestes paraules, es col·loquen en una "pila de claus", amb la paraula clau del RANK més alt a la part superior. Aleshores, la frase d'entrada es manipula i es transforma tal com ho indiqui la regla associada a la paraula clau del RANK més alt. Per exemple, quan l'script DOCTOR troba paraules com "igual" o "igual", sortiria un missatge relacionat amb la similitud, en aquest cas "De quina manera?", ja que aquestes paraules tenien un nombre de precedència alt. Això també demostra com determinades paraules, tal com dicta el guió, es poden manipular independentment de consideracions contextuals, com ara canviar pronoms de primera persona i pronoms de segona persona i viceversa, ja que aquestes també tenien números de precedència elevats. Aquestes paraules amb números de precedència elevats es consideren superiors als patrons de conversa i es tracten independentment dels patrons contextuals.

Després del primer examen, el següent pas del procés és aplicar una regla de transformació adequada, que inclou dues parts: la "regla de descomposició" i la "regla de remuntatge". En primer lloc, es revisa l'entrada dels patrons sintàctics per tal d'establir el context mínim necessari per respondre. Utilitzant les paraules clau i altres paraules properes de l'entrada, es posen a prova diferents regles de desmuntatge fins que es troba un patró adequat. Utilitzant les regles de l'script, la frase es "desmunta" i s'organitza en seccions de les parts components tal com dicta la "regla de descomposició per a la paraula clau de més alt rang". L'exemple que dona Weizenbaum és l'entrada "Ets molt útil", que es transforma en "Sóc molt útil". A continuació, es divideix en (1) buit (2) "jo" (3) "són" (4) "molt útil". La regla de descomposició ha dividit la frase en quatre petits segments que contenen tant les paraules clau com la informació de la frase.

Aleshores, la regla de descomposició designa una regla de muntatge particular, o un conjunt de regles de muntatge, a seguir quan es reconstrueix l'oració. La regla de reassemblatge pren els fragments de l'entrada que la regla de descomposició havia creat, els reordena i afegeix paraules programades per crear una resposta. Utilitzant l'exemple de Weizenbaum indicat anteriorment, aquesta regla de muntatge agafaria els fragments i els aplicaria a la frase "Què et fa pensar que sóc (4)", que donaria com a resultat "Què et fa pensar que sóc molt útil?" . Aquest exemple és bastant simple, ja que depenent de la regla de desmuntatge, la sortida podria ser significativament més complexa i utilitzar més l'entrada de l'usuari. Tanmateix, a partir d'aquest muntatge, ELIZA envia la frase construïda a l'usuari en forma de text a la pantalla.

Aquests passos representen la major part dels procediments que segueix ELIZA per crear una resposta a partir d'una entrada típica, tot i que hi ha diverses situacions especialitzades a les quals ELIZA/DOCTOR pot respondre. Una cosa que Weizenbaum va escriure específicament va ser quan no hi ha cap paraula clau. Una solució va ser que ELIZA respongués amb un comentari que no tenia contingut, com ara "Ja veig" o "Si us plau, segueix". El segon mètode va ser utilitzar una estructura "MEMÒRIA", que enregistrava entrades recents anteriors, i utilitzaria aquestes entrades per crear una resposta que fes referència a una part de la conversa anterior quan es trobava sense paraules clau. Això va ser possible a causa de la capacitat de Slip d'etiquetar paraules per a altres usos, que simultàniament va permetre a ELIZA examinar, emmagatzemar i reutilitzar paraules per utilitzar-les a les sortides.

Tot i que totes aquestes funcions estaven emmarcades en la programació d'ELIZA, la manera exacta en què el programa va desmuntar, examinar i tornar a muntar les entrades està determinada per l'script operatiu. L'script no és estàtic i es pot editar, o crear-ne un de nou, segons sigui necessari per a l'operació en el context necessari. Això permetria aplicar el programa en múltiples situacions, inclòs el conegut guió DOCTOR, que simula un psicoterapeuta rogerià.

Una versió Lisp d'ELIZA, basada en el document CACM de Weizenbaum, va ser escrita poc després de la publicació d'aquest article, per Bernie Cosell. Una versió BASIC va aparèixer a Creative Computing el 1977 (tot i que va ser escrita el 1973 per Jeff Shrager).Big Computer Games: Eliza – Your own psychotherapist at www.atariarchives.org. Aquesta versió, que es va portar a molts dels primers ordinadors personals, sembla haver estat traduïda posteriorment a moltes altres versions en molts altres idiomes. Shrager afirma no haver vist ni les versions de Weizenbaum ni les de Cosell.