doc2vec 简介
1.简介
word2vec 参考文档见 word2vec 模型及推导.
word2vec 是词汇级别的, 那么如何延伸下去, 得到句子, 段落, 文档级别的分布式向量表示呢?
Sentences vector, Paragraph Vector, Documents vector 几个概念差不多, 很多时候可以混用.
Quoc Le 和 Tomas Mikolov(搞出Word2vec的家伙)两位大牛在2014年的《Distributed Representations of Sentences and Documents》中有具体的描述.
2.训练方法
有以下两种:
- PV-DM
Distributed Memory version of Paragraph Vector. 类似 Word2Vec 中的CBOW. - PV-DBOW
Bag of Words version of Paragraph Vector.
Doc2Vec的训练方法与Word2Vec非常的相似. 以 PV-DM为例, 见下图:
图2-1 doc2vec 的PV-DM模型
在word2vec中, 输入为
那么在doc2vec中, 就变成了
总的损失函数就变成了
在一个文档的训练过程中,文档ID保持不变,共享着同一个文档向量.
3.相关工具
3.1 gensim
Github 地址
有word2vec和doc2vec的python版本.
Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法,支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的API接口。
应用
使用Doc2Vec作情感分析. 见 [2].