2016-04-20 2 views
1

В некоторых очерках (Томас Миколов ...) я узнал, что лучший способ формирования вектора для предложения состоит в объединении слова-вектора.WordVectors Как конкатенировать векторы векторов для формирования предложения vector

но из-за моей неуклюжий в математике я все еще не уверен в деталях.

, например,

предполагая, что размерность вектора слова равна т, предложение имеет п слов.

Каков будет правильный результат операции конкатенации?

Это вектор строки 1 x m * n? или матрицей из m x n?

пожалуйста посоветуйте

благодаря

+1

где же Mikolov упомянуть, что? Полезна ссылка на бумагу и т. Д. Чтобы ответить на ваш вопрос, конкатенация просто переносит векторы один за другим. Поэтому, если у вас есть 3 вектора размером 1x100, вектор предложения будет 1x300. – user3639557

ответ

2

Есть по крайней мере три основных способа комбинируют вложения векторов; (a) суммирование, (b) суммирование & усреднение или (c) объединение. Таким образом, в вашем случае, с конкатенированием, это даст вам вектор 1 x m*a, где a - количество предложений. В остальных случаях длина вектора остается неизменной. См. gensim.models.doc2vec.Doc2Vec, dm_concat и dm_mean - он позволяет использовать любой из этих трех вариантов [1,2].

[1] http://radimrehurek.com/gensim/models/doc2vec.html#gensim.models.doc2vec.LabeledLineSentence

[2] https://github.com/piskvorky/gensim/blob/develop/gensim/models/doc2vec.py

+0

спасибо, это было полезно –

Смежные вопросы