ELIZA (in Java) - Zanichelli online per la scuola

Capitolo B3
ELIZA (in Java)
Il primo codice per Eliza, concepito e sviluppato da Joseph Weizenbaum
tra il 1964 e il 1966 presso il MIT (Massachusetts Institute of Technology),
affrontava il tema dell’interazione con un elaboratore attraverso il linguaggio naturale, permettendo di scambiare quella che poteva sembrare una
conversazione tra umani usando frasi comuni in lingua inglese.
Non fu il solo programma di questo tipo: un altro esempio, che riscosse
ai tempi un buon successo, fu il programma chiamato DOCTOR.
Ciò che affascina in Eliza è il fatto che la controparte (in realtà, il software) simula il comportamento di uno psicoanalista di scuola rogeriana,
aderente cioè alle tecniche di interazione terapeuta-paziente tipiche di
Carl Rogers. Volendo naturalmente grandemente semplificare quella che
in realtà è una teoria complessa e articolata, possiamo dire che, secondo le
teorie rogeriane, è importante instaurare un dialogo tra medico e paziente in cui possano emergere elementi rassicuranti per quest’ultimo, quali
l’empatia o l’interessamento dello specialista per i problemi e le ansie di
chi si rivolge a lui per trovare soluzione ai propri conflitti interiori.
Non tutti gli approcci della psicoterapia sono uguali: alcune scuole
suggeriscono, ad esempio, un rapporto assolutamente distaccato, praticamente muto, da parte dello psicoterapeuta, che è solo testimone di quanto
il soggetto in analisi voglia esprimere durante la seduta.
Sono attualmente disponibili in rete più versioni di programmi che
si basano sugli stessi concetti di base di Eliza, molti dei quali scritti in
JavaScript: per molti tra essi sono anche disponibili i sorgenti. L’analisi del
codice, che raccomandiamo a livello di esercizio, mostra come con una
buona impostazione delle casistiche si possano ottenere risultati del tutto
soprendenti, soprattutto per chi non ne conosce la genesi.
I programmi qui consigliati prevedono tutti un’interazione in lingua
inglese. L’inglese, ricordiamo, è una lingua particolarmente adatta alla
generazione di interfacce in linguaggio naturale o semi-naturale, grazie
alla quasi totale assenza di flessione dei verbi, la semplice formazione delle
forme composte e dei plurali, l’assenza di discriminazione tra maschile e
femminile dei sostantivi, oltre a una struttura delle frasi mediamente assai
semplice e standardizzata.
I programmi che simulano la conversazione con una controparte
umana prendono il nome in gergo di chatterbot o chat bot.
Per provare a sfidare Eliza, suggeriamo i seguenti link:
http://www.manifestation.com/neurotoys/eliza.php3
realizzato da Michal Wallace e George Dunlop in php, mentre il seguente:
http://cyberpsych.org/eliza/#.U248sRxrxCc
è basato sullo stesso codice del precedente, in una versione in JavaScript
con potenziamento delle funzioni realizzato grazie alla cooperazione con
Carol Lindemann.
Questo file è un’espansione online del corso di Addomine, Pons, Informatica © Zanichelli Editore S.p.A., 2014 [19974]
1
B3 La macchina e il test di Turing
ELIZA (in Java)
Una diversa versione, ma fondata sugli stessi principi di base, è stata
sviluppata da Norbert Landsteiner ed è reperibile al seguente indirizzo di
rete:
http://blog.oxforddictionaries.com/2012/06/turing-test/
Il sito sopra citato contiene anche una buona analisi introduttiva sui
principi fondamentali secondo i quali è costruito il codice che permette al
computer di simulare un’interattività con un umano, anche se un utente
scaltro riuscirebbe comunque abbastanza facilmente a rendersi conto del
trucco.
Anche Eliza, quindi, per quanto geniale, non supera il famoso Test di
Turing.
Questo file è un’espansione online del corso di Addomine, Pons, Informatica © Zanichelli Editore S.p.A., 2014 [19974]
2