一种基于难负例的增强检索问答性能的方法及系统技术方案

技术编号:37710064 阅读:11 留言:0更新日期:2023-06-02 00:01
本发明专利技术涉及一种基于难负例的增强检索问答性能的方法及系统,其方法包括:S1:对问题和答案的文本进行预处理,得到输入文本序列X

【技术实现步骤摘要】
一种基于难负例的增强检索问答性能的方法及系统


[0001]本专利技术涉及机器问答领域,具体涉及一种基于难负例的增强检索问答性能的方法及系统。

技术介绍

[0002]问答系统,作为自然语言处理的重要应用之一,在近些年来得到了越来越多的关注。在信息时代,互联网上充斥着大量的信息,虽然这使得信息共享和获取变得更为容易,但这也使得快速检索到需要的信息成为了挑战。问答系统作为一种理想的人机交互模式,旨在直接回答用户提出的问题,免去了用户使用搜索引擎时可能面临的虚假信息、广告等的烦恼。如今,随着机器学习和深度学习的发展,问答系统的通用范式由传统的规则型转换为基于预训练模型,如BERT的大型神经网络模型。这些模型在海量的无监督语料上进行了预训练,再通过特定任务的下游数据微调获得更优的性能。这种数据驱动的模型取得优于传统规则驱动方法的效果,而且更灵活,不像规则一样死板。另外,受益于算力的进步与可用数据规模的增加,其性能会更好,因此基于数据驱动的深度学习模型已经成为了问答系统的主要范式。
[0003]根据问答技术的不同,问答系统可以具体地分为生成式问答系统、抽取式问答系统、检索式问答系统。其中,生成式问答系统旨在利用生成模型逐单词地生成答案,存在生成速度慢、可能会生成错误答案以及违反道德法律的风险,抽取式问答系统通过召回文档、抽取答案的两阶段流程寻找答案,包含正确答案的文档可能在召回中缺失,因此这种方法有错误积累的风险,检索式问答系统从已有的答案段落和句子中端到端地检索答案,可控且不存在抽取式问答系统的错误传播问题。但是,在检索式的问答系统中,批内采样得到的负例难度较低、信息缺失,不利于模型性能,而编码额外负例引入了时空成本,成倍地降低训练效率,因此如何在保持训练效率不损失的前提下提升检索问答模型性能,成为一个亟待解决的问题。

技术实现思路

[0004]为了解决上述技术问题,本专利技术提供一种基于难负例的增强检索问答性能的方法及系统。
[0005]本专利技术技术解决方案为:一种基于难负例的增强检索问答性能的方法,包括:
[0006]步骤S1:对问题和答案的文本进行预处理,分别得到问题和答案的输入文本序列X
q
和X
a

[0007]步骤S2:将X
q
和X
a
输入双塔模型,输出X
q
和X
a
中各句子级别的上下文特征矩阵H
q
和H
a

