语义理解模型的训练方法、装置和计算机设备与流程

文档序号:30497927发布日期:2022-06-22 07:24阅读:178来源:国知局
语义理解模型的训练方法、装置和计算机设备与流程

1.本技术涉及机器学习技术领域,特别是涉及一种语义理解模型的训练方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着人工智能技术的发展,利用机器学习进行自然语言理解(natural language processing,nlp)已经被广泛应用于知识问答系统中。
3.机器阅读理解(machine reading comprehension,mrc)是自然语言理解中的一项基础底层技术。所谓机器阅读理解任务,指的是对于给出的一个问题文本和一段段落文本,通过机器学习模型阅读段落文本后,给出对应于问题描述的答案。
4.由于语言表达的丰富多样,一个问题可以存在多种问法。但训练数据是有限的,难以穷尽所有的问法,这就导致机器学习模型在面对未经训练过的问法时,会输出错误的答案,机器学习模型的准确性不高。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够提高知识问答的准确性的语义理解模型的训练方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
6.一方面,本技术提供了一种语义理解模型的训练方法。所述方法包括:获取对应于同一问题的至少一个训练样本,所述训练样本包括与所述同一问题对应的问题样本、以及包含有与所述问题样本相匹配的答案的段落样本;通过待训练的语义理解模型对所述至少一个训练样本进行处理,输出与所述同一问题对应的至少两个预测结果,所述至少两个预测结果基于存在差异的至少两组特征表示预测得到;基于所述预测结果中的至少一个确定语义理解损失,并根据所述至少两个预测结果间的差异确定散度损失;基于所述语义理解损失和所述散度损失构建训练损失函数;根据所述训练损失函数对所述待训练的语义理解模型进行训练,直至达到结束条件时停止训练,得到训练完成的语义理解模型,训练完成的语义理解模型用于进行知识问答匹配。
7.另一方面,本技术还提供了一种语义理解模型的训练装置。所述装置包括:获取模块,用于获取对应于同一问题的至少一个训练样本,所述训练样本包括与所述同一问题对应的问题样本、以及包含有与所述问题样本相匹配的答案的段落样本;处理模块,用于通过待训练的语义理解模型对所述至少一个训练样本进行处理,输出与所述同一问题对应的至少两个预测结果,所述至少两个预测结果基于存在差异的至少两组特征表示预测得到;确定模块,用于基于所述预测结果中的至少一个确定语义理解损失,并根据所述
至少两个预测结果间的差异确定散度损失;构建模块,用于基于所述语义理解损失和所述散度损失构建训练损失函数;训练模块,用于根据所述训练损失函数对所述待训练的语义理解模型进行训练,直至达到结束条件时停止训练,得到训练完成的语义理解模型,训练完成的语义理解模型用于进行知识问答匹配。
8.在一些实施例中,上述装置还包括构造模块,用于对于一个问题,构造对应于所述问题的多个候选同义样本;对所述多个候选同义样本与所述问题进行同义判别,以从所述多个候选同义样本中确定与所述问题相同含义的至少一个目标同义样本;基于所述至少一个目标同义样本,确定对应于同一问题的训练样本。
9.在一些实施例中,构造模块还用于获取对应于所述问题的原始样本,并对所述原始样本进行分词处理,得到对应的词序列;将所述词序列输入至编码器中,输出对应于所述词序列的语义向量;通过解码器对所述词序列的语义向量进行解码处理,得到与所述原始样本含义相同的候选同义样本。
10.在一些实施例中,构造模块还用于获取对应于所述问题的原始样本;对所述原始样本进行不同语种间的回译,以生成与所述原始样本同义表达的候选同义样本。
11.在一些实施例中,构造模块还用于获取对应于所述问题的原始样本;通过同义词表,替换所述原始样本中的至少一个词语,以生成与所述原始样本同义表达的候选同义样本。
12.在一些实施例中,处理模块还用于通过待训练的语义理解模型,对同一个训练样本进行至少两次的模型处理过程,得到至少两个预测结果;其中,每一次的模型处理过程均对相应输入的训练样本进行特征提取得到对应的中间特征,并基于所述中间特征确定特征表示,通过特征表示进行预测;其中,各次模型处理过程中的特征表示均不相同。
13.在一些实施例中,处理模块还用于通过待训练的语义理解模型对所述训练样本进行特征提取,得到所述训练样本的中间特征;将所述中间特征作为首次预测的特征表示进行预测,输出所述训练样本的第一预测结果;基于所述第一预测结果确定待施加的扰动,并基于所述中间特征和所述扰动确定再次预测所对应的特征表示;基于所述再次预测所对应的特征表示进行预测,输出所述训练样本的第二预测结果。
14.在一些实施例中,处理模块还用于基于所述第二预测结果确定语义理解损失;基于所述第一预测结果与所述第二预测结果间的差异,确定散度损失。
15.在一些实施例中,处理模块还用于对与所述同一问题对应的至少两个训练样本,由待训练的语义理解模型均进行相同的处理,分别输出各个训练样本对应的预测结果。
16.在一些实施例中,处理模块还用于确定与所述同一问题对应的多个训练样本;分别将各训练样本输入至待训练的语义理解模型中,由所述待训练的语义理解模型进行特征提取,得到各个训练样本的特征表示;基于各个训练样本的特征表示进行预测,输出各个训练样本的预测结果。
17.在一些实施例中,处理模块还用于基于所述多个训练样本各自的预测结果,确定语义理解损失;基于所述多个训练样本中每两个预测结果之间的差异,确定散度损失。
18.在一些实施例中,上述装置还包括问答模块,用于获取待回答的目标问题文本,并确定与所述目标问题文本相关联的至少一个目标段落文本;将所述目标问题文本与所述至
少一个目标段落文本进行拼接,得到至少一个输入序列;通过所述训练完成的语义理解模型对所述至少一个输入序列进行处理,输出与所述目标问题文本对应的答案。
19.另一方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述语义理解模型的训练方法的步骤。
20.另一方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述语义理解模型的训练方法的步骤。
21.另一方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述语义理解模型的训练方法的步骤。
22.上述语义理解模型的训练方法、装置、计算机设备、存储介质和计算机程序产品,通过获取对应于同一问题的至少一个训练样本,基于对抗学习和对比学习的思想,由待训练的语义理解模型对至少一个训练样本进行处理,提取存在差异的至少两组特征表示,从而输出至少两个预测结果,这样即可根据两种预测结果之间的对比来训练模型,提高模型的鲁棒性;同时基于预测结果确定语义理解损失和散度损失,进而构建训练损失函数,该训练损失函数体现了训练时对抗的结果和对比的结果,基于该训练损失函数进行训练,能够提高模型的稳定性,使得模型对于未知问题的问法具有泛化能力,能够准确地输出正确的结果。
附图说明
23.图1为一个实施例中语义理解模型的训练方法的应用环境图;图2为一个实施例中语义理解模型的训练方法的流程示意图;图3为一个实施例中语义理解模型的原理示意图;图4为一个实施例中训练样本增强的流程示意图;图5为一个实施例中同义判别模型的原理示意图;图6为一个实施例中构造候选同义样本的原理示意图;图7为一个实施例中seq2seq生成模型构造候选同义样本的原理示意图;图8a为一个实施例中基于同一个训练样本施加扰动的对抗学习思想的处理过程示意图;图8b为一个实施例中基于不同训练样本的对抗学习思想的处理过程示意图;图9为一个实施例中知识问答匹配的流程示意图;图10为一个实施例中语义理解模型的训练装置的结构框图;图11为一个实施例中计算机设备的内部结构图。
具体实施方式
24.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
25.所谓机器阅读理解任务,指的是对于给出的一个问题文本和一段段落文本,通过
机器学习模型阅读段落文本后,给出对应于问题文本的答案。
26.举例而言,对于给定的问法:“世界上第一套地震仪谁发明的”,已有的段落为:“地震仪是一种监测地震的发生,记录地震相关参数的仪器。我国东汉时代的科学家张衡,在公元132年就制成了世界上最早的

