Биграмма в вектор

Я хочу создавать вложения слов для документов с помощью инструмента word2vec. Я знаю, как найти векторное вложение, соответствующее одному слову (униграмме). Теперь я хочу найти вектор для биграммы. Можно ли сделать с помощью word2vec? Если да, то как?


person Anshit Chaudhary    schedule 02.03.2016    source источник
comment
если данный ответ обеспечивает решение вашей проблемы, пожалуйста, примите его, чтобы закрыть проблему или прокомментировать, почему не работает!   -  person eliasah    schedule 27.05.2016


Ответы (1)


Следующий фрагмент даст вам векторное представление биграммы. Обратите внимание, что биграмма, которую вы хотите преобразовать в вектор, должна иметь подчеркивание вместо пробела между словами, например. 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
person Hamman Samuel    schedule 10.03.2016