QNA > Q > Qual È La Differenza Principale Tra Word2Vec E Fasttext?

Qual è la differenza principale tra word2vec e fastText?

La differenza principale tra word2vec e fasttext è esattamente quella menzionata da Trevor

  • word2vec tratta ogni parola nel corpus come un'entità atomica e genera un vettore per ogni parola. In questo senso Word2vec è molto simile a Glove - entrambi trattano le parole come la più piccola unità su cui allenarsi. Riferimento. Qual è la differenza tra fastText e GloVe?

Fasttext (che è essenzialmente un'estensione del modello word2vec), tratta ogni parola come composta da ngrammi di caratteri. Quindi il vettore di una parola è composto dalla somma di questi ngrammi di caratteri. Per esempio il vettore parola "mela" è una somma dei vettori degli n-grammi "", "ppl", "pple", "pple>", "ple", "ple>", "le>" (assumendo iperparametri per il più piccolo ngram[minn] è 3 e il più grande ngram[maxn] è 6). Questa differenza si manifesta come segue.

  1. Genera migliori embeddings per parole rare (anche se le parole sono rare i loro caratteri n grammi sono ancora condivisi con altre parole - quindi le embeddings possono ancora essere buone).
    1. Questo è semplicemente perché, in word2vec una parola rara (ad esempio 10 occorrenze) ha meno vicini da cui essere rimorchiata, in confronto ad una parola che ricorre 100 volte - quest'ultima ha più parole vicine di contesto e quindi viene rimorchiata più spesso risultando in migliori vettori di parole. Riferimento: come funziona word2vec?
  2. Parole fuori dal vocabolario - possono costruire il vettore di una parola dai suoi caratteri n grammi anche se la parola non appare nel corpus di allenamento. Sia Word2vec che Glove non possono farlo.
  3. Da un punto di vista di utilizzo pratico, la scelta degli iperparametri per la generazione di fasttext embeddings diventa la chiave
    1. Poiché l'addestramento è a livello di n-grammi di carattere, ci vuole più tempo per generare fasttext embeddings rispetto a word2vec - la scelta degli iperparametri che controllano la dimensione minima e massima degli n-grammi ha un effetto diretto su questo tempo.
    2. Al crescere della dimensione del corpus, cresce anche la richiesta di memoria - il numero di ngrammi che vengono inseriti nello stesso bucket di ngram cresce. Quindi la scelta dell'iperparametro che controlla il totale dei bucket dell'hash, comprese le dimensioni minime e massime degli n-grammi, ha un peso. Per esempio, anche una macchina con 256GB di RAM è insufficiente (con lo spazio di swap esplicitamente impostato molto basso per evitare lo swap) per creare vettori di parole per un corpus con ~50 milioni di parole uniche con minn=3 e maxn=3 e min word count 7. Il numero minimo di parole ha dovuto essere portato a 15 (eliminando così un gran numero di parole con un numero di occorrenze inferiore a 15) per generare vettori di parole.
  4. L'uso di embeddings di caratteri (caratteri individuali invece di n-grammi) per compiti a valle ha recentemente dimostrato di aumentare le prestazioni di tali compiti rispetto all'uso di embeddings di parole come word2vec o Glove.
    1. Mentre gli articoli che riportano questi miglioramenti tendono ad usare LSTMs di caratteri per generare embeddings, non citano l'uso di fasttext embeddings. https://arxiv.org/pdf/1508.02096.pdf (codice sorgente basato su Java per questo modello - wlin12/JNN)
    2. Per questi compiti vale forse la pena considerare fasttext embeddings poiché la generazione di fasttext embeddings (nonostante sia più lenta di word2vec) è probabilmente più veloce di LSTMs (questa è solo un'intuizione dal tempo impiegato da LSTMs - deve essere validata. For instance one test could be to compare fasttext with minn=1, maxn=1 with a corrsesponding char LSTM and evaluate performance for a POS tagging task).

Additional references

Does Facebook’s fastText library have a concept of word boundaries?

How does fastText output a vector for a word that is not in the pre-trained model?

Di Mayeda Holstad

Come è nato Instagram, e i fondatori erano programmatori? :: Il display AMOLED fluido è il miglior display per il telefono cellulare?
Link utili