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

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

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

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

1Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Roberto Navigli

Apprendimento Automatico:Apprendimento Non Supervisionato

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

2Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Supervisione nell’Apprendimento

algoritmo di apprendimento supervisionato

algoritmo di apprendimento non supervisionato

(arancio, rotondo, classe= )

(giallo, lungo, classe= )

(giallo, rotondo, classe= )

(giallo, lungo, classe= )

(arancio, rotondo)

(giallo, rotondo)

(giallo, rotondo)

(giallo, lungo)

colore

forma

forma

colore

.. ..

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

3Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Clustering

• Suddivide esempi non etichettati in sottoinsiemi disgiunti (cluster), tali che:– Gli esempi in uno stesso gruppo sono “molto” simili– Gli esempi in gruppi diversi sono “molto” differenti

• Scopre nuove categorie in modo non supervisionato (a priori non vengono fornite etichette per le categorie)

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

4Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Clustering: un esempio

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

5Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Clustering: un esempio

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

6Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Clustering: un esempio

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

7Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Clustering: un esempio

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

8Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Tipi di Clustering

• Clustering gerarchico (hierarchical clustering)– Formano cluster iterativamente utilizzando cluster

precedentemente costituiti

• Clustering partitivo (partitional clustering)– Crea una sola partizione degli esempi in cluster minimizzando

una certa funzione di costo

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

9Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Clustering Gerarchico

• Costruisce una tassonomia gerarchica ad albero a partire da un insieme di esempi non etichettati

• L’applicazione ricorsiva di un algoritmo di clustering può produrre un clustering gerarchico

• Distinguiamo due tipi di clustering gerarchico:– Agglomerativo (bottom-up)– Divisivo (top-down)

animale

vertebrato

pesce rettile anfibio mammif. verme insetto crostaceo

invertebrato

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

10Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Clustering Partitivo

• I metodi di clustering partitivo ottengono una singola partizione dei dati, invece di una struttura di clustering (es. albero di clustering)

• Richiedono di specificare il numero di cluster k desiderati

• Il numero di cluster k può essere determinato automaticamente generando esplicitamente clustering per diversi valori di k e scegliendo il miglior risultato secondo la funzione di valutazione del clustering

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

11Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Clustering Gerarchico Agglomerativo

• Assume l’esistenza di una funzione di similarità per determinare la similarità di due istanze

• Algoritmo:Parti con un cluster per ogni istanza

Finché non c’è un solo cluster:

Determina i due cluster ci e cj più simili

Sostituisci ci e cj con un singolo cluster ci cj

• La “storia” di fusione costituisce un albero binario o gerarchia di clustering (dendrogramma)

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

12Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Metriche per determinare la distanza

• Nota: se la distanza è normalizzata tra 0 e 1, la similarità sim(x, y) è data da 1-d(x, y)

• Distanza euclidea (norma L2):

• Norma L1 (o distanza di Manhattan):

2