[0008]步骤S3:计算问答对H
q
和H
a
间的非归一化的匹配分数,再进行Softmax操作,得到归一化的概率分布;
[0009]步骤S4:使用批内负例采样策略近似负例集合基于所述归一化的概率分布,使
用交叉熵计算损失函数,用于反向传播;
[0010]步骤S5:基于所述问答对的归一化的概率分布,计算不匹配问答对间的对称难度和非对称难度;
[0011]步骤S6:对训练集进行分组:首先初始化n个组的组心,然后基于所述不匹配问答对的对称难度,计算未分组样本与已有组之间的最大收益双射,为其进行分组,并使得每个组难度最大化,其中,所述组难度为组内所述不匹配问答对的非对称难度的均值;经多次初始化和分组后,将总难度最高的分组结果作为最终分组结果,并从各个组中随机采样,构建训练批;
[0012]步骤S7:在问题和答案嵌入向量中加入对抗扰动,增强训练的稳定性,同时进一步增强批内负例的难度。
[0013]本专利技术与现有技术相比,具有以下优点:
[0014]1、本专利技术公开了一种基于难负例的增强检索问答性能的方法,使用迭代式的线性分配算法将训练集划分为若干个难的组,在此基础上构建难的训练批次,使得模型可以复用批内的难负例编码结果,在不增加训练前向成本的前提下,从批内的难负例训练中受益,保持了训练的高效,同时增强了最终的检索问答性能。
[0015]2、对于低资源场景,如生物医学,由于标注数据只能由该领域的专家完成,标注需要昂贵的人力成本。这种场景下,模型的性能受限于数据集规模,容易出现过拟合问题,且数据集中可用的难负例规模也会更少。在本专利技术中提出了使用快速梯度符号法进行对抗训练,通过对问题和答案的符号嵌入向量施加小的扰动来诱导模型犯错,既可以通过梯度上升法增加批内负例的难度,还可以增强模型的健壮性,避免过拟合。
附图说明
[0016]图1为本专利技术实施例中一种基于难负例的增强检索问答性能的方法的流程图;
[0017]图2为本专利技术实施例中双塔模型架构示意图;
[0018]图3为本专利技术实施例中一种基于难负例的增强检索问答性能的系统的结构框图。
具体实施方式
[0019]本专利技术提供了一种基于难负例的增强检索问答性能的方法,结合了通过批内采样得到的负例的训练高效、不需要额外的前向计算成本的优点和编码额外难负例可以提供更多的信息、训练效果好的优点,在保持训练效率不损失的前提下,提升检索问答模型性能。
[0020]为了使本专利技术的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本专利技术进一步详细说明。
[0021]为了帮助理解本专利技术实施例,首先给出难负例的定义:
[0022]难负例,即难以与正确答案区分的错误答案,对于检索式问答任务来说至关重要。但是传统的难负例需要额外的编码时间和空间成本,例如,如果需要额外使用2个难负例,训练的前向时间和所需的显存会翻倍,当需要使用更多难负例时,问题会变得更加严重,使得训练效率低下。
[0023]实施例一
[0024]如图1所示,本专利技术实施例提供的一种基于难负例的增强检索问答性能的方法,包
括下述步骤:
[0025]步骤S1:对问题和答案的文本进行预处理,分别得到问题和答案的输入文本序列X
q
和X
a

[0026]步骤S2:将X
q
和X
a
输入双塔模型,输出X
q
和X
a
中各句子级别的上下文特征矩阵H
q
和H
a

