如何从gensim获取word2index

时间:2017-11-05 02:21:01

标签: gensim

已将word2vec模型读入genism

model = KeyedVectors.load_word2vec_format('word2vec.50d.txt', binary=False)

似乎genism只提供了从索引到单词的映射,也就是说,model.index2word[2],我们怎样才能在此基础上得到一个倒置字典(word2index)?

2 个答案:

答案 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