地震仪’——地动仪。”通过机器学习模型对这个段落进行阅读分析,输出答案为“张衡”。
27.由于语言的表达方式丰富多样,例如在上述示例中,问题可以换一种问法为:“谁第一个发明了地震仪”。当把问题变化一种问法后,机器学习模型很可能直接输出错误的答案。或者,机器学习模型输出了正确的答案,但预测的置信度较低,这就导致存在欠召回的现象。而召回率的大小也会直接影响机器学习模型的准确率。
28.有鉴于此,本技术实施例提供一种基于人工智能的语义理解模型的训练方法,提供了一种新的结合了对抗学习和对比学习的训练方法,基于对抗学习提高模型对未知问法的泛化能力,并基于对比学习进一步提升模型的稳定性,使得模型对多样化的问题问法能够输出准确的答案,由此实现模型的准确性提升。
29.其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
30.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
31.其中,自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
32.其中,机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、以及式教学习等技术。
33.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、以及智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
34.下面结合各实施例阐述本技术提供的涉及人工智能的语义理解模型的训练方法。
35.本技术实施例提供的语义理解模型的训练方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。其中,语义理解模型的训练可以由终端102或服务器104执行,例如,由终端102或服务器104获取训练样本并对训练样本进行预测,基于所输出的预测结果确定损失函数并进行训练,最终得到训练完成的语义理解模型。训练完成的语义理解模型可以部署在服务器104上,例如部署在云端,由终端102调用并进行知识问答匹配。或者,训练完成的语义理解模型也可以由终端102下载至本地以供使用。
36.其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
37.其中,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
38.在一些实施例中,终端上可装载有app(application)应用程序或具备知识问答功能的应用程序,包括传统需要单独安装的应用程序、以及不需要下载安装即可使用的小程序应用等。终端可以通过应用程序获取用户输入的问题并给出相应的答案等。
39.其中,训练好的语义理解模型可以部署在终端本地,由终端调用该语义理解模型来进行阅读理解以输出答案,或者,训练好的语义理解模型也可以部署在服务器,由服务器利用该训练好的语义理解模型给出答案并传输至终端,并由终端对答案进行展示。
40.在一个实施例中,如图2所示,提供了一种语义理解模型的训练方法,该方法可以应用于终端或服务器,也可以由终端和服务器协同执行。下面以该方法应用于计算机设备为例进行说明,包括以下步骤:步骤s202,获取对应于同一问题的至少一个训练样本,训练样本包括与同一问题对应的问题样本、以及包含有与问题样本相匹配的答案的段落样本。
41.其中,一个问题可能会有多种问法,不同的问法在文本上具有不同的表达方式。为了增强模型的稳定性,对于一个问题,计算机设备获取不同的问法作为不同的问题样本。例如对于想要知道地震仪的发明者的问题,可以对应有问题样本“世界上第一套地震仪谁发明的”,也可以对应有问题样本“谁第一个发明了地震仪”等。这些问题样本均对应于同一问题。相对应地,至少一个段落样本中包含了与问题样本相匹配的答案。例如段落样本“地震仪是一种监测地震的发生,记录地震相关参数的仪器。我国东汉时代的科学家张衡,在公元132年就制成了世界上最早的

地震仪’——地动仪。”中,包含了与问题样本“世界上第一套地震仪谁发明的”相匹配的答案:“张衡”。
42.为了使模型学习到针对于问题的正确答案,需要将包含了答案的段落样本与问题样本一并输入至模型中联合训练。换言之,对于输入至模型进行训练的训练样本,需要将问题样本与段落样本进行拼接,所拼接的问题样本和段落样本是相匹配的。其中,将问题样本与段落样本拼接得到训练样本实质是将问题样本与段落样本处理成字(token)序列。在处理成字序列的过程中,在问题样本中第一个字之前嵌入特殊分类符号[cls]以表示字序列
的开端,在问题样本中最后一个字之后嵌入特殊分类符号[sep]表示问题样本的结尾,并以此区分问题样本和段落样本;同时,在段落样本中最后一个字之后嵌入特殊分类符号[sep]以表示字序列的结尾。
[0043]
示例性地,如图3所示,对于问题样本“世界上第一套地震仪谁发明的”和段落样本“地震仪是一种监测地震的发生,记录地震相关参数的仪器。我国东汉时代的科学家张衡,在公元132年就制成了世界上最早的

