Newsgroup: it.comp.ia
Titolo: impressioni chatbot [lungo]

Ciao a tutti.
Vorrei esprimere un parere sulle chatbot finora esistenti e sulla loro
diffusione.
Il progetto iniziale è degno di nota, ma solo per ricercatori o
studenti; l'idea è originale (una robot che risponde con linguaggio
naturale) ma secondo me poco sfruttata. 
Ho visionato A.L.I.C.E. in versione windows e devo dire che sono rimasto
di stucco. Ma l'entusiasmo si è esaurito in pochi giorni, vista la
monotoneità dell'oggetto in questione. 
Premetto che lavoro da diversi anni nel web e sono convinto che la
"scoperta" di nuove tecnologie di servizio e automazione possono
cambiare il modo di vedere e utilizzare la rete, ma bisogna saperle
sfruttare.
Ipotizzate di considerare ALICE (o chi per essa) una base di dati: essa
tuttora contiene delle nozioni primarie, che sono introdotte dal
programmatore, ma rimangono tali per definizione. La capacità di
apprendimento risulta scarna, proprio per come è costituito il robot, e
la libreria di dati esistente non potrà mai essere ampliata, se non con
intervento diretto del programmatore che, con codice aiml o similari,
può apportare delle modifiche al vocabolario dell'entità virtuale.
Vi renderete conto che manca qualcosa...
Se il robot non comprende un termine, lo ignora e cambia conversazione
(è comprensibile), perchè al motore manca un algoritmo di associazione
di idee tipico degli esseri biologici.
Voi direte: e bravo Davide, fallo tu un algoritmo di associacione di
idee... diventi scemo.
Immaginate di organizzare la vostra mente come se fosse un database
relazionale, come fareste? sarebbe un bel casino, ma alla fine il tutto
risulterebbe di facile consultazione, ordinato e, soprattutto,
facilmente espandibile. 
E' proprio qui che volevo arrivare: le chatbot finora esistenti mancano
di capacità di espansione che, per ovvi motivi, andrà associata ad una
capacità di manutenzione automatica.
<critica>
Ho letto un tutorial di aiml sul sito ufficiale di alice. Più di 40 tag
funzionali. Ne bastavano una quindicina per avere un prodotto
altrettanto potente. Penso che 100K di pagina ASP con un relativo
database SQL possano comparare la miriade di classi java utilizzate
dall'attuale chatbot (anche se il sistema non sarebbe più universale).
Non intesa come flame, questa critica non vuole vanificare tutto il
lavoro fatto finora, ma serve per ricordare che una tecnologia va
migliorata nel tempo, e per migliorare basta anche solo ridurre il
numero di byte totali da scaricare per poter utilizzare l'applicazione.
</critica>
Vorrei sapere il vostro parere su quanto ho detto. Insieme si può
migliorare...
Ciao!
Davide
-- 
Volontario Anti-Troll (TM) 
SecurFaq: 
http://members.nbci.com/gouldukat/
DocTrolls: 
http://it.geocities.com/roccopapaleo/faq/italiano/Troll.html
Netiquette: 
http://www.inferentia.it/netiquette/dis.html

Ciao ,
ho cominciato a interessarmi ai chatbot da poco quindi non sono cero un
esperto.
Ho dato un occhitata ai più famosi ed ora ne sto creando uno in C, così
tanto per capire bene come
possono essere fatti e come funzionano.
Ed è proprio qui che mi sono posto le prime domande. La maggiorparte dei
chatbot analizza
la frase che riceve come input e cerca delle parole chiave. In abase a
queste parole chiave
fornisce una risposta utilizzando a volte alcuni pezzi della stringa in
entrata.
Questo è quello che fa la maggior parte di loro senza apprendere nulla e
senza capire nulla, alla fine è una specie di risponditore randomizzato.
Pensando alla storiella dell'uomo, che non conosce il cinese, chiuso in una
stanza con a disposizione solo un libro contenente un lagoritmo per la
traduzione dei simboli cinesi e che dialoga con un cinese all'esterno
tramite messaggi ... mi sono chiesto se un chatbot dovrebbe capire il
significato delle parole oppure no ... ad esempio i grandi CYC ,che
contengono migliaia di definizioni, sanno cosa è una mela  ? Certo sanno che
è un frutto, può essere rossa, cresce su un albero , etc... alla fine sono
più o meno le stesse definizioni che siamo noi ... ma il programma lavora
soltanto su una banca dati ...  ma in effetti è un po' quello che fa anche
il nostro cervello ... può quindi un chatbot evoluto con un a grossa banca
dati essere chiamato "intelligente"?
Forse ho un po' divagato sul "filosofico" sorry.
Cmq il chatbot che sto implementando usa delle liste contnenti delle keyword
quindi è
solo un giochino per nulla interessante, cmq se (quando sarà finito)
qualcuno si offrirà di darci un'occhitata e dirmi cosa ne pensa..... ;-)
Ho sentito che ci sono dei chatbot che sfruttano le reti neurali , ma non ho
mai trovato nessun codice,
sapete dirmi brevemente come funzionano ?
byez
Nick
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
URL :       
http://www.Geocities.com/nick_hideout/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Ne pas aimer c'est un long mourir.
[Wu Ti]

 mai trovato nessun codice,
