Bigram到矢量

时间:2016-03-02 12:27:02

标签: nlp word2vec word-embedding

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

1 个答案:

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