当前位置: 首页 > 科技 > 人工智能 > ACL2021|把关键词生成看成集合预测问题_腾讯新闻

ACL2021|把关键词生成看成集合预测问题_腾讯新闻

天乐
2021-06-09 06:11:20 第一视角

作者 | 叶佳成

复旦大学NLP实验室研究生

本文提出了一种新的训练范式One2Set来去掉顺序函数带来的诸多问题。在此范式下,我们提出了模型SetTrans,其特点是能够预测更多、更准确而且重复率更低的关键词集合。由于SetTrans可以并行预测,在 inference 效率上是Transfomer的6.44倍。

论文地址:https://arxiv.org/pdf/2105.11134.pdf

代码地址:https://github.com/jiacheng-ye/kg_one2set

1

背景介绍

这里简单介绍一下关键词生成任务的形式。给一篇源文档(比如论文的摘要),关键词预测任务就是希望能预测出一些表达文档重点信息的关键词,或者更准确的说是关键短语。关键词有两种类型,分别是在文档里面的()和不在文档里面的 ()两种类型。所以,任务的训练样本是,是一个包含和两种类型的关键词集合。图1展示了两种类型的关键词:

图1:present和absent关键词的例子

之前做关键词生成常用的有和两种范式:

[1]:在范式下,我们把训练样本是拆分成多个样本对,每个样本对就是源文档和一个对应的关键词。因为在训练的时候每次只有一个目标关键词作为监督,如果需要在测试阶段生成多个关键词,就需要用来生成多个关键词(如[1]中取了200)。这个范式有两个很大的问题:

语义依赖:生成的多个关键词之间也没有语义上的依赖性,可能生成语义重复的关键词。

动态数量:数量往往给定,即不能为不同源文档生成动态数量的关键词。

[2]:为了解决的语义依赖和动态数量这两个问题,研究者提出一种的范式,他把所有的关键词按照一个给定的顺序(比如一般就是在前,在后)连起来作为训练样本,也即训练样本为。语义依赖问题通过看到前面预测关键词来实现,动态数量问题可以用最后的标签决定。

上面两种范式下的的训练样本举例图2所示。

图2:One2One和One2Seq示例

2

论文动机

从上面的分析可以看出,范式下引入了一个先验顺序函数,导致和原始的数据样本并不一致。用这种预定义的顺序函数会有以下几点问题:

一方面,之前有研究者[3]发现不同的顺序函数会对结果有比较大的影响。尽管他们发现策略(关键词按照在文章中出现的先后顺序以此排列,关键词按照作者给的顺序连接到关键词序列后面)会相对比其他几种策略好一些。如果关键词有顺序的话,这种顺序可能也未必是最好的选择。

另一方面,训练的时候引入预定的顺序函数很可能带来错误的偏置。如图3(a)所示,上面是目标序列(即),下面是预测的序列。尽管模型预测对了这两个关键词本身,但是由于顺序和给定的不一样,模型还是会有很大的loss,也就是这种先验顺序会干扰模型学习真正要学的东西。

这里可能有个疑问,那为什么不可以让模型学会这个顺序函数,这样也就不会预测出在前,在后的情况了?当然,如果模型真的能学会,那自然是没有问题的,但是模型实际上很难学会,原因如下:

一方面,训练集中不能保证都是在前,在后,这可称之为多模式问题()。这在其他任务,比如非自回归机器翻译以及对话的回复生成中也会遇到类似问题,模型很可能学到一个错误的中间状态。

另一方面,模型确实很难学这个顺序。比如后面的关键词序列部分是按照作者给定的先后顺序连接的,而不同作者给的顺序依据也是不一样的,有的作者可能就是按照重要性给,有的就是按照技术、领域等topic给,有的可能就是比较随意地给,那么这也就要求模型去拟合不同作者的这一特征,而这在没有作者信息的情况下是很难的(引入作者信息是一个方向)。

图3:One2Seq与One2Set的对比

所以,既然这个顺序函数会带来那么多问题,而且更重要的是数据本身就是没有这个东西的,那我们能不能不引人顺序函数来进行训练和预测呢?

这也就引出了我们的做法,我们希望在训练和预测的时候都和顺序无关,而只关注在每个关键词本身上。如图3(b),简单来说,在范式下,模型的训练样本就是原样本。

3

模型介绍

在范式下,我们提出了 (Set prediction model based on Transformer) 模型(图4),该模型模型主要解决以下问题:

如何生成一个集合而不是一个序列?

生成的集合和目标集合的loss怎么算?

如何考虑到预测的依赖问题和动态数量问题?

图4:模型结构图,图中展示了N=8,K=2的情况

为了解决第一个问题,我们引入个控制编码(),每个控制编码对应生成一个集合元素,这样我们就生成了包含个关键词的集合。

