一种基于预训练语言模型的常识问答方法及系统
未命名
10-08
阅读:146
评论:0

1.本发明涉及一种基于预训练语言模型的常识问答方法及系统,属于常识问答技术领域。
背景技术:
2.常识问答任务是一个将个体观察与个体理解世界及人类行为相关的知识相结合,对日常生活中常见情况进行推理的过程,是自然语言理解中的一项重要任务。在人们日常事务决策中,常识问答起到非常重要的作用。近年来,基于全量微调的预训练语言模型(pretrained language models,plms)已经以卓越的性能在自然语言处理(natural language processing,nlp)的许多子领域掀起了革命,经微调后被应用于常识问答任务,如图1中的方法a所示。然而,随着模型参数规模的增加,预训练语言模型也存在着一些缺陷,包括计算成本逐渐难以接受,并且在透明度和可解释性方面存在不足。
3.针对上述缺陷,研究人员将预训练语言模型与外部知识结合起来,以提高推理过程的可解释性,其方法如图1中的方法b所示,首先提取查询语句中与实体相关的知识子图,然后设计图神经网络(graph neural network,gnn)模块来进行推理。尽管这种方法为推理过程提供了一定的实证支持,但是设计有效的gnn模块需要大量专业知识,另外,这些方法通常只考虑查询语句中实体相关的结构化三元组知识,而忽略了关于查询本身的文本知识,从而导致模型在常识问答任务上的性能较差,且计算成本较高。
技术实现要素:
4.本发明提供了一种基于预训练语言模型的常识问答方法及系统,能够解决现有模型在常识问答任务上的性能较差,且计算成本较高的问题。
5.一方面,本发明提供了一种基于预训练语言模型的常识问答方法,所述方法包括:
6.s1、获取查询答案对;所述查询答案对包括一个查询语句和与所述查询语句对应的多个候选答案中的一个候选答案;
7.s2、从外部知识库中提取所述查询答案对的外部相关知识;
8.s3、将所述查询答案对输入预训练语言模型中,并利用适配器将所述外部相关知识与所述预训练语言模型输出的查询输出特征进行整合,得到整合后特征;
9.s4、根据所述整合后特征计算所述查询答案对的可信度得分,并将可信度得分最高的查询答案对中的候选答案作为所述查询语句的正确答案。
10.可选的,所述s2具体包括:
11.s21、识别所述查询答案对的所有实体,并根据所述实体在外部知识库中进行检索,得到外部相关知识中的实体相关知识;
12.s22、根据所述查询答案对在外部知识库中进行检索,得到外部相关知识中的查询相关知识。
13.可选的,所述s21具体包括:
14.s211、识别所述查询答案对的所有实体,并将所有所述实体与知识图谱中的三元组进行关联,得到三元组集合;
15.s212、将所述三元组集合中的三元组转化为语句,并将所述语句作为关键字在外部知识库中进行检索,得到多个第一相关知识片段;
16.s213、计算每个第一相关知识片段与所述查询语句的知识相关度得分,并将知识相关度得分前k名的第一相关知识片段作为实体相关知识。
17.可选的,所述s22具体包括:
18.s221、将所述查询答案对作为关键字在外部知识库中进行检索,得到多个第二相关知识片段;
19.s222、计算每个第二相关知识片段与所述查询语句的知识相关度得分,并将知识相关度得分前k名的第二相关知识片段作为查询相关知识。
20.可选的,所述s3具体包括:
21.s31、将所述查询答案对输入预训练语言模型中,得到查询输出特征;
22.s32、将所述外部相关知识中的一条知识和所述查询输出特征输入适配器中进行l层整合,得到整合后特征和知识输出特征;其中,l为适配器层数;当前适配器层的输入为对应的预训练语言模型层输出的查询输出特征和上一适配器层的知识输出特征。
23.可选的,在所述s32之前,所述方法还包括:
24.s33、利用门控函数对所述查询输出特征进行过滤。
25.可选的,在所述s32之后,所述方法还包括:
26.s34、利用跨度掩码方法对所述适配器进行参数更新。
27.可选的,在所述s32之后,所述方法还包括:
28.s35、利用关系判别方法对所述适配器进行参数更新。
29.可选的,在所述s211之后,所述方法还包括:
30.s214、对所述三元组集合中的每个三元组进行评分,并将评分低于预设阈值的三元组从所述三元组集合中删除。
31.另一方面,本发明提供了一种基于预训练语言模型的常识问答系统,所述系统包括:
32.获取模块,用于获取查询答案对;所述查询答案对包括一个查询语句和与所述查询语句对应的多个候选答案中的一个候选答案;
33.知识提取模块,用于从外部知识库中提取所述查询答案对的外部相关知识;
34.特征整合模块,用于将所述查询答案对输入预训练语言模型中,并利用适配器将所述外部相关知识与所述预训练语言模型输出的查询输出特征进行整合,得到整合后特征;
35.评分模块,根据所述整合后特征计算所述查询答案对的可信度得分,并将可信度得分最高的查询答案对中的候选答案作为所述查询语句的正确答案。
36.本发明能产生的有益效果包括:
37.(1)本发明提供的基于预训练语言模型的常识问答方法,通过设计一个可训练的参数共享适配器(adapter),只需将其联结到一个参数冻结的plms上,就可大大降低融入外部相关知识(即实体相关知识和查询相关知识)的成本。本发明能够有效地融入外部相关知
识,大幅改进了常识问答的性能表现。
38.(2)本发明提供的基于预训练语言模型的常识问答方法,为了使适配器着重专注于相关知识,设计了门控和注意力机制,分别用于过滤和融合来自plms的查询信息(即查询输出特征)。并且本发明利用跨度掩码和关系判别这两个的知识相关的辅助任务来优化适配器的参数,以促进适配器对知识的记忆,帮助适配器理解文本中的内在关系。另外,本发明基于该方法构建了一个简单而高效的知识感知参数高效微调网络(knowledgeable parameter efficient tuning network,简称kpe),将plm与外部知识结合起来解决常识问答任务。在两个基准数据集上进行的实验表明,本发明提出的知识参数高效调整网络(kpe)能够有效地融入外部知识,大幅改进模型在常识问答的性能表现。
附图说明
39.图1为现有常识问答方法与本文提出方法的比较示意图;
40.图2为本发明实施例提供的kpe模型结构示意图;
41.图3为本发明实施例提供的知识适配器结构示意图;
42.图4为本发明实施例提供的适配器中降维维度r在两个数据集上对性能的影响示意图;
43.图5本发明实施例提供的kpe模型结果案例分析展示示意图。
具体实施方式
44.下面结合实施例详述本发明,但本发明并不局限于这些实施例。
45.随着预训练语言模型(plms)在各种任务上取得的显著成功,一些研究人员提出将全量微调的预训练语言模型用于常识知识问答任务。尽管预训练语言模型使用越来越广泛,但微调一个模型所有参数会带来极高的计算成本,这个问题随着plms参数的规模越来越大而愈发明显。此外,由于缺乏显式建模知识的模块,预训练语言模型缺乏透明度和可解释性。鉴于此,现有技术中一些方法通过精心设计的图神经网络模块改进plms,以从知识图谱中整合相关知识。然而这些方法存在的问题是,首先需要专业知识来设计有效的图神经网络模块来编码知识子图,另外只考虑与实体相关的结构化知识,忽略了可能以文本形式存在的与查询相关的知识。
46.由于微调预训练语言模型的所有参数成本过高,研究人员提出在冻结部分模型参数的同时微调模型的一小部分参数。适配器微调是一种常见的参数高效微调方法,它在冻结的plms层之间插入可训练的适配器模块,用于引导plms实现需要的输入输出。现有技术中利用适配器将知识融入预训练语言模型中。受提示(prompt)方法的启发,一些研究人员还提出了前缀微调和提示微调。他们将一系列可训练的提示词元作为输入或中间层,并在训练过程中仅更新这些词元。此外,现有技术中还探索了低秩适应方法用于参数高效微调,该方法在冻结的plms中注入和优化注意力权重的低秩矩阵。
47.基于上述的研究工作基础,本发明以多项选择题回答的形式进行常识知识问答任务。给定一个自然语言查询语句(问题)q和一组候选答案(或称选项)为每个答案度量其可信度得分ρ(q,a),并选择最可信的答案a
*
。为了提升常识问答的能力,基于q和本发明利用外部知识库来提取与实体和查询相关的知识片段
48.如图2所示,本发明提出的知识融合模块(kpe)通过连接一个参数共享的知识适配器到冻结的预训练语言模型(plms)上,将plms与外部知识相结合。plms将(q,a)作为输入,并输出可信度得分ρ(q,a)。知识适配器的目的是在整合知识片段k。
49.具体的,本发明实施例提供了一种基于预训练语言模型的常识问答方法,所述方法包括:
50.s1、获取查询答案对;查询答案对包括一个查询语句和与查询语句对应的多个候选答案中的一个候选答案。
51.s2、从外部知识库中提取查询答案对的外部相关知识。
52.s2具体包括:
53.s21、识别查询答案对的所有实体,并根据实体在外部知识库中进行检索,得到外部相关知识中的实体相关知识。
54.具体包括:
55.s211、识别查询答案对的所有实体,并将所有实体与知识图谱中的三元组进行关联,得到三元组集合。
56.较佳的,在s211之后,所述方法还包括:
57.s214、对三元组集合中的每个三元组进行评分,并将评分低于预设阈值的三元组从三元组集合中删除。
58.s212、将三元组集合中的三元组转化为语句,并将语句作为关键字在外部知识库中进行检索,得到多个第一相关知识片段;
59.s213、计算每个第一相关知识片段与查询语句的知识相关度得分,并将知识相关度得分前k名的第一相关知识片段作为实体相关知识。
60.s22、根据查询答案对在外部知识库中进行检索,得到外部相关知识中的查询相关知识。
61.具体包括:
62.s221、将查询答案对作为关键字在外部知识库中进行检索,得到多个第二相关知识片段;
63.s222、计算每个第二相关知识片段与查询语句的知识相关度得分,并将知识相关度得分前k名的第二相关知识片段作为查询相关知识。
64.传统的常识知识来源之一是基于三元组的知识图谱,然而三元组的缺陷是只能编码有限类型的知识。本发明使用一个关于常识事实的通用句子语料库,即genericskb作为外部知识库(或称知识源)。该外部知识库中的文本可以表示更复杂的常识知识,能涉及到三个以上概念的事实。
65.对于实体相关知识,本发明首先识别查询语句和候选答案中的所有实体,并将它们与知识图谱(conceptnet)中的三元组进行关联。然后,将这些三元组序列化为语句,并将它们用作从genericskb中检索知识片段的键值key。
66.给定查询语句q和候选答案本发明首先从中提取实体e。然后,将所有包含e的conceptnet中的三元组进行关联,得到三元组集合为了压缩和过滤提取出的三元组,本发明对每个三元组进行评分:
[0067][0068]
其中pi表示第i个三元组(hi,ri,ti)的得分,wi是conceptnet提供的三元组权重,n是的大小,是中具有关系ri的三元组数量。如果pi高于预定义的得分阈值p
*
,则该三元组将被添加到选定的三元组集合中。
[0069]
接着本发明将中的这些三元组转换为一系列语句,从非结构化的外部知识库genericskb中检索知识。具体而言,对于每个三元组(hi,ri,ti),首先使用一组预定义的关系模板生成语句si。例如,三元组(sweltering,relatedto,hot)可以序列化为语句"sweltering is related to hot"。然后,将si作为关键字从genericskb中检索与之相关的语句形式的知识片段。不包含实体对(hi,ti)的知识片段将被直接忽略。
[0070]
然后,选择与查询语句最相关的知识片段来增强常识知识问答。具体而言,使用预训练的simcse模型获取语句嵌入,基于此计算每个检索到的知识片段ki与查询q之间的余弦相似度作为知识相关度得分。最后,在处理所有三元组后,根据计算的知识相关度得分选择排名前k(示例的,k=5)的检索到的知识片段作为实体相关的知识(即实体相关知识)
[0071][0072]
考虑到查询q中包含的丰富语义信息,有必要利用查询相关的知识改进常识问题回答任务。与实体相关的知识检索类似,本发明通过将查询与所有候选答案连接起来作为检索的关键字,从genericskb中检索与查询相关的知识片段。然后计算知识相关度得分,并选择得分最高的k个知识片段作为查询相关的知识(即查询相关知识)
[0073]
s3、将查询答案对输入预训练语言模型中,并利用适配器将实体相关知识或查询相关知识与预训练语言模型的查询输出特征进行整合,得到整合后特征。
[0074]
具体包括:
[0075]
s31、将查询答案对输入预训练语言模型中,得到查询输出特征;
[0076]
s32、将外部相关知识中的一条知识和查询输出特征输入适配器中进行l层整合,得到整合后特征和知识输出特征;其中,l为适配器层数;当前适配器层的输入为对应的预训练语言模型层输出的查询输出特征和上一适配器层的知识输出特征。
[0077]
进一步的,在s32之前,所述方法还包括:
[0078]
s33、利用门控函数对查询输出特征进行过滤。
[0079]
实际应用中,在s32之后,所述方法还可以包括:
[0080]
s34、利用跨度掩码方法对适配器进行参数更新。
[0081]
在s32之后,所述方法还可以包括:
[0082]
s35、利用关系判别方法对适配器进行参数更新。
[0083]
在本发明实施例中,将每个预训练语言模型层(plms层)与一个参数共享的适配器层连接起来,如图3所示。
[0084]
对于第l个适配器层(l∈[1,l]),输入由垂直连接第(l-1)个适配器层的知识输出特征和第l个plms层的查询输出特征组成,其中m和n分别表示plms输入序列和知识片段的长度,d是隐藏大小。注意,本发明使用可学习的
门控函数(也可称门控单元)来过滤plms的查询输出特征以获取查询的关键信息。具体而言,
[0085][0086]
其中g∈rm×d是一个可训练的矩阵,在训练过程中进行学习,
⊙
表示逐元素乘法。
[0087]
现在,给定输入适配器层首先使用线性投影层将其投影到r维。然后应用自注意力层来更好地融合plms中的知识和查询信息。之后,再应用另一个线性投影层将其投影回原始维度d。最后,将上投影层的输出特征分为两部分:用于plms的残差连接层,用于下一个适配器层。
[0088]
为了增强适配器的知识建模能力,本发明还设计了以下两个与知识相关的任务,这些任务以适配器的最终输出作为输入。
[0089]
跨度掩码(也可称片段掩码)任务可以帮助促进适配器对知识的记忆。具体的,对于与三元组(hi,ri,ti)相对应的实体相关知识本发明屏蔽尾实体的相应标记,并用相同数量的[mask]替换它们,生成被遮蔽序列。然后,将被遮蔽序列输入适配器进行正向推理。基于最终的适配器输出预测被屏蔽的标记,并计算它们的交叉熵损失对于与查询相关的知识片段本发明在片段级别上屏蔽总共15%的标记,并采用与spanbert相同的方式进行预测。
[0090]
关系判别任务可以帮助适配器理解文本中的内在关系,并通过对比学习提高学习表示的鲁棒性。该任务仅适用于包含实体对的实体相关知识片段。具体任务如下:
[0091]
给定实体相关知识片段及其对应的三元组(hi,ri,ti),通过对实体提及的标记嵌入(来自适配器输出)进行平均池化操作,得到实体表示和然后,将和连接起来作为关系表示为了提高对关系事实的理解,本发明将关系ri视为其正样本,将其他关系视为负样本。最后,采用infonce损失函数,缩小正样本距离,同时增大负样本距离:
[0092][0093]
其中,τ是温度超参数,|ε|是conceptnet中关系ri的数量,f(r(i))表示基于plms的关系ri的标记id的查找操作。如果ri中有多个标记,可以将应用平均池化。
[0094]
s4、根据整合后特征计算查询答案对的可信度得分,并将可信度得分最高的查询答案对中的候选答案作为查询语句的正确答案。
[0095]
给定查询语句q和候选答案利用最终plms层的输出计算可信度得分并通过交叉熵损失最大化正确答案a
*
的可信度得分:
[0096][0097]
综上,本发明提供的知识感知参数高效微调网络(kpe)的整体训练目标函数如下:
[0098][0099]
在训练过程中,本发明将从实体相关和查询相关的知识和中随机选择一条知识。请注意,对于不适用于关系判别任务的查询相关知识片段,本发明将忽略对应的损失函数
[0100]
本发明另一实施例提供一种基于预训练语言模型的常识问答系统,该系统即为上述的知识感知参数高效微调网络(kpe)。所述系统包括:
[0101]
获取模块,用于获取查询答案对;查询答案对包括一个查询语句和与查询语句对应的多个候选答案中的一个候选答案;
[0102]
知识提取模块,用于从外部知识库中提取查询答案对的外部相关知识;
[0103]
特征整合模块,用于将查询答案对输入预训练语言模型中,并利用适配器将外部相关知识与预训练语言模型输出的查询输出特征进行整合,得到整合后特征;
[0104]
评分模块,根据整合后特征计算查询答案对的可信度得分,并将可信度得分最高的查询答案对中的候选答案作为查询语句的正确答案。
[0105]
上述系统中各个模块的具体描述可以参考方法中对每个步骤的描述,在此不再赘述,上述系统可以实现与方法侧同样的功能。
[0106]
本发明在两个基准数据集上评估知识感知参数高效微调网络(kpe):openbookqa和commonsenseqa 2.0。openbookqa是一个关于初等科学知识的问答数据集,每个问题有四个不同的选项。该数据集总共包含5,957个问题,将官方数据划分训练集、验证集和测试集。commonsenseqa 2.0(csqa2)是一个包含14,343个问题的二分类数据集。请注意,csqa2的测试集不是公开的,本发明需要将模型的预测结果提交到官方排行榜以获取评估结果。
[0107]
对于知识检索,本发明首先通过elasticsearch将genericskb存储起来,并使用基于bm25的elasticsearch检索函数进行检索。本发明选择在开发集上取得最佳结果的参数值。实验中,将关系区分任务中的温度超参数τ设置为0.1,并将三元组匹配的得分阈值p
*
设置为3.5。适配器中的降维维度大小r设置为256。遵循之前的工作,模型的隐藏层维度d=1024,层数l=24。在实验中使用adamw优化器。对于模型训练,可以将批量大小设置为32,学习率设置为2
×
10-5
。基于adapterhub实现了常识知识问答的参数高效微调基线模型。
[0108]
本发明将kpe与基于参数高效微调的方法、已有的性能优异的常识问答模型进行比较。
[0109]
本发明将kpe与以下基于参数高效微调的方法进行比较。
[0110]
bottleneck adapter:第一个在自然语言处理中使用适配器进行微调的方法。
[0111]
prefix tuning:在模型输入或中间层中插入一系列可学习的提示prompt来降低训练成本。
[0112]
lora:在plm的每个层中预设可训练的秩分解矩阵,以减少可训练参数。
[0113]
mam adapter:构建了一个有效的适配器模块,结合了适配器、前缀微调和低秩方法的优点。
[0114]
compacter:基于适配器、低秩优化和参数化的超复数乘法层的思想,能更好权衡任务性能和可训练参数数量。
[0115]
为了公平比较,本发明通过将提取的知识与这些基准模型的原始输入进行连接,改进了这些基线方法。
[0116]
本发明还将kpe与现有的强大常识问答方法进行比较。对于openbookqa数据集,将模型与以下通过gnn模块将知识融入plms的基线模型进行比较:
[0117]
(1)rn;(2)rgcn;(3)gconattn;(4)mhgrn;(5)qa-gnn;(6)gsc;(7)jointlk。
[0118]
为了公平比较,本发明在所有上述基线模型和本发明提供的kpe上使用相同的预训练语言模型(即roberta-large)。
[0119]
对于csqa2数据集,本发明采用unicorn-11b初始模型作为kpe的预训练语言模型,并将kpe与来自官方排行榜的以下参数完全微调模型进行比较:
[0120]
(1)t5-large;(2)unicorn-large;(3)t5-11b;(4)unicorn-11b;(5)gkp+unicorn-11b-ft。
[0121]
在这些基线模型中,gkp+unicorn11b-ft表现最好。它通过手动设计示例(demonstration)来引导gpt3生成知识,并通过提示(prompt)将这些知识融入常识问题回答。
[0122]
表1基于参数高效微调的方法在两个数据集上的性能比较
[0123][0124]
因为csqa2数据集更加困难,本发明在openbookqa数据集上使用具有3.5536亿参数的roberta-large作为plms,而在csqa2数据集上使用具有113.1亿参数的unicorn-11b作为plms。由于使用了不同的基础plms,可训练参数在这两个数据集之间可能有所不同。
[0125]
表1展示了本发明提出的kpe与常见的基于参数高效微调的方法在openbookqa和csqa2数据集上的结果。请注意,为了公平比较,将本发明提取的常识知识与这些基线方法的原始输入连接起来。由于csqa2测试集的注释没有公开,本发明只报告了在验证集上的比较结果。从表1中,可以观察到:
[0126]
(1)kpe在两个数据集上始终优于所有基线方法。与最佳基线方法相比,kpe在csqa2开发集上提升约12.5%,在openbookqa测试集上提升约1.3%。本发明认为kpe受益于设计良好的知识适配器,它具有参数高效性并有效地整合了常识知识。此外,kpe在csqa2数据集上的改进幅度比openbookqa数据集上的改进幅度大得多(+12.5%vs.+1.3%)。原因可能是csqa2数据集中的问题更加困难,更需要利用外部知识。因此,kpe通过有效地整合外部知识,在csqa2数据集上实现了更大的改进。
[0127]
(2)与bottleneck adapter、prefix tuning和mam adapter相比,kpe引入了更少的参数,同时在两个数据集上取得了明显的改进。原因在于知识适配器采用了高效的参数
共享策略,并通过两个知识相关的辅助任务更好地整合了知识。门控和注意机制还帮助适配器专注于改进常识问题回答的有用知识。
[0128]
(3)基线方法compacter和lora虽然引入的参数更少,但性能远低于kpe。由此可见本发明的方法在可训练参数数量和任务性能之间实现了更好的平衡。
[0129]
表2openbookqa上的测试准确率比较
[0130][0131]
表中表示gsc中报告的结果。
[0132]
表3与完全微调方法在csqa2上的性能比较
[0133][0134]
表中表示论文中报告的结果,表示官方排行榜上报告的结果。
[0135]
表2和表3显示了本发明的模型与现有的性能优异的常识问答方法在openbookqa数据集和csqa2数据集上的结果比较。
[0136]
从表2中可以看出,kpe优于所有基于gnn的方法,达到了最佳性能。这证明了kpe通过知识适配器比现有方法更有效地整合知识,提高了常识问答的能力。kpe可以进一步受益于大型语言模型(large language model,llm)的进步,并对参数高效微调研究具有重要价值。
[0137]
为验证kpe模型中每个模块的重要性,本发明将其与以下变体进行比较:
[0138]
(1)kpe-w/o-e:去除与实体相关的知识的kpe变体。
[0139]
(2)kpe-w/o-q:去除与查询相关的知识的kpe变体。
[0140]
(3)kpe-w/o-e&q:去除实体和查询相关知识的kpe变体。
[0141]
相应地,去除了上述三项跨度掩码和关系辨别任务。
[0142]
(4)kpe-w/o-s:去除跨度掩码任务的kpe变体。
[0143]
(5)kpe-w/o-r:去除关系辨别任务的kpe变体。
[0144]
(6)kpe-w/o-s&r:去除跨度掩码和关系辨别任务的kpe变体。
[0145]
(7)kpe-w/o-a:将知识适配器中的自注意机制替换为常规非线性函数的kpe变体。
[0146]
(8)kpe-w/o-g:将知识适配器中的可学习门控函数替换为直接连接的kpe变体。
[0147]
表4在openbookqa and csqa2数据集上的消融实验结果
[0148][0149]
表4显示了消融实验的结果。可以得出以下结论:
[0150]
(1)在两个数据集上,移除与查询相关的知识导致的性能下降比移除与实体相关的知识更大。这表明查询相关的知识对于常识问题回答的重要性。当同时移除实体和查询相关的知识时,性能发生大幅下降(在openbookqa和csqa2上分别下降了-2.8%和-5.05%)。
[0151]
(2)禁用任何知识相关的辅助任务都会导致性能下降,这表明这两个任务使适配器能够更好地捕捉和模拟知识,从而改善常识问答能力。
[0152]
(3)kpe在两个数据集上始终优于kpe-w/o-g和kpe-w/o-a,这验证了门控和自注意机制有助于知识的整合。
[0153]
为了探索适配器中下采样r对模型性能的影响,本发明将r从16至1024范围内取值,并在两个数据集上观测结果,如图4所示。
[0154]
可以观察到,在两个数据集上,准确率通常随着r从16增长到256时增加并达到最高值,而当r大于256时开始下降。总体而言,kpe在openbookqa和csqa2数据集上的最佳性能出现在r=256。
[0155]
为了直观了解kpe中的外部知识如何帮助改善常识问题回答,本发明将kpe与kpe-w/o-e&q进行比较,并使用openbookqa和csqa2数据集中的两个例子可视化问题选项的分布。
[0156]
如图5(a)所示,对于查询语句“desert environments are generally_(沙漠环境通常是_)”,kpe选择了正确的选项“sweltering(闷热的)”,而kpe-w/o-e&q对错误的选项“arctic like(像极地的)”分配了更高的得分。提取的知识(例如“some plants grow in the hot,dry desert(一些植物在炎热干燥的沙漠中生长)”,“sweltering is related to hot.(闷热和热有关系)”)有助于常识问题回答。此外,从图5(b)中可以观察到,尽管kpe和kpe-w/o-e&q都正确预测了答案,但kpe通过提取的知识对结果的置信度更高。
[0157]
本发明首次提出了一个用于常识问答的知识感知参数高效微调网络,采用参数共享的适配器来为模型融入外部知识。
[0158]
本发明设计的适配器通过两个辅助任务集成实体相关的和查询相关的知识。此外,本发明采用了门控和注意机制,分别用于过滤和融合来自预训练语言模型的查询信息,
使适配器专注于常识知识问答中的相关知识。
[0159]
本发明在两个基准数据集上进行大量实验,实验结果表明kpe模型能够有效地融入外部知识,提升常识问答的性能,且计算成本非常低。
[0160]
以上所述,仅是本技术的几个实施例,并非对本技术做任何形式的限制,虽然本技术以较佳实施例揭示如上,然而并非用以限制本技术,任何熟悉本专业的技术人员,在不脱离本技术技术方案的范围内,利用上述揭示的技术内容做出些许的变动或修饰均等同于等效实施案例,均属于技术方案范围内。
技术特征:
1.一种基于预训练语言模型的常识问答方法,其特征在于,所述方法包括:s1、获取查询答案对;所述查询答案对包括一个查询语句和与所述查询语句对应的多个候选答案中的一个候选答案;s2、从外部知识库中提取所述查询答案对的外部相关知识;s3、将所述查询答案对输入预训练语言模型中,并利用适配器将所述外部相关知识与所述预训练语言模型输出的查询输出特征进行整合,得到整合后特征;s4、根据所述整合后特征计算所述查询答案对的可信度得分,并将可信度得分最高的查询答案对中的候选答案作为所述查询语句的正确答案。2.根据权利要求1所述的方法,其特征在于,所述s2具体包括:s21、识别所述查询答案对的所有实体,并根据所述实体在外部知识库中进行检索,得到外部相关知识中的实体相关知识;s22、根据所述查询答案对在外部知识库中进行检索,得到外部相关知识中的查询相关知识。3.根据权利要求2所述的方法,其特征在于,所述s21具体包括:s211、识别所述查询答案对的所有实体,并将所有所述实体与知识图谱中的三元组进行关联,得到三元组集合;s212、将所述三元组集合中的三元组转化为语句,并将所述语句作为关键字在外部知识库中进行检索,得到多个第一相关知识片段;s213、计算每个第一相关知识片段与所述查询语句的知识相关度得分,并将知识相关度得分前k名的第一相关知识片段作为实体相关知识。4.根据权利要求2所述的方法,其特征在于,所述s22具体包括:s221、将所述查询答案对作为关键字在外部知识库中进行检索,得到多个第二相关知识片段;s222、计算每个第二相关知识片段与所述查询语句的知识相关度得分,并将知识相关度得分前k名的第二相关知识片段作为查询相关知识。5.根据权利要求1所述的方法,其特征在于,所述s3具体包括:s31、将所述查询答案对输入预训练语言模型中,得到查询输出特征;s32、将所述外部相关知识中的一条知识和所述查询输出特征输入适配器中进行l层整合,得到整合后特征和知识输出特征;其中,l为适配器层数;当前适配器层的输入为对应的预训练语言模型层输出的查询输出特征和上一适配器层的知识输出特征。6.根据权利要求5所述的方法,其特征在于,在所述s32之前,所述方法还包括:s33、利用门控函数对所述查询输出特征进行过滤。7.根据权利要求5所述的方法,其特征在于,在所述s32之后,所述方法还包括:s34、利用跨度掩码方法对所述适配器进行参数更新。8.根据权利要求5所述的方法,其特征在于,在所述s32之后,所述方法还包括:s35、利用关系判别方法对所述适配器进行参数更新。9.根据权利要求3所述的方法,其特征在于,在所述s211之后,所述方法还包括:s214、对所述三元组集合中的每个三元组进行评分,并将评分低于预设阈值的三元组从所述三元组集合中删除。
10.一种基于预训练语言模型的常识问答系统,其特征在于,所述系统包括:获取模块,用于获取查询答案对;所述查询答案对包括一个查询语句和与所述查询语句对应的多个候选答案中的一个候选答案;知识提取模块,用于从外部知识库中提取所述查询答案对的外部相关知识;特征整合模块,用于将所述查询答案对输入预训练语言模型中,并利用适配器将所述外部相关知识与所述预训练语言模型输出的查询输出特征进行整合,得到整合后特征;评分模块,根据所述整合后特征计算所述查询答案对的可信度得分,并将可信度得分最高的查询答案对中的候选答案作为所述查询语句的正确答案。
技术总结
本发明公开了一种基于预训练语言模型的常识问答方法及系统,属于常识问答技术领域,能够解决现有模型在常识问答任务上的性能较差,且计算成本较高的问题。所述方法包括:S1、获取查询答案对;查询答案对包括一个查询语句和与查询语句对应的多个候选答案中的一个候选答案;S2、从外部知识库中提取查询答案对的外部相关知识;S3、将查询答案对输入预训练语言模型中,并利用适配器将外部相关知识与预训练语言模型输出的查询输出特征进行整合,得到整合后特征;S4、根据整合后特征计算查询答案对的可信度得分,并将可信度得分最高的查询答案对中的候选答案作为查询语句的正确答案。本发明用于常识问答。发明用于常识问答。发明用于常识问答。
技术研发人员:胡琳梅 赵紫望 戚伟健
受保护的技术使用者:北京理工大学
技术研发日:2023.07.12
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/