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

NLP= Acquisizione del Discorso+Comprensione del Discorso+Acquisizione di
Conoscenza+Risposta
Vorrei iniziare questo mio intervento affrontando il tema della acquisizione
del discorso e per approfondire il problema della "sufficienza" di una
iterfaccia a caratteri per la elaborazione del linguaggio naturale.
    Da quello che ho potuto vedere in giro (e sperimentare di persona) le
capacità dei prodotti di riconoscimento vocale attualmente disponibili sono
piuttosto scadenti e necessitano di una quantità impressionante di risorse
di calcolo. Ne deduco che per ora non sia stata ancora individuata la
strategia giusta per affrontare il problema (qualcuno vuole smentirmi?).
D'altra parte per iniziare a creare un sistema di elaborazione del
linguaggio naturale non sembra esserci bisogno di sistemi così complessi e
"pesanti"; infatti la cara vecchia tastiera è sufficiente a produrre un
flusso di informazione utile al nostro scopo.
Ora giungo alla domanda clue: "Un Agente che acquisisce informazioni sotto
forma di stringhe di testo in linguaggio naturale può davvero apprendere
qualcosa di significativo per poter interagire in modo naturale con un altro
Agente?" che formulata in modo antropocentrico diventa "dati due bambini,
uno che può comunicare ed interagire con il mondo solo per mezzo di una
tastiera e l'altro che ha una interazione di carattere tradizionale, possono
entrambe sviluppare un'idea compatibile del mondo?"; Ancora una
formulazione: "E' sufficiente la lingua scritta per descrivere ad un livello
di dettaglio adeguato il Mondo reale?".
La premessa che io considero necessaria per poter dare senso a questa
domanda è:
    - Affinché la comprensione vicendevole tra due Agenti possa dirsi
realizzata essi devono poter condividere un modello di Mondo che sia
sufficientemente simile.
Sulla domanda che ripropongo si sono cimentati numerossissimi ed
eminentissimi scienziati. Vorrei citare Terry Winograd, per soffermarmi sul
suo "Bot" SHRDLU che è in grado di manipolare il linguaggio naturale e la
realtà di un semplice mondo di blocchi (stupefacente la sua abilità!) e poi
Roger C.Shank che ha imbastito una teoria davvero notevole per poter
descrivere in modo formale e flessibile il mondo reale e di conseguenza per
gestire "effettivamente" il linguaggio naturale.
Voglio tirare questa conclusione, volutamete affrettata:
    - il Bot di Winograd non è distinguibile da un essere umano.
    - Bot basati sulla teoria di Shank (o su qualsiasi altra teoria) non
riescono a fare altrettanto (nemmeno lontanamente).
Non è forse che l'idea di un Agente che apprenda "solo" attraverso
proposizioni scritte sia ERRATA in partenza? Mi chiedo: Chi costruisce
programmi di elaborazione del linguaggio naturale con interfaccia a
caratteri non ha mai riflettito su questo possibile LIMITE INVALICABILE?
Altra domanda per chi vuole cuocersi qualche neurone in più: Si fa un gran
dire delle così pomposamente dette Reti Semantiche (WordNet), ma siamo
sicuri che siano uno strumento tanto potente quanto lo si dipinge?
    Dr Phao


Il TEMA è interessante, anche se, a mio parere, la traccia è mal posta.
Infatti la prima cosa che dobbiamo domandarci è: qual è lo scopo di questo
processo? Facciamoci guidare dagli obiettivi.
Cosa vogliamo ottenere da una macchina (opportunamente programmata)? Che ci
faccia il caffè? O che ci faccia il riassunto di un testo? Tutto cambia in
base agli obiettivi.
Ammettiamo di voler ottenere l'esecuzione di un file multimediale (presente
sul computer). Possibili frasi di input sono:
- Fammi ascoltare la colonna sonora del film FFF
- Fammi vedere il film FFF
- Suonami il brano BBB
- Voglio sentire la canzone CCC cantata da AAA
- Esegui...
- ecc
Dato il file multimediale X, esistono N frasi di input che ne comandano
l'esecuzione. Ognuna di queste frasi può avere una SINTASSI diversa. Ogni
frase potrebbe essere inserita in modo parziale, o contenere (banali) errori
di digitazione. Scrivere un programma capace di eseguire qualsiasi file
multimediale presente sul computer dell'utente, senza fare confusione tra i
comandi.
Svolgimento.
--
Cibernetica-mente,
Francesco Lentini
http://www.eloisa.it
 - Eloisa® Official Web Site

 Agente?"
