dallintelligenza artificiale al natural language processing matteo conci clara craffonara martina...

28
Dall’Intelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio “Colorless green ideas sleep furiously.” www.pinobruno.it

Upload: mimi-alfieri

Post on 02-May-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

Dall’Intelligenza Artificiale al Natural Language Processing

Matteo Conci

Clara Craffonara

Martina Delladio

“Colorless green ideas sleep furiously.”

www.pinobruno.it

Page 2: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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.

Page 3: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

ELIZA

è una macchina o

una persona?

Page 4: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 5: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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/

Page 6: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 7: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 8: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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?”

Page 9: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

Trasformazione dell’inputscritto e orale in una

rappresentazione macchina interna

Page 10: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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”

Page 11: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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”

Page 12: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 13: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 14: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

Rappresentazioni di strutture sintatticheRappresentazioni di strutture sintattiche

Struttura inscatolata

Parse tree

(S: (NP: (ADJ: Colorless) (ADJ: green) (N: ideas))

(VP: (V: sleep) (ADV: furiously))

Page 15: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep 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

Page 16: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 17: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 18: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 19: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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?

Page 20: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 21: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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?

Page 22: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 23: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 24: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 25: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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?

Page 26: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 27: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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

Page 28: DallIntelligenza Artificiale al Natural Language Processing Matteo Conci Clara Craffonara Martina Delladio Colorless green ideas sleep furiously

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