掌桥专利:专业的专利平台
掌桥专利
首页

优化语言语义理解模型方法、装置、设备及存储介质

文献发布时间:2023-06-19 09:29:07


优化语言语义理解模型方法、装置、设备及存储介质

技术领域

本申请涉及自然语言理解技术领域,特别是涉及一种优化语言语义理解模型方法、装置、设备及存储介质。

背景技术

语言语义理解模型常用于FAQ(Frequently Asked Questions)任务,即智能客服业务中,用于将用户输入的问题转换为语义向量,以进一步根据语义向量确定用户输入的问题所在的分类,进而根据分类,在知识库中确定针对用户输入的问题的回答。

但在智能客服业务的应用场景中,知识库的域是垂直封闭的,取决于开发智能客服系统的公司或者个人需要支持的业务范围的大小,即,开发智能客服系统的公司的业务范围局限了训练样本数据的数量和种类。上述客观事实导致训练智能客服系统中的语言语义理解模型的训练样本较少,造成语言语义理解模型训练复杂,训练得到的语言语义理解模型鲁棒性不高等问题。

发明内容

本申请实施例提供一种优化语言语义理解模型方法、装置、设备及存储介质,旨在提高语言语义理解模型的鲁棒性。

本申请实施例第一方面提供一种优化语言语义理解模型方法,所述方法包括:

获得语言语义理解模型在目标训练中的第一损失值;所述目标训练是利用目标领域的问句样本数据精调所述语言语义理解模型的训练;

根据所述第一损失值,对所述语言语义理解模型的输入层添加扰动;

获得添加扰动后的语言语义理解模型在所述目标训练中的第二损失值;

根据所述第二损失值,更新所述语言语义理解模型的参数,得到优化后的语言语义理解模型。

可选地,所述方法还包括:

获得多个所述问句样本数据;所述问句样本数据包括问句文本样本和所述问句文本样本对应的分类标记;

获得语言语义理解模型在目标训练中的第一损失值,包括:

将所述问句文本样本输入所述语言语义理解模型,得到第一预测分类;

计算所述第一预测分类和所述问句文本样本对应的分类标记的交叉熵损失,得到所述第一损失值。

可选地,根据所述第一损失值,对所述语言语义理解模型的输入层添加扰动,包括:

根据所述第一损失值,计算对所述语言语义理解模型进行参数更新的第一梯度;

根据所述第一梯度,对所述语言语义理解模型的输入层添加扰动;

根据所述第二损失值,更新所述语言语义理解模型的参数,得到优化后的语言语义理解模型,包括:

根据所述第二损失值,计算对所述添加扰动后语言语义理解模型进行参数更新的第二梯度;

根据所述第二梯度,更新所述语言语义理解模型的参数,得到优化后的语言语义理解模型。

可选地,获得添加扰动后的语言语义理解模型在所述目标训练中的第二损失值,包括:

将所述问句文本样本作为添加扰动后的输入层的输入,得到所述添加扰动后的输入层输出的对抗样本向量;

将所述对抗样本向量输入所述语言语义理解模型的分类层,得到第二预测分类;

计算所述第二预测分类和所述问句文本样本对应的分类标记的交叉熵损失,得到所述第二损失值。

可选地,在根据所述第二损失值,计算对所述语言语义理解模型进行参数更新的第二梯度后,所述方法还包括;

累加所述第一梯度和所述第二梯度,得到累加梯度;

根据所述第二梯度,更新所述添加扰动后的语言语义理解模型的参数,得到优化后的语言语义理解模型,包括:

根据所述累加梯度,更新所述添加扰动后的语言语义理解模型的参数,得到优化后的语言语义理解模型。

可选地,根据所述第一梯度,对所述语言语义理解模型的输入层添加扰动,包括:

根据所述第一梯度,确定扰动系统;

对所述输入层的原始梯度进行标准化;

将标准化后的输入层乘以所述扰动系统,得到扰动梯度;

