Word embedding
# Word embedding

Il word embedding (tradotto letteralmente immersione di parole) anche conosciuto come rappresentazione distribuita delle parole permette di memorizzare le informazioni sia semantiche che sintattiche delle parole partendo da un corpus non annotato e costruendo uno spazio vettoriale in cui i vettori delle parole sono più vicini se le parole occorrono negli stessi contesti linguistici, cioè se sono riconosciute come semanticamente più simili (secondo l'ipotesi della semantica distribuzionale).

## Definizione

In una definizione più rigorosa il word embedding è un termine complessivo che indica, nell'elaborazione del linguaggio naturale, un insieme di tecniche di modellazione in cui parole o frasi di un vocabolario vengono mappate in vettori di numeri reali. Concettualmente consiste in un'operazione matematica di immersione in conseguenza della quale uno spazio costituito da una dimensione per parola viene trasformato in uno spazio vettoriale continuo di dimensione molto inferiore. Queste tecniche trovano applicazione nello studio della vicinanza semantica del discorso, in particolare nel mondo della semantica distribuzionale.

## Metodi

I metodi per generare questa mappatura comprendono le reti neurali, la riduzione dimensionale sulla matrice di co-occorrenza della parola, modelli probabilistici, e rappresentazione esplicita in base al contesto in cui la parola appare.. Molte delle nuove tecniche di word embedding sono realizzati con l'architettura delle reti neurali invece che con le più tradizionali tecniche ad n-grammi e di apprendimento supervisionato.

I thought vector (letteralmente vettori di pensiero) sono un'estensione delle word embedding per intere frasi o anche documenti. Alcuni ricercatori sperano che questi possano aumentare la qualità della traduzione automatica.

## Applicazioni

Gli algoritmi più popolari proposti per l'apprendimento del word embedding sono Word2vec, sviluppato da Tomas Mikolov, e GloVe, sviluppato dalla Stanford University. Sono anche disponibili alcuni software e librerie software, come Gensim e Deeplearning4j, che offrono un'implementazione di questi algoritmi e ne permettono l'uso in altre applicazioni. Altri algoritmi, come l'Analisi delle componenti principali (PCA) e t-distributed stochastic neighbor embedding (t-SNE), sono usati per diminuire la dimensione dello spazio dei vettori di parole e per permetterne la visualizzazione in uno spazio bidimensionale o tridimensionale.

