一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种答案抽取模型的训练方法及装置与流程

2022-02-24 18:25:13 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种答案抽取模型的训练方法及装置、计算设备和计算机可读存储介质。


背景技术:

2.随着互联网的高速发展,越来越多的信息以电子文本的形式呈现给用户。为了帮助用户在海量信息中快速找到所需要的信息,提出了信息抽取的概念。信息抽取是指从自然语言文本中抽取事实信息,并且以结构化的形式描述信息;而机器阅读理解是致力于教会机器阅读人类的语言并理解其内涵的研究,机器阅读理解任务更注重于对于篇章文本的理解,机器必须自己从篇章中学习到相关信息,而不是利用预设好的世界知识、常识来回答问题。
3.目前,训练机器去阅读理解人类语言的方法,重要的一种实现方式就是通过建立机器阅读理解模型,进一步通过对建立的机器阅读理解模型进行训练来获得想要的机器阅读理解模型,从而在训练获得的机器阅读理解模型的基础上在文本片段中找出问题的答案。但目前的机器阅读理解模型训练过程中,针对中文答案抽取任务,无法生成与某些论元类型匹配的查询问题;另外,模型训练过程中考虑的损失不够充分,无法充分反映预测答案的损失,训练获得的模型泛化性能低,生成的预测答案准确率较低。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种答案抽取模型的训练方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
5.根据本技术实施例的第一方面,提供了一种答案抽取模型的训练方法,包括:
6.从原始语料中确定样本文本,并在预先构建的问题集中筛选与所述样本文本相关联的至少一个待查询问题以及对应的答案标签;
7.将任意一个所述待查询问题与所述样本文本输入预训练的答案抽取模型,确定所述待查询问题的答案抽取结果;
8.基于所述答案抽取结果以及所述答案标签生成所述答案抽取模型的目标损失值,并基于所述目标损失值对所述答案抽取模型进行优化,获得目标答案抽取模型。
9.可选的,所述问题集通过以下方式进行构建:
10.从所述原始语料中提取文本的事件类型标签以及答案类型标签;
11.将所述事件类型标签与所述答案类型标签进行整合,生成问题标签;
12.根据所述问题标签中包含的答案类型标签所属类别生成与所述问题标签匹配的查询问题,并基于所述查询问题构建问题集。
13.可选的,所述根据所述问题标签中包含的答案类型标签所属类别生成与所述问题标签匹配的查询问题,包括:
14.若所述问题标签中包含的答案类型标签为第一类别,则获取预定义的问题模板,
并基于所述问题标签和所述问题模板构建与所述问题标签匹配的查询问题;
15.若所述问题标签中包含的答案类型标签为第二类别,则对所述原始语料中与所述第二类别的答案类型标签相关的事件句进行统计分析,根据分析结果构建与所述问题标签匹配的查询问题。
16.可选的,所述将任意一个所述待查询问题与所述样本文本输入预训练的答案抽取模型,确定所述待查询问题的答案抽取结果,包括:
17.将任意一个所述待查询问题与所述样本文本作为输入集输入所述答案抽取模型,所述答案抽取模型的向量编码模块对所述输入集中每个词单元对应的字向量、文本向量以及位置向量加和,生成所述每个词单元对应的编码向量;
18.基于所述编码向量计算所述每个词单元作为所述待查询问题对应的预测答案的起始位置以及结束位置的概率分布;
19.根据所述起始位置以及结束位置的概率分布,确定所述待查询问题对应的答案抽取结果。
20.可选的,所述根据所述起始位置以及结束位置的概率分布,确定所述待查询问题对应的答案抽取结果,包括:
21.将所述起始位置的概率分布中概率最大的词单元在所述样本文本中的位置作为所述答案的起始位置;
22.将所述结束位置的概率分布中概率最大的词单元在所述样本文本中的位置作为所述答案的结束位置;以及,
23.将所述起始位置以及结束位置之间的词单元作为所述答案抽取结果。
24.可选的,所述基于所述答案抽取结果以及所述答案标签生成所述答案抽取模型的目标损失值,包括:
25.基于所述起始位置的概率分布以及所述答案标签中目标起始位置的概率确定所述答案抽取结果在所述样本文本中起始位置的起始位置损失;
26.基于所述结束位置的概率分布以及所述答案标签中目标结束位置的概率确定所述答案抽取结果在所述样本文本中结束位置的结束位置损失;
27.基于所述起始位置以及所述结束位置确定所述答案抽取结果的长度损失;
28.基于所述起始位置损失、所述结束位置损失和所述长度损失,计算所述目标损失值。
29.可选的,所述基于所述起始位置损失、所述结束位置损失和所述长度损失,计算所述目标损失值,包括:
30.计算所述起始位置损失、所述结尾位置损失和所述长度损失三者的加权和,作为所述目标损失值。
31.可选的,所述向量编码模块包括嵌入层和n个堆栈层;
32.相应的,所述生成所述每个词单元对应的编码向量,包括:
33.s11、将所述待查询问题与所述样本文本作为输入集输入至所述嵌入层,得到对应的输入向量;
34.s12、将所述输入向量输入至第1个堆栈层,得到第1个堆栈层的输出向量;
35.s13、将第i个堆栈层的输出向量输入至第i 1个堆栈层,得到第i 1个堆栈层的输
出向量,其中,i∈[1,n],且i从1开始取值;
[0036]
s14、判断i是否等于n-1,若是,执行步骤s15,若否,执行步骤s13;
[0037]
s15、将第n个堆栈层的输出向量作为所述输入集中每个词单元的编码向量输出。
[0038]
根据本技术实施例的第二方面,提供了一种答案抽取模型的训练装置,包括:
[0039]
筛选模块,被配置为从原始语料中确定样本文本,并在预先构建的问题集中筛选与所述样本文本相关联的至少一个待查询问题以及对应的答案标签;
[0040]
确定模块,被配置为将任意一个所述待查询问题与所述样本文本输入预训练的答案抽取模型,确定所述待查询问题的答案抽取结果;
[0041]
计算模块,被配置为基于所述答案抽取结果以及所述答案标签生成所述答案抽取模型的目标损失值,并基于所述目标损失值对所述答案抽取模型进行优化,获得目标答案抽取模型。
[0042]
根据本技术实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述答案抽取模型的训练方法的步骤。
[0043]
根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述答案抽取模型的训练方法的步骤。
[0044]
本技术实施例中,确定样本文本后,通过在预先构建的问题集中筛选与样本文本关联的待查询问题以及对应的答案标签,并将所述待查询问题以及样本文本输入答案抽取模型进行模型训练,有利于提升所述答案抽取模型训练结果的准确性,提升模型训练的效率;另外,通过计算模型输出的答案抽取结果与答案标签之间的目标损失值,基于所述目标损失值对答案抽取模型进行优化,有利于提升所述答案抽取模型的泛化性能。
附图说明
[0045]
图1是本技术实施例提供的计算设备的结构框图;
[0046]
图2是本技术实施例提供的答案抽取模型的训练方法的流程图;
[0047]
图3是本技术实施例提供的一种bert模型的架构示意图;
[0048]
图4是本技术实施例提供的编码向量的生成过程的流程图;
[0049]
图5是本技术实施例提供的嵌入层的输入向量的生成示意图;
[0050]
图6是本技术实施例提供的答案抽取模型的训练方法的示意图;
[0051]
图7是本技术实施例提供的答案抽取模型的训练装置的结构示意图。
具体实施方式
[0052]
在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
[0053]
在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多
个相关联的列出项目的任何或所有可能组合。
[0054]
应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
[0055]
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
[0056]
事件抽取:根据事件发生的类型,提取出引起事件发生的触发词以及参与该事件的论元角色和其所属事件类型等信息。
[0057]
hard-loss:更难的损失。这里指三元组损失,训练时,通过给定一个anchor,一个正样本和一个负样本组成三元组,另外设置一个边界参数,使模型努力拉近正样本对间距离,同时推开负样本对间距离。
[0058]
mrc:机器阅读理解。该任务的目标,是通过一个给定的问题,从文章中提取出答案的范围。
[0059]
词单元(token):对输入文本做任何实际处理前,都需要将其分割成诸如词、标点符号、数字或字母等语言单元,这些单元被称为词单元。对于英文文本,词单元可以是一个单词、一个标点符号、一个数字等,对于中文文本,最小的词单元可以是一个词语、一个字、一个标点符号、一个数字等。
[0060]
bert模型:一种双向注意力神经网络模型。bert模型可以通过左、右两侧上下文来预测当前词和通过当前句子预测下一个句子。bert模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的文本的语义表示,然后将文本的语义表示在特定nlp任务中作微调,最终应用于该nlp任务。
[0061]
序列标注:简单来说,就是给定一个序列,使用相关模型对序列中的每个元素做一个标记,可为实体标注、词性标注等。
[0062]
ce:交叉熵损失函数。常用于分类问题中,使用预测的概率向量与真实标签向量的加权和,经过反向传播减少损失,使其趋向于真实标签。
[0063]
在本技术中,提供了一种答案抽取模型的训练方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
[0064]
图1示出了根据本技术一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
[0065]
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
[0066]
在本技术的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部
件。
[0067]
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
[0068]
其中,处理器120可以执行图2所示答案抽取模型的训练方法中的步骤。图2示出了根据本技术一实施例的答案抽取模型的训练方法的流程图,包括步骤202至步骤206。
[0069]
步骤202,从原始语料中确定样本文本,并在预先构建的问题集中筛选与所述样本文本相关联的至少一个待查询问题以及对应的答案标签。
[0070]
目前,对于事件抽取任务,其中一种处理方式为将其分为触发词抽取和论元抽取两个子任务进行处理,触发词抽取多应用序列标注去得到触发词的实体标签,但这种处理方式对论元实体重叠情况不适用。
[0071]
基于此,本说明书实施例提供的一种答案抽取模型的训练方法,将答案抽取任务作为mrc任务处理,从原始语料中确定样本文本,并在预先构建的问题集中筛选与所述样本文本相关联的至少一个待查询问题以及对应的答案标签,将任意一个所述待查询问题与所述样本文本输入预训练的答案抽取模型,确定所述待查询问题的答案抽取结果,基于所述答案抽取结果以及所述答案标签生成所述答案抽取模型的目标损失值,并基于所述目标损失值对所述答案抽取模型进行优化,获得目标答案抽取模型。
[0072]
具体的,本说明书实施例的答案抽取模型由向量编码模块(bert模型)、起始索引预测模型以及结束索引预测模型构成,其中,bert模型的架构示意图如图3所示,包括12个堆栈层,该12个堆栈层依次连接。每个堆栈层中还包括:自注意力层、第一规范层、前馈层以及第二规范层。将文章和问题构成的文本作为输入集输入至嵌入层,得到文本向量,然后将文本向量输入至第1个堆栈层,将第1个堆栈层的输出向量输入至第2个堆栈层
……
依次类推,最终得到最后一个堆栈层的输出向量。将最后一个堆栈层的输出向量作为每个词单元的表示向量输入至前馈层进行处理,得到输入集的编码向量。
[0073]
实际应用中,获取的原始语料中包含很多文本,并且所述文本为包含有一定信息内容的书面文本,其可以是一句话、一段文字、多段文字、一篇文章或多篇文章等各种篇幅的文本,本技术对此不做限制。
[0074]
具体实施时,所述问题集的构建具体可通过以下方式实现:
[0075]
从所述原始语料中提取文本的事件类型标签以及答案类型标签;
[0076]
将所述事件类型标签与所述答案类型标签进行整合,生成问题标签;
[0077]
根据所述问题标签中包含的答案类型标签所属类别生成与所述问题标签匹配的查询问题,并基于所述查询问题构建问题集。
[0078]
具体的,在原始语料的文本中分别提取事件类型标签和论元类型标签,然后对这两种标签进行整合,生成问题标签(实际为遍历和组合的过程),再对每种问题标签构建与其匹配的问题,生成问题集。
[0079]
例如,在原始语料的文本中提取的事件类型标签包括:结婚、晋级和判决;提取的论元类型标签包括:时间和地点;则对这两种类型的标签进行整合,生成的问题标签包括:
晋级-时间、结婚-时间、判决-时间、晋级-地点、结婚-地点以及判决-地点。
[0080]
生成问题标签后,需为问题标签构建使用的mrc问题,实际的mrc问题的构建相当于是对问题标签进行一个描述,有针对性的进行描述就相当于给出一些更多的语义信息,例如,问题标签为:晋级-时间,则为其构建的mrc问题可以是:找出晋级事件发生的时间;
[0081]
但由于问题标签中存在部分标签属于无法给予合适问题的标签,因此,需对问题标签进行分类,并根据分类结果构建与其匹配的mrc问题。
[0082]
具体实施时,根据所述问题标签中包含的答案类型标签所属类别生成与所述问题标签匹配的查询问题,具体可通过以下方式实现:
[0083]
若所述问题标签中包含的答案类型标签为第一类别,则获取预定义的问题模板,并基于所述问题标签和所述问题模板构建与所述问题标签匹配的查询问题;
[0084]
若所述问题标签中包含的答案类型标签为第二类别,则对所述原始语料中与所述第二类别的答案类型标签相关的事件句进行统计分析,根据分析结果构建与所述问题标签匹配的查询问题。
[0085]
具体的,所述第一类别即表示答案类型标签中的论元具有通用性,如事件句中的时间、人物、人数、组织机构等论元都有通用性,及表达含义基本相同,因此,对于包含第一类别的答案类型标签的问题标签,只需在每个问题前增加事件类型的字符串加以区分即可,如:“晋级-时间”以及“结婚-时间”即属于通用性标签,对于通用性标签,可使用问题模板(找出xx事件发生的时间),基于问题模板和问题标签,用代码合成mrc问题即可,因此,“晋级-时间”对应的mrc问题即为:找出晋级事件发生的时间;“结婚-时间”对应的mrc问题即为:找出结婚事件发生的时间。
[0086]
所述第二类别即表示答案类型标签中的论元不具有通用性,例如:涨停-股票,包含第二类别的答案类型标签的问题标签则无法生成合适问题,对于这类标签,可使用事件句统计分析,设置一个较为通用且详细的问题描述;例如:涨停-股票,即在原始语料的文本中查找对于“股票-涨停”这类型的事件,再确定这类型事件的通用性语言描述,对这些通用性语言描述进行分析,确定与其匹配的通用且详细的mrc问题,例如“股票-涨停”,对应的mrc问题即为:找出股票涨停事件中涨停的幅度,包括上涨百分点、停、跌等。
[0087]
通过对问题标签进行分类,并根据分类结果生成与其匹配的mrc问题,从而构建问题集,后期在确定样本文本后,可在问题集中筛选与样本文本关联的待查询问题,并将所述待查询问题以及样本文本输入答案抽取模型进行模型训练,有利于提升所述答案抽取模型训练结果的准确性以及模型训练的效率。
[0088]
步骤204,将任意一个所述待查询问题与所述样本文本输入预训练的答案抽取模型,确定所述待查询问题的答案抽取结果。
[0089]
具体的,构建问题集后,从原始语料中确定样本文本,并在构建的问题集中筛选与所述样本文本相关联的至少一个待查询问题以及对应的答案标签,并将待查询问题和样本文本输入预训练的答案抽取模型,以获取待查询问题对应的答案抽取结果。
[0090]
实际应用中,首先从原始语料中选择一句话或一段样本文本作为给定的事件序列,然后根据事件序列中的实体确定待查询问题,本说明书实施例中,所述待查询问题为要求回答的题目,并且待查询问题可以是与样本文本中的信息内容相关联的问题。
[0091]
例如,若给定的事件序列为“张三去北京”,序列长度n为5,该事件序列中的实体即
为“张三”和“北京”,则可根据这两个实体确定待查询问题可以是“去哪?”和“事件中的人物是谁?”,其对应的答案分别是“北京”和“张三”;
[0092]
确定待查询问题后,可将待查询问题和事件序列作为输入集,并以字符串的形式输入bert模型(向量编码模块),获取模型输出的编码向量。
[0093]
具体实施时,将任意一个所述待查询问题与所述样本文本输入预训练的答案抽取模型,确定所述待查询问题的答案抽取结果,具体可通过以下方式实现:
[0094]
将任意一个所述待查询问题与所述样本文本作为输入集输入所述答案抽取模型,所述答案抽取模型的向量编码模块对所述输入集中每个词单元对应的字向量、文本向量以及位置向量加和,生成所述每个词单元对应的编码向量;
[0095]
基于所述编码向量计算所述每个词单元作为所述待查询问题对应的预测答案的起始位置以及结束位置的概率分布;
[0096]
根据所述起始位置以及结束位置的概率分布,确定所述待查询问题对应的答案抽取结果。
[0097]
进一步的,向量编码模块包括嵌入层和n个堆栈层;图4是本说明书实施例提供的编码向量的生成过程的流程图,参见图4,生成所述每个词单元对应的编码向量,具体可通过步骤402~410所示的方式实现:
[0098]
步骤402、将所述待查询问题与所述样本文本作为输入集输入至所述嵌入层,得到对应的输入向量。
[0099]
参见图5,图5为输入向量的生成示意图。其中,输入集包括“去哪?”和“张三去北京”两个句子。其中,“张三去北京”作为目标文本,“去哪?”作为问题。
[0100]
其中,嵌入层生成的输入向量,由下面3种向量求和而成:
[0101]
词单元向量——每个词单元对应的向量;
[0102]
句向量——每个词单元所属的句子向量;
[0103]
位置向量——每个词单元对应的位置所生成向量。
[0104]
步骤404、将所述输入向量输入至第1个堆栈层,得到第1个堆栈层的输出向量;
[0105]
步骤406、将第i个堆栈层的输出向量输入至第i 1个堆栈层,得到第i 1个堆栈层的输出向量,其中,i∈[1,n],且i从1开始取值;
[0106]
步骤408、判断i是否等于n-1,若是,执行步骤405,若否,执行步骤403;
[0107]
步骤410、将第n个堆栈层的输出向量作为所述输入集中每个词单元的编码向量输出。
[0108]
具体的,输入集可以采用以下格式:[[cls],问题,[sep],样本文本,[sep]]。
[0109]
若确定待查询问题为“去哪?”和“事件中的人物是谁?”,事件序列为“张三去北京”,则输入集可以为“去哪?”和“张三去北京”两个句子。其中,“张三去北京”作为样本文本,“去哪?”作为问题,输入格式为:[[cls]、去、哪、?、[sep]、张、三、去、北、京、[sep]];具体的示意图如图4所示。
[0110]
或者,输入集可以为“事件中的人物是谁?”和“张三去北京”两个句子。其中,“张三去北京”作为样本文本,“事件中的人物是谁?”作为问题,输入格式为:[[cls]、事、件、中、的、人、物、是、谁、?、[sep]、张、三、去、北、京、[sep]];
[0111]
例如,样本文本包括“张三去北京”,查询问题包括“去哪?”对上述样本文本和查询
问题进行分词处理,得到词单元集合[[cls]、去、哪、?、[sep]、张、三、去、北、京、[sep]],其中,cls为句首标志符号,sep为分句标志符号,将上述词单元集合进行嵌入处理后输入至bert模型,将模型最后一个堆栈层的输出向量作为每个词单元的表示向量输入至前馈层进行处理,得到输入集的编码向量为[a1、a2、
……a10
、a
11
]。
[0112]
本说明书实施例通过预先构建问题集,并在确定样本文本后,在所述问题集中筛选与样本文本关联的待查询问题以及对应的答案标签,并将所述待查询问题以及样本文本输入答案抽取模型进行模型训练,所述待查询问题相当于是模型的一个先验信息,模型根据先验信息输出答案抽取结果,有利于提高输出结果的准确率。
[0113]
bert模型输出编码向量后,可对编码向量中的每个词单元使用两个二分类策略,预测其是否为实体(答案)的起始或结束位置索引,具体由式(1)和式(2)所示的分类函数得到:
[0114]
p
start
=softmax
eachrow
(e
·
t
start
)∈rn×2ꢀꢀꢀ
式(1)
[0115]
p
end
=softmax
eachrow
(e
·
t
end
)∈rn×2ꢀꢀꢀ
式(2)
[0116]
其中,式(1)用于预测编码向量中每个词单元为实体的起始位置索引的概率;式(2)用于预测编码向量中每个词单元为实体的结束位置索引的概率;式(1)中的t
start
和式(2)中的t
end
为预先设置的模型参数,相当于词单元的初始化权重;
[0117]
计算每个词单元为实体起始或结束位置索引的概率后,可对概率结果进行筛选,基于筛选结果中概率最大的起始或结束位置索引构建索引集合。
[0118]
具体实施时,根据所述起始位置以及结束位置的概率分布,确定所述待查询问题对应的答案抽取结果,具体可通过以下方式实现:
[0119]
将所述起始位置的概率分布中概率最大的词单元在所述样本文本中的位置作为所述答案的起始位置;
[0120]
将所述结束位置的概率分布中概率最大的词单元在所述样本文本中的位置作为所述答案的结束位置;以及,
[0121]
将所述起始位置以及结束位置之间的词单元作为所述答案抽取结果。
[0122]
具体的,计算每个词单元为实体起始或结束位置索引的概率后,可对概率结果进行筛选,基于筛选结果中概率最大的起始或结束位置索引构建索引集合;
[0123]
实际应用中,对每个词单元为实体起始位置索引的概率进行筛选,基于筛选结果中概率最大的起始位置索引构建的起始位置索引集合的公式如式(3)所示;对每个词单元为实体结束位置索引的概率进行筛选,基于筛选结果中概率最大的结束位置索引构建的结束位置索引集合的公式如式(4)所示:
[0124][0125][0126]
其中,公式(3)中的i和公式(4)中的j分别表示样本文本中的第i或第j个词单元,表示第i个词单元为实体起始位置索引的概率,表示第j个词单元为实体结束位置索引的概率。
[0127]
例如,假设样本文本为“张三去北京”,样本文本中的第一个词单元“张”,第二个词单元为“三”,依次类推,第五个词单元为“京”;若样本文本中每一个词单元作为答案起始位置的概率分别为[x1,x2,x3,x4,x5],每一个词单元作为答案结束位置的概率分别为[y1,y2,y3,y4,y5],其中,答案起始位置的概率中,x4概率值最大,则答案结束位置的概率中,y5概率值最大,则由此可知,查询问题对应的实体(答案)为样本文本中的第4和第5个词单元,则可确定查询问题对应的答案即为“北京”。
[0128]
本说明书实施例通过计算每个词单元为答案起始位置索引或答案结束位置索引的概率进行计算,并根据计算结果进行筛选,将概率最大的词单元作为答案抽取结果中的答案起始或结束位置,并将起始位置以及结束位置之间的词单元作为答案抽取结果,有利于保证答案抽取结果的准确性;
[0129]
步骤206,基于所述答案抽取结果以及所述答案标签生成所述答案抽取模型的目标损失值,并基于所述目标损失值对所述答案抽取模型进行优化,获得目标答案抽取模型。
[0130]
具体的,获取模型输出的待查询问题的答案抽取结果后,可基于所述答案抽取结果以及所述答案标签进行计算,生成所述答案抽取模型的目标损失值,并基于所述目标损失值对所述答案抽取模型进行优化,获得目标答案抽取模型。
[0131]
具体实施时,基于所述答案抽取结果以及所述答案标签生成所述答案抽取模型的目标损失值,具体可通过以下方式实现:
[0132]
基于所述起始位置的概率分布以及所述答案标签中目标起始位置的概率确定所述答案抽取结果在所述样本文本中起始位置的起始位置损失;
[0133]
基于所述结束位置的概率分布以及所述答案标签中目标结束位置的概率确定所述答案抽取结果在所述样本文本中结束位置的结束位置损失;
[0134]
基于所述起始位置以及所述结束位置确定所述答案抽取结果的长度损失;
[0135]
基于所述起始位置损失、所述结束位置损失和所述长度损失,计算所述目标损失值。
[0136]
进一步的,基于所述起始位置损失、所述结束位置损失和所述长度损失,计算所述目标损失值,即计算所述起始位置损失、所述结尾位置损失和所述长度损失三者的加权和,作为所述目标损失值。
[0137]
本说明书实施例使用三元组损失函数(hard-loss损失函数)计算所述目标损失值,具体的计算公式如式(5)、式(6)以及式(7)所示:
[0138][0139]
l
start
=ce(p
start
,y
start
)
ꢀꢀꢀ
式(6)
[0140]
l
end
=ce(p
end
,y
end
)
ꢀꢀꢀ
式(7)
[0141]
其中,式(5)中的k表示集合中的元素个数,e
istart
为集合中的元素;和为集合中的元素,表示与第i个起始索引相匹配的正样本结束索
引;表示负样本的结束索引;α为边界参数;
[0142]
式(6)中的y
start
为查询问题对应的真实答案标签的起始位置索引的概率;式(7)中的y
end
为查询问题对应的真实答案标签的结束位置索引的概率;
[0143]
hard-loss损失函数在使用时,通过给定一个anchor(锚,即目标样本),一个正样本和一个负样本组成三元组,另外设置一个边界参数,使模型拉近目标样本与正样本间的距离,同时拉开目标样本与负样本间的距离。
[0144]
最终的目标损失值为上述三个损失的加权和,即目标损失值l=ω1·
l
hard
ω2·
l
start
ω3·
l
end

