赛尔原创 | Pointer Networks在自然语言处理领域中的应用

2017 年 11 月 6 日 哈工大SCIR 冷海涛

作者:哈工大SCIR硕士生冷海涛


1.引言


在自然语言领域中,seq2seq模型已经被应用到很多任务中并取得了一定的效果。但是对于seq2seq模型中的decoder部分,使用者必须预先定义好一个固定大小的output dictionary。这导致了seq2seq模型没有办法应用到一些由输入数据决定output dictionary的问题,比如组合问题。由此O Vinyals[1] 等人在2015年提出了基于attention机制的Pointer Networks模型来解决组合问题。


2.Pointer Networks 模型简介


和常规的seq2seq模型比较起来,Pointer Networks主要在decoder部分发生了变化。这里以LSTM为例。对于给定的训练对(P,Cp),其中P={P1,...Pnn个向量组成的序列,Cp={C1,…,Cm(P)},其中m(P)的大小在1n之间。同时,我们定义encoderdecoder的隐层分别为(e1,…,en)以及(d1,…,dm(P))。因而有:

而我们的优化目标则是:

其中公式中的 θ 代表了模型中的参数。


图1 seq2seq模型


图2 Ptr-Net模型

 

在如图1这样的传统seq2seq模型中,我们使用了一个固定大小的softmax分布来计算,而这样的模型架构并不能解决output dictionary大小不能确定的组合问题。而在Ptr-Net中我们则可以使用如图2attention机制来解决这个问题

其中向量 u在经过 softmax 规范化后得到的概率分布便是基于输入内容的输出预测分布。公式中的v, W1, W都是可学习的参数。在这个过程中,我们直接使用得到的softmax结果去拷贝encoder对应的输入元素作为的decoder输入的向量。


3.Pointer Networks NLP上的应用


Ptr-Net最早提出来的时候,是用来解决旅行商、凸包等组合问题,但近两年来,Ptr-Net也广泛应用到NLP的各个任务上。


3.1文摘任务


以前大多数的extractive summarization 都是基于人工特征来完成的,而在ACL2016上,Cheng[2]等发表的Neural Summarization by Extracting Sentences and Words针对extractive summarization任务提出了data-driven的方法,在该论文中的模型分为了如图3所示的sentence level以及如图4所示的word level两个粒度。其中sentence level把问题看做了一个序列标签问题,每个句子分别标记上提取或者不提取。而对于word level问题,作者认为其是介于abstractive summarizationextractive summarization之间的一个生成问题,而生成的词局限于原文档中出现的词。本文将介绍word level这个模型。

图3 sentence level


图4 word level


如图3所示encoder部分使用了层次化的思想,先利用CNN从词语到句子,再利用RNN(LSTM)从句子到文档。下面详细介绍一下图4decoder部分。在decoder中的第t步我们需要计算得到的是。用表示encoder阶段的隐层,用表示decoder阶段的隐层。首先我们需要得到decoder部分中第tLSTM网络的隐层,其中代表第t-1步的隐层,是第t步的输入。那么有:

 接着利用得到的,对文档中的每个句子做attention操作:

然后再利用通过attention操作得到的,在文档中每个词语的基础上做attention操作,而这一步的attention操作,则使用了Ptr-Net的思想,直接使用attention结果计算出概率分布。

在上述公式中,对应了文档中第i个词语的embedding


图5 pointer generator


而对于abstractive summarization,ACL 2017发表的论文 Get To The Point: Summarization with Pointer-Generator Networks中,Abigail See[3]等人提出了pointer-generatorPointer-generator混合了seq2seq+attention模型以及Pointer Networks模型,相比普通的seq2seq+attention模型,混合模型能够从原文中直接复制词语,因而可以提高摘要的准确率并处理OOV词语,同时还保留下了生成新词语的能力。如图5所示,在该混合模型中,词语的概率分布是由两部分组成的,即seq2seq模型softmax后的结果与Ptr-Net产生的概率分布叠加得到。

w是一个OOV的时候,即为0,当w并没有在原文中出现的时候,0。公式中的Ptr-Net在做完softmax归一化后的结果。而 pgen 则是一个比例系数。这个系数这样计算得到:

其中是利用attention机制得到的结果:

代表了encoder阶段的各个时间节点的隐层,而 s则是decoder的状态,xdecoder的输入。


3.2信息抽取任务


图6 信息抽取模型


大部分结果显著的信息抽取方法是依赖于token-level标签的,但是得到这些标签是费时费力的,并且这些标签作为一个中间步骤,并不是任务期望的输出结果。因而在2017年,RB Palm[4]等人提出了End-to-End的信息抽取方法,该方法基于Ptr-Net的思想,在没有使用token-level标签的情况下便得到了非常有竞争力的结果。如图6所示,该模型的输入是N个词语x = x1,…,xN,模型中使用了一个共享的encoder,但是decoder则是有多个的,每一个decoder对应一个需要被抽取得到的信息。用k=1,…,K 表示decoder的序号。在每一步j,每一个decoder都需要计算出一个,即softmax归一化前的attention分数。代表序号为kdecoder在第j步的输出,代表序号为kdecoder在第j步的状态,因而有


其中是每个词语的one-hot的向量,因而是一个在词语上的概率分布。所以和普通的Ptr-Net不同的是,普通的Ptr-Net指针指向的是encoder输入中的一个位置,把该位置的输入拷贝到decoder来,而这个模型中,最后作为decoder输入的是一个词语概率分布。


3.3句子排序任务


图7 句子排序模型


句子排序任务是把一系列的句子调整为连贯、可读性强的文本,是自然语言处理领域中十分重要而又困难的工作。一段好的文档是有很高的逻辑性和主题结构的,因而在许多任务当中都需要用到句子排序。L Logeswaran[5]和J Gong[6]等人,则提出了基于Ptr-Net的句子排序任务。如图7所示,模型的输入是若干句子 s=s1,…,sn,对于训练对(s,o),我们可以得到:

则可以利用Ptr-Net计算得到:


其中ejdi分别表示encoderj步和decoderi步的隐层。而vW是可以学习的参数。而如图7所示中的sentence encoder部分则可以通过CNN, RNN等各种方法来完成。


4.结语


Ptr-Net的提出解决了传统seq2seq模型中output dictionary大小固定的问题。从其最初提出到现在,被应用到了NLP中的许多任务中,在一些任务中,Ptr-Net都完成了End-to-End的模型构建,避免了许多中间步骤,比如信息抽取以及句子排序,而在另外一些其他任务中,Ptr-Net则是很好的融入到生成模型中,将抽取机制带入生成模型中。根据已有工作,我们可以预期Ptr-NetNLP任务中将会有较为广泛的应用前景。


5.参考文献


[1] Vinyals O, Fortunato M, Jaitly N.Pointer Networks. Computer Science, 2015.

[2] Cheng J, Lapata M. Neural Summarization by Extracting Sentences and Words. ACL2016.

[3] See A, Liu P J, Manning C D. Get To ThePoint: Summarization with Pointer-Generator Networks. ACL2017.

[4] Rasmus Berg Palm, Dirk Hovy, FlorianLaws, Ole Winther. End-to-End Information Extraction without Token-Level Supervision. SCNLP@EMNLP 2017 2017: 48-52

[5] Logeswaran L, Lee H, Radev D. Sentence Ordering using Recurrent Neural Networks. 2016.

[6] Gong J, Chen X, Qiu X, et al. End-to-EndNeural Sentence Ordering Using Pointer Network. 2016.


本期责任编辑:  丁   效

本期编辑:  刘元兴



“哈工大SCIR”公众号

主编:车万翔

副主编: 张伟男,丁效

责任编辑: 张伟男,丁效,赵森栋,刘一佳

编辑: 李家琦,赵得志,赵怀鹏,吴洋,刘元兴,蔡碧波


长按下图并点击 “识别图中二维码”,即可关注哈尔滨工业大学社会计算与信息检索研究中心微信公共号:”哈工大SCIR” 。

登录查看更多
14

相关内容

seq2seq 是一个Encoder–Decoder 结构的网络,它的输入是一个序列,输出也是一个序列, Encoder 中将一个可变长度的信号序列变为固定长度的向量表达,Decoder 将这个固定长度的向量变成可变长度的目标的信号序列
【清华大学】图随机神经网络,Graph Random Neural Networks
专知会员服务
152+阅读 · 2020年5月26日
深度学习自然语言处理概述,216页ppt,Jindřich Helcl
专知会员服务
209+阅读 · 2020年4月26日
【ICLR2020-】基于记忆的图网络,MEMORY-BASED GRAPH NETWORKS
专知会员服务
108+阅读 · 2020年2月22日
深度学习自然语言处理综述,266篇参考文献
专知会员服务
225+阅读 · 2019年10月12日
赛尔笔记 | 自然语言处理中的迁移学习(上)
哈工大SCIR
16+阅读 · 2019年10月17日
赛尔笔记 | Attention!注意力机制可解释吗?
哈工大SCIR
22+阅读 · 2019年9月27日
赛尔原创 | EMNLP 2019 常识信息增强的事件表示学习
哈工大SCIR
28+阅读 · 2019年9月12日
赛尔笔记 | 一文读懂图神经网络
哈工大SCIR
81+阅读 · 2019年7月12日
赛尔原创 | 文本摘要简述
哈工大SCIR
22+阅读 · 2019年3月25日
赛尔推荐 | 第12期
哈工大SCIR
4+阅读 · 2018年5月2日
神经网络结构在命名实体识别(NER)中的应用
全球人工智能
10+阅读 · 2018年4月5日
Neural Module Networks for Reasoning over Text
Arxiv
9+阅读 · 2019年12月10日
Arxiv
3+阅读 · 2018年10月25日
Arxiv
5+阅读 · 2018年5月10日
Arxiv
12+阅读 · 2018年1月28日
VIP会员
相关VIP内容
相关资讯
赛尔笔记 | 自然语言处理中的迁移学习(上)
哈工大SCIR
16+阅读 · 2019年10月17日
赛尔笔记 | Attention!注意力机制可解释吗?
哈工大SCIR
22+阅读 · 2019年9月27日
赛尔原创 | EMNLP 2019 常识信息增强的事件表示学习
哈工大SCIR
28+阅读 · 2019年9月12日
赛尔笔记 | 一文读懂图神经网络
哈工大SCIR
81+阅读 · 2019年7月12日
赛尔原创 | 文本摘要简述
哈工大SCIR
22+阅读 · 2019年3月25日
赛尔推荐 | 第12期
哈工大SCIR
4+阅读 · 2018年5月2日
神经网络结构在命名实体识别(NER)中的应用
全球人工智能
10+阅读 · 2018年4月5日
Top
微信扫码咨询专知VIP会员