2014-12-19 10 views
6

Come creare word vector? Ho usato un tasto di scelta rapida per creare un vettore di parole, ma è molto grande e non generalizzato per parole semantiche simili. Così ho sentito parlare del vettore di parole usando la rete neurale che trova la parola somiglianza e il vettore di parole. Quindi volevo sapere come generare questo vettore (algoritmo) o un buon materiale per iniziare a creare il vettore di parole?come creare word vector

+0

Si consiglia di iniziare con tipo x matrice documento, ponderazione tf-idf e somiglianza coseno. google it. otterrai una buona visione del problema. – Pierre

risposta

8

Word-vettori o rappresentazioni cosiddette distribuiti hanno una lunga storia, ormai, a partire forse dal lavoro di S. Bengio (Bengio, Y., Ducharme, R., & Vincent, P. (2001). Un modello di linguaggio probabilistico neurale (NIPS) in cui ha ottenuto i vettori di parole come sottoprodotto del modello di formazione neurale rete neurale.

Numerose ricerche hanno dimostrato che questi vettori catturano la relazione semantica tra le parole (vedere ad esempio http://research.microsoft.com/pubs/206777/338_Paper.pdf). Anche questo importante documento (http://arxiv.org/abs/1103.0398) di Collobert et al. È un buon punto di partenza con la comprensione dei vettori di parole, il modo in cui sono ottenuti e utilizzati.

Oltre a word2vec ci sono molti metodi per ottenerli. Gli esempi includono le immersioni con SENNA di Collobert et al (http://ronan.collobert.com/senna/), gli incastri RNN di T. Mikolov che possono essere calcolati utilizzando RNNToolkit (http://www.fit.vutbr.cz/~imikolov/rnnlm/) e molto altro. Per l'inglese, gli embeddings già pronti possono essere scaricati da questi siti web. word2vec usa davvero il modello skip-gram (non il modello di rete neurale). Un altro codice veloce per calcolare le rappresentazioni di parole è GloVe (http://www-nlp.stanford.edu/projects/glove/). È una domanda aperta qualunque siano le reti neurali profonde che sono essenziali per ottenere o meno buoni matrimoni.

A seconda dell'applicazione, è preferibile utilizzare diversi tipi di vettori di parole, quindi è una buona idea provare diversi algoritmi popolari e vedere cosa funziona meglio per voi.

3

Penso che la cosa che intendi sia Word2Vec (https://code.google.com/p/word2vec/). Allena i vettori di parole N-dimensionali di documenti basati su un dato corpus. Quindi, nella mia comprensione di word2vec, la rete neurale viene semplicemente utilizzata per aggregare le dimensioni del vettore del documento e anche per catturare una relazione tra le parole. Ma quello che dovrebbe essere menzionato è che questo non è realmente correlato semanticamente, riflette solo la relazione strutturale nel tuo corpo di allenamento.

Se si desidera catturare parentela semantica uno sguardo a misure WordNet base, per esempio implementato è questi libaries:

per iniziare con word2vec puoi usare i loro vettori preassegnati. Dovresti trovare tutte le informazioni al riguardo a https://code.google.com/p/word2vec/.

Quando si cerca un'implementazione java. Questo è un buon punto di partenza: http://deeplearning4j.org/word2vec.html

Spero che questo aiuta

Best wishes

Problemi correlati