地震仪’——地动仪。”,计算机设备对该问题样本和段落样本进行拼接处理,并嵌入三个特殊分类符号形成字序列:“[cls]世界上第一套地震仪谁发明的[sep]地震仪是
……
[sep]”。
[0044]
具体地,计算机设备通过对问题样本和相匹配的段落样本进行拼接处理,得到训练样本。在一些实施例中,问题样本和/或段落样本可以是计算机设备直接获取的,例如从本地存储空间中提取预先存储的问题样本和/或段落样本,或者计算机设备也可以从网络公开的数据库中下载问题样本和/或段落样本,等等。
[0045]
步骤s204,通过待训练的语义理解模型对至少一个训练样本进行处理,输出与同一问题对应的至少两个预测结果,至少两个预测结果基于存在差异的至少两组特征表示预测得到。
[0046]
其中,对训练样本进行处理的过程包括对输入的训练样本进行特征提取,并基于提取到的特征表示进行预测,得到预测结果。预测结果包括但不限于预测得到的预测分数、预测概率、以及预测的答案等中的一种或多种。承前所述,训练样本是由问题样本与段落样本拼接得到的字序列,计算机设备将字序列输入至待训练的语义理解模型中,由语义理解模型对该字序列进行处理,提取每个字对应的特征表示。一个字对应的特征表示例如为由embedding(嵌入)层处理得到的embedding向量。语义理解模型根据每个字的特征表示进行预测,输出每个字分别对应于预测的答案开头和预测的答案结尾的预测分数(logit),并对预测分数进行归一化处理,得到每个字分别对应于预测的答案开头和预测的答案结尾的预测概率(probability)。
[0047]
示例性地,计算机设备将字序列输入至待训练的语义理解模型中,语义理解模型根据如下公式得到每个字i分别对应的预测分数:其中,为待学习的模型参数。语义理解模型对预测分数进行归一化处理,例如将得到的预测分数输入至归一化层中,由归一化函数(softmax)得到每个字i分别对应的概率:在得到每个字分别对应预测的答案开头和预测的答案结尾的概率后,将对应预测的答案开头的各个概率值中的最大概率值作为最终的答案开头的概率值,将对应预测的答案开头的各个概率值中的最大概率值作为最终的答案开头的概率值,由此,即可根据最大概率值对应的字,确定所预测的答案。
[0048]
针对一个问题在多个段落中均存在有对应的答案的情况,在一些实施例中,计算机设备将该问题样本分别与各个段落样本拼接得到多个训练样本,并通过语义理解模型对所有训练样本均按照上述方式处理,得到所有段落样本对应的预测分数后,对这些预测分数统一进行归一化,相当于将这些段落样本“拼接”到一起,使得各个段落样本之间的预测
分数句有可比性。
[0049]
再如图3所示,计算机设备将字序列“[cls]世界上第一套地震仪谁发明的[sep]地震仪是
……
[sep]”输入至待训练的语义理解模型中,得到每个字分别对应于答案开头的概率值、、
……
,以及每个字分别对应于答案结尾的概率值、、
……
。根据对应于答案开头的概率值中的最大概率值,计算机设备确定最终的答案开头的概率值和最终的答案结尾的概率值,并确定相应的字,从而输出预测的答案。
[0050]
为了提高模型的准确性,本技术实施例中结合对抗学习的思想,对于所获取的至少一个训练样本进行处理。具体地,计算机设备通过待训练的语义理解模型对至少一个训练样本进行特征提取,获取存在差异的至少两组特征表示,并根据提取得到的至少两组特征表示,输出对应的至少两个预测结果。
[0051]
在一些实施例中,计算机设备通过待训练的语义理解模型,对同一个训练样本进行存在差异的至少两次处理,以输出训练样本的至少两个预测结果。比如,对同一个训练样本进行一次或多次前向处理,再进行一次或多次施加扰动后的前向处理,由此扰动前和扰动后对该训练样本的处理存在差异,从而得到至少两个预测结果。又如,对同一个训练样本进行同样的前向处理,在每次前向处理的过程中利用dropout(丢弃)方式,使得模型中某个神经元的激活值以一定的概率停止工作,这样可以使模型泛化性更强,模型不会太依赖某些局部的特征表示。通过此种方式不仅能够增加模型的泛化能力,还能够明显地减少过拟合现象。当然,在一些实施例中,也可以将扰动处理的方式与dropout方式结合起来,使得每一次的前向处理均存在差异。
[0052]
在另一些实施例中,计算机设备对与同一问题对应的至少两个训练样本,由待训练的语义理解模型均进行相同的处理,以分别输出各个训练样本对应的预测结果,从而得到至少两个预测结果。比如,针对同一个问题对应有至少两种表达,进而对应有至少两个训练样本。对于每一个训练样本,均分别进行一次或多次的前向处理,分别得到对应于各个训练样本的预测结果,从而得到至少两个预测结果。
[0053]
步骤s206,基于预测结果中的至少一个确定语义理解损失,并根据至少两个预测结果间的差异确定散度损失。
[0054]
其中,语义理解损失用于表征训练样本预测的答案为正确答案的概率,语义理解损失趋于最小,预测的答案即为正确答案的概率越高。基于对抗学习的思想,无论是对于一个训练样本的多次处理,还是对于对应于同一个问题的多个训练样本的分别处理,在理想状态下所预测的答案应当是一致的。换言之,散度损失用于表征对于同一个问题的不同预测结果之间的差异,所得到的至少两个预测结果之间的差异应当趋于最小,也就意味着问题不管通过何种问法进行提问,模型均能够输出正确答案。
[0055]
基于上述思想,一方面,计算机设备根据所得到的至少两个预测结果,基于其中的至少一个预测结果构建语义理解损失。比如,对于同一个训练样本分别进行两次存在差异的处理,计算机设备根据后一次前向处理得到的预测结果构建语义理解损失。又如,对于同一个问题的多个训练样本分别进行前向处理得到的预测结果,根据全部预测结果构建语义理解损失。
[0056]
示例性地,计算机设备可根据如下公式构建语义理解损失:
同样地,在一些实施例中,针对一个问题在多个段落中均存在有对应的答案的情况,由于预测分数是所有段落样本中各个字对应的预测分数,在构建语义理解损失时需要将各个段落样本对应的预测概率囊括在一起进行计算。示例性地,在该情况下,计算机设备可根据如下公式构建语义理解损失:其中,n是正确答案在所有段落样本里出现的次数,k为段落样本的数量。
[0057]
另一方面,基于对比学习的思想,计算机设备根据所获得的各个预测结果间的差异确定散度损失,比如,对于同一个训练样本分别进行两次存在差异的处理,计算机设备根据两次处理得到的两个预测结果之间的差异构建散度损失,以衡量处理上的差异对预测结果的影响,其本质上是衡量同一个问题的问法变化对答案的稳定性的影响。或者,对于同一个问题的两个训练样本分别进行前向处理得到的两个预测结果,计算机设备根据两个预测结果之间的差异构建散度损失,以衡量不同的训练样本(均对应与同一个问题)之间的差异对预测结果的影响,其本质上是衡量同一个问题的不同问法对答案的稳定性的影响。
[0058]
示例性地,假设对于同一个样本分别进行两次存在差异的处理,对于第一次前向处理得到的预测分数,可以通过如下公式得到:相应地,即可得到第一次前向处理对应的预测概率:对于第二次前向处理得到的预测分数,可以通过如下公式得到:相应地,即可得到第二次前向处理对应的预测概率:基于上述预测概率和,得到最终的和。再将和分别代入至如下公式中的和中:即可得到散度损失:其中,a为预设的数值,例如为0.5等。
[0059]
当然,上述公式也可以应用于对与同一个问题对应的两个或两个以上的训练样本进行处理。以两个训练样本为例,计算机设备通过对该两个训练样本进行如上处理,分别得
到各个训练样本分别对应的和,分别得到各个训练样本对应的语义理解损失,再得到两个训练样本之间的散度损失。对于两个以上的训练样本,分别得到各个训练样本分别对应的语义理解损失、、
……
,并基于各个训练样本分别对应的语义理解损失确定总的语义理解损失,例如总的语义理解损失为各个训练样本分别对应的语义理解损失之和。同时,计算每两个训练样本之间的散度损失、、
……
,并基于每两个训练样本之间的散度损失确定总的散度损失,例如总的散度损失为每两个训练样本之间的散度损失之和,等等。
[0060]
当然并不局限于上述计算方式,在基于本技术的发明构思的基础上对上述公式或计算方式做出的任何适应性地变形或修改,均应当在本技术的保护范围之内。例如,还可以为各个训练样本分别对应的语义理解损失设置权重,总的语义理解损失或者为各个训练样本分别对应的语义理解损失乘以权重系数后的和;或者,还可以在各个训练样本分别对应的语义理解损失中,选择最大值作为最终的语义理解损失,等等。
[0061]
步骤s208,基于语义理解损失和散度损失构建训练损失函数。
[0062]
具体地,在构建语义理解损失和散度损失后,计算机设备基于这两种损失构建训练损失函数,即模型的总损失函数。在一些实施例中,计算机设备基于语义理解损失和散度损失的和构建训练损失函数。
[0063]
通常而言,两部分损失对模型准确度和稳定性的影响不同,因此可能具有不同的权重。示例性地,基于语义理解损失和散度损失,即可得到训练损失函数loss:其中,为权重系数。
[0064]
当然并不局限于上述计算方式,在基于本技术的发明构思的基础上对上述公式或计算方式做出的任何适应性地变形或修改,均应当在本技术的保护范围之内。例如,还可以为语义理解损失也设置权重,总的训练损失函数为语义理解损失乘以权重系数后的结果,与散度损失乘以权重系数后的结果之和,等等。
[0065]
步骤s210,根据训练损失函数对待训练的语义理解模型进行训练,直至达到结束条件时停止训练,得到训练完成的语义理解模型,训练完成的语义理解模型用于进行知识问答匹配。
[0066]
具体地,计算机设备基于所构建的训练损失函数,对待训练的语义理解模型进行训练。每一次的训练的过程即为:输入训练样本,通过该语义理解模型进行处理,得到预测的答案,并根据训练损失函数获取本次的训练损失,根据该训练损失与目标损失之间的差异,调整模型参数,并使用调整模型参数后的语义理解模型进行下一次训练。目标损失应趋于最小化,通常可设定阈值与训练损失进行比较。由此,循环迭代训练的过程,直至达到结束条件时,停止训练,从而得到训练完成的语义理解模型。其中,结束条件包括但不限于训练次数达到预设次数、训练时长达到训练时长、以及训练损失达到目标损失等中的一种或多种。
[0067]
在具体的应用场景中,训练完成的语义理解模型可用于知识问答匹配。知识问答匹配即,根据用户所输入的问题给出相应的答案。训练完成的语义理解模型可以部署在服务器中以供调用,例如,用户通过终端上安装的应用程序(例如浏览器、或者专用于知识问答的app等)输入欲获得答案的问题,终端向服务器发送请求调用语义理解模型,通过模型处理得到答案并进行展示。或者,也可以由服务器调用语义理解模型得到答案并反馈至终端以供展示。训练完成的语义理解模型也可以部署在终端本地,当需要更新(例如版本更新、数据库更新、代码维护等)时,终端与服务器建立通信连接并获取更新后的语义理解模型。
[0068]
上述语义理解模型的训练方法中,通过获取对应于同一问题的至少一个训练样本,基于对抗学习和对比学习的思想,由待训练的语义理解模型对至少一个训练样本进行处理,提取存在差异的至少两组特征表示,从而输出至少两个预测结果,这样即可根据两种预测结果之间的对比来训练模型,提高模型的鲁棒性;同时基于预测结果确定语义理解损失和散度损失,进而构建训练损失函数,该训练损失函数体现了训练时对抗的结果和对比的结果,基于该训练损失函数进行训练,能够提高模型的稳定性,使得模型对于未知问题的问法具有泛化能力,能够准确地输出正确的结果。
[0069]
除了上述实施例中提及的对抗学习的思想,还可以通过增强训练样本的方式来进一步提高模型的准确性和稳定性。相较于上述实施例中通过处理时的差异进行“隐式”的对抗,通过增强训练样本的方式则是进行“显示”的对抗。为此,在一些实施例中,如图4所示,在获取对应于同一问题的至少一个训练样本之前,还包括:步骤s402,对于一个问题,构造对应于问题的多个候选同义样本。
[0070]
其中,对于同一个问题可能存在多种问法,因此,为了尽可能囊括各种不同的问法,以提高模型的稳定性,通过构造不同的表达方式来构造对应于该问题的多个不同的问题样本。例如,对于一个问题的一种问法:“世界上是谁首先发明了地震仪”,可以通过生成同义表达的另一种问法:“谁第一个发明了地震仪”,来对应于该问题的另一个问题样本。
[0071]
具体地,对于一个问题,计算机设备首先获取对应于该问题的原始样本,该原始样本可以是多种问法中的其中一种问法。举例而言,对于欲获知孙中山的主要成就的这一问题,原始样本可以为“张三的主要成就有哪些”,也可以是“张三有哪些成就”等。为了尽可能获取更多的问法,计算机设备基于该原始样本,构造对应于该问题的多个候选同义样本。
[0072]
示例性地,计算机设备可以通过利用模型生成、不同语种间的回译、以及同义词替换等中的一种或多种来构造候选同义样本,但并不局限于此。
[0073]
步骤s404,对多个候选同义样本与问题进行同义判别,以从多个候选同义样本中确定与问题相同含义的至少一个目标同义样本。
[0074]
由于通过各种方式构造的候选同义样本不一定与问题真正的“同义”,例如,通过对于原始样本“张三是什么星座”生成的候选同义样本“张三住在哪里”,该候选同义样本已经脱离了原本的问题。因此,需要对所构造的候选同义样本进行同义判别,以确保所生成的同义样本与问题是相同的含义。
[0075]
具体地,计算机设备分别对所生成的各个候选同义样本进行同义判别,以判断每一个候选同义样本是否与问题具有相同含义,并剔除含义不同的候选同义样本,将含义相同的候选同义样本作为目标同义样本。
[0076]
在一些实施例中,同义判别可以通过同义判别模型来实现。具体地,将原始样本与候选同义样本进行拼接,并将拼接后得到的字序列输入至bert(bidirectional encoder representation from transformers,预训练的语言表征)模型中进行二分类,从而判断二者是否同义。
[0077]
示例性地,如图5所示,计算机设备将原始样本与候选同义样本进行拼接处理,同时嵌入[cls]和[sep]这两种特殊分类符号,得到字序列。其中,在字序列的开端嵌入特殊分类符号[cls],后面连接原始样本(或候选同义样本),并在原始样本与候选同义样本之间嵌入特殊分类符号[sep]以进行区分,最后再字序列的结尾嵌入特殊分类符号[sep]。计算机设备将字序列输入至bert模型中,由该bert模型进行二分类,并在特殊分类符号[cls]对应的位置获取embedding向量,从而输出分类结果。分类结果例如为标签(label),包括同义和不同义两种标签。
[0078]
步骤s406,基于至少一个目标同义样本,确定对应于同一问题的训练样本。
[0079]
具体地,计算机设备可以将该至少一个目标同义样本分别与段落样本进行拼接,得到对应于同一问题的训练样本,以作为后续训练的输入。或者,计算机设备也可以将该问题对应的原始样本与该至少一个目标同义样本一起,分别与段落样本进行拼接,得到对应于该问题的训练样本。
[0080]
上述实施例中,通过构造与问题具有相同含义的多个同义样本,实现训练样本的增强处理,基于显示对抗的思想提高了模型的稳定性,并提高了模型对于不同问法的泛化能力,模型预测的准确性更高。
[0081]
承前所述,构造对应于问题的多个候选同义样本可以有多种实现方式,示例性地,如图6所示,计算机设备可以通过seq2seq生成模型生成、中英/英中回译、以及同义词替换等方式自动构造同义样本,从而扩充训练样本的数量,进而提升模型的泛化能力。例如,对于原始样本“张三的主要成就有哪些”,通过各种方式,可以生成若干候选同义样本,例如“张三有哪些伟大成就”、“张三的主要贡献有哪些”、“张三有什么主要功绩
”……
等等。
[0082]
为了确保所生成的候选同义样本与原始样本同义,计算机设备可以通过同义判别模型将原始样本与候选同义样本进行同义判别,并将相同含义的候选同义样本作为目标同义样本,并基于此生成后续的训练样本,以作为在训练阶段时语义理解模型的输入。
[0083]
其中,seq2seq生成模型可以通过预先获取的开源的同义query(问句)对来进行训练。同义query对中包含两个相同含义的query,以此训练seq2seq生成模型,从而利用训练好的seq2seq生成模型来构造与原始样本对应的候选同义样本。
[0084]
为此,在一些实施例中,构造对应于问题的多个候选同义样本,包括:获取对应于问题的原始样本,并对原始样本进行分词处理,得到对应的词序列;将词序列输入至编码器中,输出对应于词序列的语义向量;通过解码器对词序列的语义向量进行解码处理,得到与原始样本含义相同的候选同义样本。
[0085]
具体地,计算机获取对应于问题的原始样本,并对原始样本进行分词处理,例如对于原始样本“张三的主要成就是什么”,可以进行分词处理得到“张三的主要成就是什么”,或者“张三的主要成就是什么”等,由此得到该原始样本的词序列。将该词序列输入至编码器中,并由编码器分别生成各个分词对应的语义向量。再由解码器对词序列中各个分词对应的语义向量进行解码处理,依次生成每个新的分词,从而得到完整的语句,并将其作为候
选同义样本。
[0086]
举例而言,结合图6中示出的seq2seq生成模型,如图7所示,该生成模型包括编码器(encoder)和解码器(decoder)。编码器实质上是一个编码模型,可以通过lstm(long short-term memory,长短期记忆网络)、gru(gated recurrent unit,门控循环单元)、cnn(convolutional neural network,卷积神经网络)、以及transformer(翻译)等模型结构来实现。将词序列的各个分词x1、x2、x3和x4输入至编码器中,由编码器提取语义向量c1、c3和c3,再由解码器对这些语义向量进行解码处理,依次生成每个分词y1、y2和y3,最终输出一个候选同义样本。
[0087]
上述实施例中,通过编解码的方式,基于原始样本自动构造生成相应的候选同义样本,扩充了训练样本的数量,实现了样本增强,能够提高模型的泛化能力和稳定性。
[0088]
在另一些实施例中,构造对应于问题的多个候选同义样本,包括:获取对应于问题的原始样本;对原始样本进行不同语种间的回译,以生成与原始样本同义表达的候选同义样本。
[0089]
具体地,计算机设备可以对所获取的原始样本,将该原始样本翻译为另一个语种,再将以另一个语种表达的样本重新翻译成原本的语种,由此生成与原始样本同义表达的候选同义样本。
[0090]
示例性地,计算机设备可以通过翻译模型来实现不同语种间的回译。例如,计算机设备将一个中文的原始样本,输入至中译英的翻译模型中,由该翻译模型翻译成英文,然后再将这个英文的样本重新翻译回中文,从而得到候选同义样本。通过这种方式就可以生成对应于同一个问题的不同表达的样本。例如,原始样本是“安迪的星座是什么”,首先会先翻译成英文“what is andy’s star”,然后再通过英译中的翻译模型翻译回中文,最终会得到候选同义样本:“安迪是什么座的”。
[0091]
上述实施例中,通过回译的方式生成相应的候选同义样本,扩充了训练样本的数量,实现了样本增强,能够提高模型的泛化能力和稳定性。
[0092]
在又一些实施例中,构造对应于问题的多个候选同义样本,包括:获取对应于问题的原始样本;通过同义词表,替换原始样本中的至少一个词语,以生成与原始样本同义表达的候选同义样本。
[0093]
其中,同义词表中包含了各个词语以及与之对应的同义词。例如词语“成就”的同义词可以有“贡献”、“功绩”、以及“成绩”等。具体地,计算机设备在原始样本中确定待替换的词语,并基于同义词表查找该待替换的词语的同义词,并用该同义词替换掉原始样本中的词语,从而生成与原始样本同义表达的候选同义样本。
[0094]
示例性地,对于原始样本“张三有哪些主要成就”,计算机设备随机确定待替换的词语“成就”,并通过查找同义词表确定“成就”的同义词:“贡献”,并用“贡献”替换“成就”一词,从而生成一个候选同义样本:“张三有哪些主要贡献”。
[0095]
上述实施例中,通过同义词替换的方式生成相应的候选同义样本,扩充了训练样本的数量,实现了样本增强,能够提高模型的泛化能力和稳定性。
[0096]
承前所述,基于对抗学习和对比学习的思想,对至少一个训练样本进行处理,输出与同一问题对应的至少两个预测结果,包括:通过待训练的语义理解模型,对同一个训练样本进行至少两次的模型处理过程,得到至少两个预测结果;其中,每一次的模型处理过程均
对相应输入的训练样本进行特征提取得到对应的中间特征,并基于中间特征确定特征表示,通过特征表示进行预测;其中,各次模型处理过程中的特征表示均不相同。
[0097]
具体地,对于一个训练样本,计算机设备将其多次(两次或两次以上)输入至待训练的语义理解模型进行处理,每一次处理的过程中,待训练的语义理解模型都需要对该训练样本进行特征提取,得到中间特征,并基于该中间特征确定该训练样本对应的特征表示。特征表示可以是中间特征,也可以是基于中间特征得到的,例如对中间特征加入扰动后得到特征表示等。
[0098]
在一种方式中,计算机设备对该待训练的语义理解模型使用dropout的训练方式,使得每一次处理得到的特征表示不同。在另一种方式中,计算机设备对该待训练的语义理解模型的特征提取过程施加扰动,使得每一次处理得到的特征表示不同。例如,第一次训练时未施加扰动,所得到的特征表示即为特征提取得到的中间特征x。第二次训练时施加扰动b,所得到的特征表示为中间特征x加上扰动b后得到的特征表示x+b。当然,在一些方式中,也可以将扰动处理的方式与dropout方式结合起来,使得每一次处理得到的特征表示不同。
[0099]
上述实施例中,通过对同一个训练样本进行多次模型处理,并基于每次模型处理所得到的不同的特征表示来进行对抗学习,使得模型在学习的过程中对噪声的鲁棒性更强,并且具有更强的泛化能力。
[0100]
在一些实施例中,通过待训练的语义理解模型,对同一个训练样本进行至少两次的模型处理过程,得到至少两个预测结果,包括:通过待训练的语义理解模型对训练样本进行特征提取,得到训练样本的中间特征;将中间特征作为首次预测的特征表示进行预测,输出训练样本的第一预测结果;基于第一预测结果确定待施加的扰动,并基于中间特征和扰动确定再次预测所对应的特征表示;基于再次预测所对应的特征表示进行预测,输出训练样本的第二预测结果。
[0101]
具体地,计算机设备通过待训练的语义理解模型,对输入的一个训练样本进行特征提取,得到训练样本的中间特征。该中间特征是原始的未施加扰动的特征向量。计算机设备基于该中间特征,将其作为首次预测的特征表示进行预测,输出训练样本的第一预测结果。再基于该第一预测结果,确定下一次前向处理时待施加的扰动,并施加扰动得到扰动后的特征表示,并预测输出该训练样本的第二预测结果。
[0102]
其中,施加扰动得到扰动后的特征表示的过程,可以是计算机设备再将该训练样本重新输入至模型中进行特征提取,并在特征提取的过程中施加该扰动,从而得到再次预测得到的特征表示。或者,也可以是计算机设备直接在上一次处理时得到的中间特征的基础上,施加该扰动,从而确定再次预测所对应的特征表示;基于再次预测所对应的特征表示进行预测,输出训练样本的第二预测结果。示例性地,施加扰动可以是在中间特征的基础上,加上扰动的具体值,从而得到再次预测所对应的特征表示。
[0103]
在一些实施例中,扰动可以是通过对第一预测结果对应的语义理解损失求梯度得到的。示例性地,对于第一预测结果对应的语义理解损失,可以通过如下公式求梯度g以得到扰动:
其中,为梯度系数。其中,。为在输入训练样本x得到预测结果y的情况下对应的语义理解损失。为模型参数。
[0104]
示例性地,如图8a所示,对于一个训练样本q,进行第一次前向处理得到第一预测结果,并基于该第一预测结果对应的语义理解损失确定扰动,并将该扰动施加在第二次前向处理的过程中,即在第一次特征提取得到的中间特征的基础上加上扰动,并根据施加扰动后的特征表示进行预测,从而得到第二预测结果。
[0105]
上述实施例中,通过对模型训练的过程中施加细微的扰动,使得模型的抗干扰能力更强,具有良好的鲁棒性,并能够提高模型的泛化能力。
[0106]
在上述实施例体现的发明构思的基础上,基于预测结果中的至少一个确定语义理解损失,并根据至少两个预测结果间的差异确定散度损失,包括:基于第二预测结果确定语义理解损失;基于第一预测结果与第二预测结果间的差异,确定散度损失。具体地,计算机设备根据两个预测结果之间的差异,利用上述实施例中提及的公式计算得到散度损失,并基于第二预测结果对应的语义理解损失,构建训练损失函数。即,再如图8a所示,根据第二预测结果对应的语义理解损失,以及基于第一预测结果和第二预测结果得到的散度损失,得到训练损失函数。
[0107]
基于训练损失函数进行训练,总体目标是使得扰动对模型的干扰作用越大、且总体的训练损失最小化。示例性地,可以通过如下公式表示:其中,表示在输入训练样本x并施加扰动得到预测结果y的情况下对应的语义理解损失。表示总的训练损失。
[0108]
由此,对抗学习和对比学习的思想体现在一个训练样本的两次特征表示不同、但希望二者预测得到的预测结果趋于一致。通过这种方式对模型进行训练,提高了模型对于未知问题问法的适应能力和泛化能力,具有较强的稳定性,模型预测的准确性更高。
[0109]
承前所述,基于对抗学习和对比学习的思想,对至少一个训练样本进行处理,输出与同一问题对应的至少两个预测结果,还可以包括:对与同一问题对应的至少两个训练样本,由待训练的语义理解模型均进行相同的处理,分别输出各个训练样本对应的预测结果。
[0110]
具体地,计算机设备获取对应于同一个问题的多个(两个或两个以上)训练样本,并分别对每个训练样本进行相同的前向处理。例如,通过待训练的语义理解模型对训练样本进行特征提取,并基于提取到的特征表示进行预测,得到预测结果;对于训练样本处理得到预测结果
……
,依此类推。由此,根据各个预测结果即可确定语义理解损失和散度损失,最终构建训练损失函数。
[0111]
上述实施例中,通过对同一个问题的不同训练样本进行对比训练,使得模型的抗干扰能力更强,具有良好的鲁棒性,并能够提高模型的泛化能力。
[0112]
在一些实施例中,对与同一问题对应的至少两个训练样本,由待训练的语义理解模型均进行相同的处理,分别输出各个训练样本对应的预测结果,包括:确定与同一问题对
应的多个训练样本;分别将各训练样本输入至待训练的语义理解模型中,由待训练的语义理解模型进行特征提取,得到各个训练样本的特征表示;基于各个训练样本的特征表示进行预测,输出各个训练样本的预测结果。
[0113]
具体地,计算机设备确定对应于同一个问题的多个训练样本,并由该待训练的语义理解模型分别对各训练样本进行特征提取,得到各个训练样本的特征表示。对于每一个训练样本,该待训练的语义理解模型均根据其特征表示进行预测,从而输出各个训练样本的预测结果。
[0114]
示例性地,如图8b所示,对于同一个问题query,存在两个训练样本和,通过待训练的语义理解模型分别对两个训练样本进行特征提取、预测,得到预测结果和,以及分别与两个预测结果对应的语义理解损失和,根据这两个语义理解损失可确定总的语义理解损失。同时,基于两个预测结果和之间的差异,即可确定散度损失。最终即可得到训练损失函数。
[0115]
在上述实施例体现的发明构思的基础上,基于预测结果中的至少一个确定语义理解损失,并根据至少两个预测结果间的差异确定散度损失,包括:基于多个训练样本各自的预测结果,确定语义理解损失;基于多个训练样本中每两个预测结果之间的差异,确定散度损失。具体地,计算机设备可以根据各个训练样本的预测结果的和,确定总的语义理解损失,并根据每两个预测结果之间的差异确定多个候选散度损失,并根据该多个候选散度损失的和确定总的散度损失。
[0116]
由此,对抗学习和对比学习的思想体现在一个问题的不同训练样本的特征表示不同、但希望二者预测得到的预测结果趋于一致。通过这种方式对模型进行训练,提高了模型对于未知问题问法的适应能力和泛化能力,具有较强的稳定性,模型预测的准确性更高。
[0117]
承前所述,训练完成的语义理解模型可用于知识问答匹配。为此,在一些实施例中,如图9所示,上述方法还包括:步骤s902,获取待回答的目标问题文本,并确定与目标问题文本相关联的至少一个目标段落文本。
[0118]
步骤s904,将目标问题文本与至少一个目标段落文本进行拼接,得到至少一个输入序列。
[0119]
步骤s906,通过训练完成的语义理解模型对至少一个输入序列进行处理,输出与目标问题文本对应的答案。
[0120]
具体地,计算机设备获取待回答的目标问题文本,并在数据库的段落文本中,查找与该目标问题文本相关联的至少一个目标段落文本。目标段落文本与目标问题文本相关联,指的是目标段落文本中包含有该目标问题文本中的关键词等。然后,计算机设备将目标问题文本与目标段落文本进行拼接,从而得到输入序列。在目标段落文本有多个的情况下,计算机设备分别拼接得到多个输入序列。
[0121]
然后,计算机设备将各个输入序列,分别输入至训练完成的语义理解模型中,由该训练完成的语义理解模型对该输入序列进行处理,输出与目标问题文本对应的答案。
[0122]
上述实施例中,通过将训练完成的语义理解模型应用在知识问答匹配中,能够实
现自动地对用户输入的问题进行快速、准确地回答,相较于知识图谱、人工作答等方式效率更高,且准确性更高。
[0123]
本技术还提供一种应用场景,该应用场景应用有上述语义理解模型的训练方法,或者应用有通过上述语义理解模型的训练方法训练得到的语义理解模型。具体地,该语义理解模型的训练方法或该语义理解模型在该应用场景的应用例如如下:用户在终端上输入问题,终端通过服务器调用或者本地调用的方式,获取通过语义理解模型的训练方法训练得到的语义理解模型所输出的答案,并将该答案进行可视化展示。当然并不局限于此,本技术提供的语义理解模型的训练方法还可以应用在其他应用场景中,例如ai(artificial intelligence,人工智能)线上辅助问诊系统、智能客服、以及线上课堂等等。在不同的应用场景中,训练样本所使用的数据是依据该应用场景的实际需求所收集、生成的数据。例如,在利用上述训练方法训练ai线上辅助问诊系统的场景中,所使用的训练样本可以包含问诊问题以及与该问诊问题对应的回答(例如症状说明、药物使用说明等),等等。
[0124]
在一个具体的示例中,上述语义理解模型的训练方法包括:对于一个问题,计算机设备获取相应的训练样本,并通过待训练的语义理解模型对该训练样本进行第一次前向处理,提取训练样本的特征表示,并输出训练样本的第一预测结果。根据该第一预测结果,计算机设备计算梯度值并确定待施加扰动,并重新将该训练样本输入至语义理解模型中,在提取训练样本的特征表示时,施加扰动,获得被扰动作用的特征表示,并输出相应的第二预测结果。根据第二预测结果,计算机设备确定语义理解损失,同时根据第一预测结果和第二预测结果之间的差异,确定散度损失,最后基于语义理解损失和散度损失构建训练损失函数。计算机设备根据训练损失函数,以最大化扰动对模型的干扰作用、且最小化训练损失为目标,对待训练的语义理解模型进行不断地训练,直至达到结束条件时停止训练,得到训练完成的语义理解模型。
[0125]
在另一个具体的示例中,上述语义理解模型的训练方法包括:对于一个问题,计算机设备获取对应于该问题的两个训练样本,这两个训练样本具有相同的含义和不同的表达方式。对于每一个训练样本,计算机设备通过待训练的语义理解模型对该训练样本进行处理,输出相应的预测结果。计算机设备根据每个训练样本对应的预测结果确定语义理解损失,并根据两个预测结果之间的差异确定散度损失,最后基于语义理解损失和散度损失构建训练损失函数。计算机设备根据训练损失函数,以最大化训练样本之间的差异、且最小化训练损失为目标,对待训练的语义理解模型进行不断地训练,直至达到结束条件时停止训练,得到训练完成的语义理解模型。
[0126]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0127]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的语义理解模型的训练方法的语义理解模型的训练装置。该装置所提供的解决问题的实现方案与上
述方法中所记载的实现方案相似,故下面所提供的一个或多个语义理解模型的训练装置实施例中的具体限定可以参见上文中对于语义理解模型的训练方法的限定,在此不再赘述。
[0128]
在一个实施例中,如图10所示,提供了一种语义理解模型的训练装置1000,包括:获取模块1001、处理模块1002、确定模块1003、构建模块1004和训练模块1005,其中:获取模块1001,用于获取对应于同一问题的至少一个训练样本,训练样本包括与同一问题对应的问题样本、以及包含有与问题样本相匹配的答案的段落样本。
[0129]
处理模块1002,用于通过待训练的语义理解模型对至少一个训练样本进行处理,输出与同一问题对应的至少两个预测结果,至少两个预测结果基于存在差异的至少两组特征表示预测得到。
[0130]
确定模块1003,用于基于预测结果中的至少一个确定语义理解损失,并根据至少两个预测结果间的差异确定散度损失。
[0131]
构建模块1004,用于基于语义理解损失和散度损失构建训练损失函数。
[0132]
训练模块1005,用于根据训练损失函数对待训练的语义理解模型进行训练,直至达到结束条件时停止训练,得到训练完成的语义理解模型,训练完成的语义理解模型用于进行知识问答匹配。
[0133]
在一些实施例中,上述装置还包括构造模块,用于对于一个问题,构造对应于问题的多个候选同义样本;对多个候选同义样本与问题进行同义判别,以从多个候选同义样本中确定与问题相同含义的至少一个目标同义样本;基于至少一个目标同义样本,确定对应于同一问题的训练样本。
[0134]
在一些实施例中,构造模块还用于获取对应于问题的原始样本,并对原始样本进行分词处理,得到对应的词序列;将词序列输入至编码器中,输出对应于词序列的语义向量;通过解码器对词序列的语义向量进行解码处理,得到与原始样本含义相同的候选同义样本。
[0135]
在一些实施例中,构造模块还用于获取对应于问题的原始样本;对原始样本进行不同语种间的回译,以生成与原始样本同义表达的候选同义样本。
[0136]
在一些实施例中,构造模块还用于获取对应于问题的原始样本;通过同义词表,替换原始样本中的至少一个词语,以生成与原始样本同义表达的候选同义样本。
[0137]
在一些实施例中,处理模块还用于通过待训练的语义理解模型,对同一个训练样本进行至少两次的模型处理过程,得到至少两个预测结果;其中,每一次的模型处理过程均对相应输入的训练样本进行特征提取得到对应的中间特征,并基于中间特征确定特征表示,通过特征表示进行预测;其中,各次模型处理过程中的特征表示均不相同。
[0138]
在一些实施例中,处理模块还用于通过待训练的语义理解模型对训练样本进行特征提取,得到训练样本的中间特征;将中间特征作为首次预测的特征表示进行预测,输出训练样本的第一预测结果;基于第一预测结果确定待施加的扰动,并基于中间特征和扰动确定再次预测所对应的特征表示;基于再次预测所对应的特征表示进行预测,输出训练样本的第二预测结果。
[0139]
在一些实施例中,处理模块还用于基于第二预测结果确定语义理解损失;基于第一预测结果与第二预测结果间的差异,确定散度损失。
[0140]
在一些实施例中,处理模块还用于对与同一问题对应的至少两个训练样本,由待
训练的语义理解模型均进行相同的处理,分别输出各个训练样本对应的预测结果。
[0141]
在一些实施例中,处理模块还用于确定与同一问题对应的多个训练样本;分别将各训练样本输入至待训练的语义理解模型中,由待训练的语义理解模型进行特征提取,得到各个训练样本的特征表示;基于各个训练样本的特征表示进行预测,输出各个训练样本的预测结果。
[0142]
在一些实施例中,处理模块还用于基于多个训练样本各自的预测结果,确定语义理解损失;基于多个训练样本中每两个预测结果之间的差异,确定散度损失。
[0143]
在一些实施例中,上述装置还包括问答模块,用于获取待回答的目标问题文本,并确定与目标问题文本相关联的至少一个目标段落文本;将目标问题文本与至少一个目标段落文本进行拼接,得到至少一个输入序列;通过训练完成的语义理解模型对至少一个输入序列进行处理,输出与目标问题文本对应的答案。
[0144]
上述语义理解模型的训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0145]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器,本技术实施例以该计算机设备是终端为例进行说明。计算机设备的内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。该计算机设备可以通过输入装置获取用户输入的问题,并通过显示单元向用户展示由语义理解模型输出的答案。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种语义理解模型的训练方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0146]
本领域技术人员可以理解,图11中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0147]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0148]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0149]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0150]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0151]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0152]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1