【发布时间】:2021-02-16 01:15:21
【问题描述】:
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' object has no attribute 'most_common'”。我尝试了不同版本的 gensim。你能给我一些提示来解决这个问题吗?
【问题讨论】:
-
正如@cecil-cox 所说,Gensim 中没有
most_common()方法。 (你为什么认为有?)而且,你想用这个word2iddict做什么?为什么? (如果这些标记在您的训练数据中,它们将获得自己的位置,应该与 0-3 一样好。如果它们不在您的训练数据中,保留它们的位置可能会使其他东西损坏/无意义/脆弱.)
标签: python nlp gensim word2vec