对所述输入层的参数叠加所述扰动梯度。

本申请实施例第二方面提供一种优化语言语义理解模型装置,所述装置包括:

第一损失值获得模块,用于获得语言语义理解模型在目标训练中的第一损失值;所述目标训练是利用目标领域的问句样本数据精调所述语言语义理解模型的训练;

扰动添加模块,用于根据所述第一损失值,对所述语言语义理解模型的输入层添加扰动;

第二损失值获得模块,用于获得添加扰动后的语言语义理解模型在所述目标训练中的第二损失值;

参数更新模块,用于根据所述第二损失值,更新所述语言语义理解模型的参数,得到优化后的语言语义理解模型。

可选地,所述装置还包括:

样本数据获得模块,用于获得多个所述问句样本数据;所述问句样本数据包括问句文本样本和所述问句文本样本对应的分类标记;

所述第一损失值获得模块包括:

第一预测分类计算子模块,用于将所述问句文本样本输入所述语言语义理解模型,得到第一预测分类;

第一损失值计算子模块,用于计算所述第一预测分类和所述问句文本样本对应的分类标记的交叉熵损失,得到所述第一损失值。

可选地,所述扰动添加模块包括:

第一梯度计算子模块,用于根据所述第一损失值,计算对所述语言语义理解模型进行参数更新的第一梯度;

扰动添加子模块,用于根据所述第一梯度,对所述语言语义理解模型的输入层添加扰动;

所述参数更新模块包括:

第二梯度计算子模块,用于根据所述第二损失值,计算对所述添加扰动后语言语义理解模型进行参数更新的第二梯度;

参数更新子模块,用于根据所述第二梯度,更新所述添加扰动后的语言语义理解模型的参数,得到优化后的语言语义理解模型。

可选地,对抗样本向量获得子模块,用于将所述问句文本样本作为添加扰动后的输入层的输入,得到所述添加扰动后的输入层输出的对抗样本向量;

第二预测分类获得子模块,用于将所述对抗样本向量输入所述语言语义理解模型的分类层,得到第二预测分类;

第二损失值计算子模块,用于计算所述第二预测分类和所述问句文本样本对应的分类标记的交叉熵损失,得到所述第二损失值。

可选地,所述装置还包括;

累加梯度计算模块,用于累加所述第一梯度和所述第二梯度,得到累加梯度;

所述参数更新子模块包括:

参数更新子单元,用于根据所述累加梯度,更新所述添加扰动后的语言语义理解模型的参数,得到优化后的语言语义理解模型。

可选地,所述扰动添加子模块包括:

扰动系统确定子单元,用于根据所述第一梯度,确定扰动系统;

标准化子单元,用于对所述输入层的原始梯度进行标准化;

扰动梯度计算子单元,将标准化后的输入层乘以所述扰动系统,得到扰动梯度;

单数叠加子单元,用于对所述输入层的参数叠加所述扰动梯度。

本申请实施例第三方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请第一方面所述的方法中的步骤。

本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本申请第一方面所述的方法的步骤。

本申请实施例先利用特定场景的问句样本数据正向训练语言语义理解模型,根据训练结果反向计算语言语义理解模型的梯度,即计算语言语义理解模型应该调整的参数大小和参数调整的方向,再进一步根据梯度对语言语义理解模型添加扰动,以相同的问句样本数据再一次输入添加扰动后的语言语义理解模型,对语言语义理解模型进行对抗训练,增加语言语义理解模型的鲁棒性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提出的优化语言语义理解模型的步骤流程图;

图2是本申请实施例获得第二损失值的步骤流程图;

图3是本申请一种示例中对语言语义理解模型进行对抗训练的流程图;

图4是本申请实施例提出的优化语言语义理解模型装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

FAQ任务(Frequently Asked Questions)用于智能客服的业务场景中,对于用户频繁会问到的业务知识类问题的自动解答。是智能客服最为核心的用户场景,可以显著的降低人工客服的数量与成本。比如10086的在线智能客服,用户提问“如何查询话费”,那系统可以自动给出一个对应的知识“请您向10086号码发送‘HF’短信,即可查询当前话费”,而不再需要消耗高成本的人力来做解答。