12 )(),( i

m

ii yxyxL

m

iii yxyxL

11 ),(

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

13Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Cosine Similarity

• Esempio: similarità del coseno di due vettori di documenti:

m

ii

m

ii

m

iii

yx

yx

yx

yxyx

1

2

1

2

1),cos(

2

1

4

2

44

111010010111),cos(

)1,1,1,0,0,1(

)1,0,0,1,1,1(

yx

y

x

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

14Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Coefficiente di Jaccard

• Esempio: similarità del coseno di due vettori di documenti:

6

2),(

)1,1,1,0,0,1(

)1,0,0,1,1,1(

yxJ

y

x

m

iii

m

iii

yx

yxyxJ

1

1

)00(

)11(),(

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

15Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Misurare la Similarità tra Cluster

• Nel clustering gerarchico agglomerativo, utilizziamo una funzione di similarità che determina la similarità tra due istanze: sim(x, y)

• Come calcolare la similarità di due cluster ci e cj sapendo come calcolare la similarità tra due istanze nei due cluster?– Single Link: Similarità dei due membri più simili– Complete Link: Similarità dei due membri meno simili– Group Average: Similarità media tra i membri

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

16Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Single Link Agglomerative Clustering

• Utilizziamo la similarità massima tra coppie di istanze:

• A causa di un effetto concatenamento, può restituire cluster “lunghi e fini”– Adeguato in certi domini, come il raggruppamento di isole

),(max),(,

yxsimccsimji cycx

ji

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

17Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio di Single Link

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

18Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Complete Link Agglomerative Clustering

• Basato sulla minima similarità tra coppie di istanze:

• Crea cluster più sferici, normalmente preferibili

),(min),(,

yxsimccsimji cycx

ji

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

19Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio di Complete Link

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

20Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Calcolare la Similarità tra Cluster

• Dopo aver fuso i cluster ci e cj, la similarità del clustering ottenuto rispetto a un altro cluster arbitrario ck può essere calcolata come segue:– Single Link:

– Complete Link:

)),(),,(max()),(( kjkikji ccsimccsimcccsim

)),(),,(min()),(( kjkikji ccsimccsimcccsim

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

21Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Group Average Agglomerative Clustering• Per determinare la similarità tra ci e cj usa la similarità media su tutte le

coppie nell’unione di ci e cj.

• Compromesso tra single e complete link.

• Se si vogliono cluster più sferici e netti, si deve determinare la similarità media tra coppie ordinate di istanze nei due cluster (invece che tra coppie di istanze nell’unione):

)( :)(

),()1(

1),(

ji jiccx xyccyjiji

ji yxsimcccc

ccsim

i jcx cyji

ji yxsimcc

ccsim

),(

1),(

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

22Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Clustering Partitivo

• Si deve fornire il numero desiderato di cluster k• Si scelgono k istanze a caso, una per cluster, chiamate semi

(seeds)– Si formano i k cluster iniziali sulla base dei semi

• Itera, riallocando tutte le istanze sui diversi cluster per migliorare il clustering complessivo

• Ci si ferma quando il clustering converge o dopo un numero prefissato di iterazioni

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

23Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

K-means

• Assume istanze a valori reali• I cluster sono basati su centroidi o media dei punti in

un cluster c:

• Le istanze vengono riassegnate ai cluster sulla base della distanza rispetto ai centroidi dei cluster attuali

cx

xc

||

1(c)

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

24Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Algoritmo K-means

K-means(distanza d, insieme delle istanze X)

Seleziona k istanze a caso {s1, s2, …, sk} X come semi.Finché clustering non converge o si raggiunge criterio di stop: Per ogni istanza x X: Assegna x al cluster cj tale che d(x, sj) è minimale Aggiorna i semi al centroide di ogni cluster, ovvero per ogni cluster cj: sj = (cj)

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

25Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

K-means: Esempio (k=2)

Scegli i semi

Riassegna i cluster

Calcola i centroidi

xx

Riassegna i cluster

xx xx Calcola i centroidi

Riassegna i cluster

Convergenza!

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

26Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Obiettivo di K-means

• L’obiettivo di k-means è di minimizzare la somma del quadrato della distanza di ciascun punto in X rispetto al centroide del cluster cui è assegnato:

• Così come per gli algoritmi genetici, trovare il minimo globale è un problema NP-hard

• E’ garantito che l’algoritmo k-means converga a un minimo locale

k

i cxi

i

xd1

2),(

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

27Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Ad ogni passo, K-means cerca il clustering ottimale

• Dimostrazione (assumiamo x a una sola dimensione per semplicità):

k

k

k k

k k

kk

i

i

cxkk

cxkk

cx cxk

cx cxk

cxk

cx k

k

K

i cx k

i

k

K

i cxi

xc

xc

x

x

xx

xx

||

1

||

02

0)(2 )(

)(

)(

2

1

21

2

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

28Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Scelta dei Semi

• I risultati possono variare notevolmente sulla base della selezione dei semi

• Alcuni semi possono portare a un basso tasso di convergenza o a convergere su clustering sub-ottimali

• Si possono selezionare buoni semi usando euristiche o come risultato di un altro metodo

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

29Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Scelta di semi ottimale

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

30Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Scelta di semi non ottimale

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

31Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Text Clustering

• I metodi di clustering possono essere applicati a documenti di testo in modo semplice

• Tipicamente, si rappresenta un documento mediante vettori TF*IDF (term frequency*inverse document frequency) normalizzati e si utilizza la similarità del coseno

• Applicazioni:– Durante la fase di recupero dei documenti di un sistema di Information

Retrieval (IR), si possono fornire documenti nello stesso cluster di quello inizialmente recuperato per aumentare la recall del sistema

– I risultati di un sistema di IR possono essere presentati per gruppi– Produzione automatizzata di tassonomie gerarchiche di documenti per

scopi di nagiazione (stile Yahoo & DMOZ).

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

32Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Clustering basato su grafi

• Basati su una rappresentazione dei dati sotto forma di grafo di prossimità:– Un nodo è un’istanza– Un arco rappresenta la prossimità tra due istanze (es. distanza)

– Eventuale passo di pre-processing: sparsificazione del grafo• Per ogni nodo, mantieni solo i k vicini più simili o i vicini la cui similarità è >

di una certa soglia

f1

f2

f3

f4f5

f6

0.5 0.50.2

0.30.1

0.20.4

0.3

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

33Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempi di clustering di grafi a vari livelli di granularità

Da: G Karypis, V Kumar (1999). "A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs". Siam Journal on Scientific Computing.

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

34Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

MST (Minimum Spanning Tree) Clustering

• Clustering basato sul concetto di albero ricoprente– Un albero ricoprente minimo è un sottografo che 1) non ha cicli,

2) contiene tutti i nodi del grafo, 3) ha il minimo peso totale tra tutti gli alberi ricoprenti

