Caratteristiche dei vettori di parole in word2vec


9

Sto cercando di fare un'analisi del sentiment. Per convertire le parole in vettori di parole sto usando il modello word2vec. Supponiamo che io abbia tutte le frasi in un elenco chiamato "frasi" e le sto passando a word2vec come segue:

model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300,   window=5, sample=1e-3)

Dato che non sono un esperto di vettori di parole, ho due dubbi.
1- L'impostazione del numero di funzioni su 300 definisce le caratteristiche di un vettore di parole. Ma cosa significano queste caratteristiche? Se ogni parola in questo modello è rappresentata da un array numpy 1x300, cosa significano queste 300 caratteristiche per quella parola?

2- Cosa fa in realtà il down-sampling come rappresentato dal parametro 'sample' nel modello sopra?

Grazie in anticipo.

Risposte:


10

1- Il numero di funzioni: in termini di modello di rete neurale rappresenta il numero di neuroni nello strato di proiezione (nascosto). Poiché lo strato di proiezione è basato sull'ipotesi distributiva, il vettore numerico per ogni parola indica la sua relazione con le sue parole contestuali.

Queste funzionalità vengono apprese dalla rete neurale in quanto si tratta di un metodo non supervisionato. Ogni vettore ha diverse serie di caratteristiche semantiche. Ad esempio, prendiamo l'esempio classico V(King) -V(man) + V(Women) ~ V(Queen)e ogni parola rappresentata da un vettore 300-d. V(King)avrà caratteristiche semantiche di Royalità, regno, mascolinità, umano nel vettore in un certo ordine. V(man)avrà mascolinità, umana, lavoro in un certo ordine. Quindi, una volta V(King)-V(Man)fatto, la mascolinità, le caratteristiche umane verranno annullate e, quando aggiunte con le V(Women)quali avere la femminilità, verranno aggiunte le caratteristiche umane, risultando in un vettore molto simile aV(Queen). La cosa interessante è che queste caratteristiche sono codificate nel vettore in un certo ordine in modo che i calcoli numerici come addizione e sottrazione funzionino perfettamente. Ciò è dovuto alla natura del metodo di apprendimento non supervisionato nella rete neurale.

2- Esistono due algoritmi di approssimazione. Hierarchical softmaxe negative sampling. Quando viene fornito il parametro sample, viene richiesto un campionamento negativo. In caso di softmax gerarchico, per ogni vettore di parole i suoi contesti sono dati risultati positivi e tutte le altre parole del vocabolario hanno risultati negativi. Il problema della complessità temporale è risolto da campionamenti negativi. Come nel campionamento negativo, piuttosto che nell'intero vocabolario, solo una parte campionata del vocabolario riceve output negativi e i vettori vengono addestrati, il che è molto più veloce del metodo precedente.


Questa interpretazione delle funzionalità di word2vec è fuorviante. Non esiste una dimensione di mascolinità dello spazio o un elemento regalità nel vettore. In tal caso, uno spazio vettoriale di 300 dimensioni potrebbe rappresentare solo 300 dicotomie semantiche indipendenti.
Dan Hicks,

@DanHicks: non ho mai menzionato ciascuna caratteristica come una dimensione dello spazio. Ho appena detto che tali caratteristiche semantiche sono codificate nel vettore in un certo ordine, in modo tale che sono possibili operazioni matematiche.
yazhi,

"Caratteristiche" si riferisce normalmente alle variabili utilizzate per rappresentare i casi - in questo caso, gli elementi della parola vettori / dimensioni dello spazio vettoriale. La domanda di @ Nain usa chiaramente le "caratteristiche" in questo modo. Le "caratteristiche semantiche" di cui stai parlando sono nella migliore delle ipotesi un modo vago di parlare di come word2vec gestisce le analogie. Non sono affatto le caratteristiche dei vettori di parole.
Dan Hicks,

1
hai ragione .. ho modificato le "caratteristiche semantiche" in "caratteristiche semantiche" e le "caratteristiche" nella risposta rappresentano solo le dimensioni del vettore.
yazhi,

0
  1. Secondo l'ipotesi distributiva, la dimensione individuale nel vettore della parola non significa molto sulla parola nel mondo reale. Devi preoccuparti delle singole dimensioni. Se la tua domanda è quindi come dovrei selezionare il numero di dimensioni, è puramente basato sull'esperimento per i tuoi dati e può andare da 100 a 1000. Per molti esperimenti in cui l'addestramento viene effettuato sul testo wiki, la dimensione 300 offre principalmente il meglio risultato.
  2. Il parametro di esempio è il parametro utilizzato per eliminare le parole ad alta frequenza. Ad esempio "il" "è" "era", queste parole d'ordine non sono considerate nella finestra mentre prevedono la parola interna e il valore predefinito funziona bene per identificare queste parole d'ordine la cui frequenza è più alta.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.