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]
并对结果列表进行排序。然而,这显然是一个奇怪的用例。