已将word2vec模型读入genism
model = KeyedVectors.load_word2vec_format('word2vec.50d.txt', binary=False)
似乎genism只提供了从索引到单词的映射,也就是说,model.index2word[2]
,我们怎样才能在此基础上得到一个倒置字典(word2index)?
答案 0 :(得分:13)
单词到索引的映射位于KeyedVectors
vocab
属性中,该属性是包含index
属性的对象的字典。
例如:
word = "whatever" # for any word in model
i = model.vocab[word].index
model.index2word[i] == word # will be true
答案 1 :(得分:1)
更简单的解决方案是枚举index2word
word2index = {token: token_index for token_index, token in enumerate(w2v.index2word)}
word2index['hi'] == 30308 # True