Io non ho mai trovato nemmeno gli eseguibili
-- 
C++U,
  Gio "FrOYd" Caturano
 
http://www.dronez.com

 capacità di manutenzione automatica.
Bene, non mi resta che invitarti a dare un'occhiata alla pagina
www.eloisa.it/EME100.htm
. Vi troverai una descrizione del funzionamento di
Eloisa, un programma di conversazione in linguaggio naturale che sarebbe
riduttivo classificare come "chatterbot". Se Alice è un "chatterbot", di
certo non lo è Eloisa.
Alice è probabilmente più scaltra, essendo stata creata per ingannare(?) i
giudici(???) del Loebner Prize. Eloisa è sicuramente più intelligente,
essendo stata creata per tentare la difficile strada
dell'auto-apprendimento. Infatti Eloisa suggerisce all'utente i dati (nuove
frasi o comandi) da immettere, e tutto avviene in maniera pulita: anche un
bambino potrebbe istruire Eloisa.
Il discorso dell'interfacciamento a un data-base è davvero interessante. E
siccome mi sembri un tipo simpatico, con idee abbastanza chiare, ti voglio
confidare un segreto: ci stiamo lavorando.
--
Cibernetica-mente,
Francesco Lentini
http://www.eloisa.it
 - Eloisa® Official Web Site
0347/1452588 - L'IA sul tuo telefonino - Manda un SMS a Eloisa, che ti
risponderà con lo stesso mezzo!

dati essere chiamato "intelligente"?
con la premessa che una chat-bot è una entità informatica composta da
algoritmi, non potrà MAI essere intelligente. L'intelligenza è di colui
che la programma e che costruisce algoritmi che si adattano ad ogni
situazione.
Se ho capito bene, A.l.i.c.e. (o la versione italiana Annalisa) è
qualcosa del genere:
if _input == frase[idx_lista_pattern] then
     write(template[idx_lista_pattern]
else
     write("non so")
end if
...
io non vedo intelligenza. Se invece il robot analizzasse la frase,
sarebbe (a mio parere) l'ideale. Prendi ad esempio un caso del genere:
Se il chatbot analizzasse la frase in maniera sequenziale tramite un
algoritmo di analisi grammaticale (substring dell'input) e tramite
un'altro algoritmo definisse il tipo di frase inserita (domanda,
risposta, affermazione, dissenso, ecc...) potrebbe cercare in una
ristretta libreria di templates l'IDEA per la risposta.
[digressione] Cosa succede quando ti fanno una domanda e tu devi dare
una risposta? Nell'attimo prima che tu abbia già la risposta da
pronunciare, hai un'idea, che è indipendente dalla lingua in cui la
pronuncierai, che riassume il tuo pensiero. Quest'idea la possiamo
definire come associazione d'idee neurali per il contesto corrente;
un'attimo dopo si traduce in DISCORSO, ma a noi interessa quell'idea
iniziale che ci frulla in testa, che è frutto dei movimenti
elettro-biologici dei neuroni all'interno del cervello. 
Penso che sia questo il punto focale per determinare un'IA indipendente
da strutture predefinite.
[/digressione] 
Una volta creata una libreria di IDEE, l'entità virtuale dovrà solo
associare una risposta o una affermazione tramite un algoritmo di
assemblamento, che terrà conto delle regole grammaticali della lingua
utilizzata e del contesto utilizzato dall'interlocutore (tempi dei
verbi, pluralità, aggettivi, ecc...).
La capacità di apprendimento, in questo modo, sarà determinata solo
dall'analisi delle sequenze grammaticali e la definizione (pilotata
dall'utente) di un termine sconosciuto all'entità: infatti la libreria
di termini (immagazzinati in un database) dovranno essere descritti con
più particolari possibili per permettere all'entità maggiori scelte nel
vocabolario a disposizione. In presenza di un nuovo termine, infatti, il
robot potrà chiedere il significato (in tutti i suoi punti, per poterlo
registrare) all'utente, che tra le due entità è quello dotato di
intelligenza e che può indicare alla procedura come utilizzare questo
vocabolo.
Concludendo, ho basato una idea sulle idee, forse sono stato
confusionario e monotono, ma immagina una I.A. di questo tipo con il
vocabolario di un bimbo: quanto ci metteresti per farlo crescere?
Attendo un riscontro positivo a tutto ciò... se ci sarà, parto coi
lavori! In java, chiaramente :-)


 situazione.
