Dall’Intelligenza Artificiale al Natural Language Processing
description
Transcript of Dall’Intelligenza Artificiale al Natural Language Processing
Dall’Intelligenza Artificiale al Natural Language Processing
Matteo Conci
Clara Craffonara
Martina Delladio
“Colorless green ideas sleep furiously.”
www.pinobruno.it
Talk to ELIZA I'm unhappy.
Do you believe it is normal to be unhappy?Yes, sometimes, but not always. I am always unhappy.
Did you come to me because you are always unhappy?
Yes. I want to be happy again.
What would it mean to you if you got to be happy again?
It would be great. I would live my life with a new motivation.
Can you elaborate on that?
I would go out with my friends and I maybe find a boyfriend.
You don't seem quite certain.
My father doesn't believe that I find a boyfriend.
I'm not sure I understand you fully.
ELIZA
è una macchina o
una persona?
ELIZA è un chatterbot, cioè un programma che ELIZA è un chatterbot, cioè un programma che simula una conversazione con una personasimula una conversazione con una persona
programma creato nel 1966 da J. Weizenbaumprogramma creato nel 1966 da J. Weizenbaum simula una seduta da una psicoterapeuta, dove simula una seduta da una psicoterapeuta, dove
l’utente è il pazientel’utente è il paziente
http://www.planet-source-code.com
Test di TuringTest di Turing
test di intelligenza per test di intelligenza per macchinemacchine
ideato da Alan Turing e ideato da Alan Turing e pubblicato la prima volta pubblicato la prima volta nel 1950nel 1950
l’elaborazione del l’elaborazione del linguaggio naturale non è linguaggio naturale non è condizione sufficiente e condizione sufficiente e nemmeno necessaria per nemmeno necessaria per l’intelligenzal’intelligenza
http://en.wikipedia.org/
Natural Language Processing (NLP)Natural Language Processing (NLP)
settore di ricerca integrato all'Intelligenza settore di ricerca integrato all'Intelligenza Artificiale e alla linguistica computazionaleArtificiale e alla linguistica computazionale
si occupa del trattamento automatico del si occupa del trattamento automatico del linguaggio naturale linguaggio naturale
scopo: implementare strumenti informatici scopo: implementare strumenti informatici per analizzare, comprendere e generare per analizzare, comprendere e generare testi nel linguaggio naturaletesti nel linguaggio naturale
Natural Language Understanding Natural Language Understanding (NLU)(NLU)
problema dell’Intelligenza Artificiale problema dell’Intelligenza Artificiale completocompleto
richiede una conoscenza estesa del mondo richiede una conoscenza estesa del mondo e una grande capacità di manipolarloe una grande capacità di manipolarlo
differenza profonda tra linguaggio formale differenza profonda tra linguaggio formale di programmazione e linguaggio naturaledi programmazione e linguaggio naturale
Un po’ di LinguisticaUn po’ di Linguistica
Morfologia:Morfologia: parte della Grammatica che studia le forme parte della Grammatica che studia le forme linguistiche, le norme che regolano la struttura, la flessione, la linguistiche, le norme che regolano la struttura, la flessione, la composizione e la derivazione delle parolecomposizione e la derivazione delle parole
Sintassi:Sintassi: studia l'insieme delle relazioni grammaticali tra le studia l'insieme delle relazioni grammaticali tra le parole che costituiscono una frase o, in generale, parole che costituiscono una frase o, in generale, un'espressione linguistica di più elementiun'espressione linguistica di più elementi
Semantica:Semantica: studia il linguaggio dal punto di vista del studia il linguaggio dal punto di vista del significatosignificato
Pragmatica:Pragmatica: studia il linguaggio in rapporto all’uso che ne fa il studia il linguaggio in rapporto all’uso che ne fa il parlanteparlanteEsempio: Esempio: “Sai che ore sono?”“Sai che ore sono?”
Trasformazione dell’inputscritto e orale in una
rappresentazione macchina interna
Analisi lessicaleAnalisi lessicale
Nome: Nome: DELIMITATORE DI FRASEDELIMITATORE DI FRASE
Compito:Compito: suddividere un testo in singole frasi suddividere un testo in singole frasi
Osservazioni:Osservazioni: non sempre i segni d’interpunzione indicano non sempre i segni d’interpunzione indicano la fine di una frasela fine di una fraseEsempio: Esempio: “Geom. Rossi”“Geom. Rossi”
Nome: Nome: TOKENIZERTOKENIZER
Compito:Compito: segmentare un flusso di caratteri in unità minime segmentare un flusso di caratteri in unità minime lessicali significative (=parole)lessicali significative (=parole)
Osservazioni: Osservazioni: una parola non può essere sempre vista una parola non può essere sempre vista come la sequenza di caratteri fra due spazi bianchicome la sequenza di caratteri fra due spazi bianchiEsempio: Esempio: “Città del Vaticano”“Città del Vaticano”
Analisi grammaticaleAnalisi grammaticale
Nome: Nome: STEMMERSTEMMER
Compito:Compito: ridurre la forma flessa di una parola al suo ridurre la forma flessa di una parola al suo lemma (=parola scelta per convenzione per rappresentare lemma (=parola scelta per convenzione per rappresentare tutte le forme di una flessione)tutte le forme di una flessione)Esempio: riduzione di Esempio: riduzione di “dormirò”“dormirò” a a “dormire”“dormire”
Osservazioni: Osservazioni: spesso vengono usati dei cosiddetti spesso vengono usati dei cosiddetti stemmer euristici che eliminano gli elementi lessicali di stemmer euristici che eliminano gli elementi lessicali di superficie (prefissi e suffissi) al fine di scoprire il tema della superficie (prefissi e suffissi) al fine di scoprire il tema della parola (=parola (=parte della parola composta di radice del tema parte della parola composta di radice del tema più vocale tematica, a esclusione dei suffissi)più vocale tematica, a esclusione dei suffissi)Esempio: riduzione di Esempio: riduzione di “donazione”“donazione” a a “dona”“dona”
Analisi grammaticaleAnalisi grammaticale
Nome: Nome: PART OF SPEECH TAGGERPART OF SPEECH TAGGER
Compito:Compito: etichettare ogni parola con la corretta parte del etichettare ogni parola con la corretta parte del discorsodiscorso
Osservazioni: Osservazioni: frequenti problemi di ambiguitàfrequenti problemi di ambiguitàEsempio: Esempio: “Visiting aunts can be a nuisance.”“Visiting aunts can be a nuisance.”“Visiting” “Visiting” deve essere etichettato come verbo o come deve essere etichettato come verbo o come aggettivo?aggettivo?Risoluzione dell’ambiguità con regole sintattiche o facendo Risoluzione dell’ambiguità con regole sintattiche o facendo riferimento ad un corpus (=collezione di testi) taggato riferimento ad un corpus (=collezione di testi) taggato manualmentemanualmente
Analisi sintatticaAnalisi sintattica Nome: Nome: PARSERPARSER
Compito:Compito: costruire la struttura sintattica di una frase per verificarne la correttezza; costruire la struttura sintattica di una frase per verificarne la correttezza;indicare quali combinazioni di parti del discorso generano strutture indicare quali combinazioni di parti del discorso generano strutture sintatticamente correttesintatticamente corrette
“Colorless green ideas sleep furiously.”
usata nel 1957 dal linguista statunitense Noam Chomsky, fondatore della usata nel 1957 dal linguista statunitense Noam Chomsky, fondatore della grammatica generativo-trasformazionalegrammatica generativo-trasformazionale
evidenzia la necessità di distinguere sintassi e semanticaevidenzia la necessità di distinguere sintassi e semantica
frase sintatticamente corretta, ma priva di significatofrase sintatticamente corretta, ma priva di significato
Rappresentazioni di strutture sintatticheRappresentazioni di strutture sintattiche
Struttura inscatolata
Parse tree
(S: (NP: (ADJ: Colorless) (ADJ: green) (N: ideas))
(VP: (V: sleep) (ADV: furiously))
SHRDLUSHRDLU
programma sviluppato da T. Winograd alla fine degli anni ’60programma sviluppato da T. Winograd alla fine degli anni ’60
il nome deriva dalla sequenza ETAOIN SHRDLU, la il nome deriva dalla sequenza ETAOIN SHRDLU, la disposizione dei tasti su una macchina Linotypedisposizione dei tasti su una macchina Linotype
l’utente interagisce con un braccio robot all’interno del piccolo l’utente interagisce con un braccio robot all’interno del piccolo “blocks world” scrivendo dei comandi“blocks world” scrivendo dei comandi
http://www.uv.es
la comprensione del la comprensione del linguaggio naturale da linguaggio naturale da parte del programma parte del programma risulta credibile grazie risulta credibile grazie alla semplicità del alla semplicità del mondo in cui operamondo in cui opera
Il correttore ortograficoL’utente inserisce una parola
VindiamoIl software verifica se essa è
presente nel dizionarioIl software non segnala errori
Il software esegue lo stemming (Vind)
Il software cerca nel dizionario le parole con distanza di
Levenshtein minore e le suggerisce all’utente
Il software verifica se il tema è presente nel dizionario
Si
No
Si
No
Il correttore ortografico
La distanza di Levenshtein misura il numero di caratteri che devo modificare per trasformare una stringa in un’altra.
Dist. Levenshtein (CANE, PANE) = 1
Dist. Levenshtein (CANE, GATTO) = 4
Limiti e problematiche dei correttori ortografici
Quante e quali parole devo inserire nel dizionario?
In che ordine presentare i suggerimenti?
Come riconoscere errori ortografici di parole singolarmente corrette? (Es. I’m going too sleep.)
La semantica
È la branca della linguistica che si occupa di studiare il significato delle frasi.
Ad esempioMangio una pesca e una pera
La pesca del tonno è in crisi
Si riferiscono a due ambiti semantici differenti.
Come facciamo a far capire automaticamente il campo semantico ad un PC?
La classificazione semantica delle parole
Ad ogni parola viene associato un certo numero di etichette che ne identificano la semantica. Es: Espresso {Colazione, Treno, Caffè, Pasto, ... }Il software analizza le parole contenute in un documento e cerca l’area semantica d’appartenenza per intersezione.
Colazione Trasporti
Treno
Ritardo
Cappuccino
Espresso
Brioches
Problemi legati a questo tipo di trattazione
È sufficiente un approccio meramente statistico, che non tenga in considerazione la grammatica? (Es: Dopo una sana ed abbondante colazione ho preso l’espresso delle 8. Semantica dell’espresso: colazione)
È possibile catalogare tutte le parole?
Come possiamo trovare una classificazione universale?
Ogni termine usato come “etichetta” è a sua volta classificabile?
L’utente chiede una pagina al server
(www.repubblica.it)
Il proxy la carica al suo interno
DansGuardian la legge
Se al suo interno ci sono troppe parole vietate, la
pagina non viene mostrata
Se non trova troppe parole sospette, la pagina
viene trasmessa all’utente
Il filtro web: DansGuardian
Dimmi chi? e ti rispondo
Servizio della Provincia Autonoma di Trento. Esegue l’analisi delle domande allo stesso modo di un chatterbots e fornisce informazioni sull’anagrafe della pubblica amministrazione trentina (indirizzi, numeri di telefono, orari). Basta inviare un sms al 338 8888 188 con la domanda e il sistema invia la risposta.
Es: DOMANDA: “A che ora parte un Bus da Trento per Arco domani?”RISPOSTA: PART Trento (autostaz.)Ore 6.23 ARR Arco (autostaz.) ore: 7.25 Tipo: Bus Extraurbano – INFO TEL 0461 821000
Il web semantico
Attraverso dei formati standard l’utente etichetta tutte le informazioni contenute nel suo sito manualmente e crea un’ONTOLOGIA, ovvero una serie di regole che leggano queste etichette e le possano tradurre in testo completo, secondo una gramamtica semplice e strutturata.
E’ in questo modo possibile che da frasi come:Giorgio Napolitano, Presidente della Repubblica, vive a Roma
Si estraggano informazioni in linguaggio naturale:Giorgio Napolitano è il Presidente della RepubblicaIl presidente della repubblica vive a Roma
Talk to ELIZATalk to ELIZA
asdjas maybe djskal djsakd
Can't you be more positive?
no. thfd dfladf dark and negative
You are being a bit negative.
dnaskd you djaksdj djaskfjhvd
You're not really talking about me, are you?
the color of dkas is green
That is quite interesting.
I want to be fdskafa again
What if you never got to be fdskafa again?
all the adhfakdf are dkfsfe
What does that suggest to you?
ConclusioniConclusioni
ELIZA non capisce il linguaggio naturaleELIZA non capisce il linguaggio naturale anche i chatterbots di ultima generazione non anche i chatterbots di ultima generazione non
sono in grado di capire il linguaggio naturalesono in grado di capire il linguaggio naturale non esistono per il momento applicazioni che non esistono per il momento applicazioni che
riescano a trattare in modo completo un testo riescano a trattare in modo completo un testo qualsiasiqualsiasi
sono stati fatti grandi passi avanti nel sono stati fatti grandi passi avanti nel delineare i vari problemi che ci sono nel delineare i vari problemi che ci sono nel trattamento automatico del linguaggio naturaletrattamento automatico del linguaggio naturale
ConclusioniConclusioni
la ricerca nel settore del NLP diventa sempre la ricerca nel settore del NLP diventa sempre più importantepiù importante
– traduzione automatica di testi di vario genere traduzione automatica di testi di vario genere – riassunto di articoli e altri testiriassunto di articoli e altri testi– ricerca più veloce ed efficace di informazioni nel ricerca più veloce ed efficace di informazioni nel
webweb
sono stati finanziati grandi progettisono stati finanziati grandi progetti ““We can only see a short distance ahead, but We can only see a short distance ahead, but
we can see plenty there that needs to be we can see plenty there that needs to be done." A. Turingdone." A. Turing
Riferimenti bibliograficiRiferimenti bibliografici
Jackson P., I. Moulinier, Jackson P., I. Moulinier, Natural Language Processing Natural Language Processing for Online Applicationsfor Online Applications, John Benjamins Publishing , John Benjamins Publishing Company, Amsterdam/Philadelphia, 2002Company, Amsterdam/Philadelphia, 2002
http://www.mondodigitale.nethttp://www.mondodigitale.net http://en.wikipedia.org/wiki/http://en.wikipedia.org/wiki/ http://dizionari.corriere.it/dizionario_italianohttp://dizionari.corriere.it/dizionario_italiano http://www.manifestation.com/neurotoys/eliza.php3http://www.manifestation.com/neurotoys/eliza.php3