|
Dialoghi al calcolatore Programmi come Eliza e Splotch sono quanto di meno intelligente e pensante possa esistere: tecnicamente sono definiti FST (Finite State Transducers) o Trasduttori a Stati Finiti, non fanno altro che sostituire blocchi di frasi per costruire altre frasi di senso compiuto. Questi programmi vengono utilizzati spesso come risponditori automatici di e-mail. Ad esempio, a frasi come “I have discoverd a new bug in …”, possono rispondere “Yes, I do not have the time to fix … , now”. Tutto sta ad addestrare il trasduttore con un numero sufficiente di regole. Per gioco, ho implementato HALDO, una versione estremamente semplificata di Eliza per farne un “maggiordomo virtuale”. La conversazione che segue è tratta da un dialogo che ho svolto con HALDO (le frasi “umane” sono precedute da >>) : Piacere
di fare la tua conoscenza
Il programma risponde in tre fasi: 1. Identifica i segni di interpunzione in esclamativi o interrogativi 2. Scambia la prima con la seconda persona dei verbi che conosce (es. dar_mi <-> dar_ti) ed i pronomi 3. Ricerca una parola chiave all’interno della frase e memorizza tutto il resto della frase che segue la parola chiave 4. Risponde con la frase adatta alla parola chiave trovata Ad esempio, la trasduzione della frase “sei andato al mare ieri ?” operata da HALDO passa attraverso le operazioni: 1. trasforma “sei” in “sono” 2. identifica “sono” come parola chiave e memorizza il resto della frase “andato al mare ieri” 3. risponde con “perché ti interessa se sono“ ed aggiunge il resto della frase “andato al mare ieri” Ottenendo il frammento di conversazione sei
andato al mare ieri ? perché
ti interessa se sono andato al mare ieri ? Questa operazione può essere ripetuta più volte fino ad ottenere una pseudo-conversazione come quella riportata sopra. Il dialogo riportato è volutamente lungo per mettere in luce le carenze caratteristiche di una FST. HALDO non è in fatti in grado di capire quando applicare “intelligentemente” le regole di trasduzione. Ad esempio, sostituisce “darti” in “darmi” quando non ce ne sarebbe bisogno, come ad esempio nella assurda risposta “puo' essere che non voglio darmi fastidio , secondo te ?” all’affermazione “perché non voglio darti fastidio”. Tuttavia, è interessante notare che, istruendo con cura una FST, è possibile eliminare del tutto queste incertezze nel linguaggio. E’ possibile infatti aggiungere tutta una rosa di regole che rendono la FST più umana e divertente. Ad esempio, HALDO sa rispondere sul tempo, dare i numeri al lotto, ed ha a disposizione una straordinaria base di conoscenza sui luoghi comuni, evidente nell’ultima parte del dialogo. Gli usi correnti delle FST sono più rivolti alla costruzione di generatori automatici di interviste, collegati a sistemi esperti di datawarehousing che applicano tecniche sofisticate come quelle del data mining per produrre indagini di mercato. |