Как word2vec может быть использован для выявления невидимых слов и соотнести их с уже подготовленными данными

11

Я работал на word2vec gensim модели и нашел, что это действительно интересно. Меня интересует, как неизвестное / невидимое слово при проверке с моделью сможет получить аналогичные термины от обученной модели.

Это возможно? Может word2vec быть переделаны для этого? Или учебный корпус должен иметь все слова, из которых я хочу найти сходство.

gaurus
источник

Ответы:

9

У каждого алгоритма, который имеет дело с текстовыми данными, есть словарь. В случае word2vec словарь состоит из всех слов во входном корпусе или, по крайней мере, слов, превышающих порог минимальной частоты.

Алгоритмы имеют тенденцию игнорировать слова, которые находятся за пределами их словарного запаса. Однако есть способы Reframe проблемы таким образом, что там практически отсутствуют Out-Of-словарные слова.

Помните, что слова - это просто "токены" в word2vec. Это могут быть нграммы или буквы. Один из способов определить ваш словарный запас - сказать, что каждое слово, встречающееся не менее X раз, содержится в вашем словаре. Затем наиболее распространенные «слоги» (ngrams букв) добавляются в ваш словарный запас. Затем добавьте отдельные буквы в свой словарь.

Таким образом, вы можете определить любое слово как

  1. Слово в своем словарном запасе
  2. Набор слогов в вашем словаре
  3. Комбинированный набор букв и слогов в своем словарном запасе
jamesmf
источник
3

word2vec рассматривает слова как атомы. Чтобы получить значимые векторы для неизвестных слов, вы должны либо

  • изменить то, что эти атомы, например, переход на букву п-граммы, как в ответ jamesmf, либо
  • использовать другую модель , которая явно смотрит на то , что в ваших словах, например , модель КВО на https://github.com/Leonard-Xu/CWE проста в использовании.
Иоахим Вагнер
источник
1
github.com/facebookresearch/fastText , кажется, работает хорошо
Йоахим Вагнер
да, я пробовал это, но плохо работает с такими задачами, как морфологическая сегментация.
gaurus
2

Учебный корпус должен иметь все слова, слова которых вы хотите найти.

Франк Дернонкур
источник
0

Word2Vec и FastText завершаются ошибкой, если слово отсутствует в словаре. Выдает ошибку. Это дает список оценки для связанных слов Но невидимое слово не будет в словаре, не так ли? Итак, как это решает проблему невидимого слова?

Сэм
источник