Chaque algorithme qui traite des données de texte a un vocabulaire. Dans le cas de word2vec, le vocabulaire est composé de tous les mots du corpus d'entrée, ou au moins ceux au-dessus du seuil de fréquence minimale.
Les algorithmes ont tendance à ignorer les mots qui sont en dehors de leur vocabulaire. Cependant, il existe des moyens de recadrer votre problème de manière à ce qu'il n'y ait pratiquement pas de mots hors vocabulaire.
N'oubliez pas que les mots sont simplement des «jetons» dans word2vec. Il peut s'agir de ngrammes ou de lettres. Une façon de définir votre vocabulaire est de dire que chaque mot qui se produit au moins X fois se trouve dans votre vocabulaire. Ensuite, les "syllabes" les plus courantes (ngrammes de lettres) sont ajoutées à votre vocabulaire. Ensuite, vous ajoutez des lettres individuelles à votre vocabulaire.
De cette façon, vous pouvez définir n'importe quel mot comme
- Un mot dans votre vocabulaire
- Un ensemble de syllabes dans votre vocabulaire
- Un ensemble combiné de lettres et de syllabes dans votre vocabulaire
Le corpus de formation doit avoir tous les mots dont vous voulez trouver la similitude.
la source
Le word2Vec et FastText échouent si le mot n'est pas dans le vocabulaire. Lance une erreur. Il donne une liste de score pour les mots apparentés Mais un mot invisible ne sera pas dans le vocabulaire n'est-ce pas? Alors, comment résout-il le problème des mots invisibles?
la source