我想使用word2vec工具为文档构建单词嵌入。我知道如何找到对应于单个单词(unigram)的向量嵌入。现在,我想找到一个二元组的向量。是否可以使用word2vec?如果是,怎么样?
答案 0 :(得分:5)
以下代码段将为您提供一个二元组的向量表示。请注意,要转换为向量的二元组需要有一个下划线而不是单词之间的空格,例如bigram2vec(unigrams, "this report")
错了,它应该是bigram2vec(unigrams, "this_report")
。有关生成unigrams的更多详细信息,请参阅gensim.models.word2vec.Word2Vec
课程here。
from gensim.models import word2vec
def bigram2vec(unigrams, bigram_to_search):
bigrams = Phrases(unigrams)
model = word2vec.Word2Vec(bigrams[unigrams])
if bigram_to_search in model.vocab.keys():
return model[bigram_to_search]
else:
return None