# Semantica distribuzionale

La semantica distribuzionale comprende una serie di teorie e metodi di linguistica computazionale per lo studio della distribuzione semantica delle parole nel linguaggio naturale. Questi modelli derivano da una prospettiva empiristica e assumono che una distribuzione statistica dei termini sia preponderante nel delinearne il comportamento semantico .

## Principi di base

Questa teoria propone il paradigma per cui le parole sono distribuite in uno spazio nel quale sono, tra loro, ad una distanza proporzionale al loro grado di similarità. Quest'ultima segue l'ipotesi fondamentale della semantica distribuzionale (chiamata ipotesi distribuzionale) secondo la quale due parole sono tanto più simili semanticamente, quanto più tendono a comparire nello stesso contesto linguistico. La frase emblematica di questa teoria è:
«You shall know a word by the company it keeps»
«Conoscerai una parola dalla compagnia che frequenta»
("A synopsis of linguistic theory 1930-1955." (1957:pag.11:cap.IV:riga 8))
Questa ipotesi condivide un principio di funzione simile al modello cognitivo proposto per spiegare il funzionamento del lessico mentale, per cui i concetti non sono memorizzati tutti come in un'enciclopedia, ma sono organizzati in base alle informazioni contestuali in cui la parola compare .

## Gli spazi vettoriali

Per le realizzazioni concrete dell'ipotesi distribuzionale si procede costruendo degli spazi semantici distribuzionali utilizzando rappresentazioni geometriche per rappresentare la semantica del testo. Ogni punto nello spazio è caratterizzato da n dimensioni, cioè dalle coordinate rispetto agli n assi che formano il nostro spazio vettoriale. In questo modo ogni parola diventa un vettore, le cui dimensioni dipendono dai contesti linguistici in cui la parola può ricorrere e la distanza tra i punti è proporzionale alla distanza semantica tra le parole (in base all'ipotesi distribuzionale).
Formalmente lo spazio semantico viene definito tramite quattro variabili fondamentali
* T che rappresenta l'insieme delle parole target che vanno a formare lo spazio semantico;
* B, cioè la base che definisce le dimensioni del nostro spazio e contiene i contesti linguistici sui quali viene valutata la similarità;
* M è la matrice di co-occorrenza che rappresenta i vettori di T;
* S è la metrica che misura la distanza dei punti nello spazio semantico;
Si può riassumere quindi che ogni parola target T corrisponde ad una riga della matrice M e ogni contesto B definisce le colonne della matrice stessa. Le celle contengono, nel caso più semplice, la frequenza di co-occorrenza della parola T in un contesto B.
Le differenze tra i modelli dipendono dal metodo con cui definiscono B, cioè da come definiscono il contesto. Comunemente viene definito in base ad una finestra W di parole che stanno attorno alla parola target T. In questo caso B (la dimensione dei vettori) è sottoinsieme delle parole tipo ottenuto escludendo le stopwords (che non hanno rilevanza dal punto di vista semantico) e includendo le parole contenuto più frequenti nel vocabolario del testo.
Se bisogna calcolare la distanza semantica tra due parole, è necessario calcolare la distanza tra i due vettori su tutte le dimensioni. Più sono le dimensioni simili tra i due vettori, più i significati delle parole che formano i vettori sono simili (sempre secondo l'ipotesi distribuzionale). La misura più comune della vicinanza spaziale è il coseno dell'angolo formato dagli stessi (se i vettori hanno dimensioni uguali, l'angolo è 0 e il coseno è massimo = 1; se i vettori sono indipendenti, l'angolo è 90° e il coseno è minimo = 0). Un altro metodo è calcolare la Distanza euclidea generalizzando ad uno spazio multidimensionale.

## Semantica e cognizione

In seguito alla verifica dei risultati e della loro correttezza è emerso che l'ipotesi distribuzionale ha molti riscontri con l'interpretazione semantica che viene dato dalle persone, in particolare gli spazi semantici distribuzionali possono essere usati come modelli per vari compiti legati alla distanza semantica tra le parole (priming semantico oppure, errori di interferenza nel compito di riconoscimento delle parole, ecc..) più accuratamente di modelli lessicali basati su simboli con reti lessicali (come Wordnet) .
L'apporto teorico maggiore, comunque, questa teoria l'ha fornita nell'ambito cognitivo-linguistico, la quale ha sempre considerato la rappresentazione del significato come una proiezione nella mente di simboli concettuali chiamati ontologie (concetto applicato alle scienze informatiche con il nome di ontologie formali). Quest'ultime sono la rappresentazione di categorie concettuali tramite linguaggi formali (simboli specifici che rappresentano la semantica delle parole)
, i quali formano entità completamente indipendenti dal contesto, separando totalmente la competenza semantica dall'uso contestuale della stessa parola (differenza tipica della teoria generativa). La difficoltà oggettiva di questo approccio è la gestione dei significati mutevoli che si realizzano quando questi sono immersi in un contesto specifico. La semantica distribuzionale rivoluziona questo mondo attribuendo al contesto le proprietà di costruttore del significato, come allude la citazione:
«The complete meaning of a word is always contextual, and no study of meaning apart from context can be taken seriously.»
«Il significato completo di una parola è sempre contestuale e nessuno studio del significato, a parte quello tramite il contesto, può essere preso seriamente.»
("The Technique of Semantics." (1935:pag.37))
Viene quindi dato un nuovo modello di rappresentazione semantica, sensibile al contesto (context-sensitive) e per natura dinamico.

## Applicazioni

L'arrivo di grandi corpora ha permesso a questa teoria di emergere nello studio computazionale della semantica e trovare così applicazioni concrete in modelli computazionali per la costruzione di spazi vettoriali di rappresentazione delle parole.
I modelli più noti per questi studi sono:
* Latent semantic analysis (LSA)
* Hyperspace analogue to language
* Random indexing
Tra gli algoritmi più recenti per la creazione di word embedding troviamo:
* word2vec basato sul modello di rete neurale Skip-gram (una tecnica dove gli n-grammi memorizzano ancora un modello del linguaggio, ma permettono di saltare token) che utilizza un metodo predittivo.
* glove che usa metodi count-based (modello basato sul conteggio, letteralmente).
Molti ricercatori hanno discusso su quale fosse il metodo migliore da utilizzare ed alcuni sono arrivati alla conclusione che un modello che utilizza metodi predittivi sia migliore
, altri invece sostengono che le due classi di metodi non siano drasticamente differenti a un livello fondamentale nel quale entrambi sondano le statistiche di co-occorrenze di un corpus, ma l'efficienza con cui i metodi count-based catturano le statistiche globali può essere vantaggioso.
I modelli distribuzionali hanno trovato moltissime applicazioni nella linguistica computazionale, tra cui la Text simplification (semplificazione del testo)
, che ha lo scopo di rendere il testo più facile da comprendere per i lettori umani o automatici, l'identificazione delle metafore
, priming semantico
, il ragionamento analitico.