+ All Categories
Home > Data & Analytics > Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Date post: 15-Aug-2015
Category:
Upload: net7
View: 129 times
Download: 0 times
Share this document with a friend
Popular Tags:
17
Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari Luca Baronti [email protected] July 30, 2015 Luca Baronti Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari
Transcript
Page 1: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Luca [email protected]

July 30, 2015

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 2: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Word Embedding

Word Embedding: Una Definizione

Tecnica usata nel natural language processing per l’analisi di testi. Esegueun addestramento su un testo di training per definire una funzione f (w)

f : V → Rn

in grado di associare ad una parola w ∈ V un vettore di reali didimesionalita arbitraria.

la dimensionalita e bassa rispetto al numero di parole delvocabolario;

definisce automaticamente una metrica (parole simili corrispondonoa punti vicini nello spazio vettoriale);

permette l’addestramento unsupervised: per l’apprendimento esufficiente un testo sufficientemente grande (> 10M di parole)

non richiede modifiche dipendenti dal linguaggio del testo;

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 3: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Word Embedding

Perche Word Embedding?

In Pratica

Questa tecnica fornisce uno strumento per creare collezioni di concettisimili in modo automatico, su testi raw e senza competenze linguisticheavanzate da parte dell’utente

ma...

per ottenere buone performance, necessita di testi molto grandi infase di apprendimento;

i testi devono comprendere il maggior numero di vocaboli possibili;

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 4: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Word Embedding

Come viene Implementato

Alcune delle tecniche principali prevedono l’uso di reti neurali:

Continuos Skip-Gram (CSG);

Continuos Bag of Words (CBOW);

diverse varianti (hierarchical softmax);

tecniche di deep learning;

(ev) una o piu fasi di preprocessing (word2phrases);

...ma questi sono dettagli tecnici.

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 5: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Word Embedding

Come viene Implementato (in pratica)

Una delle implementazioni piu diffuse e contenuta all’interno di word2vec:

toolkit implementato da Google e rilasciato per scopi di ricerca;

implementa i modelli CSG e CBOW;

scritto in C, ma con diversi wrapper disponibili da terze parti peraltri linguaggi (Python, Java, ecc..);

fornisce funzionalita di word embedding e word clustering;

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 6: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Esperimenti Svolti

Per gli esperimenti e stato usato un corpus costituito da una serie di frasiinglesi (≈17M di parole) a cui e stata rimossa qualsiasi punteggiatura.

anarchism originated as a term of abuse first used against earlyworking class radicals including the diggers of the english revolutionand the sans culottes of the french revolution ...

Su questo e stato eseguito un training di word2vec, durante il quale:

(preprocessing) sono state riconosciute ed unite le multiword:

new york→ new york

e stata addestrata la rete neurale in modo che implementi la funzione diconversione f (w) basandosi sul contesto della parola w rispetto al testofornito;

sono stati generati dei clusters che racchiudono le parolepiu simili (vicine nello spazio Rn) tra loro;

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 7: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

word2vec: Inside the Box

f (cat) =

[-0.11134078 0.04383085 0.14002474 -0.00074196 0.07315301 0.02389991 0.00035233 0.15971933 0.11484507

-0.09671068 0.04652358 -0.05458246 -0.05598487 -0.12167966 0.11768888 0.08552325 0.18600485 0.04761726

0.15063967 0.00659288 -0.11978753 -0.09371857 0.0008762 -0.24838321 0.02709502 -0.0825652 -0.08342774

-0.03579892 -0.02825222 0.22019249 -0.09768973 0.02078852 -0.29285535 0.02559453 -0.088859 -0.03527148

0.09159425 0.06531275 0.05503185 0.00685068 0.20773053 0.07941824 -0.01778516 -0.05104338 -0.05595061

-0.02772092 -0.08554953 -0.11792478 -0.05275105 -0.16732845 -0.00650281 -0.18185572 0.08001928 0.13519208

-0.01377966 -0.04257941 -0.04184306 0.06700175 0.08684982 -0.01686727 -0.0662585 0.11035646 -0.05546115

0.0222393 -0.05285819 -0.01276816 0.06395511 -0.06162843 -0.11211643 -0.12294994 0.07951023 -0.13375825

0.1051971 -0.04290687 -0.08603408 -0.04731709 -0.2139928 0.03048153 -0.00790223 0.02168602 -0.0376488

0.14825463 -0.05066469 0.02342289 -0.02835014 0.16291068 -0.07224877 -0.13152623 0.03056438 0.25988334

0.05614626 -0.08592609 -0.08454169 0.00090796 0.10815397 -0.12006436 -0.0053588 0.11610329 0.00848714

0.00412073]

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 8: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

word2vec: Outside the Box

Data una parola, ed un modello addestrato su un testo, e possibilericavare le parole piu simili:

S(f (cat)) = {dog, cow, goat, bee, pig, pet, hamster, rabbit, rat}

con le relative distanze (espresse in coseno):

dog 0.87cow 0.84goat 0.84bee 0.83pig 0.82pet 0.81

hamster 0.8rabbit 0.78

rat 0.78

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 9: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Algebra delle “parole”

Dato che le parole vengono convertite in vettori, e che su questi vieneimplicitamente generata una metrica, e possibile derivare in modoalgebrico dei concetti nuovi, a partire da concetti noti.

