1.本发明涉及人工智能技术,特别是涉及一种文本问答模型的训练方法和装置及文本问答方法。
背景技术:2.文本问答(text-based question answering)也可以称为机器阅读理解(machine reading comprehension),具体为:给定一段或多段文本段落,要求机器阅读段落内容,并根据段落内容回答相应的问题。
3.目前,针对文本问答任务,通常是基于端到端的方式构建文本问答模型,即将段落和问题等给定的信息输入模型处理,直接得到该问题的答案。在进行模型训练时,以答案作为监督信号来指导整个模型的训练。
4.发明人在实现本发明的过程中发现:上述现有文本问答方案存在答案准确性差和不可解释的问题。通过研究分析发现,这些问题存在的具体原因如下:
5.在现有文本问答方案中,在利用文本问答模型进行答案生成时,先是将文本段落、问题以及候选答案串联成一个序列输入编码器进行编码,然后将编码后得到的分布式表示输入一个决策模块进行处理,得到最终的答案。具体地,对于“是/否”类问题(即答案为是或否的问题),决策模块一般是一个二元分类器,预测类别为0时表示答案为否,预测类别为1时表示答案为是。对于多项选择类问题(即候选答案为多个选项的问题),决策模块是一个简单的非线性层,每个选项的表示都可以通过决策模块映射为一个得分,最终模型选择得分最高的选项为最终答案。在上述文本问答模型的训练过程中,仅是以答案作为监督信号,这样用于模型训练的监督信号只是一个简单的类别信息。由于监督信号的信息过于简单,使得模型通过训练无法同时学习到对文本内容的语义理解能力以及基于对文本内容的理解对问题答案进行逻辑推理的能力,通过训练,模型往往学习到的是问题或文本段落本身的一些特征,而无法准确学习到问题与文本内容之间的关联性,即对于相同文本段落针对不同问题往往给出相同的答案,因此,现有的直接在这种数据上采用端到端的方法进行建模,非常容易引入数据集的偏置,从而降低答案的准确性。并且,模型预测的答案只是一个简单的类别,无法提供得出相应答案的依据,导致无法获知得出答案的原因,从而存在答案不可解释的问题。
技术实现要素:6.有鉴于此,本发明的主要目的在于提供一种文本问答模型的训练方法和装置及文本问答方法,可以提高答案的准确性,且具有可解释性。
7.为了达到上述目的,本发明实施例提出的技术方案为:
8.一种文本问答模型的训练方法,包括:
9.获取样本数据集合;所述样本数据集合包括主任务的样本数据和辅任务的样本数据,所述主任务的样本数据包括文本、问题和答案,所述辅任务的样本数据包括文本、问题
和答案证据;
10.基于所述样本数据集合中的每个样本数据,利用文本问答模型,执行相应任务,并利用任务执行结果,对所述文本问答模型的参数进行优化调整;其中,当所述样本数据为主任务的样本数据时,利用所述文本问答模型,采用答案证据感知方式,对所述样本数据中的问题进行答案预测;当所述样本数据为辅任务的样本数据时,利用所述文本问答模型,对所述样本数据中的问题进行答案证据预测。
11.本发明实施例还提出一种文本问答方法,包括:
12.获取目标文本和目标问题;
13.基于所述目标文本和目标问题,利用文本问答模型,对所述目标问题进行答案证据的预测和答案预测,并输出所述预测的结果;其中,所述文本问答模型基于上述训练方法得到。
14.本发明实施例还提出一种文本问答模型的训练设备,包括处理器和存储器;所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如上所述文本问答模型的训练方法。
15.综上所述,本发明实施例提出的上述技术方案,基于两种任务的样本数据,即用于对问题的答案进行预测的主任务和用于对问题答案的证据进行预测的辅任务,对文本问答模型进行训练,并且采用答案证据感知方式,对所述样本数据中的问题进行答案预测,这样,用于模型训练的监督信号不再仅是简单地用于表征答案正确与否的类别信号,还包括答案证据相关信号。如此,一方面可以使得文本问答模型能够学习到对文本内容的语义理解能力,以及基于对文本内容的理解对问题答案进行逻辑推理的能力,从而可以提高文本问答模型对问题答案的预测能力;另一方面,还可以在利用训练好的文本问答模型基于目标文本对目标问题进行答案预测时,可以提供目标文本中用于预测答案的证据,从而使得预测的答案具有可解释性。
附图说明
16.图1为本发明实施例的文本问答模型的训练方法流程示意图;
17.图2为本发明实施例的文本问答方法流程示意图。
具体实施方式
18.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
19.图1为本发明实施例的文本问答模型的训练方法流程示意图,如图1所示,该实施例实现的文本问答模型的训练方法,主要包括:
20.步骤101、获取样本数据集合;所述样本数据集合包括主任务的样本数据和辅任务的样本数据,所述主任务的样本数据包括文本、问题和答案,所述辅任务的样本数据包括文本、问题和答案证据。
21.本步骤中,与现有方案不同的是,需要获取两种任务的样本数据,即,主任务的样本数据和辅任务的样本数据。其中,主任务用于对问题的答案进行预测,辅任务用于对问题答案的证据(本文称为答案证据)进行预测,即从文本中提取出用于推理出问题答案的文本
片段。这样,后续在基于样本数据进行训练时,不仅能够训练文本问答模型对问题答案的预测能力,还能够训练文本问答模型对答案证据的预测能力,使得答案预测具有可解释性。
22.一种实施方式中,所述样本数据中的问题可以为是否类问题,也可以为多项选择类问题。
23.步骤102、基于所述样本数据集合中的每个样本数据,利用文本问答模型,执行相应任务,并利用任务执行结果,对所述文本问答模型的参数进行优化调整;其中,当所述样本数据为主任务的样本数据时,利用所述文本问答模型,采用答案证据感知方式,对所述样本数据中的问题进行答案预测;当所述样本数据为辅任务的样本数据时,利用所述文本问答模型,对所述样本数据中的问题进行答案证据预测。
24.本步骤,用于基于所获取的两种任务的样本数据,对文本问答模型进行训练。这里需要说明的是,在基于主任务的样本数据,对文本问答模型进行训练时,需要采用答案证据感知方式,来对所述样本数据中的问题进行答案预测,如此,可以使得文本问答模型能够学习到对文本内容的语义理解能力,以及基于对文本内容的理解对问题答案进行逻辑推理的能力,避免引入数据集的偏置,从而可以提高文本问答模型对问题答案进行准确预测的能力。
25.一种实施方式中,当所述样本数据为主任务的样本数据时,具体可以采用下述步骤a1~a2,利用所述文本问答模型,执行相应任务:
26.步骤a1、基于所述样本数据,按照问题类型构建文本问答序列,得到文本问答序列。
27.一种实施方式中,具体可以采用下述方法区分不同问题类型(即是否类问题和多项选择类问题),来构建文本问答序列:
28.如果所述样本数据中的问题为是否类问题,则将所述样本数据中的文本和问题串联,得到文本问答序列。
29.例如,假设样本数据中的文本为一个长为l的序列问题为一个长度为k的序列
30.对于“是/否”类任务,其输入是文本和问题串联后的序列:
[0031][0032]
其中,[cls]是一个特殊字符,表示序列的起始位置;[sep]是一个分隔符,用于分割不同的输入项。由于输入序列包括文本、问题和三个特殊字符,故,文本问答序列长度为m=l+k+3。
[0033]
如果所述样本数据中的问题为是多项选择类问题,则对于所述样本数据中的每个候选答案,基于该候选答案,将所述样本数据中的问题转换为相应的是否类问题,并将所述样本数据中的文本和所述转换得到的问题串联,得到该候选答案对应的文本问答序列。
[0034]
需要说明的是,对于多项选择类问题可以看作是特别的是否类问题,即分别判断每个候选答案是否是正确的。因此,这里需要将多项选择类问题的任务转化为是否类问题的任务形式。对于每个候选答案c,可以通过按照预设的转换规则,将问题中的原有疑问词替换为该候选答案,并引入“是否”,“吗”等疑问词,将原问题转化为一个是否类问题。例如,对于问题“北京邮电大学隶属于哪里”,候选答案集合:{邮电部,教育部},可以转化为两个
是否类问题:“北京邮电大学现在隶属于邮电部吗?”和“北京邮电大学现在隶属于教育部吗?”。对于每个新问题,都可以和文本串联成一个输入文本问答序列i,后续步骤中将每个文本问答序列输入文本问答模型处理后,模型会给出“是”或“否”的答案。
[0035]
步骤a2、对于每个所述文本问答序列,将该文本问答序列输入文本问答模型,进行答案证据的预测并基于答案证据的预测结果进行相应答案的预测。
[0036]
本步骤中,在进行答案预测之前,需要先对问题答案的证据进行预测,然后再基于答案证据的预测结果进行相应答案的预测,以使得文本问答模型能够学习到对文本内容的语义理解能力,以及基于对文本内容的理解对问题答案进行逻辑推理的能力,
[0037]
一种实施方式中,具体可以采用下述步骤a21~a25进行答案证据的预测,并基于答案证据的预测结果进行相应答案的预测:
[0038]
步骤a21、利用编码器,对所述文本问答序列编码,并从编码结果中抽取相应文本的编码表示。
[0039]
这里需要说明的是,文本问答序列中包含了文本和问题,这样,对文本问答序列编码时,问题的信息也会被编码到文本里,使得文本的编码表示里也包含了问题的信息。
[0040]
具体地,可以采用现有的基于双向transformer编码器的预训练bert模型,实现对文本问答序列的编码。即,将文本问答序列i输入bert模型中,得到编码后的表示h:
[0041]
h=bert(i)
[0042]
bert(
·
)函数的具体实现同现有方案,文本问答模型直接调用已有的bert接口即可。基于上文中的文本问答序列表示:可。基于上文中的文本问答序列表示:h是一个m
×
d维度的矩阵,d是bert的隐藏层大小。h中每一行表示对应位置单词的表示,具体可以写为:
[0043][0044]
其中,是文本问答序列中文本部分的编码,可以用h
p
∈l
×
d来表示。
[0045]
步骤a22、基于所述文本的编码表示,对答案证据在所述文本中的起点和终点,进行预测,得到相应的起点概率分布和终点概率分布。
[0046]
一种实施方式中,可以将上述步骤a21中得到的文本表示h
p
,分别输入两个单层感知器(起点感知器和终点感知器),来预测答案证据在文本中的起止位置概率。具体如下:
[0047]
αs=softmax(h
p
·ws
+bs)
[0048]
αe=softmax(h
p
·
we+be)
[0049]
其中,αs为起点概率分布,αe为终点概率分布,ws为起点感知器的权重参数,ws∈rd,bs为起点感知器的偏置参数,bs∈r;we为终点感知器的权重参数,ws∈rd,be为终点感知器的偏置参数,be∈r;这些参数都是可训练的参数。
[0050]
步骤a23、将所述起点概率分布作为权重分布,对所述文本的编码表示,进行加权求和,得到证据起点感知的文本表示;将所述终点概率分布作为权重分布,对所述文本的编码表示,进行加权求和,得到证据终点感知的文本表示。
[0051]
本步骤,用于利用上一步骤得到的起点概率分布和终点概率分布,分别对文本的编码表示进行加权处理,这样,加权处理后的文本表示能够反映出文本中每个单词作为证据的重要程度,即能够反映出文本内容与答案之间的关联性,如此,模型基于加权处理后的
文本表示进行答案预测,可以使得模型能够学习到对文本内容的语义理解能力,以及基于对文本内容的理解对问题答案进行逻辑推理的能力,从而可以提高答案预测的准确性。具体可以按照下述公式,分别得到证据起点感知的文本表示和证据终点感知的文本表示:
[0052]hs
=αs·hp
[0053]
he=αe·hp
[0054]
其中,hs为证据起点感知的文本表示,he为证据终点感知的文本表示。
[0055]
步骤a24、对所述证据起点感知的文本表示和所述证据终点感知的文本表示,进行融合,得到证据感知的文本表示。
[0056]
一种实施方式中,具体可以采用下述几种方法,对所述证据起点感知的文本表示和所述证据终点感知的文本表示,进行融合:
[0057]
方法一、将所述证据起点感知的文本表示hs和所述证据终点感知的文本表示he串联,即按照h
p
=[hs;he],得到所述证据感知的文本表示h
p
。
[0058]
方法二、采用平均计算方式,即按照得到所述证据感知的文本表示h
p
。
[0059]
方法三、采用最大值计算方式,即按照h
p
=max(hs,he),得到所述证据感知的文本表示h
p
;所述max(,)表示求最大值的函数,即将hs和he中相同位置的元素取最大值,得到向量h
p
。
[0060]
步骤a25、基于所述证据感知的文本表示,对所述问题答案进行预测。
[0061]
一种实施方式中,具体可以使用一个二元的分类器,进行答案预测,该分类器定义如下:
[0062]
pc=softmax(w
·hp
+b)
[0063]
其中,w是分类器的权重参数和b是分类器的偏置参数,它们都是可训练的参数,b∈r2。当使用串联门控机制时,w的维度为2d
×
2,当使用平均或最大值门控机制时,w的维度为d
×
2。
[0064]
一种实施方式中,当所述样本数据为辅任务的样本数据时,具体可以采用下述步骤b1~b2,利用所述文本问答模型,执行相应任务:
[0065]
步骤b1、基于所述样本数据,按照问题类型构建文本问答序列,得到文本问答序列。
[0066]
本步骤具体实现同步骤a1,在此不再赘述。
[0067]
步骤b2、对于每个所述文本问答序列,将该文本问答序列输入文本问答模型,进行答案证据的预测。
[0068]
一种实施方式中,具体可以采用下述方法进行答案证据的预测:
[0069]
步骤b21、利用编码器,对所述文本问答序列编码,并从编码结果中抽取相应文本的编码表示。
[0070]
本步骤具体实现同步骤a21,在此不再赘述。
[0071]
步骤b22、基于所述文本的编码表示,对答案证据在所述文本中的起点和终点,进行预测,得到相应的起点概率分布和终点概率分布。
[0072]
本步骤具体实现同步骤a22,在此不再赘述。
[0073]
步骤b23、从所述起点概率分布中,选择最大概率所在位置,作为答案证据的起点;从所述终点概率分布中,选择最大概率所在位置,作为答案证据的终点;将所述起点和所述终点范围内的文本片段,作为所述答案证据。
[0074]
本步骤中,直接使用起止位置联合概率最高的片段为最终的答案证据。
[0075]
步骤102中,利用任务执行结果(预测的答案或证据),对所述文本问答模型的参数进行优化调整的具体方法为本领域技术人员所掌握。即基于预测得到的答案或证据,以及样本数据中的答案或证据,可以计算任务的损失函数值,基于损失函数值,对文本问答模型的模型参数进行优化。损失函数具体可以为交叉熵。
[0076]
基于上述模型训练方法实施例,本发明实施例还提供了一种文本问答方法,如图2所示,该方法包括:
[0077]
步骤201、获取目标文本和目标问题。
[0078]
步骤202、基于所述目标文本和目标问题,利用文本问答模型,对所述目标问题进行答案证据的预测和答案预测,并输出所述预测的结果。
[0079]
其中,所述文本问答模型预先基于上述文本问答模型的训练方法实施例训练得到。
[0080]
一种实施方式中,具体在输出预测的答案证据时,可以采用突出标识的方式,在目标文本中标识出预测的答案证据。
[0081]
基于上述训练方法实施例,本发明实施例还提供了一种文本问答模型的训练设备,包括处理器和存储器;所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如上所述文本问答模型的训练方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述文本问答模型的训练方法实施方式中任一实施方式的功能。
[0082]
其中,存储器具体可以实施为电可擦可编程只读存储器(eeprom)、快闪存储器(flash memory)、可编程程序只读存储器(prom)等多种存储介质。处理器可以实施为包括一或多个中央处理器或一或多个现场可编程门阵列,其中现场可编程门阵列集成一或多个中央处理器核。具体地,中央处理器或中央处理器核可以实施为cpu或mcu。
[0083]
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
[0084]
各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如fpga或asic)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理
器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
[0085]
在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中的只示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”并不表示将本发明相关部分的数量限制为“仅此一个”,并且“一个”不表示排除本发明相关部分的数量“多于一个”的情形。在本文中,“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等仅用于表示相关部分之间的相对位置关系,而非限定这些相关部分的绝对位置。
[0086]
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:1.一种文本问答模型的训练方法,其特征在于,包括:获取样本数据集合;所述样本数据集合包括主任务的样本数据和辅任务的样本数据,所述主任务的样本数据包括文本、问题和答案,所述辅任务的样本数据包括文本、问题和答案证据;基于所述样本数据集合中的每个样本数据,利用文本问答模型,执行相应任务,并利用任务执行结果,对所述文本问答模型的参数进行优化调整;其中,当所述样本数据为主任务的样本数据时,利用所述文本问答模型,采用答案证据感知方式,对所述样本数据中的问题进行答案预测;当所述样本数据为辅任务的样本数据时,利用所述文本问答模型,对所述样本数据中的问题进行答案证据预测。2.根据权利要求1所述的方法,其特征在于,所述样本数据中的问题为是否类问题或多项选择类问题。3.根据权利要求1所述的方法,其特征在于,当所述样本数据为主任务的样本数据时,利用所述文本问答模型,执行相应任务包括:基于所述样本数据,按照问题类型构建文本问答序列,得到文本问答序列;对于每个所述文本问答序列,将该文本问答序列输入文本问答模型,进行答案证据的预测并基于答案证据的预测结果进行相应答案的预测。4.根据权利要求1所述的方法,其特征在于,当所述样本数据为辅任务的样本数据时,利用所述文本问答模型,执行相应任务包括:基于所述样本数据,按照问题类型构建文本问答序列,得到文本问答序列;对于每个所述文本问答序列,将该文本问答序列输入文本问答模型,进行答案证据的预测。5.根据权利要求3或4所述的方法,其特征在于,所述按照问题类型构建文本问答序列包括:如果所述样本数据中的问题为是否类问题,则将所述样本数据中的文本和问题串联,得到文本问答序列;如果所述样本数据中的问题为是多项选择类问题,则对于所述样本数据中的每个候选答案,基于该候选答案,将所述样本数据中的问题转换为相应的是否类问题,并将所述样本数据中的文本和所述转换得到的问题串联,得到该候选答案对应的文本问答序列。6.根据权利要求3所述的方法,其特征在于,所述进行答案证据的预测并基于答案证据的预测结果进行相应答案的预测包括:利用编码器,对所述文本问答序列编码,并从编码结果中抽取相应文本的编码表示;基于所述文本的编码表示,对答案证据在所述文本中的起点和终点,进行预测,得到相应的起点概率分布和终点概率分布;将所述起点概率分布作为权重分布,对所述文本的编码表示,进行加权求和,得到证据起点感知的文本表示;将所述终点概率分布作为权重分布,对所述文本的编码表示,进行加权求和,得到证据终点感知的文本表示;对所述证据起点感知的文本表示和所述证据终点感知的文本表示,进行融合,得到证据感知的文本表示;基于所述证据感知的文本表示,对所述问题答案进行预测。
7.根据权利要求6所述的方法,其特征在于,所述进行融合为:将所述证据起点感知的文本表示h
s
和所述证据终点感知的文本表示h
e
串联,得到所述证据感知的文本表示h
p
;或者,按照得到所述证据感知的文本表示h
p
;或者,按照h
p
=max(h
s
,h
e
),得到所述证据感知的文本表示h
p
;所述max(,)表示求最大值的函数。8.根据权利要求4所述的方法,其特征在于,所述进行答案证据的预测包括:利用编码器,对所述文本问答序列编码,并从编码结果中抽取相应文本的编码表示;基于所述文本的编码表示,对答案证据在所述文本中的起点和终点,进行预测,得到相应的起点概率分布和终点概率分布;从所述起点概率分布中,选择最大概率所在位置,作为答案证据的起点;从所述终点概率分布中,选择最大概率所在位置,作为答案证据的终点;将所述起点和所述终点范围内的文本片段,作为所述答案证据。9.一种文本问答方法,其特征在于,包括:获取目标文本和目标问题;基于所述目标文本和目标问题,利用文本问答模型,对所述目标问题进行答案证据的预测和答案预测,并输出所述预测的结果;其中,所述文本问答模型基于权利要求1至8所述的任一训练方法得到。10.一种文本问答模型的训练设备,其特征在于,包括处理器和存储器;所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如权利要求1至8中任一项所述文本问答模型的训练方法。
技术总结本申请公开了一种文本问答模型的训练方法和装置及文本问答方法,其中训练方法包括:获取样本数据集合;样本数据集合包括主任务的样本数据和辅任务的样本数据,主任务的样本数据包括文本、问题和答案,辅任务的样本数据包括文本、问题和答案证据;基于每个样本数据,利用文本问答模型,执行相应任务,并利用任务执行结果,对所述文本问答模型的参数进行优化调整;其中,当样本数据为主任务的样本数据时,利用文本问答模型,采用答案证据感知方式,对样本数据中的问题进行答案预测;当样本数据为辅任务的样本数据时,利用文本问答模型,对样本数据中的问题进行答案证据预测。采用本申请,可以提高答案预测的准确性,且具有可解释性。且具有可解释性。且具有可解释性。
技术研发人员:白子薇 王小捷 袁彩霞
受保护的技术使用者:北京邮电大学
技术研发日:2022.03.28
技术公布日:2022/7/5