为了解决第二个问题,也就是给定包含个预测关键词的集合,如何与包含个关键词的目标集合计算loss。这里我们假设预定义的的取值始终大于等于(即统计数据集中文档的关键词最多有几个)。然后,我们用元素加进中,使得两个集合元素数量相等,这样我们只需为他们进行最优的一对一匹配(匈牙利算法可解),然后匹配完之后就能计算loss了。其中,每个预测关键词与目标关键词的匹配得分可以定义为目标关键词在预测分布中的概率之和。

针对第三个问题,依赖问题可以一定程度上在训练时让隐式学习到,动态数量问题可以通过去掉预测的元素解决。

此外,还有几个细节问题:

由于匹配目标前是不知道target是哪个的,于是只能自回归预测,但是开始阶段模型不会预测出,就是个冷启动的问题。这边令每个控制编码只预测步(如图中),然后用这个和每个target关键词的前个算score。

在匹配完之后,由于每个都只对应自回归成了个,如果直接给监督的话信息不完整,而且是一种的形式,效果会很差(见消融实验倒数第二行)。这边选择在匹配完之后地再过一遍算loss。

这边在匹配目标的时候和两个集合的时候分开考虑(),也就是一半的只会和关键词做匹配,另一半的只会和关键词做匹配。这样好处是让这两部分的学到和预测中不同的偏置(部分的会更倾向于指导模型去copy原文内容,部分则倾向于指导模型自己归纳生成)。这可以看成是一种在输入端而不是和常见的在输出端做区分的。(见消融实验最后一行)

4

实验与分析

主实验

我们在数据集上做训练,并在KG任务5个标准测试上做测试,在和预测上的主结果如下表所示,可以看到范式下的模型相比下的模型还是有一定的性能提升的。

表1:Present和Absent关键词预测结果

预测多样性

多样性体现在能预测更多而且重复率更低的关键词。重复率上的优势主要源自训练时匹配的二分特性。如模型图所示,第5个和第8个都指导生成了重复关键词“neural model”,但是由于一对一匹配的特征,只有一个会和目标中最接近的“neural network”做匹配,另一个只能和元素做匹配。那么当loss进行回传时,第5个和第8个会学到不要生成重复的关键词,同理,所有都朝不同的方向来指导模型生成多样的关键词。

表2:预测数量和重复率的对比

消融实验

这里比较有意思的是去掉的情况,也就是按照的顺序函数进行顺序匹配。可以发现预测数量明显下降(如关键词数量 5.10 -> 2.64),重复率明显上升(8% -> 26%),且重复率和几乎一致。

表3:消融实验

分析

这里对学好的在测试集上的预测出关键词、关键词的比例进行了统计(每个只会生成关键词、关键词或者元素),从上到下依次是 去掉、+以及+。主要有以下几点发现:

去掉的情况下,仅前面少数几个能生成有效的关键词,后面都是预测的元素,而且通过前面的结果也可以发现,在只有5个左右有效的情况下还有26%的重复率,说明这些并不能学到语义上的信息。

+相比去掉,更多的可以来指导生成,但是由于预测比较难,模型还是更倾向于预测关键词。

相比能将和分开来,不仅有助于两者预测地更准确(消融实验最后一行),也能预测更多的关键词,说明这种输入端做的形式能让这两部分的一定程度上也能学到和预测存在的偏置。

图5:不同模型下control code预测类型的统计对比,从上到下以此是 去掉K-step assign、K-step assign+Single Set Loss以及K-step assign+Separate Set Loss

5

总结

做个简单的总结,我们提出了一种新的训练范式来去掉顺序函数带来的诸多问题。在此范式下,我们提出了模型,其特点是能够预测更多、更准确而且重复率更低的关键词集合。同时,我们也通过大量实验对比了顺序和没有顺序的结果,从而来证实中的顺序函数带来的影响。我们还发现 由于可以并行预测,在 inference 效率上是的6.44倍,其他实验分析可移步论文查看。

欢迎大家批评指正~

[1] Rui Meng, Tong Wang, Sanqiang Zhao, Shuguang Han, Daqing He, Peter Brusilovsky, and Yu Chi. Deep keyphrase generation. In ACL 2017.

[2] Xingdi Yuan, Rui Meng, Khushboo Thaker, Peter Brusilovsky, Daqing He, and Adam Trischler. One size does not fit all: Generating and evaluating variable number of keyphrases. In Arxiv 2018. (ACL 2020)

[3] Rui Meng, Xingdi Yuan, Tong Wang, Peter Brusilovsky, Adam Trischler, and Daqing He. 2019. Does Order Matter? An Empirical Study on Generating Multiple Keyphrases as a Sequence. In arXiv:1909.03590 [Cs].

由于微信公众号试行乱序推送,您可能不再能准时收到AI科技评论的推送。为了第一时间收到AI科技评论的报道, 请将“AI科技评论”设为星标账号,以及常点文末右下角的“在看”。

提示:支持键盘“← →”键翻页
为你推荐
加载更多
意见反馈
返回顶部