我训练了一个gensim Word2Vec模型。 假设我有一个向量,想找出它所代表的单词 - 最好的方法是什么?
也就是说,对于一个特定的向量:
vec = array([-0.00449447, -0.00310097, 0.02421786, ...], dtype=float32)
我想获取一个单词:
'computer' = model.vec2word(vec)
我训练了一个gensim Word2Vec模型。 假设我有一个向量,想找出它所代表的单词 - 最好的方法是什么?
也就是说,对于一个特定的向量:
vec = array([-0.00449447, -0.00310097, 0.02421786, ...], dtype=float32)
我想获取一个单词:
'computer' = model.vec2word(vec)
vec = array([-0.00449447, -0.00310097, 0.02421786, ...], dtype=float32)
similars = model.wv.most_similar(positive=[vec])
print(similars)
similars[0][0]
中(即排名最高的元组的第一个位置)。vocab.vectors.most_similar
来支持此功能。import spacy
nlp = spacy.load('en_core_web_md')
word_vec = nlp(u"Test").vector
result = nlp.vocab.vectors.most_similar(word_vec.reshape((1, -1)))
print(nlp.vocab.strings[result[0][0,0]], result)