Non sono assolutamente d'accordo.
E' come dire che un bambino non e' intelligente, ma lo sono i genitori.
Inoltre stai praticamente scrivendo che nessun software puo' essere 
intelligente.
E' chiaro che per creare un software intelligente serve intelligenza, ma 
si tratta di modi diversi di esserlo.
Se un software, in qualche modo, "capisce" qualcosa, e' intelligente. 
Complimenti all'autore, ovviamente, ma un software che capisce e' 
intelligente.
Poi c'e' da dire che i chatterbot attuali non capiscono niente, e questo 
e' un altro discorso.
Con "capisce" intendo "si comporta in modo tale da dimostrare 
comprensione degli argomenti", non intendo la radice ultima filosofica 
dell'assimilazione dei concetti.


dell'assimilazione dei concetti.
io sì. Ritengo che questo argomento sia strettamente legato alla
filosofia, dato che radici filosofiche chiariscono le idee verso quella
che è una comunicazione generica nata per diventare particolare.
Tieni presente che l'IA di cui parliamo è nata per generare una
interazione tra una entità virtuale e un organismo biologico.
Non si può, in questo contesto, raggiungere la perfezione, perchè
sarebbe un'utopia. per assurdo:
Utente: Che frutto cresce sull'albero Melo?
Chatbot: Sull'albero Melo crescono le mele.
Utente: Che frutto cresce sull'albero Pippo?
Chatbot: Sull'albero Pippo crescono le pippe.
...
:-)
Prima parlavo di algoritmi. dammi un parere su quello che ti ho esposto.


 Prima parlavo di algoritmi. dammi un parere su quello che ti ho esposto.
Su cosa, in particolare? Io non sono d'accordo sull'impostazione del 
discorso. E' gia' possibile, al giorno d'oggi, emulare dei comportamenti 
intelligenti in campi ristretti - in quel contesto, il software e' 
intelligente.


Su cosa, in particolare? 
sulla chatterbot che apprende...


con un a grossa banca dati essere chiamato "intelligente"?
Tu stai facendo l'assunzione che una "grossa banca dati" sia equivalente
ad una "piccola banca dati", solo piu' grossa. 
Se un software contiene migliaia di definizioni e basta, non e' certo
intelligente. Ma se e' in grado di applicare le definizioni, estrapolare,
capire il contesto, seguire il fuoco del discorso e venirsene fuori con 
una risposta appropriata e' (sarebbe) tanto distante da una "grossa banca 
dati" quanto lo siamo noi - pur continuando (esattamente come noi) a contenere
una grossa quantita' di dati.
Un chatterbot, per inciso, non ha certo questa aspirazione - quindi e'
poco gentile valutarlo con quel metro.
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun

 Se ho capito bene, A.l.i.c.e. (o la versione italiana Annalisa) 
Annalisa? Sito?
Ciao R.
-- 
Inviato il lun 21 mag 2001 18:59:28 CEST da 
fw01-e31.inferentia.net
[217.29.160.1]
http://www.neuromante.net/

 Io non so di cosa parli tu. 
Sta parlando del test di Turing, immagino.
Ciao R.
-- 
Inviato il lun 21 mag 2001 19:17:12 CEST da 
fw01-e31.inferentia.net
[217.29.160.1]
http://www.neuromante.net/

 Non c'e' sulla FAQ questo? Quella linea di ragionamento *e'* sbagliata. :)
