Word Meaning Flashcards
Cosa sono gli embeddings?
Gli embeddings sono rappresentazioni vettoriali di parole, frasi o altri elementi linguistici in uno spazio multidimensionale.
Gli embeddings sono progettati in modo tale che parole simili o correlate siano rappresentate da vettori vicini nello spazio vettoriale. Questi vettori possono essere utilizzati per alimentare algoritmi di machine learning in una vasta gamma di compiti NLP.
La scelta del contesto nella costruzione degli embeddings può influenzare la capacità di catturare sia la sintassi che la semantica delle frasi.
Cosa sono i vector semantics?
La semantica vettoriale, o vector semantics in inglese, è un approccio alla rappresentazione del significato linguistico mediante l’uso di vettori numerici multidimensionali. In questo contesto, le parole o le unità linguistiche vengono rappresentate come vettori in uno spazio multidimensionale, dove la distanza e l’orientamento tra i vettori riflettono le relazioni semantiche tra le parole.
Questo approccio si basa sull’idea che il significato di una parola possa essere catturato dalle sue relazioni con altre parole nel contesto in cui appare. Ad esempio, parole simili o correlate semanticamente tendono ad avere vettori simili o vettori che puntano nella stessa direzione nello spazio vettoriale.
TF-IDF e Word2Vec
TF-IDF (Term Frequency-Inverse Document Frequency):
Term Frequency (TF) misura quante volte una parola appare in un documento. È calcolato dividendo il numero di volte che una parola appare in un documento per il numero totale di parole nel documento.
Inverse Document Frequency (IDF) è un valore che misura l’importanza relativa di una parola all’interno di un corpus di documenti. Una parola che appare in molti documenti avrà un IDF più basso, mentre una parola che appare in pochi documenti avrà un IDF più alto.
TF-IDF è il prodotto di TF e IDF. Viene utilizzato per valutare l’importanza di una parola in un documento rispetto all’intero corpus. Le parole con un alto punteggio TF-IDF sono considerate più importanti per il documento.
L’obiettivo principale di TF-IDF è quello di filtrare le parole comuni e identificare quelle importanti in un documento.
Word2Vec:
Word2Vec è un modello di embedding di parole che converte le parole in vettori di numeri reali in uno spazio vettoriale continuo. Basato sull’idea che parole simili appaiono in contesti simili, Word2Vec apprende rappresentazioni vettoriali per le parole. Un approccio è lo Skip-gram, che prevede il contesto dato una parola target.
dot product word similarity
Il dot product, o prodotto scalare, è un’operazione tra due vettori che restituisce un singolo valore scalare. Si calcola moltiplicando gli elementi corrispondenti dei due vettori e sommando i risultati.
Nel contesto della rappresentazione vettoriale delle parole, ad esempio utilizzando Word2Vec, il dot product viene spesso utilizzato per valutare la similarità tra due parole rappresentate come vettori. In particolare, se rappresentiamo le parole come vettori nello spazio vettoriale, ad esempio con vettori di embedding di parole ottenuti da Word2Vec, il dot product tra due vettori rappresenta una misura della loro similarità.
Ciò avviene perché il dot product misura la “direzione” e la “magnitudine” dei due vettori. Se il dot product tra due vettori è elevato, significa che i due vettori puntano nella stessa direzione nello spazio vettoriale e sono quindi considerati simili. Al contrario, se il dot product è basso, i due vettori puntano in direzioni diverse e sono considerati meno simili.
perchè viene deciso di utilizzare il coseno per valutare la similarità tra 2 parole invece che il dot product?
Invarianza alla scala: Il coseno è invariante alla scala, il che significa che non è influenzato dalla lunghezza dei vettori. Questo è utile perché in molti casi i vettori di embedding delle parole possono avere lunghezze diverse, e il coseno tiene conto solo della direzione dei vettori, ignorando le differenze di magnitudine. Il dot product, al contrario, è influenzato dalla magnitudine dei vettori, il che potrebbe portare a risultati distorti.
Skip-Gram + skip-gram con negative sampling
Skip Gram:
Vogliamo creare un embedding denso, definiamo una finestra di contesto, cosi creiamo i nostri dati per l’addestramento, aggiungiamo anche i negative sampling ovvero insiemi di parole che non hanno nulla a che vedere tra di loro, addestriamo il nostro modello facendo si che quando la parola è target abbiamo un embedding simile alle parole di contesto corrette
se la parola target non appartiene a quel constesto allora la parola dovra avere un diverso embedding da quelle di contesto
alla fine prendiamo solo gli embedding e buttiamo via il classificatore