2015-07-15 4 views
4

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

Я новичок в word2vec, и я не знаю, как это сделать. Я прочитал несколько основных сайтов и несколько вопросов о Stack, но пока не нашел хорошего учебника.

+0

Это довольно просто. Я сделал это в прошлом. Вы хотите использовать какой-либо конкретный язык? Вы можете напрямую использовать код автора (на C++) для обучения и извлечения векторов. Это просто 600-700 строк оптимизированного кода. Я могу помочь с точными аргументами, если вы этого потребуете. – Naman

+0

Я бы предпочел Java, но все, что мне действительно нужно сделать, это сделать словарь на любом языке, а затем загрузить этот текстовый файл в мою программу Java, поэтому любой язык, вероятно, будет работать – jonbon

+1

https://code.google.com/p/ word2vec/является исходным авторским кодом. Это очень просто тренироваться. Единственное, что выводит вектор в двоичный файл. Вы можете легко преобразовать его в текстовый файл. – Naman

ответ

9

Gensim tutorial объясняет это очень четко.

Во-первых, вы должны создать модель word2vec - либо путем ее обучения по тексту, например.

model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=4) 

или путем загрузки предварительно обученной модели (вы можете найти их here, к примеру).

Тогда перебрать все ваши слова и проверить их векторов в модели:

for word in words: 
    vector = model[word] 

Имея это, просто написать слово и вектор отформатирован, как вы хотите.