python - gensim - word2vec: AttributeError: 'Word2Vec' 对象没有属性 'most_common'
问题描述
PAD = 0
UNK = 1
START = 2
END = 3
def make_vocab(wc, vocab_size):
word2id, id2word = {}, {}
word2id['<pad>'] = PAD
word2id['<unk>'] = UNK
word2id['<start>'] = START
word2id['<end>'] = END
for i, (w, _) in enumerate(wc.most_common(vocab_size), 4):
word2id[w] = i
return word2id
调用此函数时出现此错误“AttributeError:'Word2Vec' 对象没有属性'most_common'”。我尝试了不同版本的 gensim。你能给我一些提示来解决这个问题吗?
解决方案
Gensim 的 Word2Vec 不包含most_common
方法。
如果出于某种原因您必须word,frequency
从模型中提取对,您可以使用
[(word, wc.w2v.vocab[word]) for word in wc.wv.vocab]
并对结果列表进行排序。然而,这是一个非常奇怪的用例。
推荐阅读
- pine-script - Pine 脚本:在历史数据中只运行一次代码块
- typescript - 在 .vue 文件末尾插入新行
- python - 是否可以在 Django ORM 中进行嵌套查询?
- vert.x - 在 vertx 中中止请求
- elsa-workflows - Elsa 2.0 为什么这个工作流执行一个 fork 的两个分支,而我只期望一个?
- vb.net - vb.net 在枚举数据表时使用字符串访问 Dim
- angular12 - 更新到 Angular12 项目显示空白页
- php - 在 Vertex 类中实现顶点属性的类型检查
- python - 在csv python中将多列除以其他列
- join - 有没有更简单的方法在 kdb 中创建这个表?