Newsgroup: it.comp.ia
Titolo: NLP[2]

Cercando di sintetizzare gli ultimi interventi in relazione scriverei che:
    1) e' interessante di per se' vedere fino a che punto si puo'
arrivare con l'approccio solo testuale (anche se ci sono prove concrete che
mostrano l'evidente limite di tale approccio).
    2) L'apporto non-testuale, per l'apprendimento umano, pare
indispensabile
per la _costruzione_ della base di conoscenza; non si e' ancora sicuri che
lo
 sia per il suo _uso_, oltre un certo "punto di accumulazione".
    3) In linea teorica, "testuale" significa essenzialmente "codificato".
Allora, per Shannon e' possibile che esista una via per costruirla *diversa*
da quella evoluta dalla specie umana.
    4) Qualsiasi Mondo può essere descritto da elementi costituiti da una
etichetta (si pensi alla "parola")  e da una serie di attributi (si
immaginino le sensazioni che ad ogni parola sono connesse).
    5) Il NLP e il ML sono campi fortemente interconnessi quindi la dove
esiste l'uno dovra esistere anche l'altro.
Ripropongo la sintesi dei costituenti un sistema di NLP:
NLP= Acquisizione del Discorso+Comprensione del Discorso+Acquisizione di
Conoscenza+Risposta
Ora la domanda che ci si era posti in NLP[1] era la seguente: è sufficiente
un sistema di interazione Agente-Agente basato su una codifica di tipo
testuale o si rende necessario qualcosa di diverso?
Riletti i vari contributi in proposito mi pare di poter affermare che la
risposta è no, la codifica testuale non è in grado di rappresentare tutte le
sfumature della realtà, inoltre lo sforzo necessario a costruire una base di
conoscenza con input testuale risulta sproporzionato rispetto ai risultati
che ci si prefigge di ottenere.
Da ciò concludo che è necessario allora comprendere quale sia il modo
migliore per dotare della giusta base di conoscenze un calcolatore.
Ora propongo la deguente riflessione:
    Un Agente è in contatto con il Mondo nel quale è immerso attraverso i
Sensi di cui è dotato; l'agente-Uomo è comunemente dotato di 5 sensi:
    -udito
    -olfatto
    -tatto
    -gusto
    -vista
Tutte le informazioni prodotte dai 5 sensi vengono convogliate all'interno
di un Sistema (di elaborazione ed informativo) entro il quale si fondono
inestricabilmente ne è prova il fatto che spesso capita che un odore evochi
una immagine, un oggetto non presenti.
Ora è universalmente accettato che la vista è il senso più importante in
assoluto dal punto di vista del peso informativo; infatti gli psicologi
affermano che la vista "pesa" per il 90% sulle informazioni sensoriali
mentre i restanti 4 sensi contribuiscono apportando solo un 10% di
informazione.
Ora se io dovessi scegliere uno dei sensi per iniziare a creare un sistema
di acquisizione naturale di informazioni sul mondo non c'è dubbio che
partirei proprio dalla vista!
Oggi come oggi con poca spesa ci si può dotare di una webcam di qualità
discreta e utilizzando il Java MediaFramework è possibile con "poca" fatica
produrre software che elaborino il flusso di info proveniente dalla
telecamera.
Restano le difficoltà oggettive intrinseche alla elaborazione di immagini
( perdipiù non statiche!!!) che non è quel che si suol dire un argomento "di
semplice digestione".



Qualcuno sa, anche solo a grandi linee, quali sistemi si utilizzino per fare
apprendere COG, il robot umanoide del MIT?

Phao vorrei riassumerTi il percorso che hai compiuto
1- sei partito da "il NLP in ITALIA ha bisogni di nuove idee!!!"
2- strada facendo Ti sei chiesto "Non siamo forse in grado di produrre
qualcosa di originale da soli? "
3- hai ammesso che non sei in grado di realizzare un programma per
riconoscimento vocale  della lingua italiana
4- sostienche "lo sforzo necessario a costruire una base di conoscenza con
input testuale risulta sproporzionato rispetto ai risultati che ci si
prefigge di ottenere".
Adesso proponi di realizzare un programma che partendo dalla elaborazione di
immagini non statiche arrivi alla acquisizione del linguaggio.
E' corretto?
Grazie
---
Franco

 wrote in message
9asg95$i6g$1...@fe1.cs.interbusiness.it...


 E' corretto?
... prima di proporre la realizzazione del programma ho bisogno di ragionare
sui fondamenti che esso (eventualmente) dovrà avere; in particolare ho
bisogno di capire SE è questa la strada giusta da percorrere e SE anch'essa
non è un vicolo cieco come sembra esserlo il tradizionale "input da
tastiera".
    Dr Phao

