Distributed Representations of Sentences and Documents笔记
基本概念
段向量:一种将段落(段落长度可变,可以是句子和一篇文章等)表示成向量的无监督框架。
论文的提出是为了解决什么问题:
- 解决bag-of-words(词袋模型)的缺点:不考虑词的顺序以及词的语义。也就是说只要两篇文章包含的词一样,词袋模型就认为这两篇文章一样。
- 句子表示中的平均化单词权重导致的丢失句子顺序的问题和合并词向量的解析树仅仅适用于句子的缺点。
段向量特点:
- 为不同长度的段落训练出同一长度的向量。
- 不同段落的词向量不共享
- 训练集训练出来的词向量意思一致,可以共享。
算法
1.Word2vec
给定词the,cat,Sat预测下一个词,模型如此下所示
每一个词都用唯一的向量表示,每一个表示词的向量都是W的一列。然后将每个词的词向量连接起来,或者是向量相加。输出层根据softmax函数计算概率。
给定一组词
根据wt前后各k个词,预测Wt
目标函数是
进行softmax
每一个yi是输出词i的非标椎化的log概率
2.paragraph vector算法
在上述基础上,增加了一个段向量。输入进隐藏层的方式变为将段向量和词向量拼接或者求和的方式。后续过程与上述相同。
总结
paragraph vector向量是为了保存上下文信息而设计的,主要是为了解决词序和语义。