In genere ho letto "No, perche' il linguaggio e' nato come forma 
descrittiva basata su un esperienza (sensoriale e non) comune al 
mittente e al destinatario della comunicazione".
Questa risposta mi sembra tanto piu' condivisibile quando si nota come 
le differenze di esperienza influiscano sul linguaggio naturale: il 
Giapponese e' strutturalmente tanto diverso dall'Inglese, che in molti 
casi la traduzione e' impossibile senza ricorrere a perifrasi.
Ciao,
  GiO

 base agli obiettivi.
L'affermazione è corretta, ma riduce il problema. In questo senso la
soluzione effettivamente esiste e tu me lo dimostri proponendo un un
esercizio che intuisco abbia soluzione (e che tu hai già risolto, vero?).
La mia questione è di carattere più generale, vorrei capire se una macchina,
che può "vedere" il mondo solo attraverso descrizioni proposte in una
qualche forma di linguaggio sintattico, è in grado di "apprendere" (in tempi
ragionevoli) e di espandere in modo autonomo un modello di mondo
sufficientemente compatibile con quello che possiamo avere noi esseri umani.
Se la risposta é sì allora (dal mio punto di vista) avrà senso procedere
nell'analisi del problema) se sarà no il modello che ho proposto anrdà
modificato opportumnamente affinché l'ipotesi (a mio avviso fondamentale)
sui Mondi compatibili possa essere verificata.
    Dr Phao