+-----[D] Cos'è il test di Turing ?
[R - Francesco Lentini]
L'obiezione più decisa alla validità del Test di 
Turing è quella del filosofo John Searle. 
Si pone allora il problema di stabilire cosa s'intenda per "vera 
comprensione", e partendo da ciò anche le tesi di Searle sono state 
validamente confutate.
(per quanto l'autore non abbia la mia stima)
Ciao R.
-- 
Inviato il lun 21 mag 2001 19:25:00 CEST da 
fw01-e31.inferentia.net
[217.29.160.1]
http://www.neuromante.net/

 sulla chatterbot che apprende...
Sarebbe bello avere un chatterbot che apprende, ma io partirei da uno 
che riesce a mantenere il filo del discorso: sarebbe gia' tanto.


 Sta parlando del test di Turing, immagino.
Parlava dei chatterbot che apprendono.


Annalisa? Sito?
sono partito da www.alicebot.org... il percorso che ho seguito non me lo
ricordo, ma è una versione italiana di alice troppo squadrata, e molte
cose non le capisce.


che riesce a mantenere il filo del discorso: sarebbe gia' tanto.
questo è il discorso iniziale. se è capace di ricordarsi di cosa si sta
parlando, sa mantenere il filo del discorso.


sapete dirmi brevemente come funzionano ?
le reti neurali sono quegli strati (per dare loro una forma fisica si
utilizza questo concetto) di materia neuronale composta da regole molto
simili a quelle degli elaboratori, ma con una flessibilità di
elaborazione molto alta. La principale caratteristica di queste reti è
la ridondanza di informazioni che vengono recapitate ai centri neurali
per uno stesso obiettivo: questo aumenta la tolleranza di errore, visto
che, a causa della natura biologica, i canali di trasmissione possono
casualmente interrompersi e la qualità dell'informazione può essere
scadente, generando errori nei pensieri.
Per delle definizioni ti rimando al sito che ho trovato:
http://www.hyperlab.net/neurale/


 parlando, sa mantenere il filo del discorso.
No. Potrebbe ricordare, ma non sapere usare i dati che ha in memoria.


No. Potrebbe ricordare, ma non sapere usare i dati che ha in memoria.
Se prevedi una cosa, la fa, altrimenti non la fa.
Anche un videoregistratore ripete una cosa già esistente, non per questo
è intelligente.


 priori
Spesso non sono solo "proporzionali" ed a causa di cio' (e di altri
problemi) sono praticamente non prevedibili.
-- 
Inviato il mar 22 mag 2001 15:09:40 CEST da 
fw01-e31.inferentia.net
[217.29.160.1]
http://www.neuromante.net/

problemi) sono praticamente non prevedibili.
E' per questo che esistono i controlli sugli errori di programma.
Io penso a tutti i casi in cui ci potrebbero essere problemi e dico al
programma come risolverli. Nel caso in cui ce ne siano altri,
genereranno errori che verranno catturati da una procedura "limite" che
forzerà l'utente a determinate scelte.
ciao!


 è intelligente.
Un videoregistratore non e' in grado di adattarsi alla situazione.


 problemi) sono praticamente non prevedibili.
Ovviamente vuoi dire che non sono "direttamente" proporzionali... cioe' 
che la proporzione puo' essere geometrica, cubica... ecc.


 forzerà l'utente a determinate scelte.
Allora, secondo il tuo ragionamento, sarebbe impossibile creare 
programmi per risolvere problemi NP-completi... eppure ce ne sono! (e 
usano la programmazione genetica)


Si', l'ho leggiucchiato. Non e' scientifico.
ma Dio esiste, per te?


 ma Dio esiste, per te?
Non e' rilevante: la definizione di Dio prevede l'indimostrabilita' di 
Dio - che per me esista o no, non faro' un discorso scientifico su Dio.
Se Dio fosse dimostrabile, non sarebbe piu' Dio, ma un semplice elemento 
naturale.
La fede e' una scelta, forse un dono, ma non un fatto di razionalita' e 
non e' un fatto scientifico.


 ma Dio esiste, per te?