S (f (king) − f (man) + f (woman))queen 0.29

empress 0.28prince 0.27

son 0.27heir 0.27

throne 0.27monarch 0.27

wife 0.27emperor 0.27aragon 0.27

S (f (daughter) − f (woman) + f (man))son 0.25

princess 0.24grandson 0.24consort 0.24nephew 0.24

grandfather 0.24eldest son 0.24

niece 0.23cousin 0.23brother 0.23

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 10: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Clustering

Le parole possono essere raggruppate, in base alla loro vicinanza, in unnumero di clusters arbitrario.

catPiu Simili Meno Simili

cat 1 rakesh 0.25dog 0.87 daring 0.27cow 0.84 crom 0.29bee 0.83 mosaic 0.3

fluPiu Simili Meno Similiflu 1 clunies ross 0.12

ulcers 0.78 actinidia 0.26encephalitis 0.78 subgenera 0.26

sclerosis 0.78 baby boom 0.27

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 11: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Altri Esempi

Le ideologie tendono ad essere raggruppate insieme..

communismPiu Simili Meno Simili

communism 1 profit organization 0.13socialism 0.89 res publica 0.21fascism 0.88 corporatocracy 0.25marxism 0.85 rose friedman 0.27

imperialism 0.84 ukusa 0.29

....cosı come le persone.

karl marxPiu Simili Meno Simili

karl marx 1 profit organization 0.2adam smith 0.85 operation iraqi 0.25

marx 0.84 operation enduring 0.26proudhon 0.83 res publica 0.26

keynes 0.83 hostile 0.28

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 12: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Frutta?

Di fronte ad ambiguita, si e osservato come il modello tenda, dovepossibile, a far polarizzare la parola su un significato solo.

orangePiu Simili Meno Simili

orange 1 inconstant 0.2purple 0.82 positronic 0.21grey 0.78 bounty 0.22pink 0.77 chain gang 0.23

green 0.74 wide shut 0.23

applePiu Simili Meno Simili

apple 1 howitzer 0.16macintosh 0.78 amx 0.16

amd 0.78 codepage 0.16apple computer 0.78 bit bytes 0.19

amiga 0.77 priced 0.19

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 13: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Frutta!(?)

A volte il modello presenta degli accostamenti di parole nello stessocluster decisamente insoliti.

bananaPiu Simili Meno Simili

banana 1 domiciles 0.13liqueur 0.82 etc 0.2vanilla 0.81 avocats 0.2shrimp 0.8 multitude 0.25

jelly 0.8 tablets 0.28juice 0.8 creatures 0.29lime 0.8 genera 0.3

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 14: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Distanza tra i Clusters

Distanza tra i Clusters

Dato che i clusters sono insiemi di punti, e possibile calcolare i lorocentroidi e valutare la distanza tra loro.Gli esperimenti eseguiti sul testo di esempio, hanno rilevato i seguenticlusters come i piu vicini:

c1 c2 distanza (cos)51 16 0.9654 16 0.9658 53 0.9621 93 0.9544 79 0.95

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 15: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Affinamenti: Stop Words

Il sistema lascia aperte alcune possibilita per affinamenti:

In tutti i linguaggi esistono delle parole usate per dare struttura allafrase senza un significato semantico proprio (congiunzioni, ma nonsolo);

Queste parole, chiamate stop words, sono comunque processate daword2vec generando potenzialmente del noise;

Usando un dizionario contenente le stop words specifiche dellinguaggio analizzato e possibile identificare i clusters che lecontengono;

Risultati

Dei 100 clusters prodotti nei nostri esperimenti, abbiamo rilevato173 stop word in appena 24 clusters, segno di una dispersionelimitata di questo tipo di parole, da parte del modello, sui clusters.

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 16: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Sviluppi Futuri

Questi esperimenti svolti non coprono tutte le possibilita offerte dal wordembedding. Possibili sviluppi futuri possono prevedere:

l’eliminazione (a priori) delle stop words dal testo o (a posteriori) deicluster che le includono;

un’analisi incrociata piu approfondita tra i termini di clusters piusimili;

la realizzazione di un grafo di “prossimita” a partire dai clusters odalle parole piu vicine;

l’analisi di testi in lingue diverse (italiano, latino, ecc..);

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari

Page 17: Word Embedding e word2vec: Introduzione ed Esperimenti Preliminari

Introduzione Esperimenti Clustering Affinamenti Sviluppi Futuri Riferimenti

Riferimenti

Homepage del progetto google: https://code.google.com/p/word2vec/

Un esempio di applicazione di word2vec agli emoji:http://sentimentsymposium.com/SS2015/presentations/16July-ThursdayPM/33-Dimson-SAS15-16PM.pdf

Letteratura di riferimento:

Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. EfficientEstimation of Word Representations in Vector Space. In Proceedingsof Workshop at ICLR, 2013;Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and JeffreyDean. Distributed Representations of Words and Phrases and theirCompositionality. In Proceedings of NIPS, 2013;Tomas Mikolov, Wen-tau Yih, and Geoffrey Zweig. LinguisticRegularities in Continuous Space Word Representations. InProceedings of NAACL HLT, 2013;

Luca Baronti

Word Embedding e word2vec:Introduzione ed Esperimenti Preliminari


Recommended