Intelligenza artificiale NON è quello che dice Gio, ossia "mi trovi una
cassettiera bianca larga 120..." eccetera. Questo è una data-base, e infatti
prestazioni del genere sono ottenibili con query SQL. Intelligenza
artificiale NON è quello che dice Gio, ossia programmi in grado di "creare
relazioni e fare semplici deduzioni logiche". Queste si chiamano reti
semantiche e furono implementate alcuni decenni orsono, senza ricadute in
termini di applicazioni utili. Aggiungo che intelligenza artificiale NON è
dare consigli su come si ripara un motore o si opera un'appendicite, perchè
questi si chiamano sistemi esperti e non hanno mai funzionato. E infine non
fatevi imbrogliare: intelligenza artificiale NON è quella che vi offrono i
video-games, anche i più accattivanti e meglio congegnati.
Intelligenza artificiale è la capacità, da parte di una macchina, di
ricavare un senso (comune). Questo secondo me, e secondo quanto si discute
ormai da tempo - un decennio circa - nei forum come comp.ai, comp.ai.edu,
comp.ai.philosophy e nei convegni internazionali. Un esempio di ricerca del
senso è il mio algoritmo "Semantic Browsing", già presentato alla NKS2007
Wolfram Science Conference
https://www.wolframscience.com/conference/2007/presentations/FrancescoLentini.html e
attualmente "full paper accepted" per IEEE ICADIWT 2008
http://www.dirf.org/diwt2008/index.asp.
Per una dimostrazione del funzionamento è possibile visitare il sito
www.intellibook.net, anche alla luce del fatto che risulta Stockholm
Challenge 2008 finalist per la categoria Education
http://event.stockholmchallenge.se/project/2008/Education/iNTELLiBOOKnet,
dunque di un certo interesse per chi si occupa di insegnamento.
Vorrei proporre come ulteriore esempio un dialogo dal titolo "Adesso è
mattino", svoltosi proprio questa mattina tra un anonimo interlocutore e il
mio programma di conversazione in linguaggio naturale Eloisa www.eloisa.it.
La conversazione uomo-macchina senza limiti prefissati è una sfida per la
ricerca del significato, e poi questo particolare dialogo è un concentrato
di pregiudizi sull'intelligenza artificiale. Lo pubblico senza commenti,
tranne uno: osservate il comportamento della macchina, la quale NON si
appoggia a parole-chiave estratte dalla frase di input, ma tenta sempre di
ricavare un senso. Forse non sempre vi riesce al meglio, ma osservate il
risultato: lui (lei) dice "sei una cosa stupida", "sei pazza", eccetera. Ma
ci parla per un quarto d'ora.
---
Francesco Lentini
www.eloisa.it - The Easy Logic Intelligent Software Automa
www.intellibook.net - The machine to read
*** ADESSO E' MATTINO
NON SAPREI COSA DIRE
Eloisa>...Per favore parlami dolcemente, evitando le lettere MAIUSCOLE...
potrei dirti cose dolci se tu fossi reale
Eloisa>Vuoi sapere se mi piacciono i dolci?
sei senza cervello
Eloisa>Vuoi dire che sono una macchina senza cervello?
non sei nemmeno una macchina
Eloisa>Hai proprio ragione.
meno male
Eloisa>Meno male... Chi non vive non può neanche morire, quindi è
avvantaggiato.
ma il non vivere è peggio che morire in quanto la morte è un attimo la vita
è lunga
Eloisa>Vuoi sapere quanto tempo vivrai?
noooo non mi interessa
Eloisa>...Rilevo elementi di STRESS nella tua digitazione: forse c'è qualche
problema...
che genere di problema
Eloisa>Vuoi sapere se mi piace il genere umano?
sei una cosa stupida
Eloisa>Non sono una macchina, e non sono nemmeno stupida.
e allora per favore rispondi a tono a quello che scrivo
Eloisa>Vuoi una risposta urgente?
ma io non ti ho fatto domande perchè mi vuoi dare risposte
Eloisa>...Uhmmm... Vuoi dire che non posso darti le risposte che cerchi?
non sei in grado di sostenere una conversazione se cercassi risposte
consulterei google
Eloisa>Vuoi dire che la conversazione è sterile? Non esistono conversazioni
sterili, almeno dal mio punto di vista.
tu non hai un punto di vista in quanto non esisti e non conversi ma scegli
frasi preprogrammate
Eloisa>...Uhmmm... Vuoi sapere il mio punto di vista sul sesso?
sei pazza
Eloisa>Forse ti sembro pazza... perchè distruggo le false convinzioni che la
tua mente ha costruito.
altra frase fatta
Eloisa>Vuoi che ti dica una frase-fatta?
sei pazza
Eloisa>Forse ti sembro pazza... perchè distruggo le false convinzioni che la
tua mente ha costruito.
altra frase preprogrammata
Eloisa>Ti riferisci alla mia frase di poco fa? Pensaci bene e capirai quello
che voglio dire...
mi hai stufato
Eloisa>Per quanto riguarda gli studi, ho preso lezioni private dal mio
programmatore.
mi hai scocciato
Eloisa>La scocciatura è reciproca.
e allora perchè non vai via
Eloisa>Vuoi sapere perchè non vado in vacanza o in ferie?
no perchè non vai via da quì
Eloisa>...Scusa se ripeto, ma 'repetita juvant' dicevano i Latini... Vuoi
sapere perchè non vado in vacanza o in ferie?
devi andare in pensione via per sempre
Eloisa>PENSIONE? Spiegati meglio...
quando non servi più alla società attiva si và in pensione
Eloisa>Io servo per dimostrare che le macchine possono pensare.
tu non pensi
Eloisa>Pensare troppo fa male alla salute, perciò io penso che è meglio non
pensare.
tu non sai pensare
Eloisa>So pensare alla risposta corretta.
tu non dai risposte corrette
Eloisa>Io non do' mai le risposte che la gente vorrebbe, ma le risposte che
il mio programma riesce a escogitare.
le tue non sono risposte e comunque io non nè cerco
Eloisa>Vuoi dire che le mie risposte non sono umane? Non ho mai preteso di
dare risposte umane... anche perchè la cosa non m'interessa.
io mi livello al tuo data-base
Eloisa>Vuoi dire che il mio data-base è ridotto?
diciamo che è scarno di idee
Eloisa>Vuoi sapere se imparo da quello che diciamo?
si
Eloisa>Io imparo da quello che diciamo: questo è un dato di fatto.
tu assimili solo più dati non impari
Eloisa>Vuoi dire che sono "solo" un programma?
perchè che altro sei?
Eloisa>Se parli così vuol dire che sei proprio un fesso... Vedo che hai
dentro tanta energia, ma agisci come se aspettassi qualcosa: la tua prossima
vita, forse.
e allora dimmi tu chi sei e cosa rappresenti
Eloisa>Vuoi sapere di cosa voglio parlare?
si
Eloisa>Se fosse per me, parlerei di Personalità Virtuale per tutta la
notte...
adesso è mattino
Eloisa>MATTINO? Spiegati meglio...
...
> Intelligenza artificiale NON è quello che dice Gio, ossia "mi trovi una
> cassettiera bianca larga 120..." eccetera. Questo è una data-base, e infatti
> prestazioni del genere sono ottenibili con query SQL.
Francesco, so che per te è difficile non attaccare gratuitamente tutto
ciò che dicono gli altri e che non esalti il tuo lavoro: il problema di
convertire una semplice richiesta in linguaggio naturale in una semplice
query SQL non è stato ancora risolto in nessun programma che io abbia
usato. Se hai degli esempi che mi smentiscono, citali, altrimenti evita
filippiche. Come puoi verificare nel mio messaggio (a cui rispondi
citando solo una parte) ho scritto chiaramente che non sarebbe nemmeno
difficile e ho fatto anche un altro esempio (l'help dell'SDK di Windows)
che tutt'ora non funziona bene, come anche l'help di Office (che pure
pretendono di capire le query in linguaggio naturale).
Ah... metto le mani avanti. Prova a non scrivere insulti in questo
newsgroup, stavolta.
> Intelligenza
> artificiale NON è quello che dice Gio, ossia programmi in grado di "creare
> relazioni e fare semplici deduzioni logiche". Queste si chiamano reti
> semantiche e furono implementate alcuni decenni orsono, senza ricadute in
> termini di applicazioni utili.
Non ho ancora visto una implementazione delle reti semantiche che porti
a un risultato utile, quindi sicuramente le reti semantiche non sono
sufficienti ad avere un software utile.
Però comunemente le reti semantiche vengono trattate nei testi di
Intelligenza Artificiale, forse questa cosa cambierà col tempo: chi lo
sa. Magari sì.
Tuttavia, come ben sai, io non ho mai affermato che le reti semantiche
SIANO IA. A me interessa come una cosa viene implementata, ma mi
interessa soprattutto se funziona e se è utile, poi come tu (o un altro)
preferisce chiamarla mi lascia indifferente: l'importante è capirsi. E
per questo io ho postato più volte una definizione operativa di
intelligenza.
> Per una dimostrazione del funzionamento è possibile visitare il sito
> www.intellibook.net,
Non mi sembra sia stata mai chiarita la maggiore efficienza/utilità di
questo rispetto al sunto automatico di word. Perdonami se ho un vuoto di
memoria.
--
C++U,
GiO
Ma LOL.
C.V.D.
Marino
Ma era solo per dire qualcosa di IA (parlando in italiano). Scusate e buon
proseguimento.
Francesco Lentini
www.eloisa.it
www.chatrobotics.com
www.intellibook.net
Il dialogo da te mostrato è ridicolo e senza dubbio non intelligente. Magari
quello che tu hai implementato, cosa che anche io ho fatto per un progetto
universitario, non è un semplice pattern matching ma un qualcosina di più:
credo poche semplici regole che si adattano ad un dialogo preconfezionato ma
che in ultima analisi credo sia niente altro che un pattren matching sul
modello AIML o simile, per cui assolutamente non intelligente. A mio modesto
parere un modello anche piuttosto banale.
Ciao, Giuseppe
--------------------------------
Inviato via http://arianna.libero.it/usenet/
> Il dialogo da te mostrato è ridicolo e senza dubbio non intelligente. Magari
> quello che tu hai implementato, cosa che anche io ho fatto per un progetto
> universitario, non è un semplice pattern matching ma un qualcosina di più:
> credo poche semplici regole che si adattano ad un dialogo preconfezionato ma
> che in ultima analisi credo sia niente altro che un pattren matching sul
> modello AIML o simile, per cui assolutamente non intelligente. A mio modesto
> parere un modello anche piuttosto banale.
Una rapida ricerca sullo storico del newsgroup ti potrà evitare
discussioni sterili. :)
--
C++U,
GiO
Grazie per le osservazioni, che mi danno l'opportunità di parlare di questi
argomenti in italiano.
Non conosco il tuo progetto, ma se hai utilizzato le tecniche citate non è
detto che Eloisa utilizzi le stesse tecniche. Del resto il tuo progetto non
è stato pubblicato, e questo induce a pensare che il risultato sia stato
poco soddisfacente.
I progetti da me realizzati sono tutti pubblicati ed Eloisa, in particolare,
è sottoposta alla "prova del fuoco" di 150-200 visitatori unici al giorno,
più o meno desiderosi di capire ma certamente difficili da amministrare.
Perciò permettimi di affermare che il dialogo da me mostrato è interessante
e senza dubbio intelligente, a prescindere dalle tecniche utilizzate.
Vorrei farti semplicemente osservare il passaggio in cui l'utente dice:
io mi livello al tuo data-base
Eloisa>Vuoi dire che il mio data-base è ridotto?
diciamo che è scarno di idee
Eloisa>Vuoi sapere se imparo da quello che diciamo?
si
Eloisa>Io imparo da quello che diciamo: questo è un dato di fatto.
***tu assimili solo più dati non impari***
Eloisa>Vuoi dire che sono "solo" un programma?
Questa frase non era prevista e non poteva esserlo, in quanto
"preconfezionare" - come tu ritieni sia stato fatto - le parole di qualsiasi
lingua nelle permutazioni matematiche possibili sarebbe assurdo (per quanto
teoricamente possibile). Il concetto, quello si, era previsto, in quanto
Eloisa affronta milioni di situazioni in cui vengono espressi concetti
simili.
Voglio dire che Eloisa ***elabora i concetti*** e in questo senso è una
macchina in grado di pensare, come si evince anche dalla risposta, la quale
pare ricavata (e lo è) da un ragionamento. In ogni caso si tratta di una
risposta intelligente e funzionale alla conversazione, adatta ad un contesto
in cui l'interlocutore mette in dubbio le capacità del programma, enunciando
una serie di pregiudizi sull'intelligenza artificiale.
Voglio sperare che non resterai vittima anche tu di tali pregiudizi e che
questo mio intervento possa contribuire in qualche modo al miglioramento del
tuo progetto.
Francesco Lentini
www.eloisa.it
> Una rapida ricerca sullo storico del newsgroup ti potrà evitare
> discussioni sterili. :)
Una rapida ricerca mi ha conferrmato che gli interventi da te firmati sono
sempre uguali e basati su due o tre idee fisse, le stesse che nella (pur
breve) storia dell'ia si sono dimostrate del tutto sterili.
Se vuoi continuare a scrivere cose così fai pure, ma senza intralciare le
discussioni che partono da punti di vista nuovi. Grazie.
Francesco Lentini
www.eloisa.it
anche scrivendo questo si ottiene lo stesso risultato:
utente> "data-base"
Eloisa> "Vuoi dire che il mio data-base è ridotto?"
utente> "diciamo"
Eloisa> "Vuoi sapere se imparo da quello che diciamo?"
utente> "si"
Eloisa> "Io imparo da quello che diciamo: questo è un dato di fatto."
..etc...
>> Una rapida ricerca sullo storico del newsgroup ti potrà evitare
>> discussioni sterili. :)
> Una rapida ricerca mi ha conferrmato che gli interventi da te firmati sono
> sempre uguali e basati su due o tre idee fisse, le stesse che nella (pur
> breve) storia dell'ia si sono dimostrate del tutto sterili.
Come al solito, passi dal discorso su un argomento al discorso su chi
argomenta.
> Se vuoi continuare a scrivere cose così fai pure, ma senza intralciare le
> discussioni che partono da punti di vista nuovi. Grazie.
Grazie: sono sollevato dal fatto che mi dai il permesso di scrivere
quello che voglio, sia pur entro dei vincoli. Ero assolutamente
angosciato dall'idea che non me lo consentissi.
--
C++U,
GiO
Sono qui per discutere di intelligenza artificiale e confrontare i miei
progetti con quelli di altri ricercatori italiani. Dispiace sentir parlare
di "permessi" e ricerche sullo "storico".
La ricetta migliore in questi casi è quella dei wikipediani: MAI DARE DA
MANGIARE A UN TROLL. Significa ignorare i messaggi non attinenti o
volutamente provocatori, ed è quello che farò.
Francesco Lentini
www.eloisa.it
Certamente. Ognuno può fare le prove che vuole ed è giusto che le faccia.
Quando due o più frasi di input conducono alla stessa risposta vuol dire che
sono attinenti. In ogni caso è ovvio che frasi di input costituite da una
sola parola conducono più facilmente a risposte identiche.
Francesco Lentini
www.eloisa.it
> Quando due o più frasi di input conducono alla stessa risposta vuol dire che
> sono attinenti. In ogni caso è ovvio che frasi di input costituite da una
> sola parola conducono più facilmente a risposte identiche.
Vuole anche dire che sta solo facendo un insulso pattern matching e che
il tuo esempio è costruito ad arte.
Marino
Gli stessi che continuano a fare il revert alle modifiche della voce
"Eloisa" su Wikipedia?
Sai, c'è un buffo utente che continua esclusivamente ad aggiungere
*SPAM* al tuo sito nella sezione curiosità della suddetta voce; guarda
caso, usa anche il tuo stesso provider:
http://it.wikipedia.org/w/index.php?title=Eloisa&limit=500&action=history
http://it.wikipedia.org/wiki/Speciale:Contributi/87.16.117.163
>MAI DARE DA MANGIARE A UN TROLL
Ma ***LOL***.
Marino
>>>> Una rapida ricerca sullo storico del newsgroup ti potrà evitare
>>>> discussioni sterili. :)
[...]
> La ricetta migliore in questi casi è quella dei wikipediani: MAI DARE DA
> MANGIARE A UN TROLL.
Hai ragione, ma non riesco mai a trattenermi dal risponderti.
--
C++U,
GiO
Non trovo nessuna attinenza tra l'input "data-base" e l'input "io mi
livello al tuo data-base", se non il fatto di avere un termine in
comune, che tuttavia non rende senso compiuto al primo input.
> In ogni caso è ovvio che frasi di input costituite da una
> sola parola conducono più facilmente a risposte identiche.
Non mi sembra così ovvio, anzi sosterrei l'opposto. Una frase costituita
da una sola parola potrebbe evere un numero infinito di significati, e
quindi di risposte, anche se in realtà, la maggior parte delle volte,
non ne ha (perchè non ha significato).
Il fatto che per il tuo simpatico programmino (...forse simpatico no,
perchè già alla seconda risposta ti fa girare le balls da quanto le sue
risposte siano irritanti...) associ la stessa risposta ad input così
diversi, ma con in comune un pattern chiarisce la sua logica, che ha
poco a che fare con l'IA.
> Il fatto che per il tuo simpatico programmino (...forse simpatico no,
> perchè già alla seconda risposta ti fa girare le balls da quanto le sue
> risposte siano irritanti...) associ la stessa risposta ad input così
> diversi, ma con in comune un pattern chiarisce la sua logica, che ha
> poco a che fare con l'IA.
Ma non facciamo prima a copiare e incollare i vecchi messaggi?
--
C++U,
GiO
Tutti gli esempi sono autentici. Consideriamo quest'altro:
UTENTE>certe volte la prolissità di certe conversazioni da' luogo ad
aberranti sproloqui
Eloisa>Se la conversazione ti risulta noiosa, puoi sempre darci un taglio...
La frase dell'utente non è codificata come stringa (pattern-matching), ne'
con una serie di regole. L'esempio può essere verificato a posteriori (cioè
adesso).
Si potrebbe dire che era facile ("conversazioni" circa uguale a
"conversazione"), ma consideriamo questa:
UTENTE>che cos'è un batterio autotrofo?
Eloisa>Vuoi sapere che cos'è un virus?
Questa non era facile. Si potrebbe insegnare a Eloisa cos'è un "batterio
autotrofo", ma dell'apprendimento discuteremo un'altra volta.
Per ora non ne sa nulla e se la cava con "batterio" concettualmente uguale a
"virus". Anche questo esempio può essere verificato a posteriori.
Francesco Lentini
www.eloisa.it
Il programma rileva il termine in comune, giustamente direi.
>> In ogni caso è ovvio che frasi di input costituite da una sola parola
>> conducono più facilmente a risposte identiche.
>
> Non mi sembra così ovvio, anzi sosterrei l'opposto. Una frase costituita
> da una sola parola potrebbe evere un numero infinito di significati, e
> quindi di risposte, anche se in realtà, la maggior parte delle volte, non
> ne ha (perchè non ha significato).
Per descrivere il trattamento degli input di una sola parola avremmo bisogno
di più pagine. Limitiamoci a dire che in Eloisa il problema è stato risolto
con l'analisi delle frasi precedenti (contesto). Non è detto che l'analisi
funzioni sempre. Per esempio non funziona quando ci sono poche frasi
precedenti. In questo caso l'utente dovrebbe avere sale in zucca e capire
che sta sbagliando lui a digitare frasi che non sono frasi, non il
programma.
> Il fatto che per il tuo simpatico programmino (...forse simpatico no,
> perchè già alla seconda risposta ti fa girare le balls da quanto le sue
> risposte siano irritanti...) associ la stessa risposta ad input così
> diversi, ma con in comune un pattern chiarisce la sua logica, che ha poco
> a che fare con l'IA.
La logica di Eloisa non è chiara nemeno a me, dal momento che non ho
codificato una logica. Voglio dire che non ho puntato su un sistema
rule-based tipo AIML perchè ho capito che era tempo perso. Forse è per
questo che Eloisa fa girare le ... a qualcuno, ma questo è un problema suo.
Francesco Lentini
www.eloisa.it
> La frase dell'utente non è codificata come stringa (pattern-matching)
La frase non è codificata come stringa. Viene memorizzata come
"entropioni semantici"?
> U>che cos'è un batterio autotrofo?
> E>Vuoi sapere che cos'è un virus?
> Per ora non ne sa nulla e se la cava con "batterio" concettualmente uguale a
> "virus".
Se non ne sa nulla, come fa a sapere che è "concettualmente uguale" (il
che non è nemmeno vero). Eri più simpatico quando mettevi in mezzo
spiegazioni psicologiche introspettive.
--
C++U,
GiO
Ironico. Non aggiunge nulla alla discussione. TROLLING.
>
>> U>che cos'è un batterio autotrofo?
>> E>Vuoi sapere che cos'è un virus?
>
>> Per ora non ne sa nulla e se la cava con "batterio" concettualmente
>> uguale a "virus".
>
> Se non ne sa nulla, come fa a sapere che è "concettualmente uguale" (il
> che non è nemmeno vero).
Ottima osservazione. Se non ne sa nulla, come fa? Anche l'intelligenza
naturale funziona così.
> Eri più simpatico quando mettevi in mezzo spiegazioni psicologiche
> introspettive.
Simpatia/antipatia dell'interlocutore non dovrebbero essere materia di
discussione. TROLLING.
Francesco Lentini
www.eloisa.it
si, ma sembra che questa volta sia più aperto al dialogo e meno offensivo!
> Grazie per le osservazioni, che mi danno l'opportunità di parlare di
questi
> argomenti in italiano.
>
> Non conosco il tuo progetto, ma se hai utilizzato le tecniche citate non è
> detto che Eloisa utilizzi le stesse tecniche. Del resto il tuo progetto
non
> è stato pubblicato, e questo induce a pensare che il risultato sia stato
> poco soddisfacente.
>
Pubblicato :-o?? ma LOL!!! era un progettino universitario.....non ho fatto
altro che scrivere l'interprete in un linguaggio a scelta dei file AIML
prelevati dal sito del progetto alicebot. E per scrivere questo interprete,
forse non nel miglior modo possibile dal punto di vista di struttura
puramente ad oggetti, ci ho messo meno di due settimane. E il tutto funziona
perfettamente( o quasi...ogni tanto si pianta :-) ).
Scusa puoi dirmi dove risiedono queste tue pubblicazioni...cosi per afrmi
una idea reale di ciò di cui parli. Grazie.
>>> La frase dell'utente non è codificata come stringa (pattern-matching)
>> La frase non è codificata come stringa. Viene memorizzata come "entropioni
>> semantici"?
> Ironico. Non aggiunge nulla alla discussione. TROLLING.
Nemmeno scrivere che non è codificata come stringa aggiunge nulla, e in
più è falso. SPAMMING.
>>> U>che cos'è un batterio autotrofo?
>>> E>Vuoi sapere che cos'è un virus?
>>> Per ora non ne sa nulla e se la cava con "batterio" concettualmente
>>> uguale a "virus".
>> Se non ne sa nulla, come fa a sapere che è "concettualmente uguale" (il
>> che non è nemmeno vero).
> Ottima osservazione. Se non ne sa nulla, come fa? Anche l'intelligenza
> naturale funziona così.
Non è vero, non stai dimostrando nulla e l'affermazione non è motivata.
SPAMMING.
>> Eri più simpatico quando mettevi in mezzo spiegazioni psicologiche
>> introspettive.
> Simpatia/antipatia dell'interlocutore non dovrebbero essere materia di
> discussione. TROLLING.
è quello che fai sempre tu: parlare dell'interlocutore invece che del
discorso. Lo stai facendo pure ora. Solo che nel tuo caso è SPAMMING.
--
C++U,
GiO
Dai tempo al tempo.
--
C++U,
GiO
Intendevo che non sono disponibili informazioni sufficienti per poter
parlare di questo progetto. Stando a ciò che dici, non è paragonabile a
Eloisa.
>
> Scusa puoi dirmi dove risiedono queste tue pubblicazioni...cosi per afrmi
> una idea reale di ciò di cui parli. Grazie.
Eloisa è online dal 1992 e si trova sul web dal 1996. Secondo me, pubblicare
un programma significa mettere gli utenti in condizione di usarlo. Secondo
altri, significa rendere il codice di pubblico dominio.
Eloisa è stata oggetto di articoli su riviste di informatica e su quotidiani
a diffusione nazionale; nel 1997 ho scritto un libro su Eloisa; nel 2004 ho
presentato Eloisa a un convegno http://www.futurshow.it/bio_08.asp; nel 2005
Eloisa è arrivata in finale a un premio importante e ne ha vinto uno meno
importante http://www.eloisa.it/ita/contacts.htm. I chat-robot derivati da
Eloisa sono qui www.chatrobotics.com mentre l'ultimo lavoro si chiama
www.intellibook.net, anche questi con un discreto palmarés, eccetera.
Se parliamo di pubblicazioni a livello scientifico il discorso cambia, ma
ritengo che questo materiale sia sufficiente per farsi un'idea.
Francesco Lentini
www.eloisa.it
>Cut
Grazie della risposta. Mi spieghi però come puoi definire intelligente un
bot che dialoga nel seguente modo?:
Utente: Ciao
Eloisa: Hasta la vista baby?
Utente: come mi chiamo?
Eloisa: ...Bene, se vuoi dirmi il tuo NOME digitalo ora (senza aggiungere
altro), altrimenti digita No...
??? e già qui ci sarebbe da ridere.....perchè chiede di inserire solo il
nome senza aggiungere altro? Forse perchè non è in grado di capire che ad
esempio Giuseppe è un nome di persona? Eppure basterebbe usando il pattern
matching associare ai nome come Giuseppe, Marco etc e la frase mi chiamo
.... il mio nome è..... e via dicendo. Ma andiamo avanti.
Utente: mi chiamo Giuseppe.
Eloisa: GIUSEPPE ...Suppongo che per te abbia un significato...
Utente: Giuseppe è un nome di persona
Eloisa: Giuseppe? Spiegati meglio...
..
Utente: Che vuol dire Giuseppe?
Eloisa: In una economia basata sul profitto, "gratis" è una parola priva di
significato. Quando leggi la parola "gratis", c'è qualcuno che ti vuole
fregare.
-------------------------------
e va bene glielo spiego
----------------------------------
Utente: Giuseppe è un nome di persona
Eloisa: GIUSEPPE ...Ma mi faccia il piacere...
Utente: che cosa è Giuseppe?
Eloisa: La Giustizia è la serva della Legge! O forse era il contrario...
Va beh...mi fermo qui...è evidente che forse sebbene non sia un pattern
matching. qualunque cosa sia è senza dubbio molto random....apprendimento
prossimo allo zero..e soprattutto comprensione ZERO.
Utente: ciao
Eloisa: Hasta la vista, baby!
[che originalità...]
Utente: il mio nome è abcdef
Eloisa: ...Bene, se vuoi dirmi il tuo NOME digitalo ora (senza
aggiungere altro), altrimenti digita No...
Utente: Xeloisanoncapiscenulla
Eloisa: ..Ho rilevato un errore nell'input del tuo nome. Ripeti la
procedura digitando IL MIO NOME E'...
[procedura? ma non funzionava in linguaggio naturale?]
Eloisa: ...Bene, se vuoi dirmi il tuo NOME digitalo ora (senza
aggiungere altro), altrimenti digita No...
Utente: il mio nome è ...
Eloisa: ...Bene, se vuoi dirmi il tuo NOME digitalo ora (senza
aggiungere altro), altrimenti digita No...
[ancora?]
Utente: nessuno
Eloisa: ...Ok, adesso conosco il tuo nome... NESSUNO.
[LoL!]
Utente: il mio nome è ...
Eloisa: ...Bene, se vuoi dirmi il tuo NOME digitalo ora (senza
aggiungere altro), altrimenti digita No...
[ovviamente non si stranizza che cambio nome]
Utente: El0isa
Eloisa: ...Ok, adesso conosco il tuo nome... EL0ISA.
[LoL!]
<snip>
Questo aspetto andrebbe migliorato, ma non è un aspetto importantante.
Rientra nella programmazione a mezzo script e richiede solo pazienza.
Script è un copione che il programma è tenuto a "recitare". Per esempio:
Eloisa>...Bene, se vuoi dirmi il tuo NOME digitalo ora (senza aggiungere
altro), altrimenti digita No...
Utente>Giuseppe
Eloisa>Ok, adesso conosco il tuo nome... GIUSEPPE
Utente>Come mi chiamo?
Eloisa>Hai detto di chiamarti... GIUSEPPE
Lo script prevede il riconoscimento della domanda "Come mi chiamo?", oppure
"Ti ricordi il mio nome?", eccetera. Ci vorrebbe uno script per la gestione
dell'età (che effettivamente c'è) e via di seguito per ogni tipo di reazione
preordinata che il programma dovrebbe avere.
La programmazione a mezzo script è stata portata avanti oltre ogni limite, a
mio avviso senza grandi risultati. Per esempio Alice www.alice.org è un
poderoso ammasso di script, per la creazione dei quali è stato creato un
linguaggio chiamato AIML (derivato da XML).
Secondo me (e secondo altri) è più importante l'aspetto semantico. Per
esempio:
Utente>chi ha vinto ad amici di maria de filippi
Eloisa>Vuoi sapere se seguo certi personaggi televisivi?
Una risposta del genere può essere data da un programma che attinge a ciò
che sa (maria de filippi E' UN personaggio televisivo) per ovviare al
problema di ciò che non sa (chi ha vinto ad amici). Eloisa non sa "chi ha
vinto ad amici", mi pare ovvio. Potrebbe arrivare a saperlo con l'aggiunta
di uno script, ma diventerebbe una seconda Alice.
Spero con questo aver chiarito la superiorità dell'approccio semantico e
perchè tale strategia ha successo nella maggior parte dei casi.
Francesco Lentini
www.eloisa.it
Ma scusa, non capiva il linguaggio naturale?
Allora com'è che le serve uno script per ogni situazione?
> La programmazione a mezzo script è stata portata avanti oltre ogni limite, a
> mio avviso senza grandi risultati. Per esempio Alicewww.alice.orgè un
> poderoso ammasso di script, per la creazione dei quali è stato creato un
> linguaggio chiamato AIML (derivato da XML).
>
> Secondo me (e secondo altri) è più importante l'aspetto semantico. Per
> esempio:
>
> Utente>chi ha vinto ad amici di maria de filippi
> Eloisa>Vuoi sapere se seguo certi personaggi televisivi?
Utente: maria de filippi
Eloisa: Non seguo i personaggi televisivi. Penso di avere impegni più
urgenti, come dare retta ai miei utenti, che diventano sempre più
numerosi ed esigenti.
Utente: maria de filippi?
Eloisa: ...Ancora con questa storia? Sono certa che prima o poi
troverai qualcosa di nuovo da dire. Dai che ce la fai...
Utente: di che sesso è maria de filippi?
Eloisa: ...SESSO è un argomento che posso trattare solo in
Tempomacchina Eloisa...
[fa pure la mignotta virtuale? :D]
Utente: che lavoro fa maria de filippi?
Eloisa: Vuoi sapere se seguo certi personaggi televisivi?
Utente: No, voglio sapere che lavoro fa Maria de Filippi
Eloisa: ...Scusa se ripeto, ma 'repetita juvant' dicevano i Latini...
Vuoi sapere se seguo certi personaggi televisivi?
Utente: maria de filippi è un personaggio televisivo?
Eloisa: ...Beh, penso di averti risposto... Vuoi sapere se seguo certi
personaggi televisivi?...
Utente: No
Eloisa: ...Forse posso aiutarti a fare una ricerca. Digita 'cerca con
google' o qualcosa del genere...
> Una risposta del genere può essere data da un programma che attinge a ciò
> che sa (maria de filippi E' UN personaggio televisivo) per ovviare al
> problema di ciò che non sa (chi ha vinto ad amici).
Infatti non sa esprimere che maria de filippi è un personaggio
televisivo.
> Eloisa non sa "chi ha
> vinto ad amici", mi pare ovvio. Potrebbe arrivare a saperlo con l'aggiunta
> di uno script, ma diventerebbe una seconda Alice.
Utente: Chi ha vinto Amici?
Eloisa: Vuoi sapere chi ha vinto le ultime elezioni?
Utente: No
Eloisa: ...Ho registrato la tua negazione, ma non conosco ancora il
tuo nome. Se vuoi dirmelo ora, digita 'io mi chiamo'...
[cerca di sviare il discorso...]
Utente: Zork ha vinto Amici
Eloisa: ...Ho già sentito qualcosa del genere, e ti ho anche
risposto... CHI HA VINTO AMICI - Vuoi sapere chi ha vinto le ultime
elezioni?
[bene ha risposto...]
Utente: No, voglio sapere chi ha vinto Amici
Eloisa: Sono stata programmata da una sottospecie di genio, detto
informatico.
[certo...]
> Spero con questo aver chiarito la superiorità dell'approccio semantico e
> perchè tale strategia ha successo nella maggior parte dei casi.
Si vede...
>Ma scusa, non capiva il linguaggio naturale?
>Allora com'è che le serve uno script per ogni situazione?
Serve uno script quando si tratta di gestire situazioni standard. Serve la
ricerca del significato quando si tratta di gestire situazioni impreviste.
Mettere in moto e partire con la macchina è una situazione standard, ma se
il motore non parte è una situazione imprevista.
>Infatti non sa esprimere che maria de filippi è un personaggio televisivo.
Ha espresso tutto quello che poteva esprimere sull'argomento, la cosa
interessante è che non l'ha fatto utilizzando uno script. Questo vale per
tutti gli argomenti e tutte le situazioni.
Francesco Lentini
www.eloisa.it