У каждого алгоритма, который имеет дело с текстовыми данными, есть словарь. В случае word2vec словарь состоит из всех слов во входном корпусе или, по крайней мере, слов, превышающих порог минимальной частоты.
Алгоритмы имеют тенденцию игнорировать слова, которые находятся за пределами их словарного запаса. Однако есть способы Reframe проблемы таким образом, что там практически отсутствуют Out-Of-словарные слова.
Помните, что слова - это просто "токены" в word2vec. Это могут быть нграммы или буквы. Один из способов определить ваш словарный запас - сказать, что каждое слово, встречающееся не менее X раз, содержится в вашем словаре. Затем наиболее распространенные «слоги» (ngrams букв) добавляются в ваш словарный запас. Затем добавьте отдельные буквы в свой словарь.
Таким образом, вы можете определить любое слово как
- Слово в своем словарном запасе
- Набор слогов в вашем словаре
- Комбинированный набор букв и слогов в своем словарном запасе
Учебный корпус должен иметь все слова, слова которых вы хотите найти.
источник
Word2Vec и FastText завершаются ошибкой, если слово отсутствует в словаре. Выдает ошибку. Это дает список оценки для связанных слов Но невидимое слово не будет в словаре, не так ли? Итак, как это решает проблему невидимого слова?
источник