FAQ任务是指用户使用智能客服系统,输入相关问题,智能客服系统根据用户输入的问题,在知识库中确定匹配度最高的答案。知识库是预先设置的,包括一定数量的<问题,答案>标准问答文本对,不涉及复杂的图结构或者关联表结构,并且限制于开发智能客服系统的公司或者个人,<问题,答案>标准问答文本对的数量一般不会增加。例如通讯公司的智能客服系统只会涉及例如“如何查询话费”“请您向10086号码发送‘HF’,即可查询当前话费”等与通讯业务相关的问题以及答案,内容有限。

智能客服系统设置有自然语言语义理解模,即NLU(Natural LanguageUnderstanding)模型,自然语言语义理解模型用于将用户输入的问句转换为问句向量,并且根据问句向量计算问句向量与多个标准问句向量的相似度,再根据相似度在知识库中确定与用户输入的问句匹配的标准问句,进而输出与标准问句对应的答案文本。其中,自然语言语义理解模型还负责将标准问句转换为标准问句向量。鉴于上述原因,自然语言语义理解模型将问句文本转换成问句向量的准确度是影响智能客服系统准确率的关键因素。

本申请中,智能客服系统根据用户输入的问题,输出对应的答案本质是分类问题。基于自然语言语义理解模型转换的向量,以及自然语言语义理解模型基于问句向量对用户输入的问题进行分类的准确性,知识库中存储的标准问句则是分类的类别。例如,用户输入的问句1是:如何查询话费,问题2是:怎么查询上个月的话费,自然语言语义理解模型分别对上述问题1和问题2进行向量转换后,得到向量1和向量2,与向量1和向量2相似度最高的向量都是向量3,向量3是自然语言语义理解模型对标准问句“查询话费”进行向量转换得到的,问句1“如何查询话费”和问句2“怎么查询上个月的话费”的分类类别都是:“查询话费”,智能客服系统最终输出“查询话费”类别下的答案文本。

本申请采用的是语言表征模型BERT模型(Bidirectional EncoderRepresentation Transformers)模型,属于NLU(Natural Language Understanding)模型中的一种,是基于双向Transformer构建的语言模型,由开发公司完成预训练,预训练后的BERT模型具有基本的向量转换、语义理解能力。在将BERT模型应用于特定场景的智能客服系统之前,需要对BERT模型进行优化,即使用特定场景的训练样本再次训练BERT模型,使其对该特定场景的文本转换成向量的准确率更高,对问句分类的准确率更高。

示例地,在将BERT模型应用于通讯公司的智能客服系统之前,需要用类似:“如何查询话费”“请您向10086号码发送‘HF’,即可查询当前话费”等多个训练数据,对BERT模型进行优化,以使BERT模型更加适用于通讯业务。

然而特定场景的训练数据不能直接从网络获得,是人工编辑的针对该场景的训练数据,即优化BERT模型的训练数据有限,导致BERT模型对问句文本的向量转换出现误差,使得自然语言语义理解模型将用户输入的问题分类到与正确意图接近但确是错误的意图中。例如,用户输入问题:“首次登陆的密码是什么”,该问题表达的正确的意图应该是“初始密码”,但与BERT模型转换的向量匹配的标准问句的意图是“忘记密码”,由于转换向量鲁棒性不够高的问题,导致自然语言语义理解模型对用户输入问题分类错误。

鉴于上述问题,本申请实施例根据对语言语义理解模型的训练结果,在输入层添加扰动,再次训练语言语义理解模型,克服训练数据较少的问题,基于添加的扰动对语言语义理解模型进行对抗训练,增加语言语义理解模型的鲁棒性,提高语言语义理解模型向量转换的准确率,进而提高自然语言语义理解模型语义理解的准确率,提高智能客服系统输出答案的正确率。

