"Vend" <vend82@virgilio.it> ha scritto nel messaggio
news:0b0c3de7-72d5-4bd0-9005-790b551b2727@j1g2000prb.googlegroups.com...
On 18 Lug, 11:15, "Ciccio" <flent...@eloisa.it> wrote:
>Scritta a mano e inserita in un database di risposte.
L'esistenza di un data-base di risposte (pre-impostate) è la principale
obiezione che viene mossa ai programmi di conversazione in linguaggio
naturale, volendo con ciò intendere che una "vera" intelligenza dovrebbe
fare a meno di qualsiasi tipo di data-base. Si ritiene forse che una "vera"
intelligenza dovrebbe creare dal nulla le proprie risposte, e si suppone che
un essere umano (impegnato in una conversazione) faccia proprio così.
Spero di aver riassunto correttamente la tua obiezione, in modo da poter
dire che è affetta da due limitazioni: 1) è superata; 2) è inconsistente. Ho
comunque l'opportunità di chiarire questa faccenda, spero in modo
definitivo.
1) L'obiezione del data-base è superata poichè risale al periodo storico in
cui non esisteva una definizione soddisfacente di intelligenza. In effetti,
questa e altre obiezioni si basano sull'ignoranza di fondo di non sapere che
cos'è l'intelligenza. Chi scrive programmi di ia ha ormai un'idea abbastanza
chiara, e cioè: ***intelligenza è la capacità di risolvere un determinato
problema in modo autonomo.***
2) Ammettiamo che il problema sia quello di trovare un record all'interno di
un file, detto data-base perchè i record sono organizzati in un certo modo.
Un DBMS non può essere definito intelligente poichè la procedura di ricerca
è codificata "a priori" (tramite le istruzioni di programma) e agisce su un
insieme di dati di cui si conosce la struttura.
Vi sono però situazioni in cui la codifica a priori non funziona e un caso
tipico è l'elaborazione del linguaggio naturale. Ammettiamo che il problema
sia l'estrazione di una stringa da una lista di stringhe più o meno simili
(sarebbero le risposte pre-impostate). Poichè non può esistere un insieme
infinito di coppie domanda/risposta, non può esistere una procedura di
ricerca codificata a priori. Inoltre non si conosce la struttura dei dati
(basti pensare alle differenze tra italiano, inglese, etc). Occorre allora
una procedura di tipo generale, un algoritmo capace di decidere "a
posteriori". Un tale algoritmo risolve il problema dell'estrazione - lo
risolve in modo autonomo - e può essere definito intelligente.
>Non se l'ipotesi è formulata a caso.
Dunque il punto non è l'esistenza o meno di un data-base, e qui, dire che le
ipotesi sono formulate a caso, è ancora più inconsistente. Ammettiamo per un
istante che lo siano. Sarebbe ancora un comportamento intelligente, in
quanto ampiamente riscontrabile negli esseri umani: si chiama "tirare a
indovinare". Tuttavia Eloisa non adotta questa strategia, ma questa
http://www.intellibook.net/semanticbrowsing, consistente nella ricerca del
significato.
>In questo caso ad imbrogliare è Eloisa, o meglio il suo programmatore,
>che fa in modo che quando nel database non si trova nulla che
>corrisponda all'input dell'utente venga data una risposta evasiva
>(anche essa pre-impostata).
L'argomento del "programmatore imbroglione" (sia pure attraverso il suo
programma) è un classico dell'insinuazione e andrebbe evitato. Oltretutto è
un'insinuazione buffa: il test di Turing funziona come una specie di
imbroglio, non il programma(tore) che tenta di superarlo (dicendo la
verità).
>Basterebbe probabilmente uno script di A.L.I.C.E.
>Sarebbe piuttosto lungo poichè dovrebbe contenere un mare di risposte
>pre-impostate, ma la logica sarebbe semplicissima.
>Infatti A.L.I.C.E. con gli script standard mi sembra migliore di
>Eloisa:
Nell'impossibilità di citare un lavoro o un programma proprio, si cita
sempre il programma Alice del prof. R. Wallace. Purtroppo, il programma
Alice del prof. R. Wallace non è dotato di "vera" intelligenza: lo dice il
suo stesso autore ed è uno dei capisaldi del progetto.
>Utente: My name is Ciccio.
>A.L.I.C.E.: I am very pleased to meet you Ciccio.
>Utente: What is my name?
>A.L.I.C.E.: Your name is Ciccio, seeker.
Siamo fermi sull'ia del 1950 (Eliza, Parry, Alice...) è torniamo ancora una
volta sugli script. Abbiamo detto, in una discussione precedente, che alcune
banali prestazioni, come ripetere il nome dell'utente, si basano su questo
principio. Ma tutti possono vedere che Eloisa funziona meglio di Alice anche
in questa circostanza:
>Utente: Il mio nome è Ciccio.
>Eloisa: ...Bene, se vuoi dirmi il tuo NOME digitalo ora (senza
>aggiungere altro), altrimenti digita No...
>Utente: No.
>Eloisa: ...Amen e così sia. Se vuoi fare una ricerca, digita 'cerca
>con google' o qualcosa del genere...
>Utente: Qual'è il mio nome?
>Eloisa: QUAL'E' ...Mi sfugge il significato di questo termine...
Eloisa funziona meglio di Alice perchè ti fa notare che hai commesso un
errore di grammatica.
>Utente: Qual è il mio nome?
>Eloisa: ...Bene, se vuoi dirmi il tuo NOME digitalo ora (senza
>aggiungere altro), altrimenti digita No...
>Utente: indovina
>Eloisa: ...Ok, adesso conosco il tuo nome... INDOVINA.
>Utente: Qual è il mio nome?
>Eloisa: Hai detto di chiamarti... INDOVINA.
Certo il paragone con Alice non è corretto, perchè Eloisa analizza le frasi
a livello semantico (grazie a http://www.intellibook.net/semanticbrowsing).
L'aspetto interessante di questo esempio è che Eloisa accetta INDOVINA come
nome dell'utente. Ciò significa che Eloisa non possiede una tabella di
look-up del tipo INDOVINA=voce-del-verbo-indovinare o una lista dei nomi
propri. Se la possedesse, risponderebbe "INDOVINA non è un nome" o qualcosa
del genere, ma questa sarebbe codifica a priori e, come tale, non potrebbe
essere definita "vera" intelligenza. Il che non toglie che una tabella di
questo tipo potrebbe essere aggiunta.
>Più che altro è divertente come ti arrampichi sugli specchi per
>cercare di giustificare le risposte palesemente stupide del tuo
>programma.
A questo punto credo che le risposte di Eloisa non siano affatto stupide.
Forse lo possono sembrare, ma è difficile stabilire chi sia lo stupido, tra
due interlocutori.
Tra un essere umano e un software, secondo me lo stupido è l'essere umano.
Lui arriva lì dopo qualche milione di anni di evoluzione, il software dopo
qualche anno di programmazione. Eppure, lui si affanna a dire che le
risposte del software sono stupide. Secondo me lo stupido è lui (l'essere
umano), ma chi assiste allo spettacolo è libero di pensarla come crede.
Francesco Lentini
www.eloisa.it
www.chatrobotics.com
www.intellibook.net