UniKeyphrase: A Unified Extraction and Generation Framework for Keyphrase Prediction
一、任务介绍
Keyphrase预测旨在为文章提取出能代表文章核心内容的短语集合,如上图所示,一篇文章的keyphrase可按照其是否出现在文章划分为present keyphrase(出现在原文中)与absent keyphrase(未出现在原文中)两大类。Keyphrase预测的结果可用于诸多下游NLP任务,如摘要、文本聚类、检索等。在推荐系统的内容理解中,keyphrase预测结果作为文章的标签用于构建用户画像,用于排序、召回等模块。
二、研究动机
在早期的工作中,通常将该问题作为抽取式任务去解决,即为文中连续出现的片段进行分类,判断其是否属于keyphrase,该类方法通常只能解决present keyphrase的预测,无法处理absent keyphrase。随着sequence-to-sequence模型的出现,在该任务上出现了一系列基于生成模型的方法,该方法将两类keyphrase拼接成一个序列,将其作为生成模型的预测目标,从而较好的解决absent keyphrase的预测任务。
基于生成的keyphrase预测方法将所有的keyphrase拼接成一个序列,并未显式的区分两类keyphrase。事实上,这两类keyphrase间往往存语义差异。以上图中的文章为例,present keyphrase(如wavelet transform)是具体的方法,而absent keyphrase(如singularity detection)是抽象的任务。因此,出现了一些通过其划分为present keyphrase extraction(PKE) 和absent keyphrase generation (AKG) 两个子任务进行多任务学习的方案。该类方法通过将不同的keyphrase预测视为不同的任务,进而区分了这两种keyphrase的语义差异。但已有的多任务方法通常采用共享编码器来完成两个任务,对 PKE 和 AKG 之间潜在语义关系建模较弱,但这种关系对于该任务较为重要。如前述例子,present keyphrase是特定的技术,都用于absent keyphras中的singularity detection, traffic data analysis任务中。 PKE 和 AKG 之间的这种语义关系可以为keyphrase预测任务带来好处。实际上,类似的语义关系在该任务中很常见。
为了解决上述问题,本文提出了一种新的端到端联合模型 UniKeyphrase,它采用预训练语言模型作为backbone,明确建模了这两个任务之间的相互关系。这为不同类型的keyphrase预测带来帮助:present keyphrase可以为 AKG 提供文档的重要信息,而absent keyphrase则被视为高级潜在主题,而这种信息可以为 PKE任务提供全局语义信息。
三、方法
本文提出的UniKeyphrase方法整体结构如上图所示,本文提出的方法包括三个部分。首先是抽取与生成的backbone部分:UniKeyphrase 将 PKE 视为序列标记任务,将 AKG 视为文本生成任务。 UniKeyphrase 采用 UNILM作为骨干网络。 UNILM 是一种预训练的语言模型,它可以利用特定的自注意力掩码得到文本的编码表示与序列的生成。对于一篇文档,所有的absent keyphrase将连接为一个序列。在此基础上对序列随机选择token用[Mask]替换。源文档和与被mask的absent keyphrase序列将被拼接输入到UNILM中。在此基础上,我们可以获得文章与absent keyphrase序列被mask的隐层的输出。我们没有直接使用UNILM的隐层用于PKE和AKG两个任务,而是使用Stacked Relation Layer (SRL)对这两个任务之间的关系进行显式建模。SRL 将初始共享表示作为输入,通过全连接层与Co-Attention层获得交互后的任务表示。 SRL 通过堆叠以重复融合 PKE 和 AKG 任务表示,以更好地捕获相互关系。最终我们将对应位置的隐层进行相应的抽取与生成任务。UniKeyphrase 将 KP 任务分为两个子任务后是单独优化的,因此模型缺乏对整个keyphrase集合的全局信息的认识。 因此,我们将词袋(Bag-of-Word, BoW)作为描述全局信息的媒介指导模型的训练。我们计算模型预测的keyphrase组成的BoW 和ground truth短语 BoW 之间的差距,并将其添加到损失中。 因此 UniKeyphrase 可以获得keyphrase分配到present与absent的全局视角并在训练期间调整两个任务。最终词袋约束将作为损失函数的一项,与抽取及生成损失一起作为最终的损失函数训练模型。
四、实验
与前人工作类似,我们在该任务的主流数据集上对模型预测的present短语与absent短语预测的效果分别进行了评估,结果如下所示:
通过上述结果我们可以发现,我们的方法与已有的生成式的方法以及多任务形式的方法相比,在present短语预测及absent短语预测上都有着较好的效果。进一步证明了我们方法的有效性。
五、总结
UniKeyphrase聚焦于为 PKE 和 AKG 建立一个端到端的统一模型。具体来说,它包含堆叠关系层来建模两个子任务之间的交互和关系。 此外,我们设计了一种词袋约束来联合训练这两个任务,实验表明了所提出模型的有效性。
项目地址: https://github.com/thinkwee/UniKeyphrase
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