• E’ un algoritmo di tipo gerarchico divisivo

MST-Clustering(G)• Calcola il MST per il grafo di dissimilarità• Finché non rimangono solo cluster singoletti

– Crea un nuovo cluster eliminando un arco corrispondente alla maggiore dissimilarità

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

35Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio

f1

f2

f3

f4f5

f6

0.5 0.50.2

0.30.1

0.20.4

0.3

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

36Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio

f1

f2

f3

f4f5

f6

0.5 0.50.2

0.30.1

0.20.4

0.3

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

37Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio

f1

f2

f3

f4f5

f6

0.2

0.30.1

0.2

0.3

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

38Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio

f1

f2

f3

f4f5

f6

0.2

0.30.1

0.2

0.3

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

39Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio

f1

f2

f3

f4f5

f6

0.2

0.30.1

0.2

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

40Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio

f1

f2

f3

f4f5

f6

0.2

0.30.1

0.2

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

41Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio

f4f5

f6

0.1

0.2

f1

f2

f3

0.2

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

42Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio

f4f5

f6

0.1

0.2

f1

f2

f3

0.2

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

43Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio

f1

f2

f3

0.2f4

f5

f6

0.1

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

44Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio

f1

f6

f2

f3

f4f5

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

45Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Hard vs. Soft Clustering

• Tipicamente il clustering assume che ogni istanza sia assegnata a un solo cluster– Questo non permette di esprimere l’incertezza riguardo

l’appartenenza di un’istanza a più cluster

• Il soft clustering fornisce una distribuzione di probabilità per ogni istanza rispetto all’appartenenza a ciascun cluster– Le probabilità di appartenenza di ogni istanza su tutti i cluster

devono sommare a 1

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

46Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Problemi nell’Apprendimento Non Supervisionato

• Come valutare il clustering?– Valutazione interna:

• Separazione netta dei cluster (ad es., l’obiettivo di K-means)

• Corrispondenza con un modello probabilistico dei dati

– Valutazione esterna• Confronta i cluster con etichette di classe note su dati di

benchmark

• Pseudowords

• Clustering sovrapponibili• Collo di bottiglia della conoscenza

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

47Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Valutazione esterna del clustering

• Supponiamo di avere un insieme di dati annotati con classi scelte a mano

• Applichiamo il nostro algoritmo di clustering• Valutiamo misure di aderenza del clustering rispetto al dataset• Entropia:

• Purezza:

• dove:– mij è il numero di istanze nel cluster j di classe i– mj è il numero di istanze nel cluster j– m è il numero complessivo di istanze

K

jj

jL

iijijj

j

ijij cH

m

mCHppcH

m

mp

11

)()(,log)(,

K

jj

jij

Lij cPu

m

mCPupcPu

1,...,1

)()(,max)(

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

48Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esempio di valutazione esterna con entropia e purezza

• Ho un dataset di 10 istanze (m=10)• Supponiamo di ottenere il seguente clustering:

• Classi associate a mano alle istanze: (1) , (2)• m1=6, m2=4

• m1(1)=4, m1(2)=2, m2(1)=1, m2(2)=3

)4

3log

4

3

4

1log

4

1(

10

4)

6

2log

6

2

6

4log

6

