NLP ——Doc2vec

NLP ——Doc2vec

  • 即使利用word2vec对词向量进行平均处理,我们仍然忽略了单词之间的排列顺序对情感分析的影响。即上述的word2vec只是基于词的维度进行”语义分析”的,而并不具有上下文的”语义分析”能力。在一个句子或者文档的训练过程中,段落 ID 保持不变,共享着同一个段落向量。

  • 在word2vec的基础上添加一个段落向量。训练单词向量W时,也训练段落向量D,并且在训练结束时,它包含了段落的向量化表示。虽然单词向量表示单词的概念,但段落向量旨在表示段落的概念。

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

  • PV-DBOW
    NLP ——Doc2vec
    区别点为:在sentence2vec里,输入都是paragraph vector,输出是该paragraph中随机抽样的词。

该算法实际上更快(与word2vec相反)并且消耗更少的内存,因为不需要保存词向量。

在论文中,作者建议使用两种算法的组合,尽管PV-DM模型是优越的,并且通常会自己达到最优的结果。

doc2vec模型的使用方式:对于训练,它需要一组文档。 为每个单词生成词向量W,并为每个文档生成段落向量D. 该模型还训练softmax隐藏层的权重。 在推理阶段,可以呈现新段落,并且固定所有权重以计算段落向量。