[0145]
其中,ω1、ω2和ω3分别为三个损失值对应的权重,实际应用中,三个损失值对应的权重、边界参数、t
start
以及t
end
可根据实际需求进行设置,在此不做任何限制。
[0146]
若根据对样本文本中每一个词单元作为答案起始位置的概率计算结果确定第1个词单元和第2个词单元为起始位置索引的概率最大,则词单元和第2个词单元为起始位置索引的概率最大,则若根据对样本文本中每一个词单元作为答案结束位置的概率计算结果确定第3个词单元和第4个词单元为结束位置索引的概率最大,则若与第1个起始索引(e
1start
)相匹配的正样本结束索引为e
3end
,则与第1个起始索引(e
1start
)相匹配的负样本结束索引为e
4end
,同理,若与第2个起始索引(e
2start
)相匹配的正样本结束索引为e
4end
,则与第2个起始索引(e
2start
)相匹配的负样本结束索引为e
3end

[0147]
由此可得,由此可得,
[0148]
l
start
和l
end
分别根据交叉熵损失函数计算获得,即使用预测的词单元为答案起始或结束位置索引对应的概率与真实答案对应起始或结束位置索引对应的概率进行加权计算获得;
[0149]
l
hard
、l
start
以及l
end
均计算完成后,对这三个损失根据各自对应的权重进行加权计算,即可获得目标损失值。
[0150]
计算目标损失值后,可根据目标损失值对模型的参数进行调整,以实现模型优化。
[0151]
另外,在获得答案抽取结果后,可将答案抽取结果与答案标签进行比较,若答案抽取结果的准确度不满足预设条件,则可对问题集中的所述待查询问题进行优化,具体的优化方式可根据实际需求确定,在此不做任何限制。
[0152]
本说明书实施例中,通过将答案抽取结果与答案标签进行比较,并对于准确度不满足预设条件的答案抽取结果对应的待查询问题进行优化,一定程度上有利于减少论元实体重叠的问题;另外,在获取答案抽取结果后,利用三元组损失函数计算目标损失值,并基于所述目标损失值调整模型参数,为模型的训练过程增加了难度,使模型更好区分与论元实体匹配的正负样本,有利于增强模型的泛化性能。
[0153]
下面结合具体的例子对本实施例进行进一步说明。
[0154]
本说明书实施例提供的答案抽取模型的训练方法的示意图如图6所示,首先是mrc
问题的生成,即在原始语料的文本中分别提取事件类型标签和论元类型标签,然后对这两种类型的标签进行整合,生成问题标签(实际为遍历和组合的过程),再对每种问题标签构建与其匹配的mrc问题;
[0155]
mrc问题构建完成之后,将待查询问题qy和事件序列x结合成字符串,输入到bert中,输出一个上下文表征矩阵e;
[0156]
若事件序列x对应的样本文本为“张三去北京”,则待查询问题可以为“去哪?”,字符串为[[cls]、去、哪、?、[sep]、张、三、去、北、京、[sep]],将字符串输入bert模型,获取模型输出的编码向量,将所述编码向量输入开始索引预测模型,获得编码向量中每个词单元为答案起始位置索引的概率,并将所述编码向量输入结束索引预测模型,获得编码向量中每个词单元为答案结束位置索引的概率,获得每个词单元为答案起始或结束位置索引的概率后,可对概率结果进行筛选,基于筛选结果中概率最大的起始或结束位置索引确定答案抽取结果;
[0157]
进一步的,获取答案抽取结果后,利用hard-loss损失函数计算目标损失值,并根据目标损失值对模型的参数进行调整,以实现模型优化。
[0158]
本技术实施例提供的答案抽取模型的训练方法,确定样本文本后,通过在预先构建的问题集中筛选与样本文本关联的待查询问题以及对应的答案标签,并将所述待查询问题以及样本文本输入答案抽取模型进行模型训练,有利于提升所述答案抽取模型训练结果的准确性,提升模型训练的效率;另外,通过计算模型输出的答案抽取结果与答案标签之间的目标损失值,基于所述目标损失值对答案抽取模型进行优化,有利于提升所述答案抽取模型的泛化性能。
[0159]
与上述方法实施例相对应,本技术还提供了答案抽取模型的训练装置实施例,图7示出了本技术一个实施例的答案抽取模型的训练装置的结构示意图。如图7所示,该装置700包括:
[0160]
筛选模块702,被配置为从原始语料中确定样本文本,并在预先构建的问题集中筛选与所述样本文本相关联的至少一个待查询问题以及对应的答案标签;
[0161]
确定模块704,被配置为将任意一个所述待查询问题与所述样本文本输入预训练的答案抽取模型,确定所述待查询问题的答案抽取结果;
[0162]
计算模块706,被配置为基于所述答案抽取结果以及所述答案标签生成所述答案抽取模型的目标损失值,并基于所述目标损失值对所述答案抽取模型进行优化,获得目标答案抽取模型。
[0163]
可选的,所述答案抽取模型的训练装置,还包括:
[0164]
标签提取模块,被配置为从所述原始语料中提取文本的事件类型标签以及答案类型标签;
[0165]
标签生成模块,被配置为将所述事件类型标签与所述答案类型标签进行整合,生成问题标签;
[0166]
问题集构建模块,被配置为根据所述问题标签中包含的答案类型标签所属类别生成与所述问题标签匹配的查询问题,并基于所述查询问题构建问题集。
[0167]
可选的,所述问题集构建模块,包括:
[0168]
第一问题生成模块,被配置为若所述问题标签中包含的答案类型标签为第一类
别,则获取预定义的问题模板,并基于所述问题标签和所述问题模板生成与所述问题标签匹配的查询问题;
[0169]
第二问题生成模块,被配置为若所述问题标签中包含的答案类型标签为第二类别,则对所述原始语料中与所述第二类别的答案类型标签相关的事件句进行统计分析,根据分析结果生成与所述问题标签匹配的查询问题。
[0170]
可选的,所述确定模块704,包括:
[0171]
编码向量生成子模块,被配置为将任意一个所述待查询问题与所述样本文本作为输入集输入所述答案抽取模型,所述答案抽取模型的向量编码模块对所述输入集中每个词单元对应的字向量、文本向量以及位置向量加和,生成所述每个词单元对应的编码向量;
[0172]
计算子模块,被配置为基于所述编码向量计算所述每个词单元作为所述待查询问题对应的预测答案的起始位置以及结束位置的概率分布;
[0173]
答案抽取结果确定子模块,被配置为根据所述起始位置以及结束位置的概率分布,确定所述待查询问题对应的答案抽取结果。
[0174]
可选的,所述答案抽取结果确定子模块,包括:
[0175]
起始位置确定单元,被配置为将所述起始位置的概率分布中概率最大的词单元在所述样本文本中的位置作为所述答案的起始位置;
[0176]
结束位置确定单元,被配置为将所述结束位置的概率分布中概率最大的词单元在所述样本文本中的位置作为所述答案的结束位置;
[0177]
答案抽取结果确定单元,被配置为将所述起始位置以及结束位置之间的词单元作为所述答案抽取结果。
[0178]
可选的,所述计算模块706,包括:
[0179]
第一损失计算子模块,被配置为基于所述起始位置的概率分布以及所述答案标签中目标起始位置的概率确定所述答案抽取结果在所述样本文本中起始位置的起始位置损失;
[0180]
第二损失计算子模块,被配置为基于所述结束位置的概率分布以及所述答案标签中目标结束位置的概率确定所述答案抽取结果在所述样本文本中结束位置的结束位置损失;
[0181]
第三损失计算子模块,被配置为基于所述起始位置以及所述结束位置确定所述答案抽取结果的长度损失;
[0182]
目标损失值计算子模块,被配置为基于所述起始位置损失、所述结束位置损失和所述长度损失,计算所述目标损失值。
[0183]
可选的,所述目标损失值计算子模块,进一步被配置为:
[0184]
计算所述起始位置损失、所述结尾位置损失和所述长度损失三者的加权和,作为所述目标损失值。
[0185]
可选的,所述向量编码模块包括嵌入层和n个堆栈层;
[0186]
所述编码向量生成子模块,包括:
[0187]
第一输入子单元,被配置为将所述待查询问题与所述样本文本作为输入集输入至所述嵌入层,得到对应的输入向量;
[0188]
第二输入子单元,被配置为将所述输入向量输入至第1个堆栈层,得到第1个堆栈
层的输出向量;
[0189]
第三输入子单元,被配置为将第i个堆栈层的输出向量输入至第i 1个堆栈层,得到第i 1个堆栈层的输出向量,其中,i∈[1,n],且i从1开始取值;
[0190]
判断子单元,被配置为判断i是否等于n-1,若是,运行输出子模块,若否,运行所述第三输入子单元;
[0191]
所述输出子单元,被配置为将第n个堆栈层的输出向量作为所述输入集中每个词单元的编码向量输出。
[0192]
需要说明的是,装置权利要求中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
[0193]
本技术一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的答案抽取模型的训练方法的步骤。
[0194]
本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述答案抽取模型的训练方法的步骤。
[0195]
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的答案抽取模型的训练方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述答案抽取模型的训练方法的技术方案的描述。
[0196]
上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0197]
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0198]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
[0199]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部
分,可以参见其它实施例的相关描述。
[0200]
以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献