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

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

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

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

1
Avatrin 16 Апр 2019 в 17:48

2 ответа

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

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

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

0
gojomo 16 Апр 2019 в 20:48

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

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

0
Serge 18 Апр 2019 в 14:39