Apprendimento per rinforzo

Download Report

Transcript Apprendimento per rinforzo

Apprendimento Automatico: Elaborazione del Linguaggio Naturale

Roberto Navigli

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto Navigli 1

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

2

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto 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. 3

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto 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 – Disegniamo un rombo con patate.

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

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto 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. 5

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto 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

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto Navigli 6

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

Dice

(

w

,

w

' )  2

c

(

w

,

w

' )

c

(

w

) 

c

(

w

' )

MutualInfo rmation

(

w

,

w

' )  log  

c

(

w

,

w

' )

c

(

w

) 

c

(

w

' )   7

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto Navigli

Preelaborazione di una frase

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto Navigli 8

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 9

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto 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:

tf

idf

(

w

,

d

) 

tf d

(

w

) *

idf

(

w

)

tf d

(

w

) 

c d

(

w

)

c d

(*)

idf

(

w

)  log | {

d

|

D

| 

D

:

w

d

} | dove

w

è il termine/feature in esame,

d

rappresentando e

D

è il documento che si sta è l’insieme di documenti del dataset 10

Apprendimento Automatico: Apprendimento Non Supervisionato

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

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto Navigli 11

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

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto Navigli

Word Sense Induction: Context-group discrimination (Schutze, 1998)

• 1.

Obiettivo : apprendere le classi di significato di una parola obiettivo 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 feature a quelle più significative che riduca l’insieme delle

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto Navigli 13

Word Sense Induction: Context-group discrimination (Schutze, 1998)

• 1.

Obiettivo : apprendere le classi di significato di una parola obiettivo 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 feature a quelle più significative che riduca l’insieme delle 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 14

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto Navigli

Word Sense Induction: Context-group discrimination (Schutze, 1998)

• 1.

Obiettivo : apprendere le classi di significato di una parola obiettivo 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 feature a quelle più significative che riduca l’insieme delle 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 15

Apprendimento Automatico: Apprendimento Non Supervisionato

Roberto Navigli