2016-03-02 51 views
4

我想使用word2vec工具爲文檔構建文字嵌入。我知道如何找到與單個單詞相對應的矢量嵌入(unigram)。現在,我想找到一個bigram的矢量。有沒有可能使用word2vec?如果是,如何?Bigram與矢量

+0

'從gensim.models進口Word2Vec,Phrases' – alvas

+0

如果給定的答案爲您問題的解決方案,請接受它關閉的問題,或者爲什麼不工作評論! – eliasah

回答

3

下面的代碼片段將爲您帶來bigram的向量表示。請注意,要轉換爲矢量的雙精度值需要有一個下劃線,而不是單詞之間的空格,例如, bigram2vec(unigrams, "this report")是錯的,應該是bigram2vec(unigrams, "this_report")。有關生成unigrams的更多詳細信息,請參見gensim.models.word2vec.Word2Vechere

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