图1是本申请实施例提出的优化语言语义理解模型的步骤流程图。如图1所示,优化语言语义理解模型的步骤包括:

步骤S11:获得语言语义理解模型在目标训练中的第一损失值;所述目标训练是利用目标领域的问句样本数据精调所述语言语义理解模型的训练;

精调(Finetune)是指对经过预训练的模型进行的进一步的训练。

第一损失值是指每开始一轮新的训练时,将语言语义理解模型的输入层的参数恢复到初始状态后,利用问句样本数据正向训练语言语义理解模型,计算得到的损失值。

语言语义理解模型是指自然语言语义理解模型NLU中的BERT模型。

优化语言语义理解模型是指:利用特定业务场景的训练数据进一步训练预训练完成的语言语义理解模型。

本申请另一种实施例提出了在目标训练中计算第一损失值的方法。

获得多个所述问句样本数据;所述问句样本数据包括问句文本样本和所述问句文本样本对应的分类标记;

假设当前开发智能客服系统的公司是航空公司,那么目标领域是航空领域,获得特定业务场景的训练数据是指,人工编辑的常见的航空领域中的客服问答资料。例如:<“U8633在哪个航站楼候机”“T1”>类的问答对。

与智能客服系统连接的知识库中,存储有多个标准问答文本对,标准问答文本对包括标准问句、标准答案和分类标记,可以表示为:<问题,答案>*分类标记,便于智能客服系统根据问句向量匹配标准问句,并输出答案。

分类标记可以是[1]、[2]、[3]等。

收集多个问答对后,对每个问答对标注分类标记,提取问句文本和分类标记,得到问句样本数据。

假设对收集的问答对标注分类标记后,得到:

<“请问U8633在哪个航站楼候机”“T1”>*[1]

<“北京飞上海的航班有哪些”“HO1260、KN5735”>*[2]

<“成都的机场地址”“四川省成都市双流区机场路”>*[3]

其中,“请问U8633在哪个航站楼候机”、北京飞上海的航班有哪些”和“成都的机场地址”是文本样本;“T1”、“HO1260、KN5735”和“四川省成都市双流区机场路”是答案样本。

提取问句文本和分类标记,得到的问句样本数据如下:

<请问U8633在哪个航站楼候机,[1]>

<北京飞上海的航班有哪些,[2]>

<成都的机场地址,[3]>

获得语言语义理解模型在目标训练中的第一损失值,包括:将所述问句文本样本输入所述语言语义理解模型,得到第一预测分类;计算所述第一预测分类和所述问句文本样本对应的分类标记的交叉熵损失,得到所述第一损失值。

语言语义理解模型先将样本问句转换为问句向量,再对应将知识库存储的标准问答文本对中的标准问句转换为标准问句向量,计算问句向量与标准问句向量的相似度,根据相似度确定匹配的标准问句向量。

第一预测分类是指语言语义理解模型根据相似度确定的可以表示语言语义理解模型预测问句文本类别的浮点数。

假设知识库存储的标准问答文本对包括:

标准问答文本对1:<航班U8633登机航站楼,T1>*[1]

标准问答文本对2:<北京至上海的航班,“HO1260、KN5735”>*[2]

标准问答文本对3:<双流机场地址,四川省成都市双流区机场路>*[3]

语言语义理解模型将样本问句“请问U8633在哪个航站楼候机”转换为向量1,分别将标准问答文本对1、标准问答文本对2和标准问答文本对3装换为向量2、向量3和向量4,分别计算向量1与向量2、向量3、向量4的相似度,得到[向量2-30%、向量3-50%、向量3-60%]。与向量1相似度最高的是向量3,向量3对应的标准问句类别是[3.1],即[3.1]为第一预测分类。

而“请问U8633在哪个航站楼候机”对应的分类标记是[1]。

