首页> 中国专利> 建立阅读理解模型的方法、阅读理解方法及对应装置

建立阅读理解模型的方法、阅读理解方法及对应装置

摘要

本公开公开了建立阅读理解模型的方法、阅读理解方法及对应装置,涉及自然语言处理和深度学习等人工智能技术。获取训练样本,训练样本包括问题样本、段落样本以及对段落样本中标注的问题样本对应的答案标签;利用训练样本训练阅读理解模型,其中,将同一训练样本中的问题样本和段落样本进行拼接后得到的拼接文本输入预训练子模型,由预训练子模型输出拼接文本中各元素的隐向量构成的隐向量序列;第一分类子模型利用隐向量序列,输出答案在段落样本中的位置区间信息;第二分类子模型利用隐向量序列,基于自注意力机制得到语义交互向量序列,并利用语义交互向量序列输出段落样本中答案所在句的信息。本公开自动、高效地实现了对段落的阅读理解。

著录项

  • 公开/公告号CN113204611A

    专利类型发明专利

  • 公开/公告日2021-08-03

    原文格式PDF

  • 申请/专利权人 北京百度网讯科技有限公司;

    申请/专利号CN202110368225.2

  • 发明设计人 吕考考;周媛媛;杨茵淇;

    申请日2021-04-06

  • 分类号G06F16/33(20190101);G06F16/35(20190101);G06F40/216(20200101);G06F40/30(20200101);

  • 代理机构11412 北京鸿德海业知识产权代理有限公司;

  • 代理人田宏宾

  • 地址 100085 北京市海淀区上地十街10号百度大厦2层

  • 入库时间 2023-06-19 12:05:39

说明书

技术领域

本公开涉及计算机应用技术领域,尤其涉及自然语言处理和深度学习等人工智能技术。

背景技术

近年来深度学习技术快速发展,并已在图像识别、语音识别等领域超越了人类水平。作为人工智能核心技术之一的自然语言处理(Natural Language Processing,NLP)也是当下研究最热的一个领域。机器阅读理解(Machine Reading Comprehension,MRC)是一种利用算法使计算机理解段落语义并回答相关问题的技术。由于段落和问题均采用人类语言的形式,因此机器阅读理解属于自然语言处理的范畴,也是其中最新最热门的研究课题之一。

随着各行各业文本数据的大量产生,传统的人工处理方式因为处理速度慢,开销巨大等因素成为产业发展的瓶颈。因此,自动、高效的机器阅读理解技术成为相关产业内的重要需求。

发明内容

本公开提供了一种建立阅读理解模型的方法、阅读理解方法及对应装置,以便于自动、高效地实现对文本段落的阅读理解。

根据本公开的第一方面,提供了一种建立阅读理解模型的方法,包括:

获取训练样本,每一个训练样本包括问题样本、段落样本以及对所述段落样本中标注的所述问题样本对应的答案标签;

利用所述训练样本训练阅读理解模型,所述阅读理解模型包括预训练子模型、第一分类子模型和第二分类子模型;

其中,将同一训练样本中的问题样本和段落样本进行拼接后得到的拼接文本输入所述预训练子模型,由所述预训练子模型输出所述拼接文本中各Token的隐向量构成的隐向量序列;所述第一分类子模型利用所述隐向量序列,输出所述答案在所述段落样本中的位置区间信息;所述第二分类子模型利用所述隐向量序列,基于自注意力机制得到语义交互向量序列,并利用所述语义交互向量序列输出所述段落样本中答案所在句的信息;

训练目标为最小化所述第一分类子模型和所述第二分类子模型的输出与所述答案标签之间的差异。

根据本公开的第二方面,提供了一种阅读理解方法,包括:

将问题和段落进行拼接后得到的拼接文本输入阅读理解模型,根据所述阅读理解模型的输出从所述段落中确定答案;

其中,所述阅读理解模型包括预训练子模型、第一分类子模型和第二分类子模型;

