Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento...
-
Upload
tammaro-falcone -
Category
Documents
-
view
226 -
download
3
Transcript of Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento...
1Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Roberto Navigli
Apprendimento Automatico:Elaborazione del Linguaggio Naturale
2Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Elaborazione del Linguaggio Naturale
• Un campo dell’informatica e un’area dell’Intelligenza Artificiale che studia le interazioni tra i calcolatori e il linguaggio umano (linguaggio naturale)
• Alcune sottoaree:– Morfologia– Analisi grammaticale (part-of-speech tagging)– Sintassi (parsing)– Semantica (semantica lessicale, word sense disambiguation, ecc.)– Pragmatica (discorso, dialogo, ecc.)– Generazione del linguaggio– …
• Riferimenti bibliografici:– C. D. Manning, H. Schutze. Foundations of Statistical Natural
Language Processing. MIT Press, 1999.– D. Jurafsky, J. H. Martin. Speech and Language Processing. Prentice
Hall, 2000 (nuova edizione: 2009).
3Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Parole e corpus
• Che cosa distingue l’uomo dagli animali? La parola!• Il conteggio di parole è alla base di qualsiasi statistica
relativa alle stesse e al contesto in cui appaiono• Un corpus è una collezione di testi in formato elettronico
e, tipicamente, preelaborati in qualche senso• Un corpus può essere grezzo (non annotato) oppure
annotato– Al ristorante, abbiamo preso un rombo con patate.– Disegniamo un rombo sul piano bidimensionale...– Il rombo è un quadrilatero a 4 lati uguali e paralleli a due a due.– Un rombo, un pesce piatto, libero nell’oceano.
4Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Parole e corpus
• Che cosa distingue l’uomo dagli animali? La parola!• Il conteggio di parole è alla base di qualsiasi statistica
relativa alle stesse e al contesto in cui appaiono• Un corpus è una collezione di testi in formato elettronico
e, tipicamente, preelaborati in qualche senso• Un corpus può essere grezzo (non annotato) oppure
annotato– Al ristorante, abbiamo preso un rombo con patate.– Disegniamo un rombo sul piano bidimensionale...– Il rombo è un quadrilatero a 4 lati uguali e paralleli a due a due.– Un rombo , un pesce piatto, libero nell’oceano.
5Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Parole e corpus
• Che cosa distingue l’uomo dagli animali? La parola!• Il conteggio di parole è alla base di qualsiasi statistica
relativa alle stesse e al contesto in cui appaiono• Un corpus è una collezione di testi in formato elettronico e,
tipicamente, preelaborati in qualche senso• Un corpus può essere grezzo (non annotato) oppure
annotato– Al/P ristorante/N, abbiamo/V preso/V un/A rombo/N con/P patate/N.– Disegniamo/V un/A rombo/N sul/P piano/N bidimensionale/J...– Il/A rombo/N è/V un/A quadrilatero/N a/P 4/J lati/N uguali/J e/C
paralleli/J a/P due/N a/P due/N.– Un/A rombo/N, un/A pesce/N piatto/J, libero/J nell’/P oceano/N.
6Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
La legge di Zipf
• La legge di Zipf afferma che, dato un corpus in linguaggio naturale, la frequenza di qualsiasi parola è inversamente proporzionale alla sua posizione (rank) nella tabella delle frequenze
7Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Cooccorrenze e collocazioni
• Dato un corpus, è possibile studiare le correlazioni tra coppie di parole (cooccorrenze)
• Coppie di parole che cooccorrono più spesso che a caso sono dette collocazioni– Es. mangiare la polvere, lavare i vetri, sedersi a tavola
• E’ possibile identificare le cooccorrenze da un corpus utilizzando delle misure di rilevanza statistica
)'()(
)',(2)',(
wcwc
wwcwwDice
)'()(
)',(log)',(
wcwc
wwcwwrmationMutualInfo
8Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Preelaborazione di una frase
9Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Part-of-speech tagging
• L’obiettivo è, data una parola, associare la categoria grammaticale più appropriate rispetto al contesto in cui essa appare– E’ di capitale/J importanza– Abbiamo speso un capitale/N.
• Tipicamente fa uso di informazioni di frequenza delle parole e dei tag precedenti (spesso, “a memoria 2”, ovvero w-1, w-2, tag-1, tag-2)
Es. TreeTagger
10Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Trasformazione in una Bag of Words (BoW)
• Dato un testo, si procede alla preelaborazione (non necessariamente tutti i passi)
• Le feature sono tipicamente le parole (es. was) o i lemmi (es. be)• Ciascuna feature è valorizzata con il numero di occorrenze nel
testo d o, laddove abbia senso, con la TF*IDF:
• dove w è il termine/feature in esame, d è il documento che si sta rappresentando e D è l’insieme di documenti del dataset
|}:{|
||log)(
(*)
)()(
)(*)(),(
dwDd
Dwidf
c
wcwtf
widfwtfdwidftf
d
dd
d
11Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Esempio (Sentiment Analysis)
• “His love was penetrating”– (love=1, penetrate=1, time=0, husband=0, drink=0, suffer=0)
• “Every time her husband gets drunk, she suffers”– (love=0, penetrate=0, time=1, husband=1, drink=1, suffer=1)
• Tuttavia, non vogliamo un semplice approccio BoW• Utilizziamo feature per codificare l’affettività, es.:
– (love=1, penetrate=1, …, suffer=0, positive-emotion=1, negative-emotion=0, intensity=1)
– (love=0, penetrate=0, …, suffer=1, positive-emotion=0, negative-emotion=2, intensity=0)
• Abbiamo bisogno di risorse che permettano di espandere il vettore (es. WordNet oppure WordNet Affect)
12Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Esempio (Question Typing)
• Anche in questo caso ho bisogno di espandere il vettore in modo da generalizzare il più possibile
• Es. supponiamo che nel training set ci sia questa sola domanda riguardante le città:– What is Athens? WHAT_CITY
• Se nel test set ci viene chiesto:– What is the capital of Italy?
• Con un modello bag of words, le due domande in comune hanno solo la wh-question (What). Se invece espandiamo il vettore con gli iperonimi di WordNet:– (what=1, Athens=1, capital=1, city=1, …)– (what=1, Athens=0, capital=1, city=1, …, Italy=1, country=1)
13Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Word Sense Induction: Context-group discrimination (Schutze, 1998)• Obiettivo: apprendere le classi di significato di una parola obiettivo
1. I vettori (word vector) indicano le cooccorrenze (nella stessa frase) con la parola obiettivo all’interno di tutto il corpus– E’ necessario un passo di feature selection che riduca l’insieme delle
feature a quelle più significative
14Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Word Sense Induction: Context-group discrimination (Schutze, 1998)• Obiettivo: apprendere le classi di significato di una parola obiettivo
1. I vettori (word vector) indicano le cooccorrenze (nella stessa frase) con la parola obiettivo all’interno di tutto il corpus– E’ necessario un passo di feature selection che riduca l’insieme delle
feature a quelle più significative
2. I vettori di contesto (context vector) riguardano invece un singolo contesto di occorrenza della parola obiettivo– E’ il centroide dei vettori delle parole che appaiono nella frase
– Rappresenta la summa dei significati delle singole parole nel contesto
15Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Word Sense Induction: Context-group discrimination (Schutze, 1998)• Obiettivo: apprendere le classi di significato di una parola obiettivo
1. I vettori (word vector) indicano le cooccorrenze (nella stessa frase) con la parola obiettivo all’interno di tutto il corpus– E’ necessario un passo di feature selection che riduca l’insieme delle
feature a quelle più significative
2. I vettori di contesto (context vector) riguardano invece un singolo contesto di occorrenza della parola obiettivo– E’ il centroide dei vettori delle parole che appaiono nella frase
– Rappresenta la summa dei significati delle singole parole nel contesto
• I vettori di senso (sense vector) vengono creati raggruppando i vettori di contesto in cluster e calcolando il centroide del cluster