如何从 Gensim word2vec
模型中检索 n 个最常见的单词?据我了解,频率和计数不一样,因此我不能使用 object.count()
方法。
我需要从我的 word2vec
模型中生成 n 个最常见单词的列表。
编辑:
我尝试过以下方法:
w2c = dict()
for item in model.wv.vocab:
w2c[item]=model.wv.vocab[item].count
w2cSorted=dict(sorted(w2c.items(), key=lambda x: x[1],reverse=True))
w2cSortedList = list(w2cSorted.keys())
我最初的猜测是使用上面的代码,但这实现了 count 方法。我不确定这是否代表最常见的单词。
最佳答案
每个词汇条目的 .count
属性是在初始词汇调查期间看到的该单词的计数。因此,按此排序,并选取计数
最高的单词,将为您提供最常见的单词。
而且,为了提高效率,典型的做法是将已知单词的有序列表按照最频繁到最不频繁的顺序进行排序。您可以在列表 model.wv.index_to_key
中查看此内容,因此可以通过 model.wv.index_to_key[:100]
检索 100 个最常见的单词。 (在 4.0 版本之前的 Gensim 中,同一列表称为 index2entity
或 index2word
。)
关于Gensim (word2vec) 检索 n 个最常见的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53621737/