Doc2vec段落向量方法是一种非监督算法,能从变长的文本(例如:句子,段落和文档)中学习得到固定长度的特征表示。该算法训练在文档内预测词,使其能够使用单个密集向量表示每个文档。它是受到词向量学习的启发,段落向量能根据从段落中给定的上下文样本去预测下一个词,原论文提到两种方法:分布记忆的段落向量(Distributed Memory Model of Paragraph Vectors,,PV-DM)和分布词袋版本的段落向量(Distributed Bag of Words version of Paragraph Vector,PV-DBOW)。下图1 展示了段落向量分布记忆模型(PV-DM)的框架:
图1:PV-DM下段落向量的框架,该框架类似word2vec中的连续词袋模型框架。唯一的不同点在于:通过矩阵D,额外的段落分段被安置到单个向量中。在此模型中,该向量及另外三个语境向量的拼接或者平均结果被用于预测第四个词。该段落向量表示了上下文缺失的信息,同时也充当了关于该段落话题的一份记忆。
模型中,上下文长度是固定的,并且是在段落上的滑动窗口上取到的样本。段落向量是被分享于所有由同一段落生成的上下文,而不是所有段落都实现共享。而词向量矩阵W,是跨段落分享的,例如:关于’强大的’的词向量在所有段落中都是一样的。段落向量和词向量都用随机梯度下降进行训练,梯度由反向传播获取。在预测期间,模型需要实现一个推理步骤,给新段落计算段落向量。这个也是由梯度下降得到的,在这个过程中,模型的其它部分,词向量W和softmax权重都是固定住的。
假设词库中有N个段落,M个词。我们想要学习段落向量使得每个段落向量被映射到p维,每个词被映射到q维,然后模型总共就有N x p +M x q个参数(除了softmax的参数)。即使当N很大时,模型的参数也会很大,但是在训练时的更新是稀疏的,因此模型有效率。训练完之后,段落向量可用于表示段落的特征,我们可以将这些特征直接用在传统的机器学习方法里,例如逻辑回归,支持向量机或K-means。
段落向量的好处在于它克服了词袋模型的劣势,首先,特征向量能够继承到词的语义信息,例如”powerful”比“Paris”更接近“strong”。第二个好处是:至少在小的上下文基础上,它们跟n-gram模型一样考虑了词顺序。这点很重要,因为n-gram模型保留了段落很多信息,包括词顺序。但因为高维表示会倾向于低的通用性,因此这段落向量可能会比n-grams模型好。
另外一种段落向量是PV-DBOW,它与PV-DM相反。它忽略输入的上下文词,但强迫模型去预测从段落上随机样本出的词。实际上,这意味着在每次随机梯度下降循环里,我们样本出一个文本窗,然后从文本窗中样本出一个随机的词,之后在给定段落向量下去完成一个分类任务。分布词袋版本的段落向量如下图2所示:
图2:分布词袋版本的段落向量。在此版本中,段落向量被训练去预测在小窗口里的词。
除了概念简单外,此模型不需要储存过多的数据。我们只需要储存softmax权重,而不需要像PV-DM模型一样存softmax权重和词向量。这个模型类似于word2vec中的skip-gram模型。
在论文实验中,作者发现,PV-DM在多数任务上经常能取得较好的表现,但是如果再结合PV-DBOW的话,能够在很多的任务中入的始终如一的良好表现,例如。在IMDB中,PV-DM错误率是7.63%,但是PV-DM和PV-DBOW能够达到更好的7.42%,因此原论文作者推荐使用它们的结合体。
描述来源:Doc2vec的原论文:https://arxiv.org/pdf/1405.4053.pdf
发展历史
描述
受到词向量研究的影响,很多研究者开始将词向量模型拓展到词组或句子级别的表示上,其中,2010年Mitchell和Lapata提出一种语义分布模型组合用以生成词组或句子表示。Zanzotto等人又在组合分布模型(compositional distributional model)上提出创新,加入了一种基于多自变量回归模型的估计方法。2011年,Yessenalina和Claire提出一种矩阵空间的词组表示的方法,能够有效运用在情感分析文本中。2013年Tomas Mikolov等人通过二次采用频繁词和学习更多的常规词表示,去提高表示向量的质量及训练速度。这些研究方法中简单的有使用权重平均文档内所有的词来获取向量表示,而其中更复杂的方法则结合了服从句子分析树(parse tree)中一定顺序的词向量。两种方法都有劣势,第一种丢失了词顺序,第二种分析树与词向量的结合只适用于在句子上,因为它依赖于语法分析(parsing)。
2014年Quoc Le和Tomas Mikolov在Google提出了段落向量( Paragraph Vector),在文本识别任务中,段落向量方法十分成功的打败了词袋模型并得到一个30%的相对提升。Doc2vec段落向量它能通用地使用在句子,段落和文档中,不像之前那些方法具有应用场景的局限性,而且它不依赖于分析树。该方法是受到2013年Thomas Mikolov等人提出的Word2vec的启发,在Word2vec中,著名的词向量学习框架(CBOW结构)如下图3:
图3:学习词向量框架。上下文三个词(”the”, “cat”, 和“sat”)被用于预测第四个词(“on”)。输入词被映射到矩阵W的列上,它们被用于预测输出词。
而段落向量只是在上述的基础上加入了段落矩阵D,使得图3不只有词矩阵W。
描述来源:Doc2vec的原论文:https://arxiv.org/pdf/1405.4053.pdf
主要事件
年份 | 事件 | 相关论文/Reference |
2010 | Mitchell和Lapata提出一种语义分布模型组合用以生成词组或句子表示 | Mitchell, J., & Lapata, M. (2010). Composition in distributional models of semantics. Cognitive science, 34(8), 1388-1429. |
2010 | Zanzotto等人在compositional distributional model提出创新,加入了一种基于多自变量回归模型的估计方法 | Zanzotto, F. M., Korkontzelos, I., Fallucchi, F., & Manandhar, S. (2010, August). Estimating linear models for compositional distributional semantics. In Proceedings of the 23rd International Conference on Computational Linguistics (pp. 1263-1271). Association for Computational Linguistics. |
2011 | Yessenalina和Claire提出一种矩阵空间的词组表示的方法,能够有效运用在情感分析文本中 | Yessenalina, A., & Cardie, C. (2011, July). Compositional matrix-space models for sentiment analysis. In Proceedings of the Conference on Empirical Methods in Natural Language Processing (pp. 172-182). Association for Computational Linguistics. |
2013 | Tomas Mikolov等人通过二次采用频繁词和学习更多的常规词表示,去提高表示向量的质量及训练速度 | Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., & Dean, J. (2013). Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems (pp. 3111-3119). |
2013 | Thomas Mikolov等人提出Word2vec | Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781. |
2014 | Quoc Le和Thomas Mikolov提出Doc2vec | Le, Q., & Mikolov, T. (2014, January). Distributed representations of sentences and documents. In International conference on machine learning (pp. 1188-1196). |
2016 | Joulin等人提出fastTest | Joulin, A., Grave, E., Bojanowski, P., & Mikolov, T. (2016). Bag of tricks for efficient text classification. arXiv preprint arXiv:1607.01759. |
发展分析
瓶颈
由于Doc2vec是建立在Word2vec的基础上,所以它自然也继承了Word2vec的影响,那就是模型只有在大文本数据上运算才能够很好地捕捉到文档中的语义和句法。即使相比于神经网络语言模型来说,Doc2vec省时很多,但是训练大量的文本数据是会消耗一定时间。另外,Doc2vec缺乏统计学的运用,如果数据不足够,这也会一定程度上影响最后段落向量质量的好坏。
未来发展方向
未来Doc2vecc可能会融入统计学的知识,因为这在一定程度上会缓解由于数据不足带来的问题。另外,模型计算速度也需要进行优化。例如,2016年,Fackbook团队提出了fastText,该模型不像非监督方法如word2vec训练的词向量,fastTexr的得到的词特征能够平均在一起形成好的文本表示,而且模型运算速度很快,使用一个标准多核CPU,在十亿词上只需要不到10分钟便能训练好。而且不到一分钟就可以分类好含有312K个类别的五十万条句子。
Contributor:Hongfeng Ai