融合位置特征的关键短语集合抽取模型

2023-02-27 09:49于子健孙海春
智能计算机与应用 2023年2期
关键词:关键字短语关键

于子健, 孙海春, 李 欣

(中国人民公安大学 信息网络安全学院, 北京 100038)

0 引 言

关键词(Keyword)是篇章内容的高度概括,关键短语(Keyphrase)是关键词的拓展,内容包含关键词,能够简洁地表达更多主题信息,在英文领域中关键短语抽取是更常见任务。关键短语摘要作为自然语言处理的一项基础任务,是文本检索、文本摘要等文本挖掘任务的基础性的工作,可分为关键短语抽取技术(Extractive Keyphrase Extraction)与关键短语生成技术(Abstractive Keyphrase Generation)[1]。准确的专业领域文献关键短语简洁的呈现了文章涉及的领域和关键技术点,不仅有利于文献快速阅读,而且对相关文献推荐和领域研究现状掌握也能起到促进作用。

目前关键短语抽取常用的方法包括基于无监督的特征建模方法和监督序列标注任务方法等。其中特征建模方法需要专家知识确定候选词、打分方式,不同领域的迁移成本较高;序列标注任务方法在训练过程中侧重考虑关键短语的整体信息,边界处与内部权重相同,导致关键短语边界处容易出现预测错误,限制了抽取效果。

为了提高关键短语抽取效果,针对边界抽取准确率较低问题,应强化位置特征,增加针对关键短语边界的训练,并且依据全文位置对文本中每个词增加全局特征,从而增加低频词、关键字的特征表示。据此提出一种基于预训练语言模型的编码器-解码器(encoder-decoder)关键短语预测模型,该模型根据位置信息预测关键短语中关键字的位置,并将关键字的位置特征与全局语义信息融合,通过提示学习微调预训练语言模型完成文档关键短语的抽取。

本文提出融合预训练语言模型与位置特征的关键短语抽取模型,强化关键短语边界预测,提高边界抽取准确率,且增加低频词的全局位置特征信息,缓解低频词训练样本、语义表示不丰富的问题;通过序列到序列模型实现端到端的从原文本预测关键短语,减少对专家知识的依赖,在针对新领域、新文本风格时能够通过机器学习的方式自动调整迁移模型;以集合方式得到预测关键短语,通过无序的方式对模型预测值与真实值进行对应训练,使模型在训练过程中排除预定序列顺序的影响。

在Inspec、SemEval2017、KP20k数据集上的F1@5、F1@10、F1@M结果平均提升1.2%,4.7%,1.5%,验证了位置特征在优化此任务的可行性。

1 相关工作

关键短语抽取常用的方法可分为两大类:基于无监督或有监督的特征建模方法、基于深度学习模型的关键短语抽取算法。

1.1 无监督方法

无监督方法通过量化表示词的重要度抽取关键词,无须标注语料并具有较高普适性,分为基于统计的方法、基于主题模型的方法和基于图的方法[2]。无监督方法常对文本特征建模,先通过词性、词频—逆文档频率(Term Frequency-Inverse Document Frequency, TF-IDF)等规则从文章筛选出候选词;之后根据定义的指标得到每个候选词的分数,选择高分预测作为模型的输出结果[3]。此类候选关键短语-排序方法,需对文档中的关键短语特征进行充分调查研究后,制定筛选候选词的规则与对候选词打分排序的方法,此过程会使用较多的专家知识,效果相较于传统的统计方法有一定的提升。

Luhn[4-5]在1957年提出最早的基于统计思想的关键短语抽取方法,并在1958年指出利用位置特征抽取关键信息的可行性;Ricardo Campos等[6]提出了一种基于文章词频、出现位置等多种统计文本特征的无监督关键短语抽取方法,取得了更优的效果。在基于图思想的TextRank算法基础上,Xiong等[7]针对常见关键短语提取算法中低频词易被忽略的问题,在TextRank算法的基础上,根据单词之间的语义差异进行聚类分析,并利用聚类结果计算词图中边缘的权重并调整过渡概率矩阵,迭代计算单词的最终权重,并执行排序以获得关键短语;Wu[8]将词的频率特征和位置特征合并为字节点的初始权重,对TextRank进行改进。

