gensim Фразы, не соблюдающие параметр min_count - PullRequest
0 голосов
/ 11 января 2020

Я пытаюсь тренировать модель gensim Word2Ve c с биграммами. Чтобы получить биграммы, я запускаю следующий код, где sentences обозначает длинный список разделенных предложений с использованием nltk.sent_tokenize, лемматизируется с помощью Spacy, а затем в нижнем регистре:

from gensim.models import Word2Vec, Phrases

bigrams = Phrases(sentences, min_count=20, threshold=10)

Это может включать только биграммы, которые происходят> = 20 раз. Но когда я запускаю bigrams.vocab, я получаю:

defaultdict(int,
             b'inflated': 237,
             b'the_inflated': 34,
             b'inflated_bag': 1,
             b'let': 6841,
             b'bag_let': 1,
             b'let_-pron-': 3723,
             ...)

Из того, что я понимаю, inflated_bag и let_-pron- не должно присутствовать. Я что-то не так делаю? Или я неверно истолковал вывод?

1 Ответ

1 голос
/ 11 января 2020

В исходном коде gensim Phrases, min_count - это настраиваемый вход в формулу для определения, какие биграммы должны быть объединены.

Это не строгое ограничение ( как параметр с тем же именем в Word2Vec и связанных с ним классах), ниже которого любые униграммы / биграммы игнорируются или сразу отбрасываются из подсчета опроса.

(Комментарии do c в генезиме phrases.py несколько вводят в заблуждение.)

...