赛尔原创 | 基于序列到序列模型的句子级复述生成

作者:哈工大SCIR  宁丹丹、冷海涛

摘要:句子复述是指将一个句子换一种表达方式,意思与之前一样。复述在自然语言处理中应用广泛,例如被应用在信息检索、自动文摘、信息抽取、句子翻译等任务中。本文主要研究句子级复述生成的相关内容,首先我们尝试了基本seq2seq模型用于句子复述,在encoder阶段采用双向LSTM,在此基础上加入attention机制,比较句子生成结果,可以得出加入attention机制的模型生成结果效果要好。此外本文提出copy机制和coverage机制对模型进行改进,其中copy机制旨在解决原句中出现人名、地名等特殊词汇的情况,对这些特殊词汇我们希望模型可以对其进行复制,不进行改变。实验结果证明,copy机制对这一情况有所改善,句子生成效果较好。最后,针对seq2seq普遍存在的重复问题,我们在copy机制的基础上加入coverage机制,有效改善了生成句子的重复问题。对于模型生成结果,我们采用BLEU值进行评价。

1. 引言

复述(paraphrase)是自然语言中普遍存在的一种现象,它体现了自然语言的多样性。随着深度学习的发展以及自然语言处理各项技术的提高,对复述技术的需求也日趋强烈,因此各大研究机构及高校等对复述任务的研究也越来越关注,复述研究的对象主要是有关短语或者句子的同义现象。它在信息检索、自动问答、信息抽取、自动文摘、机器翻译等方面应用广泛。之前,对于复述生成的研究主要利用句子中词语之间的关系,句子的依存句法关系等进行复述生成。随着深度学习的发展,很多研究将深度学习技术应用到复述生成的任务中,效果显著。本文采用序列到序列模型的方法,进行句子级复述研究,在基本seq2seq模型上尝试三种改进方法,分别是基于双向LSTM with attention机制的改进方法、加入复制(copy)机制以及加入覆盖(coverage)机制的方法。其中复制机制主要解决句子中词频比较低的词语的生成,例如在句子中会存在人名、地名等词频较低的词,在复述过程中,我们希望生成的句子将这些名称进行复制,不进行改变,因此提出copy机制来解决这一问题,另外,seq2seq模型存在重复这一共性问题,本文采用coverage机制对这一现象进行改进。经过这三种改进方法,句子生成结果改进效果明显。

2. 基于序列到序列的句子级复述生成模型

在国内,句子级复述生成的研究主要围绕seq2seq模型进行改进,2016年,Gu Jiatao等人[1]提出CopyNet方法,在Attention-based Encoder-Decoder模型的基础上,进行了一些改进,他在decoder过程中,词的概率由generate-mode和copy-mode共同决定,其中后者表示该词来自原句。例如,在生成对话的过程中,就可以将人名这样的特殊词汇拷贝到回复句中。Cao Ziqiang等人[2]在句子级复述生成中借鉴CopyNet方法,提出了基于copy机制的复述生成模型,相较于Gu Jiatao等人提出CopyNet模型,该模型比较简单易懂,他们将该模型应用到文本简化,摘要生成等任务上,取得了较好的结果。国外在句子级复述任务上也做了很多的研究工作,Prakash A[3]等人在2016年提出了Stacked Residual LSTM networks用于复述生成问题上,他们利用基本seq2seq 的encoder-decoder模型,采用多层结构,在层与层之间加入一个残差,来改善多层网络存在的梯度消失问题。Hasan[4]等人提出Neural Clinical Paraphrase Generation方法,用于临床医学术语等的复述问题上,目的是用通俗易懂的词代替一些专业医学术语,让患者更加容易理解,他们采用attention-based Bi-direction RNN的端到端结构进行复述生成,得到了较好的结果。此外,2017年,See A[5]等人提出一种基于seq2seq模型的改进方法——Pointer-Generator Networks,并将其用到文本摘要生成的任务当中,取得了较好的结果。

在本文中,我们尝试了三种序列到序列模型的改进方法进行句子级复述生成,首先我们在基本seq2seq模型上加入attention机制,在encoder阶段采用双向LSTM模型,用于提高seq2seq模型效果,模型结构图如下所示。

           

图1  双向LSTM with attention模型结构·

上述模型存在一定的问题:当原句中存在一些人名、地名等词频较低,不在词表中的词时,期望的结果是生成的句子中也存在这些词,但是基本seq2seq模型和加入attention机制的模型对这一问题没有做特别的处理,所以导致生成的句子中人名、地名的特殊词语生成结果不好。所以,针对这一问题本文引入copy思想,在attention机制的模型上进行改进,一定程度上解决像人名、地名等OOV(out of vocabulary)的词语的生成情况。另一方面,seq2seq模型和加入attention机制的模型生成的句子存在重复的问题,这个问题是seq2seq模型的一个通病。生成的句子越长,重复问题越明显,针对这一问题,本文提出coverage机制来对这一问题进行改善,模型结构如下图所示。

图2  复制及覆盖机制模型结构

 

3. 语料获取及处理