在上述示例中,计算第一预测分类和问句文本样本对应的分类标记的交叉熵损失是指,计算[1]和[3.1]的交叉熵损失。具体可以将[1]和[3.1]代入交叉熵损失函数,计算[1]和[3.1]两个分布的距离,得到调整模型参数的第一损失值。

通过上述计算第一损失值的方法,不仅可以进一步计算语言语义理解模型需要调整的参数范围,还可以为语言语义理解模型提供执行对抗训练的基础。

步骤S12:根据所述第一损失值,对所述语言语义理解模型的输入层添加扰动;

语言语义理解模型的输入层是指BERT模型的embedding层。

将问句文本样本输入添加扰动后语言语义理解模型的输入层,能够得到相较于文本样本对应的向量有微小噪音的对抗样本向量。

步骤S13:获得添加扰动后的语言语义理解模型在所述目标训练中的第二损失值;

本申请另一种实施例提出获得第二损失值的方法。图2是本申请实施例获得第二损失值的步骤流程图。如图2所示:

步骤S13-1:将所述问句文本样本作为添加扰动后的输入层的输入,得到所述添加扰动后的输入层输出的对抗样本向量;

可以仍然沿用获得第一损失值对应的训练时使用的问句文本样本作为当前的问句文本样本。

将获得第一损失值对应的训练时使用的问句文本样本“请问U8633在哪个航站楼候机”输入添加扰动后的语言语义理解模型的输入层,虽然问句文本样本相同,但添加扰动后的输入层转换“请问U8633在哪个航站楼候机”得到的向量5,与添加扰动前的输入层转换请问U8633在哪个航站楼候机”得到的向量1并不相同,所以语言语义理解模型进一步分别计算向量5与向量2、向量3、向量4的相似度也不相同。

向量5可以作为对抗向量样本,参与语言语义理解模型计算相似度的对抗训练。

步骤S13-2:将所述对抗样本向量输入所述语言语义理解模型的分类层,得到第二预测分类;

分类层用于对问句文本样本进行分类,即计算问句文本样本与标准问答文本对1中的文本“航班U8633登机航站楼”的相似度,计算问句文本样本与标准问答文本对2中的文本“北京至上海的航班”的相似度,计算问句文本样本与标准问答文本对3中的文本“双流机场地址”的相似度。分类层还用于根据相似度,确定对抗样本向量的第二预测分类。

第二预测分类是指,将问句文本样本输入添加扰动后的语言语义理解模型后,得到的可以表示语言语义理解模型预测问句文本样本类别的浮点数。

步骤S13-3:计算所述第二预测分类和所述问句文本样本对应的分类标记的交叉熵损失,得到所述第二损失值。

第二损失值是指,得到第一损失值并根据第一损失值对语言语义理解模型的输入层添加扰动后,利用问句样本数据正向训练语言语义理解模型,计算得到的损失值。

本申请通过在语言语义理解模型的输入层添加扰动的方式产生对抗样本,同时将一个问句文本样本输入添加了不同扰动的输入层后,可以得到不同多个的训练样本,在训练样本较少的情况下,丰富了训练样本,使语言语义理解模型可以基于更多样本,学习计算用户输入的问句文本和知识库中的标准文件的相似度。

步骤S14:根据所述第二损失值,更新所述语言语义理解模型的参数,得到优化后的语言语义理解模型。

第二损失值是指利用问句样本数据对语言语义理解模型进行对抗训练,计算得到的损失值。

本申请实施例先利用特定场景的问句样本数据正向训练语言语义理解模型,根据训练结果反向计算语言语义理解模型的梯度,即计算语言语义理解模型应该调整的参数大小和参数调整的方向,再进一步根据梯度对语言语义理解模型添加扰动,以相同的问句样本数据再一次输入添加扰动后的语言语义理解模型,对语言语义理解模型进行对抗训练,增加语言语义理解模型的鲁棒性。

本申请以下述实施例说明根据第一损失值对语言语义理解模型添加扰动,提供对语言语义理解模型进行对抗训练的基础的方法。

