Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento...

15
1 Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli Roberto Navigli Apprendimento Automatico: Elaborazione del Linguaggio Naturale

Transcript of Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento...

Page 1: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

1Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Roberto Navigli

Apprendimento Automatico:Elaborazione del Linguaggio Naturale

Page 2: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 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).

Page 3: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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.

Page 4: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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.

Page 5: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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.

Page 6: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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

Page 7: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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

Page 8: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

8Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Preelaborazione di una frase

Page 9: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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

Page 10: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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

Page 11: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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)

Page 12: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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)

Page 13: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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

Page 14: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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

Page 15: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Elaborazione del Linguaggio Naturale.

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