7

我想使用 word2vec 工具为文档构建词嵌入。我知道如何找到对应于单个单词(unigram)的向量嵌入。现在,我想找到一个二元组的向量。可以使用word2vec吗?如果是,如何?

4

1 回答 1

8

以下片段将为您提供二元组的向量表示。请注意,您要转换为向量的二元组需要有一个下划线,而不是单词之间的空格,例如bigram2vec(unigrams, "this report")是错误的,它应该是bigram2vec(unigrams, "this_report")。有关生成 unigram 的更多详细信息,请参阅此处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
于 2016-03-10T11:30:04.760 回答