所述预训练子模型利用所述拼接文本,输出所述拼接文本中各元素Token的隐向量构成的隐向量序列;所述第一分类子模型利用所述隐向量序列,输出答案在所述段落中的位置区间信息;所述第二分类子模型利用所述隐向量序列,基于自注意力机制得到语义交互向量序列,并利用所述语义交互向量序列输出所述段落中答案所在句的信息。

根据本公开的第三方面,提供了一种建立阅读理解模型的装置,包括:

样本获取单元,用于获取训练样本,每一个训练样本包括问题样本、段落样本以及对所述段落样本中标注的所述问题样本对应的答案标签;

模型训练单元,用于利用所述训练样本训练阅读理解模型,所述阅读理解模型包括预训练子模型、第一分类子模型和第二分类子模型;其中,将同一训练样本中的问题样本和段落样本进行拼接后得到的拼接文本输入所述预训练子模型,所述预训练子模型用于输出所述拼接文本中各Token的隐向量构成的隐向量序列;所述第一分类子模型,用于利用所述隐向量序列,输出所述答案在所述段落样本中的位置区间信息;所述第二分类子模型,用于利用所述隐向量序列,基于自注意力机制得到语义交互向量序列,并利用所述语义交互向量序列输出所述段落样本中答案所在句的信息;训练目标为最小化所述第一分类子模型和所述第二分类子模型的输出与所述答案标签之间的差异。

根据本公开的第四方面,提供了一种阅读理解装置,包括:

拼接处理单元,用于将问题和段落进行拼接后得到的拼接文本输入阅读理解模型;

答案确定单元,用于根据所述阅读理解模型的输出从所述段落中确定答案;

其中,所述阅读理解模型包括预训练子模型、第一分类子模型和第二分类子模型;

所述预训练子模型,用于利用所述拼接文本,输出所述拼接文本中各元素Token的隐向量构成的隐向量序列;

所述第一分类子模型,用于利用所述隐向量序列,输出答案在所述段落中的位置区间信息;

所述第二分类子模型,用于利用所述隐向量序列,基于自注意力机制得到语义交互向量序列,并利用所述语义交互向量序列输出所述段落中答案所在句的信息。

根据本公开的第五方面,提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。

根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上所述的方法。

根据本公开的第七方面,一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。

由以上技术方案可以看出,本公开通过建立的阅读理解模型能够自动、高效地实现对文本段落的阅读理解。

并且,阅读理解模型中融入了对问题以及答案所在句之间语义交互信息的学习,从而提高了阅读理解的准确性。

应当理解,本部分分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1为本公开实施例提供的建立阅读理解模型的方法流程图;

图2为本公开实施例提供的阅读理解模型的结构示意图;

图3a和图3b为本公开实施例提供的约束矩阵的实例图;

图4为本公开实施例提供的阅读理解方法的流程图;

图5为本公开实施例提供的建立阅读理解模型的装置结构图;

图6为本公开实施例提供的阅读理解装置的结构示意图;

图7是用来实现本公开实施例的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

早期的阅读理解模型大多基于检索技术,即根据问题在段落中进行检索,找到相关语句作为答案。但是信息检索主要依赖关键词匹配,而在很多情况下,单纯依靠问题和段落的文字匹配找到的答案与问题并不相关。虽然这种方式能够自动的进行阅读理解,但准确性很低。

随着深度学习技术的不断发展,机器阅读理解进入神经网络时代。本公开就是基于深度学习技术来建立阅读理解模型并进行阅读理解,从而在实现自动、高效的阅读理解基础上,提高阅读理解的准确性。下面通过实施例对本公开提供的方法进行详细描述。

图1为本公开实施例提供的建立阅读理解模型的方法流程图,该方法的执行主体为建立阅读理解模型的装置。该装置可以为位于服务器端的应用,或者还可以为位于服务器端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者,还可以位于具有较强计算能力的计算机终端,本发明实施例对此不进行特别限定。如图1中所示,该方法可以包括以下步骤:

步骤101:获取训练样本,每一个训练样本包括问题样本、段落样本以及对段落样本中标注的问题样本对应的答案标签。

