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中, 输入为

Context(w)=[w(t2),w(t1),w(t+1),w(t+2)](1)

那么在doc2vec中, 就变成了
Context(w,doc)=[w(doc),w(t2),w(t1),w(t+1),w(t+2)](2)

总的损失函数就变成了
L=doccorpuswdoclogP(w|Context(w,doc))(3)

在一个文档的训练过程中,文档ID保持不变,共享着同一个文档向量.

3.相关工具

3.1 gensim

Github 地址
有word2vec和doc2vec的python版本.
Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法,支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的API接口。

应用

使用Doc2Vec作情感分析. 见 [2].

参考

  1. Distributed Representations of Sentences and Documents
  2. RayCchou的博客: 情感分析利器——Doc2vec

你可能感兴趣的:(NLP)