Doc2Vector

1 算法思想

在word2vector中我们仍然忽略了单词之间的排列顺序对情感分析的影响。即上述的word2vec只是基于词的维度进行"语义分析"的,而并不具有上下文的"语义分析"能力。

作为一个处理可变长度文本的总结性方法,Quoc Le 和 Tomas Mikolov 提出了 Doc2Vec方法。除了增加一个段落向量以外,这个方法几乎等同于 Word2Vec。和 Word2Vec 一样,该模型也存在两种方法:Distributed Memory(DM) 和 Distributed Bag of Words(DBOW)。DM 试图在给定上下文和段落向量的情况下预测单词的概率。在一个句子或者文档的训练过程中,段落 ID 保持不变,共享着同一个段落向量。DBOW 则在仅给定段落向量的情况下预测段落中一组随机单词的概率。

2 DM(CBOW)

先看c-bow方法,相比于word2vec的c-bow模型,区别点有:

训练过程中新增了paragraph id,即训练语料中每个句子都有一个唯一的id。paragraph id和普通的word一样,也是先映射成一个向量,即paragraph vector。paragraph vector与word vector的维数虽一样,但是来自于两个不同的向量空间。在之后的计算里,paragraph vector和word vector累加或者连接起来,作为输出层softmax的输入。在一个句子或者文档的训练过程中,paragraph id保持不变,共享着同一个paragraph vector,相当于每次在预测单词的概率时,都利用了整个句子的语义。

Doc2Vector_第1张图片

3 DBOW

doc2vec相比于word2vec的skip-gram模型,区别点为:在doc2vec里,输入都是paragraph vector,输出是该paragraph中随机抽样的词。

Doc2Vector_第2张图片

4 应用

将doc2vector应用于情感分析问题时,我们可以一方面考虑词的维度的信息,即word2vector.同时我们也考虑上下文的信息,即doc2vector.我们将一段句子转换为word2vector形式,并且和doc2vector拼接,作为softmax的输入,训练分类器。

你可能感兴趣的:(NLP)