Cristiano Sadun wrote:
--------------------------------------
Ad esempio, se tu mi dici "io avere fame" io capisco perfettamente, cosi'
come se mi dici "fame ho ora". Questo perche' noi non consideriamo certo
"fame" come una parola che e' una parte nominale eccetera (chissenefrega,
io ho sempre pensato ;-), ma semplicemente un'abbreviazione per un
(enorme) set di proprieta' esperienziali; e abbiamo un concetto di
"fuoco", implementato da una memoria a breve termine, che ci permette di
limitare le possibili associazioni tra i vari set di proprieta' che
abbiamo sentito per ultimi.
La grammatica (formale o naturale) potrebbe "emergere" progressivamente
da questo tipo di meccanismo operazionale, unito magari ad un processo
che fa costantemente il monitoraggio di pattern ricorrenti. Ovviamente,
e' tutto da provare, e se e avessi tempo e voglia mi butterei a fare
un prototipo, con "esperienze" semplici. Lo svantaggio e' che, appunto,
questo meccanismo *richiede* la costruzione di basi di conoscenza
basate sull'esperienza.
-----------------------------------
Potresti Argomentare ulteriormente sulla connessione tra grammatica e gruppi
di attributi, con particolare riferimento al "basso contenuto semantico
della grammatica"?
    dr Phao