siamo sicuri che siano uno strumento tanto potente quanto lo si dipinge?
Wordnet e reti semantiche sono abbastanza diverse. Wordnet (ancora,
io sono rimasto alla versione di qualche anno fa) e' utile, ma come e'
utile ad un essere umano un dizionario - di per se' non sufficiente
per la comprensione. Una rete semantica aumentata, accoppiata ad un
opportuno meccanismo di controllo (ad esempio, basato sull'unificazione,
ma non e' detto), *potrebbe* andare oltre: pero' diventa un fattore 
importante il modo (efficiente) di mantenere l'informazione. L'idea di
Shank, per esempio, e' efficace e elegante, ma probabilmente troppo
semplice. Una struttura neurale - con informazione distribuita e
associazioni riconfigurabili sopra lo strato "fisico" potrebbe essere 
piu' adatta.
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun

 sufficientemente compatibile con quello che possiamo avere noi esseri
umani.
Il Tuo modello di mondo  č diverso da quello di qualsiasi altro essere
umano, come potrebbe essere simile al Tuo quello di una macchina?

 umano, come potrebbe essere simile al Tuo quello di una macchina?
Esatto; per questo non ho detto uguale ma "compatibile", io e te viviamo
nello stesso mondo che è fatto più o meno delle stesse cose, viviamo nella
stessa società e seguiamo più o meno le stesse norme sociali....

 mittente e al destinatario della comunicazione".
Potresti citare la fonte? Eventualemnte approfondire?
Grazie
        Dr Phao

 piu' adatta.
Potresti approfondire questo paragrafo, che trovo molto interessante?
Concludendo:
    - Fino a che punto si può spingere l'interazione esclusivamente
sinattica tra Agenti?
    - La capacità di apprendere in questo modo è sufficiente agli scopi del
NLP?
    - Vale la pena di andare oltre l'approccio esclusivamente sintattico?
    - E' possibile pensare ad un sistema in grado di apprendere informazioni
consistenti con il Mondo Reale che non abbia nessuna competenza
precodificata?
    - E' possibile rendere questo apprendimento accessibile a non
specialisti fin dall'inizio?
    - E' giusto avere come modello l'Agente Uomo? Quali altri modelli si
possono considerare?
        Dr Phao

 Potresti citare la fonte? Eventualemnte approfondire?
Non posso. Non sono un esperto del campo, e i libri che ho letto li ho 
letti in vari momenti della mia vita... cmq si tratta dei soliti autori, 
Chomsky, Gardner, ecc.
Cmq quando parli con una persona, normalmente, parli con una entita' che 
ha _appreso_ il linguaggio mentre imparava ad analizzare il mondo con i 
propri sensi.
A un bambino tu fai vadere la mela e gli dici "ME-LA", ecc.
Per questo motivo, quando parli con una persona, non ti stai basando 
solo sul linguaggio, ma anche sun background comune.
Quando questo background non e' comune, e' piu' difficile parlare.
Se ti e' capitato di parlare, anche in una lingua comune, con una 
persona di cultura molto diversa (es.: Giapponese, tanto per fare un 
caso semplice) avrai sicuramente riscontrato il problema!
Tanto per fare un esempio sciocco: "Mangiare" per te si lega 
immediatamente con forchetta e coltello, mentre per un giapponese si 
lega alle bacchette, quindi un riferimento al metallo mentre si parla di 
mangiare sara' piu' immediato per te che per un Giapponese.
Altro esempio: per un giapponese il "due" di "due bacchette" e' diverso 
dal "due" di "due piatti", quindi gli schemi di memorizzazione sono 
sicuramente diversi.
Altro esempio: in norvegese lo zio per parte di madre e quello per parte 
di padre si chiamano "Morbror" e "Farbror", cioe', per quel concetto che 
a te servono 5 parole per esprimere, a loro ne basta una...
Tutte queste differenze servono solo per spiegare come il modo di 
associare il linguaggio alla realta' varia da persona a persona, in base 
a input ambientali.

Grazie per l'esemplificazione.
    Dr Phao

Potresti approfondire questo paragrafo, che trovo molto interessante?
Un dizionario di per se' e' olistico, autoreferente. Se cerchi "uomo"
trovi "persona", se cerchi "persona" trovi "essere umano", ecc... e 
alla fine ritorni a "uomo". Richiede conoscenza esterna per essere usato,
alla meglio permette di definire tale conoscenza in modo abbastanza
flessibile (ad esempio, puoi partire da uno qualunque di "uomo" o "essere
umano" e costruire un processo di ricerca sensato).
Una rete semantica vuole incapsulare tale conoscenza - assumendo solo
che ci sia un'interpretazione operazionale per le "azioni" di base, e per
la loro composizione. Che e' un'ottima idea: noi *sappiamo* parlare, 
e una RS ci dovrebbe permettere di trasmettere tale conoscenza ad un
sistema software. Il problema e' definire questi mattoni di base - e la
loro semantica operazionale, e quella della loro composizione - in modo
che: 1) si possano comporre descrizioni (reti) per tutto quello che
vogliamo, cioe' la teoria sia abbastanza potente da permetterci di
descrivere conoscenza reale o quasireale; 2) tali descrizioni restino
ragionevolmente *concise*, cioe' abbiamo una dimensione uniformemente
minore dell'insieme di esperienze che ci permettono di scriverle; 3)
sperabilmente, tale dimensione, e la semantica operazionale associata ai
mattoni sia di complessita' computazionale accettabile. 
Accennando alla struttura "neurale", intedevo dire che, con una sensazione
assolutamente senza fondazioni concrete, sono incline a pensare che
sia piu' facile usare l'apprendimento affinche' il sistema si crei
'ste reti da solo, invece di provare a scriverle esplicitamente
e passaglierle.



Il solo input da tastiera può creare un modello di mondo, ma del tutto
diverso.
