在上一次的课程中,我们为大家介绍了词嵌入的两种算法:word2vec 和 GloVe。我们以实例的方式给出了 Deeplearning4j 的应用构建方式及部分实验结果。本次课程我们将以同样的方式为大家介绍句向量的建模工具——doc2vec/paragraph2vec,以及图嵌入的算法 DeepWalk。首先我们来看下doc2vec的原理和实例构建方式。本节课核心内容包括:
- doc2vec 的原理与建模
- DeepWalk 的原理与建模
12.1 doc2vec 的原理与建模
上节课两个部分介绍的都是词维度的向量表示方法,其实在很多时候整个序列或文本段落的向量表达是更加重要和有意义的。这里给大家介绍的就是 Deeplearning4j 实现的 doc2vec 模型。
doc2vec,或者更准确地说,在 Deeplearning4j 中叫做 ParagraphVectors 类的实现,可以实现文本段落的向量化表示。其实在介绍完上面的词向量后,文本段落向量的表达就可以基于词向量来做。比如,将一段文本序列中所有词向量进行累和求平均就是一种很常用的策略。当然,也可以将这些具有相同维度的向量拼接成一个矩阵,这些都可以作为序列或者说文本段落向量的表示方式。那么另一种方式,其实就是直接构建一个模型来获取段落向量的表示。
Deeplearning4j 的 ParagraphVectors 是基于 word2vec 的作者 Mikolov 的另一篇论文