无监督方法基于特征建模,制定候选短语筛选规则、打分规则,对关键短语的不同特征充分建模,可解释性较强,但对专家知识依赖程度较高,且针对不同领域需要相应调整规则,模型迁移的成本较高。

1.2 深度学习方法

随着深度学习模型的发展,相关研究将深度学习方法应用于文本关键短语抽取任务。利用深度学习模型提取关键短语,首先得到文本段的语义向量表示,输入定义的深度学习模型,根据模型预测的关键短语结果与真实关键短语的差异对模型调整优化[3]。利用深度学习模型可以减少对专家知识的依赖,让定义的模型根据数据样本,自动学习关键短语在文本中的隐藏含义,端到端预测文本关键短语。基于深度学习方法实现关键短语抽取有两种经典方法,一是将文本关键短语抽取视为序列标注任务,二是构建原文的词字典,逐词抽取文本关键短语。

序列标注模型能够充分获取文档上下文的相邻语义,在命名实体识别任务上取得了较好效果,将其应用到关键短语抽取任务,提高了抽取效果,但序列标注模型存在边界错误问题,与命名实体相比,关键短语定义标准不统一,不具有明显自然边界特征,因此序列标注模型在抽取关键短语时边界处准确率较低,限制了整体抽取效果[9]。而且关键短语预测需要综合全局语义,对上下文语义依赖距离较长,应用序列标注模型预测时,会将文本每个单词分割,标注时关注局部语义信息,降低全局的语义信息在预测关键短语时的权重,影响关键短语抽取效果。

逐词抽取文本关键短语方法将关键短语抽取任务转换为文本生成任务。此类方法构建文档的总词表,通过对文本整体建模,采用序列到序列(seq2seq)等模型从总词表中逐词抽取,训练过程中将每一次预测结果作为约束条件,动态生成、组合得到关键短语,提升关键短语预测效果,此方法打破了原文的固定顺序,能够预测原文中不存在的关键短语,解决了传统技术只能抽取原文存在的关键短语这一问题。Meng[10]首先提出CopyRNN模型,将此方法应用到此任务中;Zhang[11]在此基础上将RNN替换为训练速度更快的CopyCNN模型;Chen[12]在CopyRNN基础上增加限制机制,提出CorrRNN模型,降低预测重复率,提升了模型效果。随着预训练语言模型的发展,Ding[13]将Bert预训练模型和对抗生成网络结合,应用在关键短语抽取任务中,通过预训练模型Bert获得高质量的文本表示,对抗性神经网络的应用缓解了监督算法需要大量注释数据的缺点;Wu[14]基于提示学习方法,充分利用预训练模型的优势,降低训练成本的同时提升了关键短语预测效果。

将关键短语抽取任务视为文本生成任务,提高了预测效果,但是由于候选词表维度较大,难以预测到低频的专业词汇;且训练生成模型所需要的资源较多,训练时间较长。在模型逐词抽取的过程中会产生一个预定顺序的关键短语序列,即训练过程中模型预测的结果与真实值的损失会受到关键短语预定顺序的影响。关键短语应是无序的集合,关键短语的顺序不应成为必须施加于模型的限制,而传统的生成方法并未去除此影响因素。

2 文本关键短语抽取模型

关键短语应具备以下特征:

(1)关键短语出现的位置具有一定规则,可以通过位置特征抽取关键短语;

(2)关键短语的内容中更容易包含低频词,且原文中会明确出现该特定词汇;

(3)关键短语彼此间有联系,但无固定顺序,是无序集合的形式。

根据以上特征,将抽取关键短语任务拆解为以下步骤:

(1)根据文本语义特征预测文档中关键短语中的关键字所在位置,关键短语为待预测的最终结果,关键字为关键短语中的特征边界位置,如首字、尾字等;

(2)根据关键字前后的位置视野,融合其在全文的位置特征与语义信息,判断该关键字所在关键短语的范围,通过预训练语言模型对关键短语进行预测输出。

模型结构如图1所示,首先通过位置特征对预训练语言模型生成的语义向量表示进行注意力加权,得到融合位置与语义的文本向量表示,将其输入seq2seq模型中transformer编码器层,得到文本的隐含状态,再将全文隐含状态输入transformer解码器层,端到端得到文本关键字位置;最后基于预训练语言模型的提示学习,利用得到的位置特征以及对应的关键字文本语义信息,构建提示学习模板,对原文本内容进行注意力加权,预测对每个关键字位置所对应的关键短语内容,通过微调训练优化预训练语言模型,完成关键短语预测。

图1 模型结构图

2.1 文本位置特征表示

预训练语言模型在对文本建模时会将输入文本中带有连字符的词、部分过长专业词汇以及超出预设词典的词汇,进行分解拆分,破坏原有的位置结构,例如:将“unwanted”分解成“un”、“##want”以及“##ed”,并不是按照自然分词输入,得到的语义表示长度往往会大于原文,导致每个词的语义表示不能与原文的词汇一一对应,无法直接得到对于原文每个位置单词的语义表示。

由于专业领域文本中存在较多专业特定词汇,经典预训练语言模型的训练语料中该样本数量较少,导致领域专业词汇的特征表示效果不理想,甚至超出其预设字典。而专业词汇更能反映文本的领域特征,因此关键短语中更倾向于出现这些专业词汇、低频词。针对专业词汇表示不充分问题,模型通过融合位置特征增强预训练模型对文本的向量表示。

本文使用Beltagy[15]在科学文献数据集预训练过的Sci-Bert模型,提供768维的预训练词向量,该预训练模型在专业领域更具针对性、更广泛的词汇字典,减少了模型未知词的数目,对于专业领域低频词的表示比经典模型更好。为了保证文本从预训练语言模型中得到的预训练语义表示适应此任务,模型训练过程微调(Fine-tuning)预训练语言模型,提供的文本的语义表示记为embplm。

在此基础上增加基于全文位置的可学习位置特征,具体对文本中的每个词以及每个词在全文中的位置特征进行建模,将未经预训练的自然分词后的词向量embword与位置特征positionemb结合,得到文本中每个位置的全文特征信息,记为embdoc,式(1):

embdoc=embword+positionemb

(1)

通过构建的全文位置特征,利用该位置向量对预训练语言模型提供的语义信息进行注意力加权结合,得到融合语义与位置特征的全文位置特征。首先,融合位置特征的embdoc与预训练语言模型分词得到的embplm,利用Vaswani A[16]提出的注意力机制获得全文位置特征对Bert等预训练向量的注意力,从而得到经过位置注意力加权的向量表示,获得融合预训练语言模型的语义特征的原文本的位置向量,通过公式(2)~公式(5)获得的文本位置向量表示embposition,融合了位置特征及预训练语言模型的语义,且文本每个位置的向量表示,不仅会得到预训练模型中对应位置的注意力加权表示,还会获得语义相似位置的向量表示信息,拓展了全局的位置特征、语义特征,从而增加每个位置的特征关注视野,能够获取更长的语义依赖信息。

Q=embdocWquery

(2)

K=embplmWkey

(3)

V=embplmWvalue

(4)

(5)

其中,Wquery,Wkey,Wvalue为待学习的参数矩阵,生成的embposition与预训练语言模型向量embplm的维度相同,d为词向量维度。

2.2 序列到序列预测模型

将预测关键短语起始位置视为序列生成任务,将此任务视为序列标注问题,采取如BiLSTM-CRF模型对文本中元素进行逐个标注,往往存在边界不准确的问题,即整体的损失值较低,在边界处错误导致预测与实际不符。基于对此问题,将该任务视为类似阅读理解、摘要抽取任务,预测关键短语出现的起始位置与结束位置,将总体的损失转为具有边界针对性的损失。

构建序列到序列预测模型,输入为文档的向量表示embposition,输出为文档的关键字位置。有3种位置采样规则:关键短语的首字、尾字以及中位字。为简化模型采用首、尾字的策略进行实验,模型接收embposition后输出预测关键短语起始、终止位置集合,输出的取值范围为总文本长度空间。

以首字为例,将预测关键短语结束位置任务转换为根据关键短语起始位置预测关键短语长度任务。生成关键短语起始位置后,基于预训练语言模型,融合关键字位置特征与语义信息,从原文中预测关键字对应的整体关键短语。

预测关键字位置任务采用seq2seq模型,由编码器与解码器两层组成,由编码器层获得完整文本的隐含状态,将隐含状态传递给解码器层;解码器层根据前面隐含状态的向量表示与当前输出情况,得到预测的关键短语起始位置或终止位置。

模型编码器层由6层transformer组成,隐藏层维度为512,分为8头注意力机制,输入为原文本的embposition,该向量表示经过全连接层转化为隐藏层维度,融合可学习的位置权重,将融合预训练语言模型语义与位置特征的向量表示输入编码器层,得到文本隐藏状态。

解码器层主体与编码器层结构相同,在transformer层的输出后增加全连接层,用于得到预测值。对于解码器层第i时刻的输入di公式(6):

(6)

seq2seq模型得出的结果为有序输出,该顺序代表了模型预测的先后逻辑。传统方法中将seq2seq模型输出的关键短语直接对应匹配原文的关键短语顺序、或原文中关键短语出现的顺序,得到预测的损失,以此进行模型的反向传播学习。 Ye[17]指出文章的关键短语应是无序集合,目前通过序列生成模型预测关键短语额外要求机器学习该真实值的序列顺序,令模型的预测增加了预定顺序的影响,不符合关键短语为无序集合的特征,可能影响模型预测结果。针对此问题,训练过程中使用模型预测值与真实值的对应关系序列中最优期望序列,以此对应序列计算模型预测值与真实值的损失,更新模型参数。

首先,利用定义的seq2seq模型生成一组关键短语起始点的概率分布Prediction。构建图G(V,E),其中V由两个独立的空间组成,分别为预测值Prediction与真实值Y,E代表每个预测值与真实值对应的代价矩阵,对任意pn∈Prediction,yn∈Y的关系代价记为Cost(pn,yn),维度为预测数目N×真实数目|Y|,式(7):

E={Cost(pn,yn)}N∏|Y|

(7)

(8)

计算过程采用匈牙利算法,匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法。

构建匈牙利算法时,结合CrossEntropy损失函数的计算方式,该损失L经典计算公式为公式(9)、公式(10):

L(Prediction,y)=L={l1,…,lN}┬

(9)

(10)

其中,Prediction={p1…pN},表示模型预测的输出;y={y1,…yN},表示每个输出值对应的真实值;C表示每个为类别总数;N表示预测总数。

(11)

(12)

通过匈牙利算法得到总代价最小的预测值对应情况,将预测值排序,排序得到的顺序变化通过矩阵变换方法逆向应用于真实值,得到最接近预测值的真实值序列,计算起始点的损失函数。预测数目多于真实数目时,将真实值补零填充至两者相同,令每个预测值对补零填充的真实值的Cost远大于平均值,使模型优先分配非补零填充的真实值,获得最优分布;真实数目多于预测数目时,对预测值补零填充至两者相同,令每个补零填充的预测值对应每个真实值的概率相同,即Cost值相同,对补零填充的预测值额外增加远大于平均值的损失,则模型在计算分布序列Cost时,排除多余预测值对总体的影响。

Ye[17]率先提出了以集合方式预测文本的关键短语。本文基于其预测分布序列计算方法,根据交叉熵损失函数计算方式,在计算模型预测分布序列的Cost值之前增加了Softmax操作,计算时对每个预测与真实的损失值求负对数,使分布序列Cost值能更好地体现该序列在交叉熵损失函数中的表现,令每个控制节点对应下的预测值与真实值有更高的期望,在迭代过程中始终保持对应,缓解了模型训练初期的预测值与真实值对应混乱问题,提高了模型训练的收敛速度。本方案对于模型预测数目没有要求,预测的数目可以少于真实数目,减少特异样本的干扰,更灵活地控制模型预测的关键短语数目,减少模型训练时间、降低学习成本。

2.3 提示学习模型

模型的训练过程采取了多任务训练思路,分为两部分:第一部分是预测关键字位置,第二部分是每个关键字位置对应关键短语的预测。

对于前文得到的文本关键字,可以获取每个关键字在全文中的位置,通过此位置特征对每个关键字对应的关键短语预测。本模型基于提示学习(Prompt Learning)的思想,将前文得到的关键字位置作为特征,构建提示学习模板(Prompt),通过预训练语言模型的微调,优化获得每个关键字对应的预测关键短语。