目前自然语言处理研究中,没有大规模现成的复述语料资源,需要采取一定的方法获取复述语料。例如英文词语级复述资源用WordNet[6]、MindNet[7]等获取,中文可以采用同义词词林、知网等。2001年,Barzilay[8]提出了一种基于外文翻译获取句子级复述语料库的方法。Shinyama[9]等人提出了利用同一个新闻事件的不同描述来获取复述语料,他们假定若两个句子中共同包含的命名实体超过一定的数量,那么这两个句子可以组成一个复述实例。

本课题借鉴前人Barzilay[8]及哈工大李维刚[10]等人的方法,从单语平行语料库中,也就是外文名著的不同译本获取复述实例。由于待处理的平行译文文本,大多数是从网络上得到的,这些文本具有很多不规范的特征,例如这些文本一般是篇章对齐的,其中的段落没有严格的对齐,并且在翻译时,为了保证翻译后语句的通顺,源语言的一句话可能被翻译成多句话。基于以上问题,为了获取复述实例,我们需要将句子进行对齐。首先我们将文本整合为一篇文章消除段落界限,利用二分图最优匹配的过程,对句子进行对齐,获取复述实例。

本文利用《百年孤独》和《呼啸山庄》两部外文名著的不同翻译版本获取复述语料,语料规模为:10159句对。对抽取出的复述句对再次进行过滤处理,若对应的两句长度差超过一定的值则将该句对进行过滤,过滤处理后的语料规模为8022句。

4. 实验结果

本文采用BLEU值对句子级复述生成的结果进行评价。该评价方式最先由IBM[11]在2002年提出。利用BLEU值对上述模型生成的句子进行评价。结果如下表所示。


由BLEU值可以得出,加入copy机制的结果比attention机制的结果有所提高,在copy机制上继续加入coverage机制后,结果再次提高。说明copy机制和coverage机制对句子级复述生成具有一定的效果。


通过分析实验结果示例,我们可以得出,当加入copy机制后,原句中存在人名、地名等特殊词汇时,可以进行复制生成,而不是生成其他的人名或地名,例如示例1~3中,人名“霍·阿·布恩蒂亚”和“乌苏娜”都在生成句中出现。对于coverage机制,在未加入coverage机制之前,在生成的后半阶段重复问题比较严重,例如示例1、3中,在后续生成过程中总是重复最后一个词生成,加入coverage机制后,我们可以看到,重复问题有所改善。例如示例1、3,已经生成的词语不会再出现,说明coverage机制对实验结果效果的提升起了很大作用。


5. 结束语

本文主要尝试了三种基于序列到序列模型的改进方法应用到句子级复述生成任务中,首先我们尝试了基本seq2seq模型用于句子复述,并尝试在encoder阶段采用双向LSTM,之后在双向LSTM基础上加入attention机制,比较句子生成结果,可以得出加入attention机制的模型生成结果效果要好。之后本文用copy机制和coverage机制对模型进行改进,其中copy机制旨在解决原句中出现人名、地名等特殊词汇的情况,对这样的情况我们希望模型可以对词进行复制,不进行改变。实验结果证明,copy机制对这一情况有所改善,句子生成效果较好,针对seq2seq普遍存在的重复问题,我们在copy机制的基础上加入coverage机制,有效改善了生成句子中的重复问题。

参考文献:

[1] Gu J, Lu Z, Li H, et al. Incorporating copying mechanism in sequence-to-sequence learning[J]. arXiv preprint arXiv:1603.06393, 2016.

[2] Cao Z, Luo C, Li W, et al. Joint Copying and Restricted Generation for Paraphrase[J]. arXiv preprint arXiv:1611.09235, 2016.

[3] Prakash A, Hasan S A, Lee K, et al. Neural Paraphrase Generation with Stacked Residual LSTM Networks[J]. 2016.

[4] Hasan S A, Liu B, Liu J, et al. Neural Clinical Paraphrase Generation with Attention[J]. ClinicalNLP 2016, 2016: 42.

[5] See A, Liu P J, Manning C D. Get To The Point: Summarization with Pointer-Generator Networks[J]. arXiv preprint arXiv:1704.04368, 2017.

[6] George Miller,Richard Beckwith, Christiane Felbaum, Derek Gross, and Katherine Miller. Introduction to wordnet: An online lexical database, 1993 

[7] Stephen D. Richardson, William B. Dolan, and Lucy Vanderwende. Mindnet: Acquiring and structuring semantic information from text. Technical Report TR-98-23, Microsoft Research, 1998

[8] Regina Barzilay and Kathleen McKeown. Extracting paraphrases from a parallel corpus. In Proceedings of the ACL/EACL, Toulouse, 2001 

[9] Yusuke Shinyama, Satoshi Sekine, Kiyoshi Sudo, and Ralph Grishman. Automatic paraphrase acquisition from news articles, In Proceedings of Human Language Technology Conference (HLT2002), San Diego, USA, Mar. 15, 2002

[10] 李维刚. 中文复述实例与复述模板抽取技术研究[D]. 哈尔滨工业大学, 2008.

[11] Papineni K, Roukos S, Ward T, et al. BLEU: a method for automatic evaluation of machine translation[C]// Meeting on Association for Computational Linguistics. Association for Computational Linguistics, 2002:311-318.


本文来源于哈工大SCIR

原文链接点击即可跳转

哈工大SCIR
哈工大SCIR

哈尔滨工业大学社会计算与信息检索研究中心

产业Seq2SeqNLP哈工大理论LSTM注意力机制
暂无评论
暂无评论~