根据所述第一损失值,计算对所述语言语义理解模型进行参数更新的第一梯度;根据所述第一梯度,对所述语言语义理解模型的输入层添加扰动;

第一梯度是根据第一损失值计算出的,语言语义理解模型中的神经网络的参数应该调整的大小和方向。

第一损失值表示的是语言语义理解模型计算出的问句文本样本的类别与分类标记表示的分类之间的分布距离,调整语言语义理解模型的参数,使语言语义理解模型计算出的问句文本样本的类别与分类标记表示的分类之间的分布距离减小,根据第一损失值计算出的梯度就是为了将分布距离调整到最小,语言语义理解模型中的参数需要变化的大小和方向。

根据梯度添加扰动,保证了添加的扰动不会超过当前参数需要调整的梯度,避免了语言语义理解模型的崩坏。

根据所述第二损失值,更新所述语言语义理解模型的参数,得到优化后的语言语义理解模型,包括:

根据所述第二损失值,计算对所述添加扰动后语言语义理解模型进行参数更新的第二梯度;根据所述第二梯度,更新所述语言语义理解模型的参数,得到优化后的语言语义理解模型。

第二梯度是根据第二损失值计算出的,添加扰动后的语言语义理解模型中的神经网络的参数应该调整的大小和方向。

为了更加精确地调整语言语义理解模型中的参数,可以累加第一梯度和第二梯度,再根据第一梯度和第二梯度的累加值,更新语言语义理解模型的参数。

累加所述第一梯度和所述第二梯度,得到累加梯度;

根据所述第二梯度,更新所述添加扰动后的语言语义理解模型的参数,得到优化后的语言语义理解模型,包括:根据所述累加梯度,更新所述添加扰动后的语言语义理解模型的参数,得到优化后的语言语义理解模型。

本申请实施例先对语言语义理解模型进行分类训练,计算得到基于分类训练的训练结果语言语义理解模型需要更新的参数;再对语言语义理解模型进行对抗训练,计算得到基于对抗训练的训练结果语言语义理解模型需要更新的参数,以两次不同训练需要更新的参数作为参考,对语言语义理解模型的参数进行统一更新,保证了语言语义理解模型的鲁棒性。

在本申请的另一个实施例提出了对输入层添加扰动的方法。具体方法如下;

根据所述第一梯度,确定扰动系统;对所述输入层的原始梯度进行标准化;将标准化后的输入层乘以所述扰动系统,得到扰动梯度;对所述输入层的参数叠加所述扰动梯度。

本申请以原始输入层作为添加的扰动的基础,以使添加的扰动可以和原本的输入层融合。扰动系数是指扰动在输入层所占权重。

基于上述关于优化语言语义理解模型方法实施例的相关说明,下面介绍一种实现对语言语义理解模型对抗训练的方法,如图3所示,图3是本申请一种示例中对语言语义理解模型进行对抗训练的流程图。

步骤S31:利用BERT模型的embedding层对问句文本样本进行向量表示,得到问句文本样本向量X

步骤S32:将X

多分类loss是指BERT模型预测的问句文本样本的类别与问句文本样本本身的类别的相差程度。该相差程度以损失值的方式表示。

前向传播是指当前层的输入是上一层的输出,当前层的输出是下一层的输入,然后一层一层的传递下去。

反向传播也叫反向更新。根据感知机的原理。神经元产生输出(预测分类)之后要与正确标签(分类标记)做对比,根据对比结果更新调整本地神经网络的参数,以此经过反复训练达到较好的效果。

步骤S33:将embedding层的原始梯度进行标准化,并将标准化后的梯度乘以扰动系数,再叠加到embedding层的参数上。

将标准化后的梯度乘以扰动系数,再叠加到embedding层的参数上完成了对embedding层添加扰动。

步骤S34:利用添加扰动后的embedding层对问句文本样本进行向量表示,得到添加扰动后的问句文本样本向量X

步骤S35:将X

