Capturing Global Informativeness in Open Domain Keyphrase Extraction

JointKPE简介

这篇论文是清华大学2021年的论文,主要目的是在开放领域进行关键词/短语抽取。作者提出了一种模型叫做JointKPE,是建立在预训练语言模型上的开放领域关键词抽取模型,它能捕捉局部的短语和全局的信息。JointKPE通过评估关键短语在整个文档中的的信息量对其进行排序,并在关键短语组块任务上接受联合训练,以确定最后的关键词短语。

高质量的关键词/短语抽取主要依赖 phraseness和informativeness两个要素,目前的神经网络方法在关键词抽取算法中主要体现的是 phraseness,给予优先考虑,这是因为这些方法更加侧重与建模关键短语的本地化语义特征,而不是全局文档信息。神经网络方法倾向于从开放领域文档中抽取具有语义完整性的关键短语,如n-grams和head-ish实体,而长尾短语有时候传达着更加重要的信息。

JointKPE方法

对于一个文档NLP进行关键词提取 关键词提取模型_ci,JointKPE先通过n-gram枚举抽取出所有的候选关键词NLP进行关键词提取 关键词提取模型_自然语言处理_02,并利用层级结构去建模n-gram表示。基于n-gram表示,JointKPE使用信息排序网络来整合多次出现词的局部信息得分,来估计词在文档的全局信息得分。在训练过程中,JointKPE和关键词组块任务联合训练,来平衡phraseness和informativeness。

N-gram Representation:使用BERT对文档进行编码,将文档NLP进行关键词提取 关键词提取模型_ci_03进行输入,输出字的embedding表示NLP进行关键词提取 关键词提取模型_ci_04,总结来说就是下式1,将BERT看成一个函数:
NLP进行关键词提取 关键词提取模型_ci_05
其中NLP进行关键词提取 关键词提取模型_算法_06是字NLP进行关键词提取 关键词提取模型_自然语言处理_07的向量表示。

为了从文档NLP进行关键词提取 关键词提取模型_ci中枚举出候选关键词,这个字向量将被添加到n-gram表示中去,一旦出现一定格式的n-grams后,我们将使用一系列卷积神经网络对其进行提取特征。当文档中从第NLP进行关键词提取 关键词提取模型_算法_09个字开始,有一个k-gram的词,那么NLP进行关键词提取 关键词提取模型_算法_10将被CNN进行计算:
NLP进行关键词提取 关键词提取模型_自然语言处理_11
每一个k-gram将被输入到对应的NLP进行关键词提取 关键词提取模型_自然语言处理_12中去,其中NLP进行关键词提取 关键词提取模型_自然语言处理_13NLP进行关键词提取 关键词提取模型_ci_14是n-gram的最大长度。

Informative Ranking:为了评估n-gram的NLP进行关键词提取 关键词提取模型_算法_15的信息在局部的内容,JointKPE使用前向传播层去映射它的精确的内容NLP进行关键词提取 关键词提取模型_自然语言处理_16的得分:
NLP进行关键词提取 关键词提取模型_NLP进行关键词提取_17
进一步计算文档的不同上下文多次出现的词的全局信息得分,具体来说,让词NLP进行关键词提取 关键词提取模型_自然语言处理_18是文档NLP进行关键词提取 关键词提取模型_ci中长度为NLP进行关键词提取 关键词提取模型_算法_20且多次出现的词。这个短语出现在文档的不同内容中NLP进行关键词提取 关键词提取模型_ci_21,这将被划分局部信息得分NLP进行关键词提取 关键词提取模型_NLP进行关键词提取_22。对于多次出现的词,JointKPE将根据她的本地化信息得分应用最大池化,以确定其全局信息得分NLP进行关键词提取 关键词提取模型_算法_23
NLP进行关键词提取 关键词提取模型_NLP进行关键词提取_24
然后去评估文档的NLP进行关键词提取 关键词提取模型_ci中所有词的全局信息得分,JointKPE通过成对出现的排名损失函数(the pairwise ranking loss)能学习每个词在文档的的全局信息得分:
NLP进行关键词提取 关键词提取模型_算法_26
在同一文档NLP进行关键词提取 关键词提取模型_ci中,排名损失NLP进行关键词提取 关键词提取模型_NLP进行关键词提取_28要求JointKPE去排序关键词NLP进行关键词提取 关键词提取模型_算法_29在非关键词NLP进行关键词提取 关键词提取模型_算法_30的前面。

Keyphrase Chunking:去强化n-gram水平下关键词的测试,JointKPE结合关键词分块任务(the keyphrase chunking task)去直接测试和预测n-grams关键词的概率,去优化分类损失NLP进行关键词提取 关键词提取模型_NLP进行关键词提取_31
NLP进行关键词提取 关键词提取模型_自然语言处理_32
NLP进行关键词提取 关键词提取模型_算法_33是而二分类标签,它将致力于判断n-gram NLP进行关键词提取 关键词提取模型_算法_15是否精确地匹配上正确的标注。

Mukti-Task Training:JointKPE的训练的最终目标是最小化信息排名损失NLP进行关键词提取 关键词提取模型_NLP进行关键词提取_28和关键短语分块损失NLP进行关键词提取 关键词提取模型_NLP进行关键词提取_31的线性组合。
NLP进行关键词提取 关键词提取模型_ci_37
在被给文档中最终排名靠前的候选关键词将会得到更高的全局信息得分。

JointKPE实现

数据集:OpenKP、KP20k

代码:https://github.com/thunlp/BERT-KPE

评价指标:precision、recall、f-measure(F1NLP进行关键词提取 关键词提取模型_数据挖掘_38{1,3,5})

JointKPE结果展示


表1 各种不同模型在两个数据集上的结果

NLP进行关键词提取 关键词提取模型_自然语言处理_39

NLP进行关键词提取 关键词提取模型_数据挖掘_40


图1 关键词长度分析

JointKPE总结

JointKPE是基于预训练语言模型在开放领域关键词抽取的模型,它能捕捉本地短语信息和全局信息,有监督关键词抽取。展示JointKPE在开放领域和科学场景以及不同预训练模型中的有效性。综合实证研究进一步表明,JointKPE可以缓解以往神经网络关键词抽取方法中偏好较短且实体风格的关键短语的问题,并在不同长度和不同类型的关键短语上表现出更均衡的性能。