我想使用word2vec工具为文档构建单词嵌入。我知道如何找到与单个单词(unigram)对应的向量嵌入。现在,我想找到一个bigram的向量。是否可以使用word2vec构建bigram单词嵌入?如果可以,如何操作?
我想使用word2vec工具为文档构建单词嵌入。我知道如何找到与单个单词(unigram)对应的向量嵌入。现在,我想找到一个bigram的向量。是否可以使用word2vec构建bigram单词嵌入?如果可以,如何操作?
bigram2vec(unigrams, "this report")
是错误的,正确的应该是 bigram2vec(unigrams, "this_report")
。有关生成单元词的更多详细信息,请参见 这里 的 gensim.models.word2vec.Word2Vec
类。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
unigrams
必须是一个列表的列表。此外,model.vocab.keys()
不再可用。它被 model.wv.index_to_key
替换。 - Alaa M.