4(

10

6)(

10

4)(

10

6)( 21 cHcHCH

c1

c2

10

7

10

34

4

3

10

4

6

4

10

6)(

10

4)(

10

6)( 21

cPucPuCPu

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

49Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Collo di bottiglia della conoscenza

• Spesso si pone un problema di disponibilità e creazione di dataset annotati

• Metodi debolmente supervisionati o semi-supervisionati• Es. Metodi di Bootstrapping

– Si utilizzano pochi esempi annotati a mano A (semi) e moltissimi esempi non annotati U

– Si addestra un classificatore su A e si classificano gli esempi in U; i “migliori” esempi in U vengono aggiunti ad A. Si ripete il processo finché U non è vuoto o si raggiunge una certa soglia

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

50Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Collo di bottiglia della conoscenza

• Spesso si pone un problema di disponibilità e creazione di dataset annotati

• Metodi debolmente supervisionati o semi-supervisionati• Es. Active learning

– Si addestra un classificatore con un insieme di addestramento A– Si annotano automaticamente i dati in un insieme non etichettato U– Si selezionano quelle istanze per le quali il classificatore ha avuto

un basso grado di confidenza (istanze incerte)– Si chiede l’intervento umano nel validare quelle istanze– Si aggiungono le istanze validate all’insieme di addestramento A– Si ripete il processo finché non si raggiunge una condizione di

terminazione (es. una soglia fissata di confidenza)

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

51Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Task: Word Sense Induction (Induzione di significati)

• Data una parola, vogliamo apprendere le classi di significato che essa esprime:

• Obiettivo: dato un insieme di parole che appaiono insieme alla parola obiettivo (cooccorrenze) in un dataset di riferimento, raggruppare le cooccorrenze in accezioni

• Si esprime ogni accezione mediante un insieme di parole. Ad esempio:– bar1 = { counter, drink, pub, …, restaurant }– bar2 = { chocolate, soap, wax, cake, …, tablet }– bar3 = { wood, metal, piece, rigid, fasten, weapon, …, escape }

, ,, ,…bar =

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

52Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Valutazione WSI: Pseudoparole (Schutze, 1992)

• Si crea un dataset contenente istanze (ovvero, parole) che si sanno appartenere tutte a una singola classe di significato:– Es. parole monosemiche (con un solo significato)– Pizza, kalashnikov

• Dati gli esempi di pizza e kalashnikov:– Ieri siamo andati a mangiare una pizza al ristorante– Margherita: pizza con margherita e pomodoro– Sparò un colpo di kalashnikov in aria.– Chi mise il kalashnikov in mano al bambino?

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

53Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Valutazione WSI: Pseudoparole (Schutze, 1992)

• Si crea un dataset contenente istanze (ovvero, parole) che si sanno appartenere tutte a una singola classe di significato:– Es. parole monosemiche (con un solo significato)– Pizza, kalashnikov

• Dati gli esempi di pizza e kalashnikov:– Ieri siamo andati a mangiare una pizzakalashnikov al ristorante– Margherita: pizzakalashnikov con margherita e pomodoro– Sparò un colpo di pizzakalashnikov in aria.– Chi mise il pizzakalashnikov in mano al bambino?

• Si crea una pseudoparola pizzakalashnikov che rimpiazza le occorrenze di pizza e kalashnikov

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

54Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Valutazione WSI: Pseudoparole (Schutze, 1992)

• Si crea un dataset contenente istanze (ovvero, parole) che si sanno appartenere tutte a una singola classe di significato:– Es. parole monosemiche (con un solo significato)– Pizza, kalashnikov

• Dati gli esempi di pizza e kalashnikov si crea una pseudoparola pizzakalashnikov

• Tutte le occorrenze delle due parole vengono sostituite con la pseudoparola (ma è nota la classe corretta per ciascuna istanza)– Si può generare un dataset con n classi usando n parole

• Si applica l’algoritmo di clustering alle cooccorrenze di pizzakalashnikov

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

55Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Precisione e Recall (cf. (Bordag, 2006))

• Dato un cluster del nostro clustering, come determinare se è corretto oppure no?– La sua precisione di retrieval (rP) è la percentuale di parole

relative a una parola originaria (es. pizza o kalashnikov)– La sua recall di retrieval (rR) è la percentuale di cooccorrenze

della parola originaria contenute nel cluster– Un cluster è considerato accurato se rP ≥ soglia-p e rR ≥ soglia-r

• Si calcolano precisione e recall per determinare la qualità dell’intero clustering– Precisione: frazione di cluster “accurati”– Recall: numero di cluster “accurati” diviso numero di pseudoparole

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

56Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Applicazione: Clustering-based Information Retrieval

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

57Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Applicazione: Clustering-based Information Retrieval