步骤S36:将embedding层的参数恢复到初始状态,也将BERT模型的参数恢复到初始状态。

步骤S37:根据总梯度g对BERT模型的参数进行更新。

上述S31-S37的步骤为对BERT模型进行一轮训练的流程,训练时根据S31-S37中每步不同的数据,对该流程进行重复,例如步骤S32中得到的梯度g

本申请本对语言语义理解模型对抗训练的方法通过在训练时加入扰动,丰富了训练中问句的表示,在数据集不变的情况下提高了BERT模型的向量表示效果,使智能客服任务中的问句匹配的更加准确。

基于同一发明构思,本申请实施例提供一种优化语言语义理解模型装置。图4是本申请实施例提出的优化语言语义理解模型装置的结构示意图。如图4所示,该装置包括:

第一损失值获得模块41,用于获得语言语义理解模型在目标训练中的第一损失值;所述目标训练是利用目标领域的问句样本数据精调所述语言语义理解模型的训练;

扰动添加模块42,用于根据所述第一损失值,对所述语言语义理解模型的输入层添加扰动;

第二损失值获得模块43,用于获得添加扰动后的语言语义理解模型在所述目标训练中的第二损失值;

参数更新模块44,用于根据所述第二损失值,更新所述语言语义理解模型的参数,得到优化后的语言语义理解模型。

可选地,所述装置还包括:

样本数据获得模块,用于获得多个所述问句样本数据;所述问句样本数据包括问句文本样本和所述问句文本样本对应的分类标记;

所述第一损失值获得模块包括:

第一预测分类计算子模块,用于将所述问句文本样本输入所述语言语义理解模型,得到第一预测分类;

第一损失值计算子模块,用于计算所述第一预测分类和所述问句文本样本对应的分类标记的交叉熵损失,得到所述第一损失值。

可选地,所述扰动添加模块包括:

第一梯度计算子模块,用于根据所述第一损失值,计算对所述语言语义理解模型进行参数更新的第一梯度;

扰动添加子模块,用于根据所述第一梯度,对所述语言语义理解模型的输入层添加扰动;

所述参数更新模块包括:

第二梯度计算子模块,用于根据所述第二损失值,计算对所述添加扰动后语言语义理解模型进行参数更新的第二梯度;

参数更新子模块,用于根据所述第二梯度,更新所述添加扰动后的语言语义理解模型的参数,得到优化后的语言语义理解模型。

可选地,所述第二损失值获得模块包括:

对抗样本向量获得子模块,用于将所述问句文本样本作为添加扰动后的输入层的输入,得到所述添加扰动后的输入层输出的对抗样本向量;

第二预测分类获得子模块,用于将所述对抗样本向量输入所述语言语义理解模型的分类层,得到第二预测分类;

第二损失值计算子模块,用于计算所述第二预测分类和所述问句文本样本对应的分类标记的交叉熵损失,得到所述第二损失值。

可选地,所述装置还包括;

累加梯度计算模块,用于累加所述第一梯度和所述第二梯度,得到累加梯度;

所述参数更新子模块包括:

参数更新子单元,用于根据所述累加梯度,更新所述添加扰动后的语言语义理解模型的参数,得到优化后的语言语义理解模型。

可选地,所述扰动添加子模块包括:

扰动系统确定子单元,用于根据所述第一梯度,确定扰动系统;

标准化子单元,用于对所述输入层的原始梯度进行标准化;

扰动梯度计算子单元,将标准化后的输入层乘以所述扰动系统,得到扰动梯度;

单数叠加子单元,用于对所述输入层的参数叠加所述扰动梯度。

基于同一发明构思,本申请另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的优化语言语义理解模型方法中的步骤。

基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的优化语言语义理解模型方法中的步骤。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进或说明的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种优化语言语义理解模型方法、装置、设备及存储介质,进行了详细介绍,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 优化语言语义理解模型方法、装置、设备及存储介质
  • 语义理解模型训练方法、装置、计算机设备和存储介质
技术分类

06120112184954