[0027]步骤S3:计算问答对H
q
和H
a
间的非归一化的匹配分数,再进行Softmax操作,得到归一化的概率分布;
[0028]步骤S4:使用批内负例采样策略近似负例集合基于归一化的概率分布,使用交叉熵计算损失函数,用于反向传播;
[0029]步骤S5:基于问答对的归一化的概率分布,计算不匹配问答对间的对称难度和非对称难度;
[0030]步骤S6:对训练集进行分组:首先初始化n个组的组心,然后基于不匹配问答对的对称难度,计算未分组样本与已有组之间的最大收益双射,为其进行分组,并使得每个组难度最大化,其中,组难度为组内不匹配问答对的非对称难度的均值;经多次初始化和分组后,将总难度最高的分组结果作为最终分组结果,并从本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于难负例的增强检索问答性能的方法,其特征在于,包括:步骤S1:对问题和答案的文本进行预处理,分别得到问题和答案的输入文本序列X
q
和X
a
;步骤S2:将X
q
和X
a
输入双塔模型,输出X
q
和X
a
中各句子级别的上下文特征矩阵H
q
和H
a
;步骤S3:计算问答对H
q
和H
a
间的非归一化的匹配分数,再进行Softmax操作,得到归一化的概率分布;步骤S4:使用批内负例采样策略近似负例集合基于所述归一化的概率分布,使用交叉熵计算损失函数,用于反向传播;步骤S5:基于所述问答对的归一化的概率分布,计算不匹配问答对间的对称难度和非对称难度;步骤S6:对训练集进行分组:首先初始化n个组的组心,然后基于所述不匹配问答对的对称难度,计算未分组样本与已有组之间的最大收益双射,为其进行分组,并使得每个组难度最大化,其中,所述组难度为组内所述不匹配问答对的非对称难度的均值;经多次初始化和分组后,将总难度最高的分组结果作为最终分组结果,并从各个组中随机采样,构建训练批;步骤S7:在问题和答案嵌入向量中加入对抗扰动,增强训练的稳定性,同时进一步增强批内负例的难度。2.根据权利要求1所述的基于难负例的增强检索问答性能的方法,其特征在于,所述步骤S1:对问题和答案的文本进行预处理,分别得到问题和答案的输入文本序列X
q
和X
a
,具体包括:步骤S11:将输入的问题与候选答案文本转换为Unicode编码,对其进行分词处理,得到问题的分词和答案的分词结果:其中,q和a表示单个问题和答案,和分别代表着问题和答案中的第i个单词,l
q
和l
a
分别是问题和答案的文本长度;步骤S12:然后将问题和答案的分词结果与字符[CLS]与[SEP]拼接起来,分别得到问题的输入文本序列X
q
和答案的输入文本序列X
a
::3.根据权利要求2所述的基于难负例的增强检索问答性能的方法,其特征在于,所述步骤S2:将X
q
和X
a
输入双塔模型,输出X
q
和X
a
中各句子级别的上下文特征矩阵H
q
和H
a
,具体包括:步骤S21:将X
q
和X
a
转换为单词的token_id序列,并根据token_id序列的长度,为设置相应长度的位置编码position_id;步骤S22:构建基于BERT的共享参数的双塔模型;将token_id序列和position_id输入所述双塔模型,提取得到单词级别的上下文特征矩阵H
q
和H
a

其中,和和和分别表示问题和答案中pCLS]和[SEP与对应的上下文特征向量,和分别表示问题和答案中第i个单词所对应的上下文特征向量,d为上下文特征向量的维度大小,和分别为问题和答案中所有单词组成的上下文特征矩阵。4.根据权利要求3所述的基于难负例的增强检索问答性能的方法,其特征在于,所述步骤S3:计算问答对H
q
和H
a
间的非归一化的匹配分数,再进行Softmax操作,得到归一化的概率分布,具体包括:步骤S31:对H
q
和H
a
进行聚合操作,分别得到对应的句子级上下文特征向量e
q
和e
a
::其中,是问题的句子级上下文特征向量,是答案文本的句子级上下文特征向量;步骤S32:计算问答对向量间的点积分数,以衡量问答对q,a间的匹配程度:sim(e
q
,e
a
)=e
q
·
e
a
其中,sim(e
q
,e
a
)表示问答对间未归一化的匹配分数;步骤S33:对sim(e
q
,e
a
)进行Softmax操作,得到归一化的概率分布:其中,为负例集合,是所有与问题q不匹配答案的集合。5.根据权利要求4所述的基于难负例的增强检索问答性能的方法,其特征在于,所述步骤S4:使用批内负例采样策略近似负例集合基于所述归一化的概率分布,使用交叉熵计算损失函数,用于反向传播,具体包括:使用批内采样负例的策略,利用构建批的随机性,每次使用批内的负例近似得到条件概率来构建损失函数使得批内随机负例近似使得批内随机负例近似其中,B代表训练批的大小,分别代表批内的第i个问题的句子级上下文特征向量和第j个答案的句子级上下文特征向量。6.根据权利要求5所述的基于难负例的增强检索问答性能的方法,其特征在于,所述步
骤S5:基于所述问答对的归一化的概率分布,计算不匹配问答对间的对称难度和非对称难度,具体包括:定义不匹配问答对q,a间的非对称难度如下:diff(i,j)=p(a
j
|q<...

【专利技术属性】
技术研发人员:荣文戈赵博白骏欧阳元新熊璋
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1