Come word2vec può essere usato per identificare parole non viste e metterle in relazione con dati già addestrati


11

Stavo lavorando sul modello gensim di word2vec e l'ho trovato davvero interessante. Sono interessato a scoprire come una parola sconosciuta / invisibile, se verificata con il modello, sarà in grado di ottenere termini simili dal modello addestrato.

È possibile? Word2Vec può essere ottimizzato per questo? O il corpus di formazione deve avere tutte le parole di cui voglio trovare la somiglianza.

Risposte:


9

Ogni algoritmo che si occupa di dati di testo ha un vocabolario. Nel caso di word2vec, il vocabolario comprende tutte le parole nel corpus di input, o almeno quelle al di sopra della soglia di frequenza minima.

Gli algoritmi tendono a ignorare le parole al di fuori del loro vocabolario. Tuttavia, ci sono modi per riformulare il problema in modo tale che non ci siano essenzialmente parole fuori dal vocabolario.

Ricorda che le parole sono semplicemente "token" in word2vec. Potrebbero essere ngram o lettere. Un modo per definire il tuo vocabolario è quello di dire che ogni parola che compare almeno X volte è nel tuo vocabolario. Quindi le "sillabe" più comuni (ngrammi di lettere) vengono aggiunte al tuo vocabolario. Quindi aggiungi singole lettere al tuo vocabolario.

In questo modo puoi definire qualsiasi parola come uno dei due

  1. Una parola nel tuo vocabolario
  2. Una serie di sillabe nel tuo vocabolario
  3. Un insieme combinato di lettere e sillabe nel tuo vocabolario

3

word2vec tratta le parole come atomi. Per ottenere vettori significativi per parole sconosciute, devi farlo

  • cambia ciò che sono questi atomi, ad esempio passa alla lettera n-grammi come nella risposta di jamesmf, oppure
  • usa un modello diverso che guardi esplicitamente cosa c'è dentro le tue parole, ad esempio il modello CWE su https://github.com/Leonard-Xu/CWE è facile da usare.


sì, l'ho provato ma non funziona bene con compiti come la segmentazione morfologica.
gaurus,


0

Word2Vec e FastText falliscono se la parola non è nel vocabolario. Genera un errore. Fornisce un elenco di punteggi per le parole correlate Ma una parola invisibile non sarà nel vocabolario, no? Quindi, come risolve il problema delle parole invisibili?

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.