Wu[14]通过Bert类预训练语言模型的MLM(Mask Language Model)任务构建预测关键短语模板,即“phrase of kw is [MASK] [MASK] kw [MASK] [MASK]”,其中kw为输入的关键信息。本模型基于Liu[18]提出的离散提示学习模板,采用Raffel[19]提出的更适合文本生成任务的T5预训练模型,该模型为编码器-解码器结构的文本到文本(text-to-text)模型。融合Wu[14]和Gao[20]构建的提示学习模板策略,构建本模型提示学习模板为“Keyword : DOC The phrase of pf is ”,其中pf为预测的文本关键字位置,DOC为原文本内容,筛选其中存在pf对应文字的句子作为输入,以此构建生成预测结果的模板。设置最大预测长度为6,解码时不考虑特殊符号,对预测结果去除停用词并进行词干提取,得到输出内容。在以上条件下构建提示学习模板,对预训练模型T5-base进行提示学习微调,得到最优预测结果。

3 实验

3.1 数据集

实验使用的数据集为Inspec,SemEval2017,KP20K等,实验数据集为互联网上公开获取。Inspec数据集由2 000篇期刊论文摘要及其关键词组成,包含1998年~2002年中计算机与控制、信息技术学科等领域论文;KP20K由567 830篇计算机科学领域的论文组成,选取其中20 000篇作为验证集,20 000篇作为测试集;SemEval2017由493篇科学领域论文组成,为国际语义评测大赛(Semantic Evaluation)2017年任务10提供的关键短语识别数据集。

数据集均可分为两部分,完整文档以单个字符串存储,对应的若干关键短语字符串以列表形式存储,关键短语中包含原文本中直接存在的以及原文本中不存在的关键短语,本文仅对原文本中直接存在的关键短语进行抽取。每个数据集均筛选存在原文出现关键短语的样本,随机采样50%计算数据集特征,数据集的基本情况见表1。

表1 数据集情况

3.2 数据处理与评估标准

本文使用NLTK(Natural Language Toolkit)工具集对数据集进行预处理,具体包括:去除占位符等无实意符号,对文章进行分词,分句,英文文本全部转换为小写等。

针对完整文本段与关键短语,利用NLTK分词工具得到单词级别的原文本内容,利用正则表达式匹配等方法得到关键短语在文章中单词级别的位置特征;将关键字位置与对应关键短语存于抽取关键短语列表中,得到分词后的完整文本段、抽取关键短语列表(关键字位置与对应关键短语内容)。

数据预处理过程参照Meng[21]的处理方式,将文本中数字统一用替换、使用Porter Stemming策略对结果提取词干,在评估矩阵(Evaluation Metrics)上选择F1@5、F1@10、F1@M作为评估标准,F1@5与F1@10分别为计算前5个预测结果、前10个预测结果的MicroF1-score,当预测数不足5或10时填充错误答案,F1@M为计算所有预测结果的MicroF1-score。MicroF1-score的计算如式(13)~式(15):

(13)

(14)

(15)

其中,TP为将正例预测为正类的数目;FN为将正例预测为负类的数目;FP为将负例预测为正类的数目;C为所有待预测关键短语集合。

本文模型输出的关键短语为无序结果,在计算F1@5、F1@10时,按照控制节点依次选取作为预测结果顺序。

3.3 对比实验

实验环境GPU为Rtx 3060 12 G,Pytorch版本1.7.0。批处理大小设置为16,最大训练步设置为100 000步,热身学习步数设置为3个Epoch,学习率为从10-7增加至10-4后开始降低,优化器为AdamW,本模型采用关键短语首字位置特征,控制节点数目设置为20。

KP20k训练集经过去除重复样本、去除超过预训练语言模型允许文本长度样本,去除空关键短语样本,训练集共421 970条,模型随机选取其中100 000条数据进行训练,在各个数据集取验证结果最好的模型进行测试。

KP20k验证集为15 849条,测试集为15 937条;Inspec数据集去重、去除空关键短语样本后共1 956条,选取1 500条作为验证集,456条作为测试集;SemEval2017数据集经处理共478条,选300条作为验证集,178条作为测试集。测试时对输入文本中超出预训练模型最大允许长度的文本内容,采取截断措施。

