Doc2vec的两种算法类型介绍

Doc2vec的两种算法类型

  • dm 定义了训练的算法。默认是dm=1,使用 ‘distributed memory’ (PV-DM),否则 distributed bag of words (PV-DBOW)。

1、句向量的分布式记忆的版本(PV-DM)
在我们的句(Paragraph)向量模型中,每一个句子都被映射成一个独立的向量,这个句向量作为矩阵 的一列;同时,每一个词也被映射成一个独立的向量,这个词向量作为矩阵 的一列。对这个句向量和这些词向量求平均或者首尾相连,用来预测文本中的下一个词。在本研究的试验中,我们选用首尾相连来组合这些矩阵。

严格的说,与CBOW(Word2vec的公式)相比,唯一的不同点在于这里从 和 两个矩阵中构造 。

句子的标识(Token)被当做另外一个“词”看待。它扮演一个“Memory”的角色,用来记忆当前文本或文章主题中漏掉了什么。因此,我们把这个模型称为“段落向量的分布记忆模型”。

上下文是固定长度的,从句子的一个滑动窗口中取样。句向量被限制在一个句子的所有上下文里面,但不超越句子。但是词向量矩阵 是超越句子的。比如说,”powerful”的词向量也对所有的句子有效。

我们通过随机梯度下降法来训练这些句向量和词向量,在此过程中通过反向传播获得梯度。在随机梯度下降的每一步,都可以从一个随机的句子中抽取一个定长的上下文,如图1从网络中计算出梯度误差,然后更新模型的参数。

在预测阶段,需要执行一个“推断(inference)”步骤计算新句子的句向量。他也是通过梯度上升来获取。在这个阶段,其余的模型参数、词向量矩阵 和 softmax 权重是固定的。

假设语料库中有 个句子,字典里有 个词汇;我们试图将每一个句子映射到 维空间,每一个词映射到 维空间,于是这个模型就有总共 个参数(包括softmax参数)。即使句子的数量会随着 的增大而增大,训练中的更新还是稀疏且高效。

图1:这是一个句向量框架。这个框架类似于图1中的框架。唯一不同点在于添加了另一个向量(下面的段落ID),这个标识被映射到矩阵 的一个向量里。在这个模型里,通过对上下文三个词向量的首尾相接或求均值,来预测第四个词。这个句向量表示从当前上下文而来的缺失的信息,被当做一个关于句子主题的存储器。
图1. PV-DM 模型
因此,当训练单词向量W时,也训练文档向量D,并且在训练结束时,它包含了文档的向量化表示。

上面的模型称为段落向量的分布式记忆的版本(PV-DM)。 它充当记忆器,它能记住当前上下文中缺少的内容 - 或者段落的主题。 虽然单词向量表示单词的概念,但文档向量旨在表示文档的概念。

总而言之,这个算法有两个关键阶段:1)通过训练获得词向量矩阵 , softmax权重 , b 以及 句向量 从已知的句子里;2)第二个阶段是推断阶段,用于取得一个新句子(没有出现过)的句向量 ,通过增加更多的列在矩阵 里,并保持 , , 不变的情况下在矩阵 上进行梯度下降。我们使用 通过一个基础的分类器给句子加上标签。

句向量的优点: 句向量的一个重要的优点在于,它的训练集是没有被加上标签的数据,因此它可以被用于一些训练样本标签不足的任务。
句向量也解决了词袋模型的一些关键的弱点。第一,它传承了词向量的一个重要特性——词和词之间的语义。在语义里,“强有力”比起“巴黎”来说,和“强壮”更接近。句向量的第二个优点在于它考虑到了“词序(word order)”,n-gram模型则需要设置一个较大的n才能做到。这一点很重要,因为n-gram模型保存了句子中大量的信息,包括词序。也就是说,我们的模型优于词袋n-gram模型因为后者会表现出一个极高的维度,这会影响效率。

2、句向量的分布式词袋版本(PV-DBOW)
上面的方法讨论了在一个文本窗口内,通过句向量和词向量的首尾相接来预测下一个词。另一种方法不把上下文中的词作为输入,而是强制这个模型在输出中从句子中随机抽取词汇来进行预测。实际上,其意义在于在每一个随机梯度下降的循环中,我们抽取一个文本窗口,然后从这个文本窗口中抽取一个词,然后通过一个分类任务得到句向量。这项技术如图3所示。我们把这个版本称为句向量的分布词袋(PV-DBOW: Distributed Bag of Words version of Paragraph Vector)版本,相比于上一节提到的PV-DM版本。

这是一种另一种类似于word2vec中的skip-gram算法
 图2.PV-DBOW模型
在这个版本中,句向量被训练出来,用来预测在一个小窗口中的词汇。

除了在概念上简单以外,这个模型只需要存储少量的数据。相比于上一个模型需要存储softmax权重和词向量,这个模型只需要存储softmax权重。同样的,这个模型也近似于Skip-gram模型。
在我们的试验中,每一个句向量都是两个向量的组合:一个通过PV-DM训练,另一个通过PV-DBOW训练。PV-DM能够很好地执行多种任务,但是它结合PV-DBOW后,常常能够更加出色完成任务,强烈推荐这种做法。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值