Работа с новыми словами в генсиме не найдена в модели - PullRequest
0 голосов
/ 16 апреля 2019

Допустим, я пытаюсь вычислить среднее расстояние между словом и документом с помощью расстояния () или вычислить косинусное сходство между двумя документами с помощью n_simility (). Однако предположим, что эти новые документы содержат слова, которых не было в исходной модели. Как Генсим справляется с этим?

Я перечитывал документацию и не могу найти, что делает gensim с необоснованными словами.

Я бы предпочел, чтобы генсим не считал их в среднем. Таким образом, в случае Расстояния (), он просто не должен возвращать что-либо или что-то, что я могу легко удалить позже, прежде чем вычислять среднее значение с помощью numpy. В случае n_s Similarity, конечно же, gensim должен сделать это сам ...

Я спрашиваю, потому что документы и слова, которые моя программа должна будет классифицировать, в некоторых случаях будут содержать неизвестные слова, названия, бренды и т. Д., Которые я не хочу принимать во внимание при классификации. Итак, я хочу знать, придется ли мне предварительно обрабатывать каждый документ, который я пытаюсь классифицировать.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

В зависимости от контекста, Gensim обычно либо игнорирует неизвестные слова, либо выдает ошибку типа KeyError, когда поиск по точному слову не удается. (Кроме того, некоторые модели векторов слов, такие как FastText, могут синтезировать векторы догадок лучше, чем ничего, для неизвестных слов на основе фрагментов слов, наблюдаемых во время обучения.)

Вы должны попробовать свои желаемые операции с конкретными интересующими вас моделями / методами, чтобы увидеть результаты.

Если генерируются ошибки, прерывающие работу, и возникает проблема для вашего кода, вы можете предварительно отфильтровать списки слов, чтобы удалить те, которые не присутствуют в модели.

0 голосов
/ 16 апреля 2019

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

В зависимости от кода все еще возможно, что новые слова влияют на результаты.Чтобы быть на стороне сохранения, я рекомендую проверить вашу конкретную модель и / или показатели на небольшом тексте (с кучей новых слов и без них).

...