Questo e' OT. 
Consiglio it.cultura.religioni e/o it.cultura.ateismo in merito.
Ciao R.
-- 
Inviato il mar 22 mag 2001 17:21:07 CEST da 
fw01-e31.inferentia.net
[217.29.160.1]
http://www.neuromante.net/

Consiglio it.cultura.religioni e/o it.cultura.ateismo in merito.
grazie, ma la domanda OT si č esaurita con la risposta, dato che era
riferita ad una sola persona.
Roftl!


 che č una comunicazione generica nata per diventare particolare.
[cut]
Fratello! :-)
Ciao,
     Stefano
--
"This is the evolution
the monkey, the man and then the gun[...]
This is your creation:
the atom of Eden was a bomb"
Marilyn Manson, Cruci-Fiction in Space

 Accetto correzioni, ovviamente.
[cut]
Mi pare che il manifesto incoraggi attivamente la presenza nel ng di
discussioni a sfondo filosofico.


 Fratello! :-)
Cioe', tu hai capito che significa?


 discussioni a sfondo filosofico.
Ho gia' commentato questo. Non ho mai scritto che non si debba parlare 
di filosofia, ho solo indicato come io interpreto il tipo di filosofia 
che bisognerebbe trattare.
Ad esempio, il manifesto non invita a parlare di Eraclito, che pure e' 
filosofia.


Cioe', tu hai capito che significa?
In assenza di nicotina ho brillanti spirazioni...
la comunicazione può essere intesa come la madre di tutti i linguaggi:
l'esigenza di stabilire un collegamento verso un'altra entità.
la comunicazione generica qui intesa come "l'esperimento di far
comunicare qualcosa di non pensante" diventa particolare con
"l'inventività dell'uomo a migliorare ciò che già esiste", riprendendo
le basi e i concetti già sperimentati, rivedendoli sotto altra forma,
per permettere all' "entità che non pensa" di poter comunicare come una
persona umana intelligente.
Penso che sia questo il punto focale del thread, "l'utilizzo della mente
umana per rendere simile al perfetto qualcosa che, attualmente, è
incompleto e non sfruttato.


 incompleto e non sfruttato.
Questa proposizione ha come base un'idea sbagliata: la perfezione.
Il cervello umano e' imperfetto. Gli uomini sono imperfetti.
Inoltre io non credo che la ricerca dell'IA, anche nel campo della 
comunicazione verbale, sia tesa a "rendere simile al perfetto".
Mi sembra che lo scopo sia ottenere dei comportamenti simili, e di 
ottenerli con una struttura di base _ben_ _diversa_, *non* _simile_.


 filosofia.
Di Cartesio si' pero' :-)
Ciao R.
-- 
Inviato il mer 23 mag 2001 18:29:55 CEST da 
fw01-e31.inferentia.net
[217.29.160.1]
http://www.neuromante.net/

 Di Cartesio si' pero' :-)
In determinati contesti, si'.


 linguaggio umano". 
In effetti si potrebbe estendere il test di turing a *qualsiasi* attivita'
umana considerata intelligente. Se la robocup avra (in futuro) un successo
tecnologico concreto le persone potrebbero iniziare ad andare a vedere
partite di calcio fatte da robot... in un certo senso sarebbe un test di
turing realizzato.
Ciao R.
-- 
Inviato il mer 23 mag 2001 18:43:13 CEST da 
fw01-e31.inferentia.net
[217.29.160.1]
http://www.neuromante.net/

 Cioe', tu hai capito che significa?
No, ma il mio commento era semi-ironico :-) Mi fa solo piacere che ci sia
qualcuno disposto a portare un po' di filosofia all'interno di questo ng.


 filosofia.
Beh, ovviamente il tipo di filosofia discussa deve essere attinente coll'IA,
ma l'interpretazione che ne hai dato tu mi sembra sinceramente un po' troppo
restrittiva.


 restrittiva.
Capisco.
Secondo me e' importante discernere tra "filosofia come risvolto 
dell'IA" e "filosofia attintente con l'IA" e "filosofia attinente con 
l'intelligenza" o "filosofia della mente" in generale.
A mio parere si dovrebbe discutere solo della prima, posso concepire che 
una interpretazione valida sia la seconda, ma non la terza o la quarta, 
altrimenti, se ragioniamo "per transitivita'" possiamo parlare pure di 
automobili e di coltivazione della Canapa Indiana.
