Newsgroup: it.comp.ia
Titolo: Adesso è mattino

Con riferimento al quesito posto "Qualche bell'esempio di IA", vorrei dire 
cosa è secondo me intelligenza artificiale, ma soprattutto dire cosa NON è, 
e offrire appunto qualche esempio.
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...
...

 
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

 Con  [...]
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/

 parere un modello anche piuttosto banale.
Una rapida ricerca sullo storico del newsgroup ti potrà evitare 
discussioni sterili. :)
-- 
C++U,
   GiO

 ha scritto nel messaggio 
news:87Z5Z124Z209Y1...@usenet.libero.it...

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

 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...

 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

"GiO" <in...@spinvector.boh> ha scritto nel messaggio 
news:g1lqqj$659$1...@nnrp.ngi.it...

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

 ..etc...
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

 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

MAI DARE DA MANGIARE A UN TROLL
Ma ***LOL***.
Marino

 MANGIARE A UN TROLL.
Hai ragione, ma non riesco mai a trattenermi dal risponderti.
-- 
C++U,
   GiO

 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.

 poco a che fare con l'IA.
Ma non facciamo prima a copiare e incollare i vecchi messaggi?
-- 
C++U,
   GiO

 ha scritto nel messaggio 
news:g1mlr0$jur$1...@aioe.org...

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

 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

 "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

 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!


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.


 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

Salve p51d,


Dai tempo al tempo.
-- 
C++U,
   GiO

 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.


 .... il mio nome è..... e via dicendo. Ma andiamo avanti.
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>

 ha scritto nel messaggio 
news:87Z14Z121Z6Y1...@usenet.libero.it...

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

 perchè tale strategia ha successo nella maggior parte dei casi.
Si vede...

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