在本实施例中,可以预先获取一些已知答案在段落中位置的问题、段落来作为训练样本,并在段落中标注出答案标签。其中答案标签可以是针对段落中各Token(元素)来标注的,即标注出该元素是否属于答案。这些训练样本可以看做是正例样本。

举个例子,某个训练样本中,问题样本为“什么器官为血液提供动力”,段落样本为“心脏是脊椎动物器官之一,位于胸腔内,膈肌的上方二肺之间。是循环系统中的动力,主要功能是把血液运行至身体各个部分”。在段落样本中对元素“心”和“脏”标注答案标签。

另外,为了提高模型性能,还可以获取一些段落中不存在答案的段落以及问题来作为训练样本,此时段落中不存在答案,此时标注的答案标签可以指示该段落标注不存在答案。这些训练样本可以看做是负例样本。

在本公开实施例中,训练样本可以仅包括上述正例样本,也可以包括上述正例样本和负例样本。

步骤102:利用训练样本训练阅读理解模型,阅读理解模型包括预训练子模型、第一分类子模型和第二分类子模型。其中,将同一训练样本中的问题样本和段落样本进行拼接后得到的拼接文本输入预训练子模型,由预训练子模型输出拼接文本中各元素Token的隐向量构成的隐向量序列;第一分类子模型利用所述隐向量序列,输出所述答案在段落样本中的位置区间信息。第二分类子模型利用所述隐向量序列,基于自注意力机制得到语义交互向量序列,并利用语义交互向量序列输出所述段落样本中答案所在句的信息;训练目标为最小化第一分类子模型和第二分类子模型的输出与答案标签之间的差异。

下面结合实施例,重点对上述步骤102进行详细描述。如图2中所示,本公开中建立的阅读理解模型主要包括预训练子模型、第一分类子模型和第二分类子模型。

首先本公开实施例中采用了预训练子模型。预训练方法源于机器学习中迁移学习的概念。为了完成一个学习任务,首先在其它相关任务上预训练模型,然后将模型在目标任务上进一步优化,实现模型所学知识的迁移。预训练模型最大的好处是,可以克服训练数据不足的问题,可以利用大量其它任务的语料,建立有效的模型再迁移到目标任务,大大提高模型的准确度。

本实施例中预训练子模型可以采用诸如BERT(Bidirectional EncoderRepresentations from Transformers,双向编码器表示模型)、ENRIE(Enhanced LanguageRepresentation with Informative Entities,具有信息实体的增强语言表示)、XLNet。这其中具有代表性的便是谷歌于2018年提出的BERT。

在本实施例中,首先将问题样本和段落样本进行拼接后得到拼接文本。其中,为了对问题样本和段落样本进行区分,可以在拼接序列中问题样本和段落样本之间插入有分隔符[SEP]。并且在BERT中会在拼接序列之前插入[CLS]符号表示文本开始。因此,拼接文本中的各Token包括字符、分隔符[SEP]和表示文本开始的符号[CLS]。