论文的对比模型为深度学习模型CatSeq、CatSeqD[22]与ExHiRD-h、ExHiRD-s[23],对比模型与本文模型均在相同条件下进行训练,训练集、验证集与测试集设置相同。

对比实验结果见表2,本模型相较于目前的关键短语抽取模型,在Inspec、SemEval2017、KP20k数据集上的F1@5、F1@10、F1@M结果平均提升1.2%,4.7%,1.5%。

表2 实验结果

3.4 位置特征选择与全局控制节点数目

关键字位置表达了关键短语位置特征,全局控制节点能够提供额外限制特征减少预测重复,同时也能控制预测输出的数目。实验过程中对不同位置特征的选择与全局控制节点数目进行测试,以确定更优设置。

数据集中的某样例的节选如图2所示,文中加粗的内容为关键短语,下划线为关键短语的首字在文中出现的情况。由图2可知关键短语中的首字、尾字在原文中出现的位置不仅是关键短语中,且该关键字出现的位置周边为关键短语相关内容的概率较大,因此通过对全文所有关键字的位置特征进行特征建模,能够构建全文中关键短语的位置、相邻语义等特征信息,更好的获得关键短语的隐含特征向量。

图2 关键字在文章中的分布(首字)

实验过程中对关键短语的首字与尾字位置抽取效果进行对比,针对全局控制节点的数目进行实验,考虑到更多控制节点会引入更多错误预测结果,根据数据集中每篇文章关键短语数量选择控制节点候选数目为10与20,评价指标为关键字位置抽取的召回率,召回率越高,则代表此时位置特征的获取效果越好。

在KP20K数据集下以不同参数设置实验,寻找最佳模型,模型训练过程中对KP20K验证集进行关键字位置抽取的结果如图3所示,示例S-10、E-20中,S代表首字,E代表尾字,数字代表全局控制节点数目,S-10表示以首字为关键字,全局控制节点数目设置为10。由图3可知,全局控制节点数目对于预测召回率影响较大,能显著提升抽取效果;在控制节点数目取20时,验证集中首字与尾字的抽取效果差距不大;虽然KP20K验证集差距不大,但测试集中效果差距明显,可知尾字特征的普适性不如首字。

图3 KP20K验证集关键字位置预测

再针对不同数据集对关键短语预测模型进行测试,实验结果见表3,R@10为控制节点数目为10时对应关键字位置抽取结果的召回率,R@20为控制节点数目为20时相应的召回率,召回率反映了覆盖全文关键位置特征的程度。3个数据集在对首字作位置特征抽取、控制节点数目取20时关键字位置抽取结果召回率最高,此时能够获取更广泛覆盖全文的位置特征,从而更好的抽取文中存在的关键短语。

表3 关键字位置特征抽取结果

4 结束语

目前文本关键短语抽取任务的结果受限于边界准确率,且模型训练过程受到真实值预定序列影响。本文模型融合预训练语义信息与位置特征,构建针对关键短语边界关键字的编码器-解码器模型,强化对关键短语边界的抽取训练,缓解了边界抽取效果限制问题,提升了整体准确率。以集合的方式抽取关键短语,通过匈牙利算法获得预测值-真实值键值对的无序集合,排除了预定序列对抽取结果的影响。在与CatSeq、ExHiRD-h等模型的对比实验中,本模型抽取结果F1值有提高,验证了将位置特征与预训练语言模型结合进行关键短语抽取方法的有效性。

实验过程中发现,基于位置特征的关键短语预测模型在面对长文本数据时效果不佳,在面对词数超过1 000的文本时准确率降低明显。经分析,在提取位置特征时,长文本会增加过多关键字相邻语义与关注的信息,降低位置特征的信息密度,且预训练模型允许的长度有限,不能完整获取过长文本的语义信息,导致影响特征获取质量。下一步将研究长文本位置特征表示方法,以提高模型对长文本数据的抽取效果;研究自动化构建关键短语抽取任务的提示学习模板以提升模型的可迁移性。

猜你喜欢
关键字短语关键
硝酸甘油,用对是关键
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
高考考好是关键
成功避开“关键字”
《健民短语》一则
生意无大小,关键是怎么做?
生意无大小,关键是怎么做?
智能垃圾箱