python - gensim 短语不遵守 min_count 参数
问题描述
我正在尝试使用二元组训练一个 gensim Word2Vec 模型。为了得到二元组,我运行下面的代码,用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-
应该在场。有什么我做错了吗?还是我误解了输出?
解决方案
在 gensimPhrases
源代码中,min_count
是一个可调整的输入,用于决定应该组合哪些二元组。
它不是一个严格的截止值(例如和相关类中的同名参数Word2Vec
),低于该值的任何一元/二元都将被忽略或从调查计数中彻底丢弃。
(gensim 中的 doc-commentsphrases.py
在这方面有些误导。)
推荐阅读
- hana - 从 HANA 中的 UNIQUE INDEX 中排除 NULL 值
- jquery - 如何在 jQuery 中显示子元素的内容?
- linux - 使用 find 和 xargs 列出从包含字符串中找到的文件的时间戳
- intellij-idea - 更改 IntelliJ/PhpStorm 中的测试根路径/模式
- reactjs - 我可以使用 Formik 在 FieldArray 中使用自定义组件吗
- distance - GraphDB geof:两点之间的距离返回空字段 - geosparql
- fortran - 在循环内调用时减慢并行子程序
- java - 如何在主活动中打开和管理一个不可见的活动?
- java - 在 picasso 和 viewpager 制作的滑块图像中添加下一个、上一个按钮
- database - 为 DB2 中的现有表添加表空间