在将拼接文本输入预训练子模型时,对拼接文本中的各Token进行Embedding(嵌入)处理。其中Embedding处理可以包括:词Embedding、位置Embedding和语句Embedding。词Embedding是将各Token进行词向量编码,得到词向量表示。位置Embedding是将各Token在输入序列(即拼接文本)中的位置进行编码,得到位置的表示。语句Embedding是将各Token所属的语句进行编码,得到所属语句的编码表示。Embedding处理后的结果经过预训练子模型后,得到各Token的隐向量构成的隐向量序列。例如,隐向量序列H表示为:H={h

第一分类子模型利用隐向量序列输出答案在段落样本中的位置区间信息。作为一种可实现的方式,第一分类子模型可以将隐向量序列经过全连接网络的映射,得到段落样本中各Token是答案边界位置的概率。其中,答案边界位置是答案开始位置和答案结束位置。将是答案边界位置的概率大于或等于预设边界位置概率阈值的Token作为答案边界位置。

第一分类子模型可以分别针对答案开始位置和答案结束位置进行分类,得到各Token作为答案开始位置的概率以及作为答案结束位置的概率。将作为答案开始位置的概率大于或等于预设的开始位置概率阈值的Token作为答案开始位置,将作为答案结束位置的概率大于或等于预设的结束位置概率阈值的Token作为答案结束位置。如果存在多个大于开始位置概率阈值或者多个大于结束位置概率阈值的Token,则可以基于预设的策略来确定答案开始位置和答案结束位置。例如在保证答案开始位置在答案结束位置之前的情况下,尽可能选择答案开始位置概率和答案结束位置概率中最大的Token。

也就是说,通过第一分类子模型能够确定出答案开始位置和答案结束位置,即答案的位置区间信息,那么从答案开始位置到答案结束位置的Token构成了答案。

在一定程度上,上述预训练子模型和第一分类子模型实际上已经能够完成答案的预测,即预训练子模型和第一分类子模型已经能够构成阅读理解模型。但由于预训练子模型是基于transformer的全局注意力机制,这会导致阅读理解模型很难根据问题抓住段落中的重点,导致预测的答案与问题之间的关联性较弱。有鉴于此,本公开提供了一种优选的实施方式,即在阅读理解模型中进一步包括第二分类子模型,由第二分类子模型利用隐向量序列,基于自注意力机制得到语义交互向量序列,该语义交互向量序列体现出了问题和段落之间的语义交互信息。再利用语义交互向量序列输出段落样本中答案所在句的信息。

可以看出,第二分类子模型包括两部分的处理:

第一部分体现在交互层上,即利用隐向量序列,基于自注意力机制得到语义交互向量序列。

具体地,可以构建约束矩阵,该约束矩阵体现出问题样本与段落中答案所在句的注意力交互特征。因此,在第二分类子模型中会对段落进行分句处理后,构建约束矩阵。同时第二分类子模型中的自注意力处理以及对答案所在句的预测均是基于句级别的。

如果在训练数据中只存在正样本,则针对正样本构建的约束矩阵(表示为M

如果在训练样本中还存在负样本,则针对负样本构建的约束矩阵(表示为M

利用构建的约束矩阵,对拼接文本中各Token的隐向量进行自注意力处理,得到语义交互向量序列。对于隐向量序列:H={h

Q=W

K=W

V=W

其中,W

经过自注意力处理如下:

W

H=linear(concat(W

上述公式(4)、(5)和(6)中的下标i表示对应序列中的第i个向量。函数contact()表示连接两个以上的向量,函数softmax()表示归一化指数函数,函数linear()表示线性变换。上述公式(4)中的M对应于上述的约束矩阵M

最终,上述第一部分处理输出的语义交互向量序列为上述H。

第二部分体现在输出层上,即利用语义交互向量序列输出段落样本中答案所在句的信息。

作为一种可实现的方式,可以将语义交互向量序列进行全连接网络的映射,得到段落样本中各Token属于答案所在句的概率。如果Token属于答案所在句的概率值大于或等于预设的概率阈值,则认为该Token属于答案所在句。需要说明的是,一个Token属于答案所在句的概率很高,并不意味着该Token属于答案,因为一个句子中可能部分内容是答案,而部分内容可能不是。举个例子,对于段落样本中的一个句子“心脏是脊椎动物器官之一”,其中,这个句子中的每个Token都属于答案所在句,但只有“心”和“脏”两个Token属于答案。

在进行上述阅读理解模型的训练时,可以分成两个训练任务,即第一分类子模型的训练任务和第二分类子模型的训练任务。

在第一分类子模型的训练任务中,可以构建第一损失函数loss1。该第一损失函数由第一分类子模型的输出与训练数据中答案标签之间的差异得到。也就是说,训练目标为:使得第一分类子模型预测的答案边界位置与答案标签一致。

其中,对于正样本上述答案边界位置与答案标签的位置一致。对于负样本而言,由于答案标签指示的是不存在答案,因此,第一分类子模型未输出答案边界位置以与答案标签一致。这种情况下,需要所有Token是答案边界位置的概率均小于边界位置概率阈值。

在第二分类子模型的训练任务中,可以构建第二损失函数loss2。该第二损失函数由第二分类子模型的输出与训练数据中答案标签之间的差异得到。也就是说,训练目标为:使得第二分类子模型预测的各Token是否属于答案所在句与答案标签所在句一致。

其中,对于正样本而言,上述第二分类子模型预测的各Token是否属于答案所在句与答案标签所在句一致。对于负样本而言,由于答案标签指示的是不存在答案,因此,第二分类子模型预测的各Token均不属于答案所在句。即所有Token属于答案所在句的概率均小于预设的概率阈值。

可以采用两个训练任务先后训练的方式。例如,先利用第一分类子模型的训练任务进行训练,即利用loss1不断迭代更新预训练子模型和第一分类子模型的模型参数,直至满足迭代停止条件,例如迭代次数预设的次数阈值,或者,loss1的值收敛,等等。然后利用第二分类子模型的训练任务进行训练,即利用loss2不断迭代更新预训练子模型和第二分类子模型的模型参数,直至满足迭代停止条件,例如迭代次数预设的次数阈值,或者,loss2的值收敛,等等。

也可以采用两个训练任务交替训练的方式。例如,利用第一分类子模型的训练任务训练一次,再利用第二分类子模型的训练任务训练一次,依次交替。即利用loss1迭代更新预训练子模型和第一分类子模型的模型参数,再利用loss2迭代更新预训练子模型和第二分类子模型的模型参数,依次交替迭代更新,直至满足迭代停止条件。例如迭代次数预设的次数阈值,或者,loss1和loss2的值均收敛,等等。

作为一种优选的实施方式,可以采用两个训练任务同时训练的方式。利用上述的loss1和loss2构建总损失函数loss,例如:

Loss=αloss1+βloss2

其中,α和β为加权系数,可以采用经验值或实验值。

在每一轮迭代中,利用总损失函数loss的值更新预训练子模型、第一分类子模型和第二分类子模型的模型参数。需要说明的是,在此训练过程中实际上利用这两个训练任务对预训练子模型也同时进行了fine-tunning(微调),但也不排除可以仅进行上述第一分类子模型和第二分类子模型的训练,而不对预训练子模型进行fine-tunning的方式。

在完成建立阅读理解模型之后,可以基于该阅读理解模型实现阅读理解。图4为本公开实施例提供的阅读理解方法的流程图,该方法的执行主体为阅读理解装置。该装置可以为位于服务器端的应用,或者还可以为位于服务器端的应用中的插件或SDK等功能单元,或者,还可以位于具有较强计算能力的计算机终端,本发明实施例对此不进行特别限定。如图4中所示,该方法可以包括以下步骤:

步骤401:将问题和段落进行拼接后得到的拼接文本输入采用图1所示方式预先建立的阅读理解模型。

在本实施例中采用的阅读理解模型为图2所示结构的阅读理解模型,即包括预训练子模型、第一分类子模型和第二分类子模型。

其中,预训练子模型利用拼接文本,输出拼接文本中各元素Token的隐向量构成的隐向量序列。

第一分类子模型利用隐向量序列,输出答案在段落中的位置区间信息。同样,第一分类子模型可以将隐向量序列经过全连接网络的映射,得到段落中的各Token是答案边界位置的概率。

第二分类子模型利用隐向量序列,基于自注意力机制得到语义交互向量序列,并利用语义交互向量序列输出段落中答案所在句的信息。

其中在基于自注意力机制得到语义交互向量序列时,可以采用上述方法实施例中的公式(1)~(6)来计算。不同的是,在本实施例中进行阅读理解时,采用的约束矩阵M中,段落中所有句与问题样本交叉的各位的值均设置为1。

在利用语义交互向量序列输出段落中答案所在句的信息时,可以将语义交互向量序列进行全连接网络的映射,得到段落中各Token属于答案所在句的概率。

上述阅读理解模型中各子模型的运行机制可以参见上面实施例中的相关记载,在此不做赘述。

步骤402:根据阅读理解模型的输出从段落中确定答案。

阅读理解模型中第一分类子模型输出各Token是答案边界位置的概率,第二分类子模型输出各Token属于答案所在句的概率。在本步骤中,可以对各Token是答案边界位置的概率以及属于答案所在句的概率进行整合,得到各Token整合后的答案边界位置的概率。例如,将第一分类子模型输出的各Token的概率和第二分类子模型输出的各Token的概率进行相加,得到的概率作为各最终Token是答案边界位置的概率。

然后,依据各Token整合后的答案边界位置的概率,确定作为答案边界的Token。即将答案边界位置的概率中超过预设边界位置概率阈值的Token确定为答案边界的Token。

其中,答案边界位置可以包括答案开始位置和答案结束位置。具体可以将作为答案开始位置的概率大于或等于预设的开始位置概率阈值的Token作为答案开始位置,将作为答案结束位置的概率大于或等于预设的结束位置概率阈值的Token作为答案结束位置。如果存在多个大于开始位置概率阈值或者多个大于结束位置概率阈值的Token,则可以基于预设的策略来确定答案开始位置和答案结束位置。例如在保证答案开始位置在答案结束位置之前的情况下,尽可能选择答案开始位置概率和答案结束位置概率中最大的Token。

最后将段落中作为答案边界的Token以及作为答案边界的Token之间的Token确定为问题的答案。

以输入问题“什么器官为血液提供动力”以及段落“心脏是脊椎动物器官之一,位于胸腔内,膈肌的上方二肺之间。是循环系统中的动力,主要功能是把血液运行至身体各个部分”为例。将该问题和段落进行拼接后得到拼接文本输入上述的阅读理解模型后,阅读理解模型的第一分类子模型输出各Token作为答案边界位置的概率,第二分类子模型输出各Token属于答案所在句的概率。将各Token的这两个概率进行相加后,最终得到的各Token的概率作为最终答案边界位置的概率。例如,确定出“心”和“脏”作为答案边界位置,那么确定出“心脏”为问题对应的答案。这一例子中“心”和“脏”之间没有其他Token,如果有其他Token,则将“心”和“脏”以及之间的各Token一起构成答案。

本公开上述实施例所提供的方法可以应用于但不限于以下应用场景:

应用场景1:

传统搜索引擎智能返回与用户查询相关的文档,但若采用本公开实施例中的方式,将用户查询作为问题,将爬取到的各文档作为段落,可以从文档中精确定位问题的答案,并将该答案包含在搜索结果中返回给用户。这样,用户就能够在搜索结果中获取到精准定位的答案,提高用户体验。

应用场景2:

在客户服务中,面对客户的相关疑问,客户服务装置可以将客户的相关以为作为问题,将相关产品文档作为段落,采用上述方法实施例中的方式自动在相关产品文档中精确定位用户的相关疑问所对应的答案,并返回给客户,从而大大提高了客服的服务效率。

应用场景3:

在智能医疗领域,使用上述阅读理解模型,可以将患者描述的症状作为问题,将大量病例和医学论文作为段落,从而实现在大量病例和医学论文中定位患者描述的症状所对应的医疗方案。

经过在SQuAD2.0数据集上进行验证,采用本公开实施例提供的阅读理解模型进行阅读理解的EM在向量维度为256的情况下可以达到72.35,在向量维度为768的情况下可以达到84.14。F1在向量维度为256的情况下可以达到74.99,在向量维度为768的情况下可以达到86.66。其中,EM(Exact Match,完全匹配率)是问答系统的一种常见的评价标准,用来评价预测中匹配到正确答案的百分比。F1是分类问题的一个衡量指标,其是精确率和召回率的调和平均数。

以上是对本公开所提供方法进行的详细描述,下面结合实施例对本公开所提供的装置进行描述。

图5为本公开实施例提供的建立阅读理解模型的装置结构图,如图5中所示,该装置500可以包括:样本获取单元501和模型训练单元502。其中各组成单元的主要功能如下:

样本获取单元501,用于获取训练样本,每一个训练样本包括问题样本、段落样本以及对段落样本中标注的问题样本对应的答案标签。

可以预先获取一些已知答案在段落中位置的问题、段落来作为训练样本,并在段落中标注出答案标签。其中答案标签可以是针对段落中各Token来标注的,即标注出该元素是否属于答案。这些训练样本可以看做是正例样本。

另外,为了提高模型性能,还可以获取一些段落中不存在答案的段落以及问题来作为训练样本,此时段落中不存在答案,此时标注的答案标签可以指示该段落标注不存在答案。这些训练样本可以看做是负例样本。

模型训练单元502,用于利用训练样本训练阅读理解模型,阅读理解模型包括预训练子模型、第一分类子模型和第二分类子模型。其中,将同一训练样本中的问题样本和段落样本进行拼接后得到的拼接文本输入预训练子模型。

预训练子模型用于输出拼接文本中各Token的隐向量构成的隐向量序列。

第一分类子模型,用于利用隐向量序列,输出答案在段落样本中的位置区间信息。

第二分类子模型,用于利用隐向量序列,基于自注意力机制得到语义交互向量序列,并利用语义交互向量序列输出段落样本中答案所在句的信息;训练目标为最小化第一分类子模型和第二分类子模型的输出与答案标签之间的差异。

作为一种可实现的方式,第一分类子模型,具体用于将隐向量序列经过全连接网络的映射,得到段落样本中的各Token是答案边界位置的概率。

作为一种优选的实施方式,第二分类子模型,具体用于构建约束矩阵,约束矩阵体现出问题样本与段落样本中答案所在句的注意力交互特征;利用构建的约束矩阵,对拼接文本中各Token的隐向量进行自注意力处理,得到语义交互向量序列。

作为一种可实现的方式,第二分类子模型,具体用于将语义交互向量序列进行全连接网络的映射,得到段落样本中各Token属于答案所在句的概率。

作为一种优选的实施方式,模型训练单元502,具体用于在训练阅读理解模型的过程中,利用总损失函数的值更新第一分类子模型和第二分类子模型的模型参数。

其中,上述总损失函数由第一损失函数和第二损失函数得到,第一损失函数由第一分类子模型的输出与答案标签之间的差异得到,第二损失函数由第二分类子模型的输出与答案标签之间的差异得到。

图6为本公开实施例提供的阅读理解装置的结构示意图,如图6中所示,该装置600可以包括:拼接处理单元601和答案确定单元602。其中各组成单元的主要功能如下:

拼接处理单元601,用于将问题和段落进行拼接后得到的拼接文本输入阅读理解模型。

答案确定单元602,用于根据阅读理解模型的输出从段落中确定答案。

其中,阅读理解模型包括预训练子模型、第一分类子模型和第二分类子模型。

预训练子模型,用于利用拼接文本,输出拼接文本中各元素Token的隐向量构成的隐向量序列。

第一分类子模型,用于利用隐向量序列,输出答案在段落中的位置区间信息。

第二分类子模型,用于利用隐向量序列,基于自注意力机制得到语义交互向量序列,并利用语义交互向量序列输出段落中答案所在句的信息。

作为一种可实现的方式,第一分类子模型,具体用于将隐向量序列经过全连接网络的映射,得到段落中的各Token是答案边界位置的概率。

第二分类子模型,具体用于将语义交互向量序列进行全连接网络的映射,得到段落中各Token属于答案所在句的概率。

相应地,答案确定单元602,具体用于对各Token是答案边界位置的概率以及属于答案所在句的概率进行整合,得到各Token整合后的答案边界位置的概率;依据各Token整合后的答案边界位置的概率,确定作为答案边界的Token;将段落中作为答案边界的Token以及作为答案边界的Token之间的Token确定为问题的答案。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

如图7所示,是根据本公开实施例的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。

设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如建立阅读理解模型的方法或阅读理解方法。例如,在一些实施例中,建立阅读理解模型的方法或阅读理解方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。

在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的建立阅读理解模型的方法或阅读理解方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行建立阅读理解模型的方法或阅读理解方法。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控30制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号