L'obiettivo attuale di identificare il modo migliore per dotare della giusta
base di conoscenze un calcolatore.
Vorrei verificare le tre ipotesi che hai avanzato con una "prova sul campo":
desidero che il mio calcolatore impari il concetto di "luna".
Prima ipotesi:
Non compero nessun dispositivo particolare per fare in modo che  il
calcolatore acquisisca una base di conoscenza e quindi la immetto
direttamente da tastiera. Cerco una definizione di luna su una enciclopedia
e la trascrivo impiegando la tastiera. Le mie frasi dovranno essere
elaborate in modo che da queste il calcolatore possa individuare le coppie
attributo(valore che ci consentono di descrivere il concetto di "luna"
(esempio: IS_A(pianeta) FORMA(sfera) ...). Per ridurre lo sforzo richiesto
potrei insegnare al calcolatore a "leggere" libri elettronici, enciclopedie,
dizionari e a classificare i concetti appresi dapprima in domini limitati e
successivamente in domini sempre più ampi.
Seconda ipotesi:
Collego un microfono alla scheda audio e scrivo un programma per il
riconoscimento vocale della lingua italiana.
Il calcolatore dovrebbe convertire quanto rilevato dal microfono in una
matrice di valori numerici.
Da questa matrice di valori dovrebbe poi passare ad una sorta di
rappresentazione interna di quanto ha percepito;
Su questa rappresentazione interna dovrebbe compiere delle opportune
elaborazioni (deduzioni, induzioni, ...)
Successivamente dovrebbe ritrasformare questa rappresentazione interna in
linguaggio naturale in risposta a quanto affermato dal proprio
interlocutore.
Infine dovrebbe inviare la frase generata o sullo schermo o alla scheda
audio attraverso un programma di text to speech.
Terza ipotesi:
Colleghiamo una webcam al calcolatore di qualità e scriviamo un programma
che elabori le immagini provenienti dalla
telecamera.
Proviamo ad immaginare un
Prendo la mia webcam, la giro verso la luna nel cielo e poi? Come passo
dalla immagine al concetto di luna?
Posso pensare che quando il mio calcolatore vede la luna per la prima volta
ricerchi nella propria memoria a lungo termine una immagine identica o
semplicemente analoga a quella che sta osservando e alla quale sia
"agganciata" una rappresentazione interna del concetto "luna".
Posso immaginare che il calcolatore "ragioni" sulla base di una regola
euristica (mediata da Emycin):
"SE non conosci e non puoi dedurre ALLORA chiedi"
Poiché non conosce e non può dedurre mi chiede "Cosa è?" Gli rispondo con la
tastiera "la luna" e lui dopo avermi ringraziato memorizza il legame
immagine - concetto - parola scritta.
La seconda volta che prendo la webcam e la giro verso la luna potrei
invertire le parti del dialogo e sperare nello stesso risultato. Con queste
premesse ho ipotizzato alcune cose
la mia domanda immessa dalla tastiera è stata convertita in una
rappresentazione interna
il calcolatore ha confrontato l'immagine che sta riprendendo con le altre
presenti nella sua memoria
ha trovato che quella più simile a quella attuale è l'immagine a cui è
associato il concetto di "luna"
a questo punto smette di ragionare sull'immagine e impiega solo il concetto
ad essa sotteso per generare la risposta.
---
Franco

 dalla immagine al concetto di luna?
Uso il mio "dito" per indicare la luna!!! L'indocazione di oggetti ha una
importanza abissale nella acquisizione di significati. È una facoltà quasi
innata ed è la prima risposta che un bambino impara ascoltando i suoni
(parole) emessi dalla mamma: ella dice parole ed il bimbo cerca gli oggetti
corrispondenti.

Primo: Perché proprio una web cam? Credo che per iniziare siano sufficienti
uno scanner ed un po' di fotografie sulle quali sperimentare.
Secondo: il discorso, purtroppo è assurdamente più complicato (anche se dal
punto di vista logico la trafila è più o meno quella descritta).
Innanzitutto è necessario rendere l'Agente capace di identificare porzioni
di immagini e rendere disponibile la capacità di concentrarsi su di esse;
poi è necessario dotare l'Agente della possibilità di estrarre attributi
(proprietà dei concetti) dalle osservazioni compiute e della possibilità di
trovare somiglianze e differenze. Poi va dotato della capacità di
generalizzare e specializzare le conoscenze acquisite. Va dotato inoltre, e
questo secondo me è molto importante, della capacità di "interessarsi" a
quello che sta facendo, ci deve essere un feedback "emotivo" che lo sprona a
progredire nella sua conoscenza del mondo, e questo deve dargli
soddisfazione. deve essere in grado di "sentire" se una esperienza è per
lui,pardon per esso, positiva o negativa.
Ancora una volta questa descrizione è di tipo puramente logico, anche se ad
un livello più basso di progettazione. Ora se la scomposizione è corretta e
completa sarà possibile proseguire in una ulteriore analisi.
    Dr Phao

 Posso pensare che quando il mio calcolatore vede la luna per la prima

Primo: Perché proprio una web cam? Credo che per iniziare siano sufficienti


 Posso pensare che quando il mio calcolatore vede la luna per la prima

Primo: Perché proprio una web cam? Credo che per iniziare siano sufficienti


...

: 

Non e' che una grammatica in generale ha basso contenuto semantico, 
anzi, al contrario. E' che - imho e quindi in ipotesi di ricerca - una
grammatica in senso classico, non formale, *emerge* dall'esperienza
comunicativa, almeno inizialmente. Io la vedo come una catalogazione a
posteriori - e "congelata" in un certo istante - della forma del processo
comunicativo (tra due persone, ad esempio) in quell'istante. 
Tale catalogazione risulta "quasi coerente" (cioe' suppergiu' coerente :)
perche' il processo comunicativo _e'_ quasi coerente; allo stesso modo,
presenta eccezioni e irregolarita' perche' il processo comunicativo non
e' mai al *100%* coerente - ci sono appunto delle differenze
esperienziali per cui, per quanto il mio concetto di "sedia" sia vicino
al tuo, non e' mai *totalmente* identico. Piu' tecnicamente, puo' essere
che non sia definibile un morfismo (mappa, relazione) costante tra set di
attributi e set di rappresentazioni fondate su una certa grammatica. In
soldoni, rappresentare "elementi di esperienza" (prendiamolo come
concetto di base, non ulteriormente definito) con grammatiche naturali (o
grammatiche formali basate su astrazioni simili, come PN/PV etc)
semplicemente perde informazione; o viceversa, una grammatica di quel
genere non e' in grado di denotare l'intero set di processi comunicativi
possibili, ma solo un subset ristretto il cui uso - tristemente - ci
appare piuttosto banale e "non" intelligente. Usando una locuzione
imprecisa ma suggestiva, possiamo dire che una grammatica di quel tipo
non e' abbastanza potente. 
Ora, quanto sopra e' solo un'idea appena abbozzata, ovviamente, e
decisamente poco definita. Come facciamo a focalizzarla? E' difficile
senza troppa matematica, e impossibile senza *un po'* di matematica :).
Avevo iniziato a illustrare un minimo di formalizzazione, ma ho
visto che ci avrei messo una vita: l'idea si basa su un "ambiente",
definito come un set di bit + una scala temporale, una nozione di
processo come una trasformazione di un sottoinsieme di bit, le nozioni di
processo "atomico" (o "step"), di uguaglianza di processi, di relazioni
temporali e via andare.. tutti elementi che trovi in libri e paper
tecnici sul reasoning, e su cui si puo' basare un modello operazionale
(cioe' eseguibile) che (forse) "evolva" un linguaggio rudimentale.
Non una cosa che stia in un post, temo. :(
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun

 Non una cosa che stia in un post, temo. :(
Se si lavora da soli ci simette una vita, se ci lavorano in tanti può
bastare molto meno. Il problema è se si è disposti o meno a rendere pubblici
i propri pensieri. E non è assolutamente facile, di questo ne sono convinto.
    Dr Phao

 Non una cosa che stia in un post, temo. :(
Se si lavora da soli ci simette una vita, se ci lavorano in tanti può


sono convinto. 
LOL e' che trasmettere pensieri presuppone che siano sensati e coerenti.
In temporanea mancanza di senso e coerenza (cioe' in ambito di ricerca)
si fa leva sul fatto che tutti sono abiutati ad usare un certo linguaggio
e notazioni (quello matematico) e certi concetti, e quindi a "capirsi" in 
modo istintivo e  piu' o meno efficiente. *Se* non c'e' neanche questo 
la cosa quasi  certamente diventa un guazzabuglio - e non vale l'uso
di tempo. 
