Embeddings: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 41: | Riga 41: | ||
Word2Vec sono embedding '''statici''' introdotti da Mikolov et al. 2013, Mikolov et al. 2013a [3]: utilizzano un metodo ([[auto-supervisionato]]) per calcolare gli embedding chiamato skip-gram with negative sampling ('''SGNS'''). L'intuizione alla base di Word2Vec è, <u>invece di contare quante volte una parola w1 appare vicino ad un'altra w2, quella di addestrare un classificatore su un task binario sulla probabilità che la parola w1 appaia. vicino a w2:</u> i '''pesi''' di quest classificatore, alla fine dell'addestramento, saranno gli embeddings. | Word2Vec sono embedding '''statici''' introdotti da Mikolov et al. 2013, Mikolov et al. 2013a [3]: utilizzano un metodo ([[auto-supervisionato]]) per calcolare gli embedding chiamato skip-gram with negative sampling ('''SGNS'''). L'intuizione alla base di Word2Vec è, <u>invece di contare quante volte una parola w1 appare vicino ad un'altra w2, quella di addestrare un classificatore su un task binario sulla probabilità che la parola w1 appaia. vicino a w2:</u> i '''pesi''' di quest classificatore, alla fine dell'addestramento, saranno gli embeddings. | ||
[....] to be continued | |||
Versione attuale delle 17:09, 16 dic 2024
Nets are for fish: Once you get the fish, you can forget the net.
Words are for meaning: Once you get the meaning, you can forget the words
(Zhuangzi, Chapter 26)[1]
L’ipotesi distribuzionale dice che parole che appaiono in contesti simili hanno significati simili: su quest'ipotesi si basa il campo della semantica distribuzionale. Gli embeddings sono la realizzazione di ques'ipotesi: sono delle rappresentazioni delle parole che vengono calcolate partendo dalla distribuzione delle parole nel testo. Queste rappresentazioni vengono utilizzate in pratica in tutte le applicazioni di NLP (NLU)che abbiano a che fare con il significato del testo. Sono anche un esempio di representation learning .
Vi sono varie relazioni che possono esistere tra due parole (si veda capitolo 6 di [1] per una trattazione approfondita):
- Sinonimia
- Somiglianza
- Relatedness
- Appartenenza allo stesso campo semantico
- Appartenenza allo stesso contesto semantico (semantic frame)
- Connotazione
- Sentiment (valence, arousal, dominance): Il lavoro di Osgood et al. (1957) [2] è la prima pubblicazione che rappresenta le parole in uno spazio tridimensionale
La semantica vettoriale
Si immagini di non conoscere il significato della parola "Ongchoi"; essa appare per esempio nelle seguenti frasi: [1]
- L'Ongchoi è delizioso saltato con l'aglio
- Ongchoi è ottimo sul riso
- ... foglie di Ongchoi con salse salate ...
E si supponga di aver visto, in altri contesti, le seguenti frasi:
- Gli spinaci sono deliziosi saltati con l'aglio
- i cardi sono ottimi sul riso
- ... il cavolo nero con salse salate ...
Il fatto che Ongchoi co-occorra con parole simili a quelle con cui sono co-occorsi gli spinaci, i cardi e il cavolo nero suggerisce che esso sia una verdura simile a questi.
Implementazioni
TF-IDF
TF-IDF può essere visto come una baseline che produce un vettore sparso (con tanti zeri): può essere utilizzato sia per trovare la somiglianza di due documenti in un corpus (i documenti possono anche essere i contesti o paragrafi attorno a una parola), o la somiglianza di parole
- Term Frequency: il numero di volte che una determinata parola compare in un documento del corpus, spesso preso come log
- Inverse Document Frequency: il reciproco della frequenza di una determinata parola all'interno di tutti i documenti di un dato corpus. Permette di dare a una parola un peso minore se essa appare in molti documenti, maggiore se appare in pochi quindi è più "caratterizzante". Per esempio, il termine Romeo appare solo in un solo lavoro di Shakespeare.
Word2vec
Word2Vec sono embedding statici introdotti da Mikolov et al. 2013, Mikolov et al. 2013a [3]: utilizzano un metodo (auto-supervisionato) per calcolare gli embedding chiamato skip-gram with negative sampling (SGNS). L'intuizione alla base di Word2Vec è, invece di contare quante volte una parola w1 appare vicino ad un'altra w2, quella di addestrare un classificatore su un task binario sulla probabilità che la parola w1 appaia. vicino a w2: i pesi di quest classificatore, alla fine dell'addestramento, saranno gli embeddings.
[....] to be continued
Bibliografia
[1] Dan Jurafsky and James H. Martin - Speech and Language Processing An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition - 3rd Edition (2020)
[2] Osgood et al. - The Measureent Of Meaning
[3] Efficient Estimation of Word Representations in Vector Space