CN113961686A - 问答模型的训练方法及装置、问答方法及装置 - Google Patents
问答模型的训练方法及装置、问答方法及装置 Download PDFInfo
- Publication number
- CN113961686A CN113961686A CN202111217331.7A CN202111217331A CN113961686A CN 113961686 A CN113961686 A CN 113961686A CN 202111217331 A CN202111217331 A CN 202111217331A CN 113961686 A CN113961686 A CN 113961686A
- Authority
- CN
- China
- Prior art keywords
- sample
- text
- question
- texts
- answer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Library & Information Science (AREA)
- Machine Translation (AREA)
Abstract
本申请提供一种问答模型的训练方法及装置、问答方法及装置,其中问答模型的训练方法包括:获取样本问题、至少两个样本文本和样本标签;将样本问题和至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量,基于至少两个预测答案和样本答案确定第一损失值;将阅读理解模块的输出和样本问题输入问答模型的重排序模块,得到每个样本文本的预测标记,基于至少两个样本文本的预测标记和样本标记确定第二损失值;基于第一损失值和第二损失值对阅读理解模块的参数和重排序模块的参数进行调整,直至阅读理解模块和重排序模块均满足训练停止条件,停止对问答模型的训练。
Description
技术领域
本申请涉及机器学习技术领域,特别涉及一种问答模型的训练方法及装置、问答方法及装置、计算设备和计算机可读存储介质。
背景技术
人工智能(artificial intelligence;AI)指已工程化(即设计并制造)的系统感知环境的能力,以及获取、处理、应用和表示知识的能力。自然语言处理(Natural LanguageProcessing)是研究计算机处理人类语言的一门技术,指用计算机对自然语言的形、音、义等信息进行处理,即对字、词、句、篇章的输入、输出、识别、分析、理解、生成等的操作和加工。主要包括文本摘要、文本分类、文本校对、句法语义分析、信息抽取、语言挖掘、机器翻译、信息检索、机器阅读理解以及问答模型等。问答系统技术是指让计算机像人类一样用自然语言与人交流的技术,人们可以向问答系统提交用自然语言表达的问题,系统会返回关联性较高的答案。其中,在问答任务中,问答模型可以通过给定的语料库和问题,从语料库中返回与该问题对应的答案。
现有的问答模型在执行问答任务时,可以根据输入的问题,先从文本库内检索与问题相关的文本,然后按照与问题的相关性对文本进行重排序,最后用阅读理解技术从排序后的前至少两篇文本中抽取得到答案,并展示给用户。
但上述方式仅是根据文本与问题的相关性对文本进行重排序,虽然得到的前几篇文本与问题的相关性较高,但相关性高的文本中不一定存在正确答案,因此通过问答模型确定的文本中可能不存在正确答案,降低了问答模型执行问答任务的准确性,进而降低了问答模型的性能。
发明内容
有鉴于此,本申请实施例提供了一种问答模型的训练方法及装置、问答方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种问答模型的训练方法,包括:
获取样本问题、至少两个样本文本和样本标签,其中,所述样本标签包括样本答案和所述至少两个样本文本的样本标记,每个样本文本的样本标记表征所述样本文本与所述样本问题是否相关;
将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本、以及每个样本文本的文本特征向量,基于所述至少两个预测答案和所述样本答案确定第一损失值;
将所述样本问题、所述至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量输入所述问答模型的重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记,基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第二损失值;
基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练。
根据本申请实施例的第二方面,提供了一种问答模型的训练方法,所述方法包括:
获取样本问题、至少两个样本文本和样本答案;
将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案;
基于所述至少两个预测答案和所述样本答案确定第三损失值;
基于所述第三损失值对所述阅读理解模块进行训练,直至达到训练停止条件。
根据本申请实施例的第三方面,提供了一种问答方法,包括:
获取待处理问题和至少两个待处理文本,并将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案、每个目标答案的上下文文本、以及每个待处理文本的文本特征向量,其中,所述问答模型通过上述第一方面所述的问答模型的训练方法训练得到;
将所述待处理问题、所述至少两个目标答案、每个目标答案的上下文文本和每个待处理文本的文本特征向量输入所述问答模型的重排序模块,得到每个待处理文本对应的目标概率;
基于每个待处理文本的目标概率对所述至少两个待处理文本进行排序,并输出排序后的待处理文本和所述至少两个目标答案。
根据本申请实施例的第四方面,提供了一种问答方法,所述方法包括:
获取待处理问题和至少两个待处理文本;
将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案,其中,所述问答模型通过上述第二方面所述的问答模型的训练方法训练得到。
根据本申请实施例的第五方面,提供了一种问答模型的训练装置,包括:
第一获取模块,被配置为获取样本问题、至少两个样本文本和样本标签,其中,所述样本标签包括样本答案和所述至少两个样本文本的样本标记,每个样本文本的样本标记表征所述样本文本与所述样本问题是否相关;
第一确定模块,被配置为将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本、以及每个样本文本的文本特征向量,基于所述至少两个预测答案和所述样本答案确定第一损失值;
第二确定模块,被配置为将所述样本问题、所述至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量输入所述问答模型的重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记,基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第二损失值;
第一训练模块,被配置为基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练。
根据本申请实施例的第六方面,提供了一种问答模型的训练装置,包括:
第二获取模块,被配置为获取样本问题、至少两个样本文本和样本答案;
第三确定模块,被配置为将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案;
第四确定模块,被配置为基于所述至少两个预测答案和所述样本答案确定第三损失值;
第二训练模块,被配置为基于所述第三损失值对所述阅读理解模块进行训练,直至达到训练停止条件。
根据本申请实施例的第七方面,提供了一种问答装置,所述装置包括:
第三获取模块,被配置为获取待处理问题和至少两个待处理文本,并将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案、每个目标答案的上下文文本、以及每个待处理文本的文本特征向量,其中,所述问答模型通过上述第一方面所述的问答模型的训练方法训练得到;
第五确定模块,被配置为将所述待处理问题、所述至少两个目标答案、每个目标答案的上下文文本和每个待处理文本的文本特征向量输入所述问答模型的重排序模块,得到每个待处理文本对应的目标概率;
输出模块,被配置为基于每个待处理文本的目标概率对所述至少两个待处理文本进行排序,并输出排序后的待处理文本和所述至少两个目标答案。
根据本申请实施例的第八方面,提供了一种问答装置,包括:
第四获取模块,被配置为获取待处理问题和至少两个待处理文本;
第六确定模块,被配置为将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案,其中,所述问答模型通过上述第二方面所述的问答模型的训练方法训练得到。
根据本申请实施例的第九方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述问答模型的训练方法的步骤,或者实现所述问答方法的步骤。
根据本申请实施例的第十方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述问答模型的训练方法的步骤,或者实现所述问答方法的步骤。
根据本申请实施例的第十一方面,提供了一种芯片,其存储有计算机指令,该指令被芯片执行时实现所述问答模型的训练方法的步骤,或者实现所述问答方法的步骤。
本申请实施例中,获取样本问题、至少两个样本文本和样本标签,其中,所述样本标签包括样本答案和所述至少两个样本文本的样本标记,每个样本文本的样本标记表征所述样本文本与所述样本问题是否相关;将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本、以及每个样本文本的文本特征向量,基于所述至少两个预测答案和所述样本答案确定第一损失值;将所述样本问题、所述至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量输入所述问答模型的重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记,基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第二损失值;基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练。上述方法中,将重排序模块排在阅读理解模块之后,在对重排序模块进行训练时,可以考虑到阅读理解模块的输出,即预测答案、预测答案的上下文文本、以及样本文本的特征,而不是仅根据样本文本与样本问题的相关性对样本文本进行排序,能够提高样本文本的排序准确性,将可能存在正确答案的样本文本排在前面,提高了训练得到的重排序模块的排序性能,进而提高了问答模型的性能。
附图说明
图1是本申请实施例提供的一种计算设备的结构框图;
图2是本申请实施例提供的一种问答模型的训练方法的流程图;
图3是本申请实施例提供的一种问答模型的结构图;
图4是本申请实施例提供的一种应用于问答任务的问答模型的训练方法的流程图;
图5是本申请实施例提供的另一种问答模型的训练方法的流程图;
图6是本申请实施例提供的另一种问答模型的结构图;
图7是本申请实施例提供的又一种问答模型的结构图;
图8是本申请实施例提供的一种问答方法的流程图;
图9是本申请实施例提供的又一种问答模型的结构图;
图10是本申请实施例提供的另一种问答方法的流程图;
图11是本申请实施例提供的一种应用于问答任务的问答方法的处理流程图;
图12是本申请实施例提供的又一种问答模型的结构图;
图13是本申请实施例提供的一种问答模型的训练装置的示意图;
图14是本申请实施例提供的另一种问答模型的训练装置的示意图;
图15是本申请实施例提供的一种问答装置的示意图;
图16是本申请实施例提供的另一种问答装置的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
问答模型:用于执行问答任务,可以根据输入的问题输出答案。
检索模块:用于根据问题中的词单元从文本库中检索出相关的若干个文本。
重排序模块:对确定的若干个文本进行排序,将存在答案的概率较高的文本排在比较靠前的位置。
阅读理解模块:利用阅读理解技术从排序后的若干个文本中确定问题的答案。
特征提取层:用于提取输入的文本的特征向量。
前馈神经网络层:用于对输入进行线性变换。
词嵌入子层:进行词嵌入处理的网络层。词嵌入处理是把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量的处理过程。
注意力子层:可以包括注意力机制,以词单元为单位,基于词单元的词向量进行注意力计算。
Longformer:稀疏自注意力模型,一种可高效处理长文本的升级版Transformer模型。在本申请中,Longformer用于根据问题和文本输出答案。
pairwise方法:重排序模型的每次损失计算都只考虑样本问题与单个文本。
listwise方法:重排序模型的每次损失计算考虑样本问题与所有相关的文本。
预训练模型:基于公共语料上预训练好的模型,具有强大的泛化能力,能用于多种自然语言处理任务。
TF-IDF:(Term Frequency-Inverse Document Frequency,词频-逆文档频率),是一种用于资讯检索与文本挖掘的常用加权技术,可以用来评估一个词单元对于一个文本集或文本库中某个文本的重要程度。词单元的重要性随着它在文本中出现的次数成正比增加,但同时会随着它在文本库中出现的频率成反比下降。
BM25算法:是一种二元独立模型的扩展,可以用来做搜索的相关度排序。
词单元:对输入文本做任何实际处理前,都需要将其分割成诸如字、标点符号、数字或字母等语言单元,这些语言单元被称为词单元。对于英文文本,词单元可以是一个单词、一个标点符号、一个数字等;对于中文文本,最小的词单元可以是一个字、一个标点符号、一个数字等。
特征向量序列:提取文本中每个词单元的词向量并对文本进行特征提取得到的文本的向量表示形式。
文本特征向量:用于表示文本和问题的相关性的特征。
相关性特征向量:用于表示问题和答案的相关性的特征。
接下来对本申请实施例提供的问答模型的训练方法以及问答方法的应用场景进行说明。
通常情况下,问答模型可以包括三个部分:检索模块、重排序模块和阅读理解模块。检索模块根据问题的词单元信息从海量数据库中检索出相关的若干个文本;重排序模块则是对这若干个文本进行相关度排序,将更相关的文本放在前面;阅读理解模块则是利用阅读理解技术从文本中抽取出问题的答案。也即是,问答模型需要先从海量数据内检索出与问题相关的文本,然后对文本进行重排序,将不存在答案的文本排在比较靠后的位置,最后用阅读理解技术从排序后的前几篇文本抽取出问题的正确答案。
现有方案一般给用户展示的是从重排序后的前几篇文本中抽取出的答案,该答案的准确率比较依赖于重排序模型的性能。然而这种方案在排序时确定的是文本与问题的相关性,这里包含一个假设:“问题与文本的相关性”和“问题与文本内答案的相关性”一致。然而事实上,问题与文本的相关性应当与问题与文本内答案的相关性呈正相关,而不是完全一致的,即相关性高的文本中不一定存在正确答案。这会导致经过重排序后的前几篇文本中可能不包含正确答案,则最后得到的答案是不正确的,降低了问答模型的性能。
为了解决上述问题,本申请提出了一种问答模型的训练方法,在文本排序过程中考虑阅读理解模块抽取出的预测答案、并参考预测答案的上下文文本以及整个文本的文本特征向量来判断文本与问题的相关性。与现有方案的主要区别在于,排序结果还考虑了阅读理解模型预测的答案,可以保持问题与答案相关性的一致,使得重排序性能更优,进而提高问答模型的性能,可以提高用户体验。
在本申请中,提供了一种问答模型的训练方法及装置、问答方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示问答模型的训练方法中的步骤。图2示出了根据本申请一实施例的问答模型的训练方法的流程图,包括步骤202至步骤208。
步骤202:获取样本问题、至少两个样本文本和样本标签,其中,所述样本标签包括样本答案和所述至少两个样本文本的样本标记,每个样本文本的样本标记表征所述样本文本与所述样本问题是否相关。
作为一种示例,获取样本问题、至少两个样本文本和样本标签是指分别获取样本问题、获取多个样本文本、获得多个样本标签。其中,每个样本文本对应一个样本标签,每个样本标签包括一个样本答案和一个样本标记。即每个样本文本对应一个样本标记和一个样本答案,并且,样本文本与样本标记的关系是:该样本标记表示是否可以从该样本文本中推断出样本问题的正确答案;样本答案是样本问题的正确答案,但根据样本文本的不同,样本文本与样本答案的关系包括如下两种情况:
第一种情况,样本文本均是正样本,正样本是包括样本问题的正确答案的样本,则样本文本与样本答案的关系是:样本答案是样本文本中包括的样本问题的正确答案。
第二种情况,样本文本包括正样本和负样本,正样本是包括该样本问题的正确答案的样本,负样本是不包括该样本问题的正确答案的样本。则样本文本与样本答案的关系是:若样本文本是正样本,样本答案是样本文本中包括的样本问题的正确答案;若样本文本是负样本,样本答案是样本问题的正确答案,但并不是从样本文本中推断得出的,而是根据样本问题基于阅读理解模型预测得到的或者人为确定的。
作为一种示例,样本标记可以包括相关和不相关。并且,样本标记为相关,即样本文本与样本问题相关,是指从该样本文本中可以推断出该样本问题的正确答案。样本标记为不相关,即样本文本与样本问题不相关,是指从该样本文本中无法推断出该样本问题的正确答案。
作为一种示例,样本文本的样本标记可以是人为根据样本文本是否可以推断出样本问题的正确答案进行标记的。示例性地,样本标记“相关”可以用1表示,样本标记“不相关”可以用0表示。
作为一种示例,样本问题和样本答案可以从预先构建的训练样本库中获取,该训练样本库中可以包括多个样本问题以及每个样本问题的样本答案。
在一种可能的实现方式中,所述问答模型还包括检索模块,获取至少两个样本文本的具体实现可以包括:将所述样本问题输入所述检索模块,确定与所述样本问题相关的文本作为所述至少两个样本文本,其中,所述检索模块用于基于样本问题从样本文本库中检索出与所述样本问题相关的样本文本。
其中,检索模块的功能是从样本文本库中检索出与样本问题相关的文本。
作为一种示例,在训练过程中使用的检索模块可以是已经训练好的检索模型,且该检索模型能够从样本文本库中检索出与样本问题字面相关的文本。样本文本库中可以包括多个样本文本,且每个样本文本可以携带有人工标注的样本标记。
也即是,可以将样本问题输入检索模块中,则检索模块可以从样本文本库中获取与该样本问题相关的多个文本,将获取到的该多个文本确定为至少两个样本文本。
示例性地,参见图3,将样本问题输入问答模型的检索模块,可以得到样本文本1和样本文本2。
在一些实施例中,将所述样本问题输入所述检索模块,确定与所述样本问题相关的文本的具体实现可以包括:将所述样本问题输入所述检索模块,获取所述样本问题中的关键词单元;将所述样本文本库中包括所述关键词单元的文本作为与所述样本问题相关的文本。
其中,关键词单元可以是能够表征样本问题的核心词汇,且关键词单元的数量可以是至少一个。
也即是,将样本问题输入检索模块中,可以通过倒排索引(Inverted Index)的方式从样本文本库中获取包括关键词单元的文本作为与样本问题相关的文本。
作为一种示例,将样本问题输入检索模块中,可以对样本问题进行分词,得到多个词单元,并从多个词单元中获取关键词单元。例如,假设样本问题是“诗仙是谁”,则可以对样本问题进行分词处理,得到词单元“诗仙”、“是”和“谁”,且可以将“诗仙”作为关键词单元。假设样本问题是“最小的自然数是什么”,则可以将样本问题进行分词,得到词单元“最小”、“的”、“自然数”、“是”和“什么”,且可以将“最小”和“自然数”作为关键词单元。
通常情况下,若文本中包括关键词单元,可以认为该文本与该关键词单元比较相关,进而可以认为该文本与该样本问题的相关性比较大,因此,可以将包括关键词单元的文本作为与样本问题相关的文本。
作为一种示例,在关键词单元的数量大于一个的情况下,可以将样本文本库中包括所有关键词单元的文本作为与样本问题相关的文本。
也即是,在关键词单元的数量大于一个的情况下,若某个文本中仅包括一个关键词单元,不能将该文本作为与样本问题相关的文本,若某个文本中包括两个及以上但不包括所有的关键词单元,不能将该文本作为与样本问题相关的文本,若某个文本中包括所有关键词单元,可以将该文本作为与样本问题相关的文本。如此,可以提高获取的与样本问题相关的样本文本的准确率。
例如,假设样本问题是“最小的自然数是什么”,样本文本库中的样本文本1是“0是最小的自然数”,样本文本库中的样本文本2是“1是最小的奇数”可以确定该样本文本1中包括“自然数”和“最小”,则可以将该样本文本1确定为与该样本问题相关的文本,而样本文本2中包括“最小”,但不包括“自然数”,则不能将样本文本2确定为与该样本问题相关的文本。
在另一些实施例中,可以通过倒排索引的方式从样本文本库中获取与样本问题相关的文本。具体地,首先需要创建倒排索引,可以先对样本文本库中的多个样本文本进行编号,形成文本列表,并对每个样本文本进行分词处理,得到多个词单元,以词单元为索引,保存包含每个词单元的样本文本的编号,得到倒排索引列表。然后基于倒排索引进行搜索,当输入样本问题时,首先对输入的样本问题进行分词,得到至少两个词单元,然后在倒排索引列表中匹配该至少两个词单元,以该至少两个词单元为索引,确定包含该至少两个词单元的样本文本的编号,基于编号可以获取包含该至少两个词单元的样本文本,即可以得到与该样本问题相关的文本。
在该种情况下,样本文本需要包括样本问题中每个词单元,才可以将该样本文本确定为与样本问题相关的文本。如此,可以进一步提高获取的样本文本的准确率。
需要说明的是,在其他的实现方式中,还可以通过Elasticsearch工具实现检索模块的功能。其中,Elasticsearch是一个搜索工具,可以通过复杂的检索策略检索得到与样本问题相关的样本文本。
进一步地,将所述样本问题输入检索模块,确定与所述样本问题相关的文本作为所述至少两个样本文本之后还包括:确定所述关键词单元分别在所述至少两个样本文本中的词频;确定所述关键词单元在所述样本文本库中的逆文档词频;基于所述关键词单元分别在所述至少两个样本文本中的词频和在所述样本文本库中的逆文档词频,确定每个样本文本的相关度分值;基于所述每个样本文本的相关度分值,对所述至少两个样本文本进行初次排序,得到排序后的所述至少两个样本文本。
相应地,将所述样本问题输入检索模块中,确定与所述样本问题相关的文本作为所述至少两个样本文本的具体实现可以包括:按照顺序将排序后的所述至少两个样本文本和所述样本问题输入所述问答模型的阅读理解模块。
也就是说,在通过检索模块获取到至少两个样本文本之后,还可以对至少两个样本文本进行初次排序,按照顺序将排序后的至少两个样本文本和样本问题输入阅读理解模块中。
作为一种示例,对于参考关键词单元来说,可以先统计该参考关键词单元在每个样本文本中出现的次数,根据该次数和样本文本包括的词单元的数量可以确定该参考关键词单元在每个样本文本中的词频,并且统计样本文本库中包括该参考关键词单元的样本文本的数量,基于该数量和样本文本库中样本文本的总数量确定该参考关键词单元在样本文本库中的逆文档词频;基于该参考关键词单元在每个样本文本中的词频和在样本文本库中的逆文档词频,通过TF-IDF算法可以确定每个样本文本的相关度分值。按照相关度分值从高到低的顺序对至少两个样本文本进行初次排序,可以得到排序后的至少两个样本文本。
示例性地,可以将参考关键词单元出现的次数和样本文本中词单元的数量之间的商作为参考关键词单元在样本文本中的词频。可以将样本文本库中样本文本的数量与样本文本库中包括参考关键词单元的样本文本的数量之间的商作为参考关键词单元的逆文档词频。
例如,假设样本问题包括关键词单元A、关键词单元B和关键词单元C,与样本问题相关的样本文本1包括关键词单元A和关键词单元B,可以确定关键词单元A在样本文本1中的词频,确定关键词单元B在样本文本1中的词频,以及确定关键词单元A的逆文档词频,确定关键词单元B的逆文档词频,可以确定关键词单元A的词频与逆文档词频的乘积,得到第一乘积值,确定关键词单元B的词频与逆文档词频的乘积,得到第二乘积值,将第一乘积值和第二乘积值之和确定为样本文本1的相关度分值。
需要说明的是,在本申请实施例一种可选实施方式中,将所述样本问题输入检索模块中,确定与所述样本问题相关的文本作为所述至少两个样本文本之后,还可以通过BM25算法确定至少两个样本文本中每个样本文本的相关度分值,并基于相关度分值对至少两个样本文本进行初次排序,得到排序后的至少两个样本文本,再按照顺序将排序后的至少两个样本文本和样本问题输入问答模型的阅读理解模块。
在本申请实施例中,检索模块的输出是排序后的至少两个样本文本,并且可以按照顺序将排序后的至少两个样本文本输入阅读理解模块中。
进一步地,将样本问题输入检索模块中,确定与样本问题相关的文本之后,还可以确定每个样本文本的样本标记。具体实现中,样本文本库中的样本文本均携带有样本标记,因此,可以从样本文本库中获取到每个样本文本的样本标记。
本申请实施例中,可以从训练样本库中获取样本问题和样本答案,并将样本问题输入已经训练好的检索模块中,可以得到与该样本问题相关的至少两个文本作为样本文本,且该至少两个样本文本携带样本标记。如此,可以得到对问答模型进行训练的训练数据。
步骤204,将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本、以及每个样本文本的文本特征向量,基于所述至少两个预测答案和所述样本答案确定第一损失值。
其中,阅读理解模块用于从样本文本中抽取得到样本问题的预测答案。
作为一种示例,阅读理解模块可以采用Longformer模型,该模型可以极大地增加输入文本的长度,且可以减少注意力计算的计算量。该Longformer模型可以是预训练模型,本申请可以对该预训练模型进行进一步地训练,使得该预训练模型达到用户需求。
在一些实施例中,所述阅读理解模块包括特征提取层和前馈神经网络层,将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本、以及每个样本文本的文本特征向量的具体实现可以包括:将所述样本问题分别与所述至少两个样本文本进行拼接,得到至少两个第一文本;将所述至少两个第一文本输入所述特征提取层,确定每个第一文本的目标词单元,并将每个第一文本的目标词单元与其他第一文本的词单元进行注意力计算,得到每个第一文本的特征向量序列;基于每个第一文本的特征向量序列确定每个样本文本的文本特征向量;将每个第一文本的特征向量序列输入所述前馈神经网络层,确定每个样本文本对应的预测答案,并获取每个预测答案的上下文文本。
其中,特征提取层用于提取输入的文本的特征向量,前馈神经网络层用于对输入进行线性变换,得到每个样本文本对应的预测答案。
其中,目标词单元可以是第一文本中的关键词单元,且该目标词单元的数量可以是至少一个。
作为一种示例,可以将样本问题和样本文本进行拼接,并且在样本问题和样本文本之间插入分割符,在得到的第一样本之前添加类别标记符。例如,假设样本问题是“诗仙是谁”,样本文本1是“李白被后人尊称为诗仙”,拼接后可以得到第一文本“[CLS]诗仙是谁[SEP]李白被后人尊称为诗仙”,假设样本文本2是“诗仙李白,诗圣杜甫”,则拼接后可以得到第一文本“[CLS]诗仙是谁[SEP]诗仙李白,诗圣杜甫”。
作为一种示例,特征提取层可以包括词嵌入子层和注意力子层,通过词嵌入子层可以对输入的至少两个第一文本分别进行词嵌入处理,得到每个第一文本的词向量序列,该词向量序列包括多个词向量,且每个词向量对应第一文本中的一个词单元。还可以确定每个第一文本的目标词单元,进而确定每个第一文本的目标词单元的目标词向量,通过注意力子层,可以将每个第一文本的词向量序列与其他第一文本的目标词向量进行注意力计算,得到每个第一文本的特征向量序列。并且,可以将每个第一文本的特征向量序列中[CLS]位置处的特征向量确定为每个样本文本的文本特征向量。
示例性地,假设第一文本1是“[CLS]诗仙是谁[SEP]李白被后人尊称为诗仙”,可以确定目标词单元是“诗仙”和“李白”,第一文本2是“[CLS]诗仙是谁[SEP]诗仙是李白,诗圣是杜甫”,可以确定目标词单元是“诗仙”、“李白”、“诗圣”和“杜甫”。可以将第一文本1中每个词单元的词向量分别与“诗仙”、“李白”、“诗圣”和“杜甫”的词向量进行注意力计算,对于第一文本1中的每个词单元可以得到四个注意力值,对于参考词单元,可以将参考词单元对应的四个注意力值加权求和,得到参考词单元的第一权重,将该第一权重和该参考词单元的词向量相乘,可以得到该参考词单元的特征向量,通过上述方式可以得到第一文本1中每个词单元的特征向量,进而可以得到第一文本1的特征向量序列。同理,将第一文本2中每个词单元的词向量分别与“诗仙”和“李白”的词向量进行注意力计算,对于第一文本2中的每个词单元可以得到2个注意力值,对于参考词单元,可以将参考词单元对应的2个注意力值进行加权求和,得到参考词单元的第一权重,将该第一权重和参考词单元的词向量相乘,可以得到该参考词单元的特征向量,通过上述方式可以得到第一文本2中每个词单元的特征向量,进而可以得到第一文本2的特征向量序列。对于第一文本1,可以将第一文本1的特征向量序列中[CLS]位置处的特征向量作为第一文本1的文本特征向量;对于第一文本2,可以将第一文本2的特征向量序列中[CLS]位置处的特征向量作为第一文本2的文本特征向量。
在一些实施例中,将每个第一文本的特征向量序列输入所述前馈神经网络层,确定每个样本文本对应的预测答案的具体实现可以包括:将每个第一文本的特征向量序列输入所述前馈神经网络层,在每个第一文本中确定预测起始位置和预测结束位置;将每个第一文本中位于所述预测起始位置和所述预测结束位置之间的文本确定为每个样本文本对应的预测答案。
作为一种示例,前馈神经网络层还可以称为线性变换层,用于对输入的特征向量序列中每个词单元的特征向量进行线性变换,对于每个词单元可以得到两个概率,一个为该词单元是预测答案的起始位置的概率,另一个为该词单元是预测答案的结束位置的概率,根据每个词单元的两个概率可以确定预测起始位置和预测结束位置,并将预测起始位置和预测结束位置之间的文本确定为预测答案。
示例性地,假设样本文本1是“李白被后人尊称为诗仙”,将该样本文本1的特征向量序列输入前馈神经网络层,可以得到每个词单元是预测答案的起始位置的概率,以及每个词单元是预测答案的结束位置的概率,假设“李”是预测答案的起始位置的概率最高,“白”是预测答案的结束位置的概率最高,可以确定预测答案是“李白”。
通过上述方式,可以确定出每个样本文本对应的预测答案。在确定每个样本文本的预测答案的情况下,可以从样本文本中获取预测答案的上下文文本。
示例性地,参见图3,将样本问题和样本文本1进行拼接,输入问答模型的阅读理解模块,可以得到预测答案1,且预测答案1是从样本文本1中抽取得到的答案,并获取预测答案1的上下文文本和样本文本1的文本特征向量,将样本问题和样本文本2进行拼接输入问答模型的阅读理解模块,可以得到预测答案2,且预测答案2是从样本文本2中抽取得到的答案,并获取预测答案2的上下文文本和样本文本2的文本特征向量。并且,可以基于预测答案1、预测答案2和样本答案确定第一损失值。
在一些实施例中,确定至少两个样本文本的预测答案后,便可以通过损失函数确定每个预测答案和样本答案的损失值,将至少两个损失值相加求平均,可以得到第一损失值。
示例性地,损失函数可以是交叉损失函数、指数损失函数等。可以将至少两个预测答案和样本答案输入该损失函数,则可以确定至少两个预测答案和样本答案的损失值,得到至少两个损失值,将该至少两个损失值求和算平均,则可以得到第一损失值,用于对阅读理解模块进行训练。
本申请实施例中,将至少两个样本文本按照顺序输入阅读理解模块,阅读理解模块可以根据样本问题和样本文本的特征从样本文本中确定预测答案,并且获取预测答案的上下文文本,以及获取能够表征问题和文本相关性的文本特征向量,以便于后续进行重排序时可以考虑到预测答案以及预测答案的上下文文本,增加对样本文本进行重排序的条件,进而提高重排序的准确性。
步骤206,将所述样本问题、所述至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量输入所述问答模型的重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记,基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第二损失值。
实施中,所述重排序模块包括特征提取层和前馈神经网络层,将所述样本问题、所述至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量输入所述问答模型的重排序模块,得到每个样本文本对应的预测概率的具体实现可以包括:将所述至少两个预测答案、所述样本问题和每个预测答案的上下文文本进行拼接,输入所述特征提取层,得到拼接特征向量;将所述拼接特征向量和所述至少两个样本文本的文本特征向量输入所述前馈神经网络层,得到每个样本文本的相关性特征向量;对每个样本文本的相关性特征向量进行线性变换,得到每个样本文本对应的预测概率。
其中,样本文本的预测概率可以用于指示该样本文本与样本问题的相关性程度。相关性特征向量可以用于表征样本问题和预测答案的相关性特征。
作为一种示例,特征提取层可以采用ALBERT模型的结构,用于进行特征提取。前馈神经网络层可以用于对输入进行线性变换,得到每个样本文本对应的预测概率。
作为一种示例,可以将样本问题分别与至少两个预测答案以及每个预测答案的上下文文本进行拼接,得到拼接文本,将该拼接文本输入特征提取层,可以得到至少两个拼接特征向量。再将每个拼接特征向量分别与每个样本文本的文本特征向量进行拼接,将拼接结果输入前馈神经网络层,可以得到每个样本文本的相关性特征向量,对每个样本文本的相关性特征向量进行线性变换,可以将每个相关性特征向量转换成单个数值,得到至少两个数值,对该至少两个数值进行归一化(softmax)处理,可以得到每个样本文本对应的预测概率。
示例性地,以特征提取层采用ALBERT模型的结构为例,假设样本问题用Q表示,预测答案用A表示,预测答案的上下文文本用S表示,则ALBERT的输入为[Q;A;S],其中“;”表示拼接,这里省略了ALBERT中的“[CLS]”标记和“[SEP]”标记,对该输入进行特征提取,可以得到拼接特征向量。然后将每个样本文本的文本特征向量与上述拼接特征向量进行拼接,将拼接后的特征向量输入前馈神经网络层,在前馈神经网络层进一步进行特征提取,可以得到每个样本文本的相关性特征向量,将该相关性特征向量与线性变换矩阵相乘,则可以将每个相关性特征向量转换成单个数值,该数值还可以称为相关性分数,对至少两个样本文本的相关性分数进行softmax处理,可以得到每个样本文本对应的预测概率。
在一些实施例中,基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记的具体实现可以包括:将预测概率大于概率阈值的样本文本的预测标记确定为相关,将预测概率小于或等于所述概率阈值的样本文本的预测标记确定为不相关。
需要说明的是,概率阈值可以由用户根据实际需求进行设置,也可以由计算设备默认设置,本申请实施例对此不作限定。例如,概率阈值可以是0.5。
也就是说,若预测概率大于概率阈值,可以认为该样本文本与样本问题的相关性比较大,则可以将样本文本的预测标记确定为相关;若预测概率小于或等于概率阈值,可以认为该样本文本与样本问题的相关性比较小,则可以将该样本文本的预测标记确定为不相关。
示例性地,参见图3,可以将预测答案1、样本问题、预测答案1的上下文文本和样本文本1的文本特征向量输入重排序模块中,可以得到样本文本1的预测标记1,将预测答案2、样本问题、预测答案2的上下文文本和样本文本2的文本特征向量输入重排序模块中,可以得到样本文本2的预测标记2。并且,可以基于预测标记1、预测标记2、样本标记1和样本标记2确定第二损失值。
进一步地,还可以按照预测概率从大到小的顺序对样本文本重新进行排序,输出排序后的至少两个样本文本。
通常情况下,可以采用pairwise方法对重排序模块进行训练。这种方法根据样本问题和一个样本文本的相关性确定预测标记,并根据预测标记和样本标记的损失值对模型参数进行调整,即基于不同的样本文本进行训练确定的损失值对模型参数进行调整,每次调整的参数可能仅与此次的样本文本相关。即这种方式没有考虑到样本文本之间的关系,调整后的参数可能不适用于其他样本文本,即训练得到的模型普适性不强。为了解决上述问题,在本申请实施例中,可以采用listwise方法对重排序模型进行训练,即在确定预测概率时对至少两个样本文本的相关性特征向量统一进行归一化处理,能够将不同样本文本关联在一起,能够提高训练得到的问答模型的普适性。
因此,基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第二损失值可以包括:将至少两个样本文本的预测标记和样本标记输入损失函数,可以得到第二损失值。
也就是说,通过listwise方法,可以将至少两个样本文本的预测标记和样本标记均作为损失函数的输入,在确定第二损失值时,不是分别确定不同的样本文本对应的损失值,而是同时考虑至少两个样本文本的预测标记和样本标记,能够充分考虑样本文本之间的关系,可以提高重排序模块的性能。
本申请实施例中,将重排序模块放在阅读理解模块之后,即将对样本进行重排序放在预测答案抽取之后,在对样本文本进行重排序时能够考虑到抽取的预测答案,并参考预测答案的上下文文本和样本文本的文本特征向量,且在训练时采用listwise方法,能够充分考虑样本文本之间的关系。考虑抽取的预测答案能解决问题与文本相关性不一致的问题,而listwise方法能够解决文本之间关系建模问题。如此,能够使得问答模型获取更合理的排序,提高排序模型的准确性,进而提高最终得到的答案的准确性。
步骤208,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练。
在本申请实施例中,在对问答模型训练时采用的是多任务训练方法,即同时对阅读理解模块和重排序模块进行训练,由于重排序模块的输入需要用到阅读理解模块的输出,在阅读理解模块未训练完成的情况下,需要基于第一损失值和第二损失值对阅读理解模块和重排序模块的参数均进行调整。
在一些实施例中,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练的具体实现可以包括:若所述第一损失值小于第一阈值,且所述第二损失值小于第二阈值,停止对所述阅读理解模块和所述重排序模块进行训练;若所述第一损失值大于或等于所述第一阈值,且所述第二损失值小于所述第二阈值,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,继续对所述阅读理解模块和所述重排序模块进行训练;若所述第一损失值大于或等于所述第一阈值,且所述第二损失值大于或等于所述第二阈值,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,继续对所述阅读理解模块和所述重排序模块进行训练;若所述第一损失值小于所述第一阈值,且所述第二损失值大于或等于所述第二阈值,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,继续对所述阅读理解模块和所述重排序模块进行训练。
需要说明的是,第一阈值和第二阈值均可以由用户根据实际需求进行设置,也可以由计算设备默认设置,本申请实施例对此不作限定。
也就是说,如果阅读理解模块和重排序模块中有任一模块没有训练完成,需要继续对阅读理解模块和重排序模块进行训练,直到阅读理解模块和重排序模块均训练完成,可以停止对问答模型的训练。
作为一种示例,若第一损失值小于第一阈值,且第二损失值小于第二阈值,可以认为阅读理解模块和重排序模块均已经训练结束,可以停止对阅读理解模块和重排序模块的训练。若第一损失值大于或等于第一阈值,且第二损失值小于第二阈值,可以认为阅读理解模块未训练完成,重排序模块已经训练完成,需要继续对阅读理解模块和重排序模块进行训练。若第一损失值大于或等于第一阈值,且第二损失值大于或等于第二阈值,可以认为阅读理解模块和重排序模块均没有训练结束,因此,需要继续对阅读理解模块和重排序模块进行训练。若第一损失值小于第一阈值,且第二损失值大于或等于第二阈值,可以认为阅读理解模块已经训练完成,但重排序模块没有训练完成,因此需要继续对阅读理解模块和重排序模块进行训练。
示例性地,参见图3,可以基于第一损失值和第二损失值对阅读理解模块和重排序模块的参数进行调整。
在另一些实施例中,可以对第一损失值和第二损失值进行加权求和得到目标损失值,并基于该目标损失值对阅读理解模块和重排序模块进行训练。具体实现中,可以预先设置目标阈值,若目标损失值小于目标阈值,则停止对阅读理解模块和重排序模块进行训练,若目标损失值大于或等于目标阈值,则继续对阅读理解模块和重排序模块进行训练。
本申请实施例中,通过损失值与阈值的关系确定是否继续对问答模型进行训练,可以更精准地掌握问答模型的训练程度,提高问答模型的训练效率和其处理问答任务的准确率。
本申请实施例中,获取样本问题、至少两个样本文本和样本标签,其中,所述样本标签包括样本答案和所述至少两个样本文本的样本标记,每个样本文本的样本标记表征所述样本文本与所述样本问题是否相关;将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本、以及每个样本文本的文本特征向量,基于所述至少两个预测答案和所述样本答案确定第一损失值;将所述样本问题、所述至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量输入所述问答模型的重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记,基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第二损失值;基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练。上述方法中,将重排序模块排在阅读理解模块之后,在对重排序模块进行训练时,可以考虑到阅读理解模块的输出,即预测答案、预测答案的上下文文本、以及样本文本的特征,而不是仅根据样本文本与样本问题的相关性对样本文本进行排序,能够提高样本文本的排序准确性,将可能存在正确答案的样本文本排在前面,提高了训练得到的重排序模块的排序性能,进而提高了问答模型的性能。
图4是根据本申请一实施例示出的一种应用于问答任务的问答模型的训练方法的流程图,该问答模型的训练方法以样本问题为“诗仙是谁”为例进行描述,具体可以包括如下步骤:
步骤402,获取样本问题和样本标签。
其中,样本标签可以包括样本答案和样本文本的样本标记,该样本标记可以用于表示样本文本与样本问题的相关性。作为一种示例,样本文本包括正样本和负样本,正样本包括该样本问题的正确答案,负样本不包括该样本问题的正确答案。
作为一种示例,样本问题和样本答案可以从预先构建的训练样本库中获取,该训练样本库中可以包括多个样本问题以及每个样本问题的样本答案。
示例性地,假设样本问题是“诗仙是谁”,样本答案可以是“李白”。假设样本文本包括样本文本1、样本文本2和样本文本3,且样本文本1和样本文本2均包括该样本答案,样本文本3不包括该样本答案,则样本文本1和样本文本2的相关性标记为相关,样本文本3的相关性标记为不相关。
步骤404,将样本问题输入问答模型的检索模块,获取样本问题中的关键词单元。
例如,对“诗仙是谁”进行分词,得到三个词单元,分别为“诗仙”、“是”、“谁”,可以将“诗仙”确定为关键词单元。
步骤406,将样本文本库中包括关键词单元的文本作为与样本问题相关的至少两个样本文本,并确定每个样本文本的样本标记。
例如,由于该样本问题中比较重要的词单元是“诗仙”,因此,可以从文本库中获取包括“诗仙”的文本,假设可以得到样本文本1、样本文本2和样本文本3,即可以将样本文本1、样本文本2和样本文本3作为样本问题的相关文本。
另外,由于样本文本库中的样本文本均携带有样本标记,因此,可以获取到样本文本1的样本标记、样本文本2的样本标记和样本文本3的样本标记。
步骤408,确定关键词单元分别在至少两个样本文本中的词频,以及确定关键词单元在样本文本库中的逆文档词频。
例如,假设样本文本1中包括20个字,“诗仙”出现了3次,则在样本文本1中“诗仙”的词频为0.3,同理,假设样本文本2中包括10个字,“诗仙”出现了1次,则在样本文本2中“诗仙”的词频为0.2,假设样本文本3中包括20个字,“诗仙”出现了1次,则在样本文本3中“诗仙”的词频为0.1。
例如,假设样本文本库中包括100个样本文本,除了样本文本1、样本文本2和样本文本3中的任一文本之外,样本文本库中包括“诗仙”这一词语的样本文本有25个,则“诗仙”在样本文本库中的逆文档词频为4。
步骤410,基于所述关键词单元分别在所述至少两个样本文本中的词频和在所述样本文本库中的逆文档词频,确定每个样本文本的相关度分值。
例如,可以通过TF-IDF算法确定每个样本文本的相关度分值。“诗仙”这一词语在样本文本1中的相关度分值为0.3×4=1.2,“诗仙”这一词语在样本文本2中的相关度分值为0.2×4=0.8,“诗仙”这一词语在样本文本3中的相关度分值为0.1×4=0.4,由于关键词单元仅包括“诗仙”,因此,可以将1.2确定为样本文本1的相关度分值,将0.8确定为样本文本2的相关度分值,将0.4确定为样本文本3的相关度分值。
步骤412,基于所述每个样本文本的相关度分值,对所述至少两个样本文本进行初次排序,得到排序后的所述至少两个样本文本。
例如,可以按照相关度分值从大到小的顺序对样本文本1、样本文本2和样本文本3进行排序,可以得到排序后的至少两个样本文本为样本文本1、样本文本2和样本文本3。
步骤414,将每个样本文本与样本问题进行拼接,得到多个第一文本。
作为一种示例,可以将样本问题和样本文本进行拼接,并且在样本问题和样本文本之间插入分割符,在得到的第一样本之前添加类别标记符。例如,假设样本问题是“诗仙是谁”,样本文本1是“李白被后人尊称为诗仙”,拼接后可以得到第一文本“[CLS]诗仙是谁[SEP]李白被后人尊称为诗仙”,假设样本文本2是“诗仙李白,诗圣杜甫”,则拼接后可以得到第一文本“[CLS]诗仙是谁[SEP]诗仙李白,诗圣杜甫”。
步骤416,按照至少两个样本文本的顺序将至少两个第一文本输入阅读理解模块的特征提取层,确定每个第一文本的目标词单元,并将每个第一文本的目标词单元与其他第一文本的词单元进行注意力计算,得到每个第一文本的特征向量序列。
其中,问答模型包括阅读理解模块,该阅读理解模块的功能是从样本文本中抽取出样本问题的答案。作为一种示例,阅读理解模块可以采用Longformer模型,该模型可以极大地增加输入文本的长度,且可以减少注意力计算的计算量。
示例性地,假设第一文本1是“[CLS]诗仙是谁[SEP]李白被后人尊称为诗仙”,可以确定目标词单元是“诗仙”和“李白”,第一文本2是“[CLS]诗仙是谁[SEP]诗仙是李白,诗圣是杜甫”,可以确定目标词单元是“诗仙”、“李白”、“诗圣”和“杜甫”。可以将第一文本1中每个词单元的词向量分别与“诗仙”、“李白”、“诗圣”和“杜甫”的词向量进行注意力计算,对于第一文本1中的每个词单元可以得到四个注意力值,对于参考词单元,可以将参考词单元对应的四个注意力值加权求和,得到参考词单元的第一权重,将该第一权重和该参考词单元的词向量相乘,可以得到该参考词单元的特征向量,通过上述方式可以得到第一文本1中每个词单元的特征向量,进而可以得到第一文本1的特征向量序列。同理,将第一文本2中每个词单元的词向量分别与“诗仙”和“李白”的词向量进行注意力计算,对于第一文本2中的每个词单元可以得到2个注意力值,对于参考词单元,可以将参考词单元对应的2个注意力值进行加权求和,得到参考词单元的第一权重,将该第一权重和参考词单元的词向量相乘,可以得到该参考词单元的特征向量,通过上述方式可以得到第一文本2中每个词单元的特征向量,进而可以得到第一文本2的特征向量序列。
步骤418,基于每个第一文本的特征向量序列确定每个样本文本的文本特征向量。
示例性地,以第一文本1为例,可以将第一文本1的特征向量序列中[CLS]位置处的特征向量确定为样本文本1的文本特征向量。
步骤420,将每个第一文本的特征向量序列输入所述前馈神经网络层,在每个第一文本中确定预测起始位置和预测结束位置。
步骤422,将每个第一文本中位于所述预测起始位置和所述预测结束位置之间的文本确定为每个样本文本对应的预测答案,并获取每个预测答案的上下文文本。
示例性地,假设文本1是“李白被后人尊称为诗仙”,将该文本1的特征向量序列输入前馈神经网络层,可以得到每个词单元是预测答案的起始位置的概率,以及每个词单元是预测答案的结束位置的概率,假设“李”是预测答案的起始位置的概率最高,“白”是预测答案的结束位置的概率最高,可以确定预测答案是“李白”,并且可以将“被后人尊称为诗仙”确定为预测答案的上下文文本。
步骤424,基于所述至少两个预测答案和所述样本答案确定第一损失值。
示例性地,可以通过损失函数确定样本文本1的预测答案1和样本答案之间的损失值1,通过损失函数确定样本文本2的预测答案2和样本答案之间的损失值2,将损失值1和损失值2相加求平均,可以得到第一损失值。
步骤426,将至少两个预测答案、样本问题和每个预测答案的上下文文本进行拼接,输入重排序模块的特征提取层,得到拼接特征向量。
其中,问答模型包括重排序模块,该重排序模块的功能是对抽取得到的答案对应的文本进行排序。作为一种示例,重排序模块可以包括特征提取层和前馈神经网络层。
例如,可以将样本问题、预测答案1、预测答案1的上下文信息进行拼接,得到样本文本1对应的拼接文本1。将该拼接文本1输入特征提取层进行特征提取,可以得到样本文本1对应的拼接特征向量。同理,可以得到样本文本2对应的拼接特征向量和样本文本3对应的拼接特征向量。
步骤428,将拼接特征向量和至少两个样本文本的文本特征向量输入所述前馈神经网络层,得到每个样本文本的相关性特征向量。
步骤430,对每个样本文本的相关性特征向量进行线性变换,得到每个样本文本对应的预测概率。
例如,对样本文本1、样本文本2和样本文本3的相关性特征向量分别进行线性变换,可以将每个相关性特征向量转换成单个数值,得到3个数值,对该3个数值进行归一化(softmax)处理,可以得到样本文本1、样本文本2和样本文本3分别对应的预测概率。
步骤432,将预测概率大于概率阈值的样本文本的预测标记确定为相关,将预测概率小于或等于所述概率阈值的样本文本的预测标记确定为不相关。
例如,假设概率阈值是0.5,样本文本1对应的预测概率是0.9,样本文本2对应的而预测概率是0.3,样本文本3对应的预测概率是0.8,可以将样本文本1和样本文本3的预测标记确定为相关,将样本文本2的预测标记确定为不相关。
步骤434,基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第二损失值。
例如,可以将样本文本1的预测标记1、样本文本2的预测标记2、样本文本3的预测标记3、样本文本1的样本标记、样本文本2的样本标记和样本文本2的样本标记作为交叉熵损失函数的输入,可以得到第二损失值。
步骤436,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练。
作为一种示例,若第一损失值小于第一阈值,且第二损失值小于第二阈值,可以认为阅读理解模块和重排序模块均已经训练结束,可以停止对阅读理解模块和重排序模块的训练。若第一损失值大于或等于第一阈值,且第二损失值小于第二阈值,可以认为阅读理解模块未训练完成,重排序模块已经训练完成,需要继续对阅读理解模块和重排序模块进行训练。若第一损失值大于或等于第一阈值,且第二损失值大于或等于第二阈值,可以认为阅读理解模块和重排序模块均没有训练结束,因此,需要继续对阅读理解模块和重排序模块进行训练。若第一损失值小于第一阈值,且第二损失值大于或等于第二阈值,可以认为阅读理解模块已经训练完成,但重排序模块没有训练完成,因此需要继续对阅读理解模块和重排序模块进行训练。
本申请实施例中,将重排序模块排在阅读理解模块之后,在对重排序模块进行训练时,可以考虑到阅读理解模块的输出,即预测答案、预测答案的上下文文本、以及样本文本的特征,而不是仅根据样本文本与样本问题的相关性对样本文本进行排序,能够提高样本文本的排序准确性,将可能存在正确答案的样本文本排在前面,提高了训练得到的重排序模块的排序性能,进而提高了问答模型的性能。
图5是本申请实施例提供的另一种问答模型的训练方法的流程图,包括步骤502至步骤508。
步骤502,获取样本问题、至少两个样本文本和样本答案。
作为一种示例,样本答案是该样本问题的正确答案,可以从预先构建的训练样本库中获取样本问题和样本答案。
在一些实施例中,所述问答模型还可以包括检索模块,获取至少两个样本文本的具体实现可以包括:将所述样本问题输入所述检索模块,确定与所述样本问题相关的文本作为所述至少两个样本文本,其中,所述检索模块用于基于样本问题从样本文本库中检索出与所述样本问题相关的样本文本。
其中,检索模块的功能是从样本文本库中检索出与样本问题相关的文本。
作为一种示例,在训练过程中使用的检索模块可以是已经训练好的检索模型,且该检索模型能够从样本文本库中检索出与样本问题字面相关的文本。样本文本库中可以包括多个样本文本,且每个样本文本可以携带有人工标注的样本标记。
也即是,可以将样本问题输入检索模块中,则检索模块可以从样本文本库中获取与该样本问题相关的文本作为至少两个样本文本。
在一些实施例中,将所述样本问题输入所述检索模块,确定与所述样本问题相关的文本的具体实现可以包括:将所述样本问题输入所述检索模块,获取所述样本问题中的关键词单元;将所述样本文本库中包括所述关键词单元的文本作为与所述样本问题相关的文本。
其中,关键词单元可以是能够表征样本问题的核心词汇,且关键词单元的数量可以是至少一个。
也即是,将样本问题输入检索模块中,可以通过倒排索引的方式从样本文本库中获取包括关键词单元的文本作为与样本问题相关的文本。
示例性地,参见图6,将样本问题输入检索模块中,可以得到样本文本1和样本文本2。
在另一些实施例中,可以通过倒排索引的方式从样本文本库中获取与样本问题相关的文本。具体地,首先需要创建倒排索引,可以先对样本文本库中的多个样本文本进行编号,形成文本列表,并对每个样本文本进行分词处理,得到多个词单元,以词单元为索引,保存包含每个词单元的样本文本的编号,得到倒排索引列表。然后基于倒排索引进行搜索,当输入样本问题时,首先对输入的样本问题进行分词,得到至少两个词单元,然后在倒排索引列表中匹配该至少两个词单元,以该至少两个词单元为索引,确定包含该至少两个词单元的样本文本的编号,基于编号可以获取包含该至少两个词单元的样本文本,即可以得到与该样本问题相关的文本。
在该种情况下,样本文本需要包括样本问题中每个词单元,才可以将该样本文本确定为与样本问题相关的文本。如此,可以进一步提高获取的样本文本的准确率。
进一步地,将所述样本问题输入检索模块,确定与所述样本问题相关的文本作为所述至少两个样本文本之后,还包括:确定所述关键词单元分别在所述至少两个样本文本中的词频;确定所述关键词单元在所述样本文本库中的逆文档词频;基于所述关键词单元分别在所述至少两个样本文本中的词频和在所述样本文本库中的逆文档词频,确定每个样本文本的相关度分值;基于所述每个样本文本的相关度分值,对所述至少两个样本文本进行初次排序,得到排序后的所述至少两个样本文本。相应地,将所述样本问题和所述至少两个样本文本输入所述阅读理解模块的具体实现可以包括:按照顺序将排序后的所述至少两个样本文本和所述样本问题输入所述问答模型的阅读理解模块。
也就是说,在通过检索模块获取到至少两个样本文本之后,还可以对至少两个样本文本进行初次排序,按照顺序将排序后的至少两个样本文本和样本问题输入阅读理解模块中。
作为一种示例,对于参考关键词单元来说,可以先统计该参考关键词单元在每个样本文本中出现的次数,根据该次数和样本文本包括的词单元的数量可以确定该参考关键词单元在每个样本文本中的词频,并且统计样本文本库中包括该参考关键词单元的样本文本的数量,基于该数量和样本文本库中样本文本的总数量确定该参考关键词单元在样本文本库中的逆文档词频;基于该参考关键词单元在每个样本文本中的词频和在样本文本库中的逆文档词频,通过TF-IDF算法可以确定每个样本文本的相关度分值。按照相关度分值从高到低的顺序对至少两个样本文本进行初次排序,可以得到排序后的至少两个样本文本。
需要说明的是,本步骤中获取样本问题、样本答案和样本文本的具体实现与步骤202的实现过程相同,其具体实现可以参见步骤202的相关描述,本实施例在此不再赘述。
步骤504,将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案。
在一些实施例中,所述阅读理解模块包括特征提取层和前馈神经网络层,将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案的具体实现可以包括:将所述样本问题分别与所述至少两个样本文本进行拼接,得到至少两个第二文本;将所述至少两个第二文本输入所述特征提取层,确定每个第二文本的目标词单元,并将每个第二文本的目标词单元与其他第二文本的词单元进行注意力计算,得到每个第二文本的特征向量序列;基于每个第二文本的特征向量序列确定每个样本文本的文本特征向量;将每个第二文本的特征向量序列输入所述前馈神经网络层,确定每个样本文本对应的预测答案,并获取每个预测答案的上下文文本。
其中,阅读理解模块用于从样本文本中抽取得到样本问题的预测答案。作为一种示例,阅读理解模块可以采用Longformer模型,该模型可以极大地增加输入文本的长度,且可以减少注意力计算的计算量。
其中,特征提取层用于提取输入的文本的特征向量,前馈神经网络层用于对输入进行线性变换,得到每个样本文本对应的预测答案。
其中,目标词单元可以是第二文本中的关键词单元,且该目标词单元的数量可以是至少一个。
作为一种示例,可以将样本问题和样本文本进行拼接,并且在样本问题和样本文本之间插入分割符,在得到的第二样本之前添加类别标记符。例如,假设样本问题是“诗仙是谁”,样本文本1是“李白被后人尊称为诗仙”,拼接后可以得到第二文本“[CLS]诗仙是谁[SEP]李白被后人尊称为诗仙”,假设样本文本2是“诗仙李白,诗圣杜甫”,则拼接后可以得到第二文本“[CLS]诗仙是谁[SEP]诗仙李白,诗圣杜甫”。
作为一种示例,特征提取层可以包括词嵌入子层和注意力子层,通过词嵌入子层可以对输入的至少两个第二文本分别进行词嵌入处理,得到每个第二文本的词向量序列,该词向量序列包括多个词向量,且每个词向量对应第二文本中的一个词单元。还可以确定每个第二文本的目标词单元,进而确定每个第二文本的目标词单元的目标词向量,通过注意力子层,可以将每个第二文本的词向量序列与其他第二文本的目标词向量进行注意力计算,得到每个第二文本的特征向量序列。并且,可以将每个第二文本的特征向量序列中[CLS]位置处的特征向量确定为每个样本文本的文本特征向量。
在一些实施例中,将每个第二文本的特征向量序列输入所述前馈神经网络层,确定每个样本文本对应的预测答案的具体实现可以包括:将每个第二文本的特征向量序列输入所述前馈神经网络层,在每个第二文本中确定预测起始位置和预测结束位置;将每个第二文本中位于所述预测起始位置和所述预测结束位置之间的文本确定为每个样本文本对应的预测答案。
作为一种示例,前馈神经网络层还可以称为线性变换层,用于对输入的特征向量序列中每个词单元的特征向量进行线性变换,对于每个词单元可以得到两个概率,一个为该词单元是预测答案的起始位置的概率,另一个为该词单元是预测答案的结束位置的概率,根据每个词单元的两个概率可以确定预测起始位置和预测结束位置,并将预测起始位置和预测结束位置之间的文本确定为预测答案。
示例性地,参见图6,将样本问题和样本文本1拼接输入阅读理解模块中,将样本问题和样本文本2拼接输入阅读理解模型中,可以得到预测答案1和预测答案2。
需要说明的是,本步骤中确定预测答案的具体实现与步骤204的实现过程相同,其具体实现可以参见步骤204的相关描述,本实施例在此不再赘述。
步骤506,基于所述至少两个预测答案和所述样本答案确定第三损失值。
在一些实施例中,可以通过损失函数确定每个预测答案和样本答案的损失值,得到至少两个损失值,将该至少两个损失值相加求平均,可以得到第三损失值。
作为一种示例,损失函数可以是交叉损失函数、指数损失函数等。可以将至少两个预测答案和样本答案输入该损失函数,则可以确定至少两个预测答案和样本答案的损失值,得到至少两个损失值,将该至少两个损失值求和算平均,则可以得到第三损失值,用于对阅读理解模块进行训练。
步骤508,基于所述第三损失值对所述阅读理解模块进行训练,直至达到训练停止条件。
在一些实施例中,基于所述第三损失值对所述阅读理解模块进行训练,直至达到训练停止条件的具体实现可以包括:若所述第三损失值小于第三阈值,停止对所述阅读理解模块的训练;若所述第三损失值大于或等于所述第三阈值,继续对所述阅读理解模块进行训练。
需要说明的是,第三阈值均可以由用户根据实际需求进行设置,也可以由计算设备默认设置,本申请实施例对此不作限定。
作为一种示例,若第三损失值小于第三阈值,可以认为阅读理解模块的性能已经达到实际需求,即阅读理解模块已经训练结束,可以停止对阅读理解模块的训练。若第三损失值大于或等于第三阈值,可以认为阅读理解模块的性能未达到实际需求,即阅读理解模块未训练完成,需要继续对阅读理解模块进行训练。
本申请实施例中,通过损失值与第三阈值的关系确定是否继续对阅读理解模块进行训练,可以更精准地掌握阅读理解模块的训练程度,提高阅读理解模块的训练效率和其处理问答任务的准确率。
示例性地,参见图6,可以基于预测答案1、预测答案2和样本答案确定第三损失值,基于第三损失值对阅读理解模块的参数进行调整,实现对阅读理解模块的训练。
进一步地,所述问答模型还包括重排序模块,所述重排序模块的训练方法如下:获取样本问题、至少两个样本答案、每个样本答案的上下文文本、至少两个样本文本的文本特征向量、以及至少两个样本文本的样本标记;将所述样本问题、所述至少两个样本答案、每个样本答案的上下文文本和每个样本文本的文本特征向量输入所述重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记;基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第四损失值,并基于所述第四损失值对所述重排序模块进行训练,直至达到训练停止条件。
其中,样本文本的预测概率可以用于指示该样本文本与样本问题的相关性程度。相关性特征向量可以用于表征样本问题和预测答案的相关性特征。
作为一种示例,特征提取层可以采用ALBERT模型的结构,用于进行特征提取。前馈神经网络层可以用于对输入进行线性变换,得到每个样本文本对应的预测概率。
作为一种示例,可以从训练数据库中获取样本问题,将样本问题输入完成训练的检索模块中,得到与样本问题相关的至少两个样本文本,并将样本问题和至少两个样本文本输入完成训练的阅读理解模块中,可以得到至少两个样本答案、每个样本答案的上下文文本和每个样本文本的文本特征向量。
示例性地,参见图7,可以将样本问题、样本文本1和样本文本2输入训练完成的阅读理解模块,可以得到样本答案1、样本答案2、样本答案1的上下文文本、样本答案2的上下文文本、样本文本1的文本特征向量和样本文本2的文本特征向量。
在一些实施例中,所述重排序模块包括特征提取层和前馈神经网络层,将所述样本问题、所述至少两个样本答案、每个样本答案的上下文文本和每个样本文本的文本特征向量输入所述重排序模块,得到每个样本文本对应的预测概率,包括:将所述至少两个样本答案、所述样本问题和每个样本答案的上下文文本进行拼接,输入所述特征提取层,得到拼接特征向量;将所述拼接特征向量和所述至少两个样本文本的文本特征向量输入所述前馈神经网络层,得到每个样本文本的相关性特征向量;对每个样本文本的相关性特征向量进行线性变换,得到每个样本文本对应的预测概率。
作为一种示例,可以将样本问题分别与至少两个样本答案以及每个样本答案的上下文文本进行拼接,得到拼接文本,将该拼接文本输入特征提取层,可以得到至少两个拼接特征向量。再将每个拼接特征向量分别与每个样本文本的文本特征向量进行拼接,将拼接结果输入前馈神经网络层,可以得到每个样本文本的相关性特征向量,对每个样本文本的相关性特征向量进行线性变换,可以将每个相关性特征向量转换成单个数值,得到至少两个数值,对该至少两个数值进行归一化(softmax)处理,可以得到每个样本文本对应的预测概率。
在一些实施例中,基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记的具体实现可以包括:将预测概率大于概率阈值的样本文本的预测标记确定为相关,将预测概率小于或等于所述概率阈值的样本文本的预测标记确定为不相关。
也就是说,若预测概率大于概率阈值,可以认为该样本文本与样本问题的相关性比较大,则可以将样本文本的预测标记确定为相关;若预测概率小于或等于概率阈值,可以认为该样本文本与样本问题的相关性比较小,则可以将该样本文本的预测标记确定为不相关。
示例性地,参见图7,可以将样本答案1、样本答案1的上下文文本、样本文本1的文本特征向量、样本答案2、样本答案2的上下文文本和样本文本2的文本特征向量输入重排序模块,可以得到样本文本1的预测标记1和样本文本2的预测标记2。
在一些实施例中,确定至少两个样本文本的预测标记后,还可以基于至少两个样本文本的预测标记和至少两个样本文本的样本标记确定第四损失值。
示例性地,可以将至少两个样本文本的预测标记和样本标记均作为损失函数的输入,在确定第四损失值时,不是分别确定不同的样本文本对应的损失值,而是同时考虑至少两个样本文本的预测标记和样本标记,能够充分考虑样本文本之间的关系,可以提高重排序模块的性能。
需要说明的是,对重排序模块进行训练的实现过程与步骤206中重排序模块内执行的操作过程类似,其具体实现可以参见步骤206的相关描述,本实施例在此不再赘述。
在一些实施例中,基于所述第四损失值对所述重排序模块进行训练,直至达到训练停止条件,包括:若所述第四损失值小于第四阈值,停止对所述重排序模块的训练;若所述第四损失值大于或等于所述第四阈值,继续对所述重排序模块进行训练。
作为一种示例,若第四损失值小于第四阈值,可以认为重排序模块的训练已经结束,模型的性能已经可以满足用户需求,可以停止对重排序模块的训练;若第四损失值大于或等于第四阈值,可以认为重排序模块未训练完成,其模型的性能还不能满足用户需求,因此,需要继续对重排序模块进行训练。
示例性地,参见图7,可以基于样本标记1、样本标记2、预测标记1和预测标记2确定第四损失值,并基于第四损失值对重排序模块进行训练。
在本申请实施例中,阅读理解模块和重排序模块分开训练,先训练得到阅读理解模块,再将该阅读理解模块的输出作为输入对重排序模块进行训练,得到训练好的重排序模块。
本申请实施例中,将重排序模块排在阅读理解模块之后,在对重排序模块进行训练时,可以考虑到阅读理解模块的输出,即预测答案、预测答案的上下文文本、以及样本文本的特征,而不是仅根据样本文本与样本问题的相关性对样本文本进行排序,能够提高样本文本的排序准确性,将可能存在正确答案的样本文本排在前面,提高了训练得到的重排序模块的排序性能,进而提高了问答模型的性能。
图8是本申请实施例提供的一种问答方法的流程图,包括步骤802至步骤806。
步骤802,获取待处理问题和至少两个待处理文本,并将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案、每个目标答案的上下文文本、以及每个待处理文本的文本特征向量。
在一些实施例中,所述问答模型还包括检索模块,获取至少两个待处理文本的具体实现可以包括:将所述待处理问题输入所述检索模块,确定与所述待处理问题相关的文本作为所述至少两个待处理文本,其中,所述检索模块用于基于待处理问题从待处理文本库中检索出与所述待处理问题相关的待处理文本。
其中,检索模块的功能是从待处理文本库中检索出与待处理问题相关的待文本。作为一种示例,该检索模型能够从待处理文本库中检索出与待处理问题字面相关的待处理文本。待处理文本库中可以包括多个待处理文本。
也即是,可以将待处理问题输入检索模块中,则检索模块可以从待处理文本库中获取与该待处理问题相关的文本作为至少两个待处理文本。
示例性地,参见图9,将待处理问题输入问答模型的检索模块,可以得到待处理文本1和待处理文本2。
在一些实施例中,将所述待处理问题输入所述检索模块,确定与所述待处理问题相关的文本的具体实现可以包括:将所述待处理问题输入所述检索模块,获取所述待处理问题中的关键词单元;将所述待处理文本库中包括所述关键词单元的文本作为与所述待处理问题相关的文本。
其中,关键词单元可以是能够表征待处理问题的核心词汇,且关键词单元的数量可以是至少一个。
也即是,将待处理问题输入检索模块,可以通过倒排索引的方式从待处理文本库中获取包括关键词单元的文本作为与待处理问题相关的文本。
作为一种示例,将待处理问题输入检索模块,可以对待处理问题进行分词,得到多个词单元,并从多个词单元中获取关键词单元。
通常情况下,若文本中包括关键词单元,可以认为该文本与该关键词单元比较相关,进而可以认为该文本与该待处理问题的相关性比较大,因此,可以将包括关键词单元的文本作为与待处理问题相关的文本。作为一种示例,在关键词单元的数量大于一个的情况下,可以将待处理文本库中包括所有关键词单元的文本作为与待处理问题相关的文本。
例如,假设待处理问题是“最小的自然数是什么”,待处理文本库中的待处理文本1是“0是最小的自然数”,待处理文本库中的待处理文本2是“1是最小的奇数”可以确定该待处理文本1中包括“自然数”和“最小”,则可以将该待处理文本1确定为与该待处理问题相关的文本,而待处理文本2中包括“最小”,但不包括“自然数”,则不能将待处理文本2确定为与该待处理问题相关的文本。
在另一些实施例中,可以通过倒排索引的方式从待处理文本库中获取与待处理问题相关的文本。具体地,首先需要创建倒排索引,可以先对待处理文本库中的多个待处理文本进行编号,形成文本列表,并对每个待处理文本进行分词处理,得到多个词单元,以词单元为索引,保存包含每个词单元的待处理文本的编号,得到倒排索引列表。然后基于倒排索引进行搜索,当输入待处理问题时,首先对输入的待处理问题进行分词,得到至少两个词单元,然后在倒排索引列表中匹配该至少两个词单元,以该至少两个词单元为索引,确定包含该至少两个词单元的待处理文本的编号,基于编号可以获取包含该至少两个词单元的待处理文本,即可以得到与该待处理问题相关的文本。
在该种情况下,待处理文本需要包括待处理问题中每个词单元,才可以将该待处理文本确定为与待处理问题相关的文本。如此,可以进一步提高获取的待处理文本的准确率。
进一步地,将所述待处理问题输入检索模块,确定与所述待处理问题相关的文本作为所述至少两个待处理文本之后,还包括:确定所述关键词单元分别在所述至少两个待处理文本中的词频;确定所述关键词单元在所述待处理文本库中的逆文档词频;基于所述关键词单元分别在所述至少两个待处理文本中的词频和在所述待处理文本库中的逆文档词频,确定每个待处理文本的相关度分值;基于所述每个待处理文本的相关度分值,对所述至少两个待处理文本进行初次排序,得到排序后的所述至少两个待处理文本;
相应地,将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,包括:按照顺序将排序后的所述至少两个待处理文本和所述待处理问题输入所述问答模型的阅读理解模块。
也就是说,在通过检索模块获取到至少两个待处理文本之后,还可以对至少两个待处理文本进行初次排序,按照顺序将排序后的至少两个待处理文本和待处理问题输入阅读理解模块中。
作为一种示例,对于参考关键词单元来说,可以先统计该参考关键词单元在每个待处理文本中出现的次数,根据该次数和待处理文本包括的词单元的数量可以确定该参考关键词单元在每个待处理文本中的词频,并且统计待处理文本库中包括该参考关键词单元的待处理文本的数量,基于该数量和待处理文本库中待处理文本的总数量确定该参考关键词单元在待处理文本库中的逆文档词频;基于该参考关键词单元在每个待处理文本中的词频和在待处理文本库中的逆文档词频,通过TF-IDF算法可以确定每个待处理文本的相关度分值。按照相关度分值从高到低的顺序对至少两个待处理文本进行初次排序,可以得到排序后的至少两个待处理文本。
示例性地,可以将参考关键词单元出现的次数和待处理文本中词单元的数量之间的商作为参考关键词单元在待处理文本中的词频。可以将待处理文本库中待处理文本的数量与待处理文本库中包括参考关键词单元的待处理文本的数量之间的商作为参考关键词单元的逆文档词频。
例如,假设待处理问题包括关键词单元A、关键词单元B和关键词单元C,与待处理问题相关的待处理文本1包括关键词单元A和关键词单元B,可以确定关键词单元A在待处理文本1中的词频,确定关键词单元B在待处理文本1中的词频,以及确定关键词单元A的逆文档词频,确定关键词单元B的逆文档词频,可以确定关键词单元A的词频与逆文档词频的乘积,得到第一乘积值,确定关键词单元B的词频与逆文档词频的乘积,得到第二乘积值,将第一乘积值和第二乘积值之和确定为待处理文本1的相关度分值。
在一些实施例中,所述阅读理解模块包括特征提取层和前馈神经网络层,将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案、每个目标答案的上下文文本、以及每个待处理文本的文本特征向量,包括:将所述待处理问题分别与所述至少两个待处理文本进行拼接,得到至少两个第一文本;将所述至少两个第一文本输入所述特征提取层,确定每个第一文本的目标词单元,并将每个第一文本的目标词单元与其他第一文本的词单元进行注意力计算,得到每个第一文本的特征向量序列;基于每个第一文本的特征向量序列确定每个待处理文本的文本特征向量;将每个第一文本的特征向量序列输入所述前馈神经网络层,确定每个待处理文本对应的目标答案,并获取每个目标答案的上下文文本。
其中,特征提取层用于提取输入的文本的特征向量,前馈神经网络层用于对输入进行线性变换,得到每个待处理文本对应的目标答案。
其中,目标词单元可以是第一文本中的关键词单元,且该目标词单元的数量可以是至少一个。
作为一种示例,可以将待处理问题和待处理文本进行拼接,并且在待处理问题和待处理文本之间插入分割符,在得到的第一待处理之前添加类别标记符。例如,假设待处理问题是“诗仙是谁”,待处理文本1是“李白被后人尊称为诗仙”,拼接后可以得到第一文本“[CLS]诗仙是谁[SEP]李白被后人尊称为诗仙”,假设待处理文本2是“诗仙李白,诗圣杜甫”,则拼接后可以得到第一文本“[CLS]诗仙是谁[SEP]诗仙李白,诗圣杜甫”。
作为一种示例,特征提取层可以包括词嵌入子层和注意力子层,通过词嵌入子层可以对输入的至少两个第一文本分别进行词嵌入处理,得到每个第一文本的词向量序列,该词向量序列包括多个词向量,且每个词向量对应第一文本中的一个词单元。还可以确定每个第一文本的目标词单元,进而确定每个第一文本的目标词单元的目标词向量,通过注意力子层,可以将每个第一文本的词向量序列与其他第一文本的目标词向量进行注意力计算,得到每个第一文本的特征向量序列。并且,可以将每个第一文本的特征向量序列中[CLS]位置处的特征向量确定为每个待处理文本的文本特征向量。
在一些实施例中,将每个第一文本的特征向量序列输入所述前馈神经网络层,确定每个待处理文本对应的目标答案,包括:将每个第一文本的特征向量序列输入所述前馈神经网络层,在每个第一文本中确定预测起始位置和预测结束位置;将每个第一文本中位于所述预测起始位置和所述预测结束位置之间的文本确定为每个待处理文本对应的目标答案。
作为一种示例,前馈神经网络层还可以称为线性变换层,用于对输入的特征向量序列中每个词单元的特征向量进行线性变换,对于每个词单元可以得到两个概率,一个为该词单元是目标答案的起始位置的概率,另一个为该词单元是目标答案的结束位置的概率,根据每个词单元的两个概率可以确定预测起始位置和预测结束位置,并将预测起始位置和预测结束位置之间的文本确定为目标答案。
示例性地,假设待处理文本是“李白被后人尊称为诗仙”,将该待处理文本的特征向量序列输入前馈神经网络层,可以得到每个词单元是目标答案的起始位置的概率,以及每个词单元是目标答案的结束位置的概率,假设“李”是目标答案的起始位置的概率最高,“白”是目标答案的结束位置的概率最高,可以确定目标答案是“李白”。
通过上述方式,可以确定出每个待处理文本对应的目标答案。在确定每个待处理文本的目标答案的情况下,可以从待处理文本中获取目标答案的上下文文本。
示例性地,参见图9,将待处理问题和待处理文本1进行拼接,输入问答模型的阅读理解模块,可以得到目标答案1,且目标答案1是从待处理文本1中抽取得到的答案,并获取目标答案1的上下文文本和待处理文本1的文本特征向量,将待处理问题和待处理文本2进行拼接输入问答模型的阅读理解模块,可以得到目标答案2,且目标答案2是从待处理文本2中抽取得到的答案,并获取目标答案2的上下文文本和待处理文本2的文本特征向量。
步骤804,将所述待处理问题、所述至少两个目标答案、每个目标答案的上下文文本和每个待处理文本的文本特征向量输入所述问答模型的重排序模块,得到每个待处理文本对应的目标概率。
在一些实施例中,所述重排序模块包括特征提取层和前馈神经网络层,将所述至少两个目标答案、所述待处理问题、每个目标答案的上下文文本和每个待处理文本的文本特征向量输入所述问答模型的重排序模块,得到每个待处理文本对应的目标概率,包括:将所述至少两个目标答案、所述待处理问题和每个目标答案的上下文文本进行拼接,输入所述特征提取层,得到拼接特征向量;将所述拼接特征向量和所述至少两个待处理文本的文本特征向量输入所述前馈神经网络层,得到每个待处理文本的相关性特征向量;对每个待处理文本的相关性特征向量进行线性变换,得到每个待处理文本对应的目标概率。
其中,待处理文本的目标概率可以用于指示该待处理文本与待处理问题的相关性程度。相关性特征向量可以用于表征待处理问题和预测答案的相关性特征。
作为一种示例,特征提取层可以采用ALBERT模型的结构,用于进行特征提取。前馈神经网络层可以用于对输入进行线性变换,得到每个待处理文本对应的目标概率。
作为一种示例,可以将待处理问题分别与至少两个预测答案以及每个预测答案的上下文文本进行拼接,得到拼接文本,将该拼接文本输入特征提取层,可以得到至少两个拼接特征向量。再将每个拼接特征向量分别与每个待处理文本的文本特征向量进行拼接,将拼接结果输入前馈神经网络层,可以得到每个待处理文本的相关性特征向量,对每个待处理文本的相关性特征向量进行线性变换,可以将每个相关性特征向量转换成单个数值,得到至少两个数值,对该至少两个数值进行归一化(softmax)处理,可以得到每个待处理文本对应的目标概率。
示例性地,以特征提取层采用ALBERT模型的结构为例,假设待处理问题用Q表示,预测答案用A表示,预测答案的上下文文本用S表示,则ALBERT的输入为[Q;A;S],其中“;”表示拼接,这里省略了ALBERT中的“[CLS]”标记和“[SEP]”标记,对该输入进行特征提取,可以得到拼接特征向量。然后将每个待处理文本的文本特征向量与上述拼接特征向量进行拼接,将拼接后的特征向量输入前馈神经网络层,在前馈神经网络层进一步进行特征提取,可以得到每个待处理文本的相关性特征向量,将该相关性特征向量与线性变换矩阵相乘,则可以将每个相关性特征向量转换成单个数值,该数值还可以称为相关性分数,对至少两个待处理文本的相关性分数进行softmax处理,可以得到每个待处理文本对应的目标概率。
步骤806,基于每个待处理文本的目标概率对所述至少两个待处理文本进行排序,并输出排序后的待处理文本和所述至少两个目标答案。
在一些实施例中,可以按照目标概率从大到小的顺序对至少两个待处理文本进行排序,可以得到排序后的待处理文本。
作为一种示例,可以将目标概率大于概率阈值的待处理文本按照顺序输出,并且,可以将该目标概率大于概率阈值的待处理文本的目标答案输出。
示例性地,假设待处理文本1的目标概率大于待处理文本2的目标概率,且两个目标概率均大于概率阈值。参见图9,可以将目标答案1和目标答案2输出,并且按照顺序将待处理文本1和待处理文本2输出。
本申请实施例中,将重排序模块排在阅读理解模块之后,在通过重排序模块对文本重新进行排序时,可以考虑到阅读理解模块的输出,即目标答案、目标答案的上下文文本、以及待处理文本的特征向量,而不是仅根据待处理文本与待处理问题的相关性对待处理文本进行排序,能够提高待处理文本的排序准确性,将可能存在正确答案的待处理文本排在前面,提高了重排序模块的排序性能,进而提高了问答模型执行问答任务的准确率。
图10是本申请实施例提供的另一种问答方法的流程图,包括步骤1002至步骤1004。
步骤1002,获取待处理问题和至少两个待处理文本。
在一些实施例中,问答模型可以包括检索模块,获取至少两个待处理文本的具体实现可以包括:将所述待处理问题输入所述检索模块,确定与所述待处理问题相关的文本作为所述至少两个待处理文本,其中,所述检索模块用于基于待处理问题从待处理文本库中检索出与所述待处理问题相关的待处理文本。
其中,检索模块的功能是从待处理文本库中检索出与待处理问题相关的待文本。作为一种示例,该检索模型能够从待处理文本库中检索出与待处理问题字面相关的待处理文本。待处理文本库中可以包括多个待处理文本。
也即是,可以将待处理问题输入检索模块,则检索模块可以从待处理文本库中获取与该待处理问题相关的文本作为至少两个待处理文本。
在一些实施例中,将所述待处理问题输入所述检索模块,确定与所述待处理问题相关的文本的具体实现可以包括:将所述待处理问题输入所述检索模块,获取所述待处理问题中的关键词单元;将所述待处理文本库中包括所述关键词单元的文本作为与所述待处理问题相关的文本。
其中,关键词单元可以是能够表征待处理问题的核心词汇,且关键词单元的数量可以是至少一个。
也即是,将待处理问题输入检索模块,可以通过倒排索引的方式从待处理文本库中获取包括关键词单元的文本作为与待处理问题相关的文本。
作为一种示例,将待处理问题输入检索模块,可以对待处理问题进行分词,得到多个词单元,并从多个词单元中获取关键词单元。
通常情况下,若文本中包括关键词单元,可以认为该文本与该关键词单元比较相关,进而可以认为该文本与该待处理问题的相关性比较大,因此,可以将包括关键词单元的文本作为与待处理问题相关的文本。作为一种示例,在关键词单元的数量大于一个的情况下,可以将待处理文本库中包括所有关键词单元的文本作为与待处理问题相关的文本。
例如,假设待处理问题是“最小的自然数是什么”,待处理文本库中的待处理文本1是“0是最小的自然数”,待处理文本库中的待处理文本2是“1是最小的奇数”可以确定该待处理文本1中包括“自然数”和“最小”,则可以将该待处理文本1确定为与该待处理问题相关的文本,而待处理文本2中包括“最小”,但不包括“自然数”,则不能将待处理文本2确定为与该待处理问题相关的文本。
在另一些实施例中,可以通过倒排索引的方式从待处理文本库中获取与待处理问题相关的文本。具体地,首先需要创建倒排索引,可以先对待处理文本库中的多个待处理文本进行编号,形成文本列表,并对每个待处理文本进行分词处理,得到多个词单元,以词单元为索引,保存包含每个词单元的待处理文本的编号,得到倒排索引列表。然后基于倒排索引进行搜索,当输入待处理问题时,首先对输入的待处理问题进行分词,得到至少两个词单元,然后在倒排索引列表中匹配该至少两个词单元,以该至少两个词单元为索引,确定包含该至少两个词单元的待处理文本的编号,基于编号可以获取包含该至少两个词单元的待处理文本,即可以得到与该待处理问题相关的文本。
在该种情况下,待处理文本需要包括待处理问题中每个词单元,才可以将该待处理文本确定为与待处理问题相关的文本。如此,可以进一步提高获取的待处理文本的准确率。
进一步地,将所述待处理问题输入检索模块,确定与所述待处理问题相关的文本作为所述至少两个待处理文本之后,还包括:确定所述关键词单元分别在所述至少两个待处理文本中的词频;确定所述关键词单元在所述待处理文本库中的逆文档词频;基于所述关键词单元分别在所述至少两个待处理文本中的词频和在所述待处理文本库中的逆文档词频,确定每个待处理文本的相关度分值;基于所述每个待处理文本的相关度分值,对所述至少两个待处理文本进行初次排序,得到排序后的所述至少两个待处理文本;
相应地,将所述待处理问题输入检索模块,确定与所述待处理问题相关的文本作为所述至少两个待处理文本,包括:按照顺序将排序后的所述至少两个待处理文本和所述待处理问题输入所述问答模型的阅读理解模块。
也就是说,在通过检索模块获取到至少两个待处理文本之后,还可以对至少两个待处理文本进行初次排序,按照顺序将排序后的至少两个待处理文本和待处理问题输入阅读理解模块中。
作为一种示例,对于参考关键词单元来说,可以先统计该参考关键词单元在每个待处理文本中出现的次数,根据该次数和待处理文本包括的词单元的数量可以确定该参考关键词单元在每个待处理文本中的词频,并且统计待处理文本库中包括该参考关键词单元的待处理文本的数量,基于该数量和待处理文本库中待处理文本的总数量确定该参考关键词单元在待处理文本库中的逆文档词频;基于该参考关键词单元在每个待处理文本中的词频和在待处理文本库中的逆文档词频,通过TF-IDF算法可以确定每个待处理文本的相关度分值。按照相关度分值从高到低的顺序对至少两个待处理文本进行初次排序,可以得到排序后的至少两个待处理文本。
示例性地,可以将参考关键词单元出现的次数和待处理文本中词单元的数量之间的商作为参考关键词单元在待处理文本中的词频。可以将待处理文本库中待处理文本的数量与待处理文本库中包括参考关键词单元的待处理文本的数量之间的商作为参考关键词单元的逆文档词频。
例如,假设待处理问题包括关键词单元A、关键词单元B和关键词单元C,与待处理问题相关的待处理文本1包括关键词单元A和关键词单元B,可以确定关键词单元A在待处理文本1中的词频,确定关键词单元B在待处理文本1中的词频,以及确定关键词单元A的逆文档词频,确定关键词单元B的逆文档词频,可以确定关键词单元A的词频与逆文档词频的乘积,得到第一乘积值,确定关键词单元B的词频与逆文档词频的乘积,得到第二乘积值,将第一乘积值和第二乘积值之和确定为待处理文本1的相关度分值。
步骤1004,将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案。
在一些实施例中,所述阅读理解模块包括特征提取层和前馈神经网络层,将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案的具体实现可以包括:将所述待处理问题分别与所述至少两个待处理文本进行拼接,得到至少两个第二文本;将所述至少两个第二文本输入所述特征提取层,确定每个第二文本的目标词单元,并将每个第二文本的目标词单元与其他第二文本的词单元进行注意力计算,得到每个第二文本的特征向量序列;将每个第二文本的特征向量序列输入所述前馈神经网络层,确定每个待处理文本对应的目标答案。
其中,特征提取层用于提取输入的文本的特征向量,前馈神经网络层用于对输入进行线性变换,得到每个待处理文本对应的目标答案。
其中,目标词单元可以是第二文本中的关键词单元,且该目标词单元的数量可以是至少一个。
作为一种示例,可以将待处理问题和待处理文本进行拼接,并且在待处理问题和待处理文本之间插入分割符,在得到的第一待处理之前添加类别标记符。例如,假设待处理问题是“诗仙是谁”,待处理文本1是“李白被后人尊称为诗仙”,拼接后可以得到第二文本“[CLS]诗仙是谁[SEP]李白被后人尊称为诗仙”,假设待处理文本2是“诗仙李白,诗圣杜甫”,则拼接后可以得到第二文本“[CLS]诗仙是谁[SEP]诗仙李白,诗圣杜甫”。
作为一种示例,特征提取层可以包括词嵌入子层和注意力子层,通过词嵌入子层可以对输入的至少两个第二文本分别进行词嵌入处理,得到每个第二文本的词向量序列,该词向量序列包括多个词向量,且每个词向量对应第二文本中的一个词单元。还可以确定每个第二文本的目标词单元,进而确定每个第二文本的目标词单元的目标词向量,通过注意力子层,可以将每个第二文本的词向量序列与其他第二文本的目标词向量进行注意力计算,得到每个第二文本的特征向量序列。
在一些实施例中,将每个第二文本的特征向量序列输入所述前馈神经网络层,确定每个待处理文本对应的目标答案,包括:将每个第二文本的特征向量序列输入所述前馈神经网络层,在每个第二文本中确定目标起始位置和目标结束位置;将每个第二文本中位于所述目标起始位置和所述目标结束位置之间的文本确定为每个待处理文本对应的目标答案。
作为一种示例,前馈神经网络层还可以称为线性变换层,用于对输入的特征向量序列中每个词单元的特征向量进行线性变换,对于每个词单元可以得到两个概率,一个为该词单元是目标答案的起始位置的概率,另一个为该词单元是目标答案的结束位置的概率,根据每个词单元的两个概率可以确定目标起始位置和目标结束位置,并将目标起始位置和目标结束位置之间的文本确定为目标答案。
示例性地,假设待处理文本是“李白被后人尊称为诗仙”,将该待处理文本的特征向量序列输入前馈神经网络层,可以得到每个词单元是目标答案的起始位置的概率,以及每个词单元是目标答案的结束位置的概率,假设“李”是目标答案的起始位置的概率最高,“白”是目标答案的结束位置的概率最高,可以确定目标答案是“李白”。
需要说明的是,通过上述方式,可以确定出每个待处理文本对应的目标答案,通过上述步骤已经可以完成问答任务,但确定的待处理文本较多,得到的目标答案也比较多,可能存在一些不正确的答案,因此,在本申请一种可能的实现方式中,问答模型还可以包括重排序模块,可以通过重排序模块进一步地确定出待处理问题的正确答案,并且对待处理文本重新进行排序输出。
在一种可能的实现方式中,根据阅读理解模块确定每个待处理文本的特征向量序列之后,还可以基于每个待处理文本的特征向量序列确定每个待处理文本的文本特征向量,且根据每个待处理文本和相应的目标答案确定每个目标答案的上下文文本。
作为一种示例,可以将每个待处理文本的特征向量序列中[CLS]位置处的特征向量确定为每个待处理文本的文本特征向量,还可以将每个目标答案在其相应的待处理文本前后的文本确定为每个目标答案的上下文文本。
在实施中,可以将待处理问题、每个待处理文本的目标答案、以及每个目标答案的上下文文本输入问答模型的重排序模块中,得到每个待处理文本对应的目标概率。
在一些实施例中,所述重排序模块包括特征提取层和前馈神经网络层,可以将至少两个目标答案、待处理问题和每个目标答案的上下文文本进行拼接,输入特征提取层,得到拼接特征向量;将拼接特征向量和至少两个待处理文本的文本特征向量输入前馈神经网络层,得到每个待处理文本的相关性特征向量;对每个待处理文本的相关性特征向量进行线性变换,可以得到每个待处理文本对应的目标概率。
其中,待处理文本的目标概率可以用于指示该待处理文本与待处理问题的相关性程度。相关性特征向量可以用于表征待处理问题和目标答案的相关性特征。
作为一种示例,特征提取层可以采用ALBERT模型的结构,用于进行特征提取。前馈神经网络层可以用于对输入进行线性变换,得到每个待处理文本对应的目标概率。
作为一种示例,可以将待处理问题分别与至少两个目标答案以及每个目标答案的上下文文本进行拼接,得到拼接文本,将该拼接文本输入特征提取层,可以得到至少两个拼接特征向量。再将每个拼接特征向量分别与每个待处理文本的文本特征向量进行拼接,将拼接结果输入前馈神经网络层,可以得到每个待处理文本的相关性特征向量,对每个待处理文本的相关性特征向量进行线性变换,可以将每个相关性特征向量转换成单个数值,得到至少两个数值,对该至少两个数值进行归一化(softmax)处理,可以得到每个待处理文本对应的目标概率。
示例性地,以特征提取层采用ALBERT模型的结构为例,假设待处理问题用Q表示,目标答案用A表示,目标答案的上下文文本用S表示,则ALBERT的输入为[Q;A;S],其中“;”表示拼接,这里省略了ALBERT中的“[CLS]”标记和“[SEP]”标记,对该输入进行特征提取,可以得到拼接特征向量。然后将每个待处理文本的文本特征向量与上述拼接特征向量进行拼接,将拼接后的特征向量输入前馈神经网络层,在前馈神经网络层进一步进行特征提取,可以得到每个待处理文本的相关性特征向量,将该相关性特征向量与线性变换矩阵相乘,则可以将每个相关性特征向量转换成单个数值,该数值还可以称为相关性分数,对至少两个待处理文本的相关性分数进行softmax处理,可以得到每个待处理文本对应的目标概率。
在一些实施例中,确定每个待处理文本的目标概率后,可以按照目标概率从大到小的顺序对至少两个待处理文本进行排序,可以得到排序后的待处理文本,可以将至少两个待处理文本按照顺序输出,并将每个待处理文本的目标答案输出。
作为一种示例,可以将目标概率大于概率阈值的待处理文本按照顺序输出,并且,可以将该目标概率大于概率阈值的待处理文本的目标答案输出。
本申请实施例中,将重排序模块排在阅读理解模块之后,在通过重排序模块对文本重新进行排序时,可以考虑到阅读理解模块的输出,即目标答案、目标答案的上下文文本、以及待处理文本的特征向量,而不是仅根据待处理文本与待处理问题的相关性对待处理文本进行排序,能够提高待处理文本的排序准确性,将可能存在正确答案的待处理文本排在前面,提高了重排序模块的排序性能,进而提高了问答模型执行问答任务的准确率。
图11是根据本申请一实施例示出的一种应用于问答任务的问答方法的流程图,该问答任务以待处理问题是“诗圣是谁”为例进行描述,具体可以包括如下步骤:
步骤1102,获取待处理问题。
例如,待处理问题是“诗圣是谁”。
步骤1104,将待处理问题输入问答模型的检索模块,获取待处理问题中的关键词单元。
例如,对“诗圣是谁”进行分词,得到三个词单元,分别为“诗圣”、“是”、“谁”,可以将“诗圣”确定为关键词单元。
步骤1106,将文本库中包括关键词单元的文本作为与待处理问题相关的待处理文本,得到N个待处理文本。
其中,N是大于或等于2的正整数。
例如,文本库中包括“诗圣”的文本有两个,则可以将该两个文本确定为待处理文本。
参见图12,将待处理问题输入检索模块,可以得到两个待处理文本,分别是待处理文本1和待处理文本2。
步骤1108,确定关键词单元分别在N个待处理文本中的词频,以及确定关键词单元在文本库中的逆文档词频。
例如,假设待处理文本1中包括20个字,“诗圣”出现了1次,则在待处理文本1中“诗圣”的词频是0.1,同理,假设待处理文本2中包括10个字,“诗圣”出现了2次,则在待处理文本2中“诗圣”的词频是0.4。
假设文本库中包括100个待处理文本,除了待处理文本1和待处理文本2中的任一文本之外,文本库中包括“诗圣”这一词语的待处理文本有25个,则“诗圣”在文本库中的逆文档词频为4。
步骤1110,基于所述关键词单元分别在N个待处理文本中的词频和在文本库中的逆文档词频,确定每个待处理文本的相关度分值。
继续上述举例,可以通过TF-IDF算法确定每个待处理文本的相关度分值。“诗圣”这一词语在待处理文本1中的相关度分值是0.1×4=0.4,“诗圣”这一词语在待处理文本2中的相关度分值是0.4×4=1.6,由于关键词单元仅包括“诗圣”,由于关键词单元仅包括“诗圣”,因此,可以将0.4确定为待处理文本1的相关度分值,将1.6确定为待处理文本2的相关度分值。
步骤1112,基于所述每个待处理文本的相关度分值,对所述N个待处理文本进行初次排序,得到排序后的N个待处理文本。
继续上述举例,可以按照相关度分值从大到小的顺序对三个待处理文本进行排序,可以得到排序后的N个待处理文本是待处理文本2和待处理文本1。
步骤1114,将每个待处理文本与待处理问题进行拼接,得到N个第一文本。
例如,可以将待处理问题和待处理文本进行拼接,并且在待处理问题和待处理文本之间插入分割符,在得到的第一文本之前添加类别标记符。例如,假设待处理问题是“诗圣是谁”,待处理文本是“杜甫被后人尊称为诗圣”,拼接后可以得到第一文本“[CLS]诗圣是谁[SEP]杜甫被后人尊称为诗圣”。
步骤1116,按照N个待处理文本的顺序将N个第一文本输入阅读理解模块的特征提取层,确定每个第一文本的目标词单元,并将每个第一文本的目标词单元与其他第一文本的词单元进行注意力计算,得到每个第一文本的特征向量序列。
以第一文本是“[CLS]诗圣是谁[SEP]杜甫被后人尊称为诗圣”为例,可以确定目标词单元是“诗圣”和“杜甫”,可以将第一文本中每个词单元的词向量分别与“诗圣”和“杜甫”的词向量进行注意力计算,对于第一文本中的每个词单元可以得到四个注意力值,对于参考词单元,可以将参考词单元对应的四个注意力值加权求和,得到参考词单元的第一权重,将该第一权重和该参考词单元的词向量相乘,可以得到该参考词单元的特征向量,通过上述方式可以得到第一文本中每个词单元的特征向量,进而可以得到第一文本的特征向量序列。同理可以得到其他第一文本的特征向量序列。
步骤1118,基于每个第一文本的特征向量序列确定每个待处理文本的文本特征向量。
继续上述举例,可以将第一文本的特征向量序列中[CLS]位置处的特征向量确定为待处理文本的文本特征向量。
步骤1120,将每个第一文本的特征向量序列输入所述前馈神经网络层,在每个第一文本中确定目标起始位置和目标结束位置。
步骤1122,将每个第一文本中位于所述目标起始位置和所述目标结束位置之间的文本确定为每个待处理文本对应的目标答案,并获取每个目标答案的上下文文本。
例如,将待处理文本的特征向量序列输入前馈神经网络层,可以得到每个词单元是目标答案的起始位置的概率,以及每个词单元是目标答案的结束位置的概率,假设“杜”是目标答案的起始位置的概率最高,“甫”是目标答案的结束位置的概率最高,可以确定目标答案是“杜甫”,并且可以将“被后人尊称为诗圣”确定为目标答案的上下文文本。
参见图12,按照顺序将待处理文本2和待处理文本1输入阅读理解模块,可以得到目标答案1、待处理文本1的文本特征向量、目标答案1的上下文文本、目标答案2、待处理文本2的文本特征向量和目标答案2的上下文文本。其中,目标答案1是从待处理文本1中抽取得到的答案,目标答案2是从待处理文本2中抽取得到的答案。
步骤1124,将N个目标答案、待处理问题和每个目标答案的上下文文本进行拼接,输入重排序模块的特征提取层,得到拼接特征向量。
例如,可以将目标答案1、待处理文本1和目标答案1的上下文文本进行拼接,将拼接结果输入重排序模块的特征提取层,可以得到待处理文本1的拼接特征向量。同理,可以得到待处理文本2的拼接特征向量。
步骤1126,将拼接特征向量和N个待处理文本的文本特征向量输入前馈神经网络层,得到每个待处理文本的相关性特征向量。
步骤1128,对每个待处理文本的相关性特征向量进行线性变换,得到每个待处理文本对应的目标概率。
例如,对待处理文本1和待处理文本2的相关性特征向量分别进行线性变换,可以将每个相关性特征向量转换成单个数值,得到2个数值,对该2个数值进行归一化(softmax)处理,可以得到待处理文本1和待处理文本2分别对应的目标概率。
步骤1130,按照目标概率对N个待处理文本进行排序,将目标概率大于概率阈值的待处理文本按照顺序输出,并将目标概率大于概率阈值的待处理文本的目标答案输出。
例如,假设概率阈值是0.5,待处理文本1对应的目标概率是0.6,待处理待处理文本2对应的目标概率是0.8,可以确定待处理文本1和待处理文本2的目标概率均大于概率阈值,则可以将待处理文本1和待处理文本2输出,并将目标答案1和目标答案2输出。
参见图12,将目标答案1、待处理文本1的文本特征向量、目标答案1的上下文文本、目标答案2、待处理文本2的文本特征向量和目标答案2的上下文文本输入重排序模块,对待处理文本1和待处理文本2进行排序,则重排序模块最后输出的是待处理文本2、待处理文本1、目标答案1和目标答案2。
本申请实施例中,将重排序模块排在阅读理解模块之后,在通过重排序模块对文本重新进行排序时,可以考虑到阅读理解模块的输出,即目标答案、目标答案的上下文文本、以及待处理文本的特征向量,而不是仅根据待处理文本与待处理问题的相关性对待处理文本进行排序,能够提高待处理文本的排序准确性,将可能存在正确答案的待处理文本排在前面,提高了重排序模块的排序性能,进而提高了问答模型执行问答任务的准确率。
与上述图2所示的方法实施例相对应,本申请还提供了一种问答模型的训练装置实施例,图13示出了本申请一个实施例的问答模型的训练装置的结构示意图。如图13所示,该装置1300可以包括:
第一获取模块1302,被配置为获取样本问题、至少两个样本文本和样本标签,其中,所述样本标签包括样本答案和所述至少两个样本文本的样本标记,每个样本文本的样本标记表征所述样本文本与所述样本问题是否相关;
第一确定模块1304,被配置为将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本、以及每个样本文本的文本特征向量,基于所述至少两个预测答案和所述样本答案确定第一损失值;
第二确定模块1306,被配置为将所述样本问题、所述至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量输入所述问答模型的重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记,基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第二损失值;
第一训练模块1308,被配置为基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练。
可选地,所述问答模型还包括检索模块,所述第一获取模块1302,被配置为:
将所述样本问题输入所述检索模块,确定与所述样本问题相关的文本作为所述至少两个样本文本,其中,所述检索模块用于基于样本问题从样本文本库中检索出与所述样本问题相关的样本文本。
可选地,第一获取模块1302,被配置为:
将所述样本问题输入所述检索模块,获取所述样本问题中的关键词单元;
将所述样本文本库中包括所述关键词单元的文本作为与所述样本问题相关的文本。
可选地,第一获取模块1302还被配置为:
确定所述关键词单元分别在所述至少两个样本文本中的词频;
确定所述关键词单元在所述样本文本库中的逆文档词频;
基于所述关键词单元分别在所述至少两个样本文本中的词频和在所述样本文本库中的逆文档词频,确定每个样本文本的相关度分值;
基于所述每个样本文本的相关度分值,对所述至少两个样本文本进行初次排序,得到排序后的所述至少两个样本文本;
相应地,第一确定模块1304,被配置为:
按照顺序将排序后的所述至少两个样本文本和所述样本问题输入所述问答模型的阅读理解模块。
可选地,所述阅读理解模块包括特征提取层和前馈神经网络层,第一确定模块1304,被配置为:
将所述样本问题分别与所述至少两个样本文本进行拼接,得到至少两个第一文本;
将所述至少两个第一文本输入所述特征提取层,确定每个第一文本的目标词单元,并将每个第一文本的目标词单元与其他第一文本的词单元进行注意力计算,得到每个第一文本的特征向量序列;
基于每个第一文本的特征向量序列确定每个样本文本的文本特征向量;
将每个第一文本的特征向量序列输入所述前馈神经网络层,确定每个样本文本对应的预测答案,并获取每个预测答案的上下文文本。
可选地,第一确定模块1304,被配置为:
将每个第一文本的特征向量序列输入所述前馈神经网络层,在每个第一文本中确定预测起始位置和预测结束位置;
将每个第一文本中位于所述预测起始位置和所述预测结束位置之间的文本确定为每个样本文本对应的预测答案。
可选地,所述重排序模块包括特征提取层和前馈神经网络层,第二确定模块1306,被配置为:
将所述至少两个预测答案、所述样本问题和每个预测答案的上下文文本进行拼接,输入所述特征提取层,得到拼接特征向量;
将所述拼接特征向量和所述至少两个样本文本的文本特征向量输入所述前馈神经网络层,得到每个样本文本的相关性特征向量;
对每个样本文本的相关性特征向量进行线性变换,得到每个样本文本对应的预测概率。
可选地,第二确定模块1306,被配置为:
将预测概率大于概率阈值的样本文本的预测标记确定为相关,将预测概率小于或等于所述概率阈值的样本文本的预测标记确定为不相关。
可选地,第一训练模块1308,被配置为:
若所述第一损失值小于第一阈值,且所述第二损失值小于第二阈值,停止对所述阅读理解模块和所述重排序模块进行训练;
若所述第一损失值大于或等于所述第一阈值,且所述第二损失值小于所述第二阈值,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,继续对所述阅读理解模块和所述重排序模块进行训练;
若所述第一损失值大于或等于所述第一阈值,且所述第二损失值大于或等于所述第二阈值,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,继续对所述阅读理解模块和所述重排序模块进行训练;
若所述第一损失值小于所述第一阈值,且所述第二损失值大于或等于所述第二阈值,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,继续对所述阅读理解模块和所述重排序模块进行训练。
本申请实施例中,将重排序模块排在阅读理解模块之后,在对重排序模块进行训练时,可以考虑到阅读理解模块的输出,即预测答案、预测答案的上下文文本、以及样本文本的特征,而不是仅根据样本文本与样本问题的相关性对样本文本进行排序,能够提高样本文本的排序准确性,将可能存在正确答案的样本文本排在前面,提高了训练得到的重排序模块的排序性能,进而提高了问答模型的性能。
上述为本实施例的一种问答模型的训练装置的示意性方案。需要说明的是,该问答模型的训练装置的技术方案与上述图2所示的问答模型的训练方法的技术方案属于同一构思,问答模型的训练装置的技术方案未详细描述的细节内容,均可以参见上述图2所示的问答模型的训练方法的技术方案的描述。
与上述图5所示的方法实施例相对应,本申请还提供了另一种问答模型的训练装置实施例,图14示出了本申请另一个实施例的问答模型的训练装置的结构示意图。如图14所示,所述问答模型包括阅读理解模块,该装置1400可以包括:
第二获取模块1402,被配置为获取样本问题、至少两个样本文本和样本答案;
第三确定模块1404,被配置为将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案;
第四确定模块1406,被配置为基于所述至少两个预测答案和所述样本答案确定第三损失值;
第二训练模块1408,被配置为基于所述第三损失值对所述阅读理解模块进行训练,直至达到训练停止条件。
可选地,所述阅读理解模块包括特征提取层和前馈神经网络层,第三确定模块1404,被配置为:
将所述样本问题分别与所述至少两个样本文本进行拼接,得到至少两个第二文本;
将所述至少两个第二文本输入所述特征提取层,确定每个第二文本的目标词单元,并将每个第二文本的目标词单元与其他第二文本的词单元进行注意力计算,得到每个第二文本的特征向量序列;
基于每个第二文本的特征向量序列确定每个样本文本的文本特征向量;
将每个第二文本的特征向量序列输入所述前馈神经网络层,确定每个样本文本对应的预测答案,并获取每个预测答案的上下文文本。
可选地,第三确定模块1404,被配置为:
将每个第二文本的特征向量序列输入所述前馈神经网络层,在每个第二文本中确定预测起始位置和预测结束位置;
将每个第二文本中位于所述预测起始位置和所述预测结束位置之间的文本确定为每个样本文本对应的预测答案。
可选地,所述第二训练模块1408,被配置为:
若所述第三损失值小于第三阈值,停止对所述阅读理解模块的训练;
若所述第三损失值大于或等于所述第三阈值,继续对所述阅读理解模块进行训练。
可选地,所述问答模型还包括重排序模块,所述装置还包括第三训练模块,第三训练模块被配置为:
获取样本问题、至少两个样本答案、每个样本答案的上下文文本、至少两个样本文本的文本特征向量、以及至少两个样本文本的样本标记;
将所述样本问题、所述至少两个样本答案、每个样本答案的上下文文本和每个样本文本的文本特征向量输入所述重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记;
基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第四损失值,并基于所述第四损失值对所述重排序模块进行训练,直至达到训练停止条件。
可选地,所述重排序模块包括特征提取层和前馈神经网络层,所述第三训练模块还被配置为:
将所述至少两个样本答案、所述样本问题和每个样本答案的上下文文本进行拼接,输入所述特征提取层,得到拼接特征向量;
将所述拼接特征向量和所述至少两个样本文本的文本特征向量输入所述前馈神经网络层,得到每个样本文本的相关性特征向量;
对每个样本文本的相关性特征向量进行线性变换,得到每个样本文本对应的预测概率。
可选地,所述第三训练模块还被配置为:
将预测概率大于概率阈值的样本文本的预测标记确定为相关,将预测概率小于或等于所述概率阈值的样本文本的预测标记确定为不相关。
可选地,所述第三训练模块还被配置为:
若所述第四损失值小于第四阈值,停止对所述重排序模块的训练;
若所述第四损失值大于或等于所述第四阈值,继续对所述重排序模块进行训练。
本申请实施例中,将重排序模块排在阅读理解模块之后,在对重排序模块进行训练时,可以考虑到阅读理解模块的输出,即预测答案、预测答案的上下文文本、以及样本文本的特征,而不是仅根据样本文本与样本问题的相关性对样本文本进行排序,能够提高样本文本的排序准确性,将可能存在正确答案的样本文本排在前面,提高了训练得到的重排序模块的排序性能,进而提高了问答模型的性能。
上述为本实施例的一种问答模型的训练装置的示意性方案。需要说明的是,该问答模型的训练装置的技术方案与上述的问答模型的训练方法的技术方案属于同一构思,问答模型的训练装置的技术方案未详细描述的细节内容,均可以参见上述问答模型的训练方法的技术方案的描述。
与上述图8所示的方法实施例相对应,本申请还提供了一种问答装置实施例,图15示出了本申请一个实施例的问答装置的结构示意图。如图15所示,该装置1500可以包括:
第三获取模块1502,被配置为获取待处理问题和至少两个待处理文本,并将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案、每个目标答案的上下文文本、以及每个待处理文本的文本特征向量,其中,所述问答模型通过上述图2所示的问答模型的训练方法训练得到;
第五确定模块1504,被配置为将所述待处理问题、所述至少两个目标答案、每个目标答案的上下文文本和每个待处理文本的文本特征向量输入所述问答模型的重排序模块,得到每个待处理文本对应的目标概率;
输出模块1506,被配置为基于每个待处理文本的目标概率对所述至少两个待处理文本进行排序,并输出排序后的待处理文本和所述至少两个目标答案。
可选地,所述问答模型还包括检索模块,第二获取模块1502,被配置为:
将所述待处理问题输入所述检索模块,确定与所述待处理问题相关的文本作为所述至少两个待处理文本,其中,所述检索模块用于基于待处理问题从待处理文本库中检索出与所述待处理问题相关的待处理文本。
可选地,第三获取模块1502,被配置为:
将所述待处理问题输入所述检索模块,获取所述待处理问题中的关键词单元;
将所述待处理文本库中包括所述关键词单元的文本作为与所述待处理问题相关的文本。
可选地,第三获取模块1502还被配置为:
确定所述关键词单元分别在所述至少两个待处理文本中的词频;
确定所述关键词单元在所述待处理文本库中的逆文档词频;
基于所述关键词单元分别在所述至少两个待处理文本中的词频和在所述待处理文本库中的逆文档词频,确定每个待处理文本的相关度分值;
基于所述每个待处理文本的相关度分值,对所述至少两个待处理文本进行初次排序,得到排序后的所述至少两个待处理文本;
按照顺序将排序后的所述至少两个待处理文本和所述待处理问题输入所述问答模型的阅读理解模块。
可选地,所述阅读理解模块包括特征提取层和前馈神经网络层,第五确定模块1504,被配置为:
将所述待处理问题分别与所述至少两个待处理文本进行拼接,得到至少两个第一文本;
将所述至少两个第一文本输入所述特征提取层,确定每个第一文本的目标词单元,并将每个第一文本的目标词单元与其他第一文本的词单元进行注意力计算,得到每个第一文本的特征向量序列;
基于每个第一文本的特征向量序列确定每个待处理文本的文本特征向量;
将每个第一文本的特征向量序列输入所述前馈神经网络层,确定每个待处理文本对应的目标答案,并获取每个目标答案的上下文文本。
可选地,第五确定模块1504,被配置为:
将每个第一文本的特征向量序列输入所述前馈神经网络层,在每个第一文本中确定预测起始位置和预测结束位置;
将每个第一文本中位于所述预测起始位置和所述预测结束位置之间的文本确定为每个待处理文本对应的目标答案。
可选地,所述重排序模块包括特征提取层和前馈神经网络层,第六确定模块1506,被配置为:
将所述至少两个目标答案、所述待处理问题和每个目标答案的上下文文本进行拼接,输入所述特征提取层,得到拼接特征向量;
将所述拼接特征向量和所述至少两个待处理文本的文本特征向量输入所述前馈神经网络层,得到每个待处理文本的相关性特征向量;
对每个待处理文本的相关性特征向量进行线性变换,得到每个待处理文本对应的目标概率。
本申请实施例中,将重排序模块排在阅读理解模块之后,在通过重排序模块对文本重新进行排序时,可以考虑到阅读理解模块的输出,即目标答案、目标答案的上下文文本、以及待处理文本的特征向量,而不是仅根据待处理文本与待处理问题的相关性对待处理文本进行排序,能够提高待处理文本的排序准确性,将可能存在正确答案的待处理文本排在前面,提高了重排序模块的排序性能,进而提高了问答模型执行问答任务的准确率。
上述为本实施例的一种问答装置的示意性方案。需要说明的是,该问答装置的技术方案与上述图8所示的问答方法的技术方案属于同一构思,问答装置的技术方案未详细描述的细节内容,均可以参见上述图8所示的问答方法的技术方案的描述。
与上述图10所示的方法实施例相对应,本申请还提供了另一种问答装置实施例,图16示出了本申请另一个实施例的问答装置的结构示意图。如图16所示,该装置1600可以包括:
第四获取模块1602,被配置为获取待处理问题和至少两个待处理文本;
第六确定模块1604,被配置为将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案,其中,所述问答模型上述所述的问答模型的训练方法训练得到。
可选地,所述阅读理解模块包括特征提取层和前馈神经网络层,第六确定模块1604,被配置为:
将所述待处理问题分别与所述至少两个待处理文本进行拼接,得到至少两个第二文本;
将所述至少两个第二文本输入所述特征提取层,确定每个第二文本的目标词单元,并将每个第二文本的目标词单元与其他第二文本的词单元进行注意力计算,得到每个第二文本的特征向量序列;
基于每个第二文本的特征向量序列确定每个待处理文本的文本特征向量;
将每个第二文本的特征向量序列输入所述前馈神经网络层,确定每个待处理文本对应的目标答案。
可选地,第六确定模块1604,被配置为:
将每个第二文本的特征向量序列输入所述前馈神经网络层,在每个第二文本中确定目标起始位置和目标结束位置;
将每个第二文本中位于所述目标起始位置和所述目标结束位置之间的文本确定为每个待处理文本对应的目标答案。
本申请实施例中,将重排序模块排在阅读理解模块之后,在通过重排序模块对文本重新进行排序时,可以考虑到阅读理解模块的输出,即目标答案、目标答案的上下文文本、以及待处理文本的特征向量,而不是仅根据待处理文本与待处理问题的相关性对待处理文本进行排序,能够提高待处理文本的排序准确性,将可能存在正确答案的待处理文本排在前面,提高了重排序模块的排序性能,进而提高了问答模型执行问答任务的准确率。
上述为本实施例的一种问答装置的示意性方案。需要说明的是,该问答装置的技术方案与上述图10所示的的问答方法的技术方案属于同一构思,问答装置的技术方案未详细描述的细节内容,均可以参见上述图10所示的问答方法的技术方案的描述。
需要说明的是,装置权利要求中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的问答模型的训练方法的步骤,或者,所述处理器执行所述指令时实现所述的问答方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述图2或图5所示的问答模型的训练方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述图2或图5所示的问答模型的训练方法的技术方案的描述。或者,该计算设备的技术方案与上述图8或图10所示的问答方法的技术方案属于同一构思,该计算设备的技术方案未详细描述的细节内容,均可以参见上述图8或图10所示问答方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述问答模型的训练方法的步骤,或者,该指令被处理器执行时实现如前所述问答方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述图2或图5所示的问答模型的训练方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述图2或图5所示的问答模型的训练方法的技术方案的描述。或者,该存储介质的技术方案与上述图8或图10所示的问答方法的技术方案属于同一构思,该存储介质的技术方案未详细描述的细节内容,均可以参见上述图8或图10所示的问答方法的技术方案的描述。
本申请实施例公开了一种芯片,其存储有计算机指令,该指令被处理器执行时实现如前所述问答模型的训练方法的步骤,或者,该指令被处理器执行时实现如前所述问答方法的步骤。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (25)
1.一种问答模型的训练方法,其特征在于,包括:
获取样本问题、至少两个样本文本和样本标签,其中,所述样本标签包括样本答案和所述至少两个样本文本的样本标记,每个样本文本的样本标记表征所述样本文本与所述样本问题是否相关;
将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本、以及每个样本文本的文本特征向量,基于所述至少两个预测答案和所述样本答案确定第一损失值;
将所述样本问题、所述至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量输入所述问答模型的重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记,基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第二损失值;
基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练。
2.如权利要求1所述的问答模型的训练方法,其特征在于,所述问答模型还包括检索模块,获取至少两个样本文本,包括:
将所述样本问题输入所述检索模块,确定与所述样本问题相关的文本作为所述至少两个样本文本,其中,所述检索模块用于基于样本问题从样本文本库中检索出与所述样本问题相关的样本文本。
3.如权利要求2所述的问答模型的训练方法,其特征在于,将所述样本问题输入所述检索模块,确定与所述样本问题相关的文本,包括:
将所述样本问题输入所述检索模块,获取所述样本问题中的关键词单元;
将所述样本文本库中包括所述关键词单元的文本作为与所述样本问题相关的文本。
4.如权利要求3所述的问答模型的训练方法,其特征在于,将所述样本问题输入所述检索模块,确定与所述样本问题相关的文本作为所述至少两个样本文本之后,还包括:
确定所述关键词单元分别在所述至少两个样本文本中的词频;
确定所述关键词单元在所述样本文本库中的逆文档词频;
基于所述关键词单元分别在所述至少两个样本文本中的词频和在所述样本文本库中的逆文档词频,确定每个样本文本的相关度分值;
基于所述每个样本文本的相关度分值,对所述至少两个样本文本进行初次排序,得到排序后的所述至少两个样本文本;
相应地,将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,包括:
按照顺序将排序后的所述至少两个样本文本和所述样本问题输入所述问答模型的阅读理解模块。
5.如权利要求1-4中任一项所述的问答模型的训练方法,其特征在于,所述阅读理解模块包括特征提取层和前馈神经网络层,将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本、以及每个样本文本的文本特征向量,包括:
将所述样本问题分别与所述至少两个样本文本进行拼接,得到至少两个第一文本;
将所述至少两个第一文本输入所述特征提取层,确定每个第一文本的目标词单元,并将每个第一文本的目标词单元与其他第一文本的词单元进行注意力计算,得到每个第一文本的特征向量序列;
基于每个第一文本的特征向量序列确定每个样本文本的文本特征向量;
将每个第一文本的特征向量序列输入所述前馈神经网络层,确定每个样本文本对应的预测答案,并获取每个预测答案的上下文文本。
6.如权利要求5所述的问答模型的训练方法,其特征在于,将每个第一文本的特征向量序列输入所述前馈神经网络层,确定每个样本文本对应的预测答案,包括:
将每个第一文本的特征向量序列输入所述前馈神经网络层,在每个第一文本中确定预测起始位置和预测结束位置;
将每个第一文本中位于所述预测起始位置和所述预测结束位置之间的文本确定为每个样本文本对应的预测答案。
7.如权利要求1-4中任一项所述的问答模型的训练方法,其特征在于,所述重排序模块包括特征提取层和前馈神经网络层,将所述样本问题、所述至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量输入所述问答模型的重排序模块,得到每个样本文本对应的预测概率,包括:
将所述至少两个预测答案、所述样本问题和每个预测答案的上下文文本进行拼接,输入所述特征提取层,得到拼接特征向量;
将所述拼接特征向量和所述至少两个样本文本的文本特征向量输入所述前馈神经网络层,得到每个样本文本的相关性特征向量;
对每个样本文本的相关性特征向量进行线性变换,得到每个样本文本对应的预测概率。
8.如权利要求1所述的问答模型的训练方法,其特征在于,基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记,包括:
将预测概率大于概率阈值的样本文本的预测标记确定为相关,将预测概率小于或等于所述概率阈值的样本文本的预测标记确定为不相关。
9.如权利要求1所述的问答模型的训练方法,其特征在于,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练,包括:
若所述第一损失值小于第一阈值,且所述第二损失值小于第二阈值,停止对所述阅读理解模块和所述重排序模块进行训练;
若所述第一损失值大于或等于所述第一阈值,且所述第二损失值小于所述第二阈值,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,继续对所述阅读理解模块和所述重排序模块进行训练;
若所述第一损失值大于或等于所述第一阈值,且所述第二损失值大于或等于所述第二阈值,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,继续对所述阅读理解模块和所述重排序模块进行训练;
若所述第一损失值小于所述第一阈值,且所述第二损失值大于或等于所述第二阈值,基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,继续对所述阅读理解模块和所述重排序模块进行训练。
10.一种问答模型的训练方法,其特征在于,包括:
获取样本问题、至少两个样本文本和样本答案;
将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案;
基于所述至少两个预测答案和所述样本答案确定第三损失值;
基于所述第三损失值对所述阅读理解模块进行训练,直至达到训练停止条件。
11.如权利要求10所述的问答模型的训练方法,其特征在于,所述阅读理解模块包括特征提取层和前馈神经网络层,将所述样本问题和所述至少两个样本文本输入所述阅读理解模块,得到至少两个预测答案,包括:
将所述样本问题分别与所述至少两个样本文本进行拼接,得到至少两个第二文本;
将所述至少两个第二文本输入所述特征提取层,确定每个第二文本的目标词单元,并将每个第二文本的目标词单元与其他第二文本的词单元进行注意力计算,得到每个第二文本的特征向量序列;
基于每个第二文本的特征向量序列确定每个样本文本的文本特征向量;
将每个第二文本的特征向量序列输入所述前馈神经网络层,确定每个样本文本对应的预测答案,并获取每个预测答案的上下文文本。
12.如权利要求11所述的问答模型的训练方法,其特征在于,将每个第二文本的特征向量序列输入所述前馈神经网络层,确定每个样本文本对应的预测答案,包括:
将每个第二文本的特征向量序列输入所述前馈神经网络层,在每个第二文本中确定预测起始位置和预测结束位置;
将每个第二文本中位于所述预测起始位置和所述预测结束位置之间的文本确定为每个样本文本对应的预测答案。
13.如权利要求10所述的问答模型的训练方法,其特征在于,基于所述第三损失值对所述阅读理解模块进行训练,直至达到训练停止条件,包括:
若所述第三损失值小于第三阈值,停止对所述阅读理解模块的训练;
若所述第三损失值大于或等于所述第三阈值,继续对所述阅读理解模块进行训练。
14.如权利要求10-13中任一项所述的问答模型的训练方法,其特征在于,所述问答模型还包括重排序模块,所述重排序模块的训练方法如下:
获取样本问题、至少两个样本答案、每个样本答案的上下文文本、至少两个样本文本的文本特征向量、以及至少两个样本文本的样本标记;
将所述样本问题、所述至少两个样本答案、每个样本答案的上下文文本和每个样本文本的文本特征向量输入所述重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记;
基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第四损失值,并基于所述第四损失值对所述重排序模块进行训练,直至达到训练停止条件。
15.如权利要求14所述的问答模型的训练方法,其特征在于,所述重排序模块包括特征提取层和前馈神经网络层,将所述样本问题、所述至少两个样本答案、每个样本答案的上下文文本和每个样本文本的文本特征向量输入所述重排序模块,得到每个样本文本对应的预测概率,包括:
将所述至少两个样本答案、所述样本问题和每个样本答案的上下文文本进行拼接,输入所述特征提取层,得到拼接特征向量;
将所述拼接特征向量和所述至少两个样本文本的文本特征向量输入所述前馈神经网络层,得到每个样本文本的相关性特征向量;
对每个样本文本的相关性特征向量进行线性变换,得到每个样本文本对应的预测概率。
16.如权利要求15所述的问答模型的训练方法,其特征在于,基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记,包括:
将预测概率大于概率阈值的样本文本的预测标记确定为相关,将预测概率小于或等于所述概率阈值的样本文本的预测标记确定为不相关。
17.如权利要求14所述的问答模型的训练方法,其特征在于,基于所述第四损失值对所述重排序模块进行训练,直至达到训练停止条件,包括:
若所述第四损失值小于第四阈值,停止对所述重排序模块的训练;
若所述第四损失值大于或等于所述第四阈值,继续对所述重排序模块进行训练。
18.一种问答方法,其特征在于,包括:
获取待处理问题和至少两个待处理文本,并将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案、每个目标答案的上下文文本、以及每个待处理文本的文本特征向量,其中,所述问答模型通过权利要求1-9任一项所述的问答模型的训练方法训练得到;
将所述待处理问题、所述至少两个目标答案、每个目标答案的上下文文本和每个待处理文本的文本特征向量输入所述问答模型的重排序模块,得到每个待处理文本对应的目标概率;
基于每个待处理文本的目标概率对所述至少两个待处理文本进行排序,并输出排序后的待处理文本和所述至少两个目标答案。
19.一种问答方法,其特征在于,包括:
获取待处理问题和至少两个待处理文本;
将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案,其中,所述问答模型通过权利要求10-17任一项所述的问答模型的训练方法训练得到。
20.一种问答模型的训练装置,其特征在于,包括:
第一获取模块,被配置为获取样本问题、至少两个样本文本和样本标签,其中,所述样本标签包括样本答案和所述至少两个样本文本的样本标记,每个样本文本的样本标记表征所述样本文本与所述样本问题是否相关;
第一确定模块,被配置为将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案、每个预测答案的上下文文本、以及每个样本文本的文本特征向量,基于所述至少两个预测答案和所述样本答案确定第一损失值;
第二确定模块,被配置为将所述样本问题、所述至少两个预测答案、每个预测答案的上下文文本和每个样本文本的文本特征向量输入所述问答模型的重排序模块,得到每个样本文本对应的预测概率,并基于每个样本文本对应的预测概率确定所述至少两个样本文本的预测标记,基于所述至少两个样本文本的预测标记和所述至少两个样本文本的样本标记确定第二损失值;
第一训练模块,被配置为基于所述第一损失值和所述第二损失值对所述阅读理解模块的参数和所述重排序模块的参数进行调整,直至所述阅读理解模块和所述重排序模块均满足训练停止条件,停止对所述问答模型的训练。
21.一种问答模型的训练装置,其特征在于,包括:
第二获取模块,被配置为获取样本问题、至少两个样本文本和样本答案;
第三确定模块,被配置为将所述样本问题和所述至少两个样本文本输入问答模型的阅读理解模块,得到至少两个预测答案;
第四确定模块,被配置为基于所述至少两个预测答案和所述样本答案确定第三损失值;
第二训练模块,被配置为基于所述第三损失值对所述阅读理解模块进行训练,直至达到训练停止条件。
22.一种问答装置,其特征在于,包括:
第三获取模块,被配置为获取待处理问题和至少两个待处理文本,并将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案、每个目标答案的上下文文本、以及每个待处理文本的文本特征向量,其中,所述问答模型通过权利要求1-9任一项所述的问答模型的训练方法训练得到;
第五确定模块,被配置为将所述待处理问题、所述至少两个目标答案、每个目标答案的上下文文本和每个待处理文本的文本特征向量输入所述问答模型的重排序模块,得到每个待处理文本对应的目标概率;
输出模块,被配置为基于每个待处理文本的目标概率对所述至少两个待处理文本进行排序,并输出排序后的待处理文本和所述至少两个目标答案。
23.一种问答装置,其特征在于,包括:
第四获取模块,被配置为获取待处理问题和至少两个待处理文本;
第六确定模块,被配置为将所述待处理问题和所述至少两个待处理文本输入问答模型的阅读理解模块,得到至少两个目标答案,其中,所述问答模型通过权利要求10-17任一项所述的问答模型的训练方法训练得到。
24.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-9或者权利要求10-17或者权利要求18或者权利要求19任意一项所述方法的步骤。
25.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-9或者权利要求10-17或者权利要求18或者权利要求19任意一项所述方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110775094X | 2021-07-08 | ||
CN202110775094 | 2021-07-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113961686A true CN113961686A (zh) | 2022-01-21 |
Family
ID=79465485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111217331.7A Pending CN113961686A (zh) | 2021-07-08 | 2021-10-19 | 问答模型的训练方法及装置、问答方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113961686A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817500A (zh) * | 2022-04-26 | 2022-07-29 | 山东浪潮科学研究院有限公司 | 一种基于量化的长文本问答推理方法、设备及介质 |
CN116860933A (zh) * | 2023-06-30 | 2023-10-10 | 北京百度网讯科技有限公司 | 对话模型训练方法、回复信息生成方法、装置及介质 |
-
2021
- 2021-10-19 CN CN202111217331.7A patent/CN113961686A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817500A (zh) * | 2022-04-26 | 2022-07-29 | 山东浪潮科学研究院有限公司 | 一种基于量化的长文本问答推理方法、设备及介质 |
CN114817500B (zh) * | 2022-04-26 | 2024-05-31 | 山东浪潮科学研究院有限公司 | 一种基于量化的长文本问答推理方法、设备及介质 |
CN116860933A (zh) * | 2023-06-30 | 2023-10-10 | 北京百度网讯科技有限公司 | 对话模型训练方法、回复信息生成方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271505B (zh) | 一种基于问题答案对的问答系统实现方法 | |
CN112667794A (zh) | 一种基于孪生网络bert模型的智能问答匹配方法及系统 | |
CN110347802B (zh) | 一种文本分析方法及装置 | |
CN113220832B (zh) | 一种文本处理方法及装置 | |
CN110895559A (zh) | 模型训练、文本处理方法、装置以及设备 | |
CN113159187B (zh) | 分类模型训练方法及装置、目标文本确定方法及装置 | |
CN113961686A (zh) | 问答模型的训练方法及装置、问答方法及装置 | |
CN113536801A (zh) | 阅读理解模型的训练方法及装置、阅读理解方法及装置 | |
CN110609886A (zh) | 一种文本分析方法及装置 | |
CN114595327A (zh) | 数据增强方法和装置、电子设备、存储介质 | |
CN111552773A (zh) | 一种阅读理解任务中是否类问题关键句寻找方法及系统 | |
CN114462385A (zh) | 一种文本分段方法及装置 | |
CN116662502A (zh) | 基于检索增强的金融问答文本生成方法、设备及存储介质 | |
CN117725183A (zh) | 提升ai大语言模型检索性能的重排序方法和装置 | |
CN114077655A (zh) | 一种答案抽取模型的训练方法及装置 | |
CN114417863A (zh) | 词权重生成模型训练方法及装置、词权重生成方法及装置 | |
CN112800186B (zh) | 阅读理解模型的训练方法及装置、阅读理解方法及装置 | |
CN115757723A (zh) | 文本处理方法及装置 | |
CN114943236A (zh) | 关键词提取方法及装置 | |
CN114818727A (zh) | 关键句抽取方法及装置 | |
CN114003706A (zh) | 关键词组合生成模型训练方法及装置 | |
CN113590768B (zh) | 一种文本关联度模型的训练方法及装置、问答方法及装置 | |
CN116414940A (zh) | 标准问题的确定方法、装置及相关设备 | |
CN116186529A (zh) | 语义理解模型的训练方法及装置 | |
CN114647717A (zh) | 一种智能问答方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |