我在一些文章中(Tomas Mikolov…)了解到,形成句向量的一个更好方法是拼接词向量。
但由于我在数学方面的笨拙,我仍然不确定其中的细节。
例如,
假设词向量的维度是m;一个句子有n个词。
拼接操作的正确结果是什么?
它是一个1 x m*n的行向量吗?还是一个m x n的矩阵?
回答:
至少有三种常见的嵌入向量组合方式:(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