博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NLP系列学习:DBOW句向量
阅读量:6910 次
发布时间:2019-06-27

本文共 1845 字,大约阅读时间需要 6 分钟。

分布记忆模型(PV-DM)

用神经网络训练词向量的逻辑是,让网络去预测单词(目标词/上下文)这样的任务,句向量也是一样,我们给定从句子里的一些上下文,让网络去预测下一个单词。在句(Paragraph)向量模型中,每一个句子都被映射成一个独立的向量,这个句向量作为矩阵 D 的一列;同时,每一个词也被映射成一个独立的向量,这个词向量作为矩阵 W 的一列。对这个句向量和这些词向量求平均或者首尾相连,用来预测文本中的下一个词。这里,我们选用首尾相连来组合这些矩阵。

严格的说,与 Word2vec 的公式相比,唯一的不同点在于这里从 W 和D 两个矩阵中构造 h。句子的标识(Token)被当做另外一个“词”看待。它扮演一个“Memory”的角色,用来记忆当前文本或文章主题中漏掉了什么。因此,这个模型被称为“句向量的分布记忆模型”(PV-DM: Distributed Memory Model of Paragraph Vectors)。

上下文是固定长度的,从句子的一个滑动窗口中取样。句向量被这这个句子产生的所有上下文共享,但不超越句子。但是词向量矩阵 W 是超越句子,全局共享的。比如说,”powerful”的词向量也对所有的句子有效。

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

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

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

经过训练,这些句向量就可以当做句子的特征使用。我们可以把这些特征直接用于传统的机器学习技术,比如逻辑回归、支持向量机或者 K-means 聚类。

总而言之,这个算法有两个关键阶段:

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

句向量有两个显著的优点:

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

分布词袋模型(PV-DBOW)-无词序句向量

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

句向量被训练出来,用来预测在一个小窗口中的词汇。

除了在概念上简单以外,这个模型只需要存储少量的数据。相比于上一个模型需要存储 softmax 权重和词向量,这个模型只需要存储 softmax 权重。同样的,这个模型也近似于 Skip-gram 模型。

PV-DM & PV-DBOW 结合

可以把每一个句向量当作两个向量的组合:一个通过 PV-DM 训练,另一个通过 PV-DBOW 训练。PV-DM 能够很好地执行多种任务,但是它结合 PV-DBOW 后,常常能够更加出色完成任务。

转载地址:http://krgdl.baihongyu.com/

你可能感兴趣的文章
《算法基础:打开算法之门》一导读
查看>>
《开源思索集》一成功的开源软件都有什么样的特点
查看>>
《Cisco IOS XR技术精要》一1.2 运营商级NOS需求
查看>>
Mozilla 拟在浏览器中增基于网页的虚拟现实功能
查看>>
《部署IPv6网络(修订版)》一2.3 IPv6 Internet控制消息协议(ICMPv6)
查看>>
《趣学CCNA——路由与交换》——6.1节Cisco设备的管理与配置
查看>>
Android 被曝多处安全漏洞 影响所有版本
查看>>
《数据结构与算法 C语言版》—— 3.2栈的应用举例
查看>>
在Linux上的虚拟机上启动Oracle上报ORA-00845: MEMORY_TARGET not supported on this system的问题解决...
查看>>
《Cisco IOS XR技术精要》一4.3 配置管理组件
查看>>
《社会智能与综合集成系统》—第2章参考文献
查看>>
《Adobe Photoshop CS5中文版经典教程(全彩版)》—第2课2.4节在Camera Raw中调整颜色...
查看>>
《Adobe Premiere Pro视频编辑指南(第2版)》——水银回放引擎
查看>>
从零开始打造个人专属命令行工具集——yargs 完全指南
查看>>
Spark源码分析 -- SchedulableBuilder
查看>>
《HTML5+CSS3网页设计入门必读》——第1章 理解Web的工作方式1.1 HTML和WWW简史
查看>>
真的吗?算法谋取暴利,让你多花钱
查看>>
Linux 内核测试和调试(5)
查看>>
指针与数组
查看>>
Ubuntu 14.04中修复默认启用HDMI后没有声音的问题
查看>>