对话理解模型的鲁棒性分析方法、装置和计算机设备与流程
未命名
08-15
阅读:140
评论:0
1.本技术涉及计算机技术领域,特别是涉及一种对话理解模型的鲁棒性分析方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术:
2.随着计算机技术的发展,出现了利用计算机技术来分析、理解和处理自然语言的自然语言处理技术(natural language processing, nlp)。将自然语言处理技术应用于对话理解任务,可以通过机器学习得到对话理解模型。
3.传统技术中,通过对测试样本进行随机变形,再对比对话理解模型使用变形前的测试样本时的理解准确率与使用变形后的测试样本时的理解准确率,评估对话理解模型的鲁棒性。上述处理方式可能导致不同测试样本变形前后的差异性相差很大,从而导致模型鲁棒性的评估结果不准确。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种能够提高评估结果准确性的对话理解模型的鲁棒性分析方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种对话理解模型的鲁棒性分析方法。所述方法包括:以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一所述原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;针对各所述发言轮次中的至少一部分,分别重构各所述原始对话样本,得到与所述原始样本集匹配的对抗样本集;以所述对抗样本集为测试集,测试得到所述对话理解模型的对抗评价数据;根据所述对抗评价数据相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果。
6.第二方面,本技术还提供了一种对话理解模型的鲁棒性分析装置。所述装置包括:原始测试模块,用于以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一所述原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;重构模块,用于针对各所述发言轮次中的至少一部分,分别重构各所述原始对话样本,得到与所述原始样本集匹配的对抗样本集;对抗测试模块,用于以所述对抗样本集为测试集,测试得到所述对话理解模型的对抗评价数据;鲁棒性分析结果确定模块,用于根据所述对抗评价数据相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果。
7.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一所述原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;针对各所述发言轮次中的至少一部分,分别重构各所述原始对话样本,得到与所述原始样本集匹配的对抗样本集;以所述对抗样本集为测试集,测试得到所述对话理解模型的对抗评价数据;根据所述对抗评价数据相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果。
8.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一所述原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;针对各所述发言轮次中的至少一部分,分别重构各所述原始对话样本,得到与所述原始样本集匹配的对抗样本集;以所述对抗样本集为测试集,测试得到所述对话理解模型的对抗评价数据;根据所述对抗评价数据相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果。
9.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一所述原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;针对各所述发言轮次中的至少一部分,分别重构各所述原始对话样本,得到与所述原始样本集匹配的对抗样本集;以所述对抗样本集为测试集,测试得到所述对话理解模型的对抗评价数据;根据所述对抗评价数据相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果。
10.上述对话理解模型的鲁棒性分析方法、装置、计算机设备、存储介质和计算机程序产品,以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;针对各发言轮次中的至少一部分,分别重构各原始对话样本,得到与原始样本集匹配的对抗样本集;以对抗样本集为测试集,测试得到对话理解模型的对抗评价数据;根据对抗评价数据相对于原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。上述处理过程中,一方面,在对话理解模型的鲁棒性分析过程中,基于每一原始对话样本均包括多个发言轮次的特有属性,针对一部分发言轮次分别重构各原始对话样本,能够在一定程度上降低不同样本在重构前后差异性,使得最终得到的鲁棒性分析结果更为可信,有利于提高鲁棒性分析结果的准确性;另一方面,分别以包含多个原始对话样本的原始样本集、以及与该原始样本集匹配的对抗样本集作为测试集,根据不同测试集下对话理解模型的模型评价数据变化情况确定鲁棒性分析结果,相当于结合了模型在多个样本对抗测试下的鲁棒性,同样也能够提高鲁棒性分析结果的准确性。
附图说明
11.图1为一个实施例中对话理解模型的鲁棒性分析方法的应用环境图;图2为一个实施例中对话理解模型的上线过程示意图;图3为一个实施例中对话理解模型的鲁棒性分析过程示意图;图4为一个实施例中对话理解模型的鲁棒性分析方法的流程示意图;图5为另一个实施例中对话理解模型的鲁棒性分析过程示意图;图6为另一个实施例中对话理解模型的鲁棒性分析方法的流程示意图;图7为一个实施例中应用鲁棒性指标体系阵列的鲁棒性分析结果示意图;图8为一个实施例中应用模型准确率的鲁棒性分析结果示意图;图9为一个实施例中消融实验场景下所得到的鲁棒性分析结果示意图;图10为一个实施例中对话理解模型的鲁棒性分析装置的结构框图;图11为一个实施例中计算机设备的内部结构图;图12为另一个实施例中计算机设备的内部结构图。
具体实施方式
12.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
13.本技术实施例提供的对话理解模型的鲁棒性分析方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。该通信网络可以是有线网络或无线网络。因此,终端102和服务器104可以通过有线或无线通信方式进行直接或间接的连接。比如,终端102可以通过无线接入点与服务器104间接地连接,或者终端102通过因特网与服务器104直接地连接,本技术在此不做限制。其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以单独设置,可以集成在服务器104上,也可以放在云上或其他服务器上。
14.需要说明的是,本技术实施例中对话理解模型的鲁棒性分析方法,可以由服务器104单独执行,也可以由终端102和服务器104共同执行,在终端102的数据处理能力满足鲁棒性分析需求的情况下,还可以由终端102单独执行。以服务器104单独执行的情况为例,服务器104在进行对话理解模型的鲁棒性分析的过程中:以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;针对各发言轮次中的至少一部分,分别重构各原始对话样本,得到与原始样本集匹配的对抗样本集;以对抗样本集为测试集,测试得到对话理解模型的对抗评价数据;根据对抗评价数据相对于原始评价数据的变化情况,确定对话
理解模型的鲁棒性分析结果。
15.在一个实施例中,本技术提供的对话理解模型的鲁棒性分析方法,可以应用于模型上线前鲁棒性评估的应用场景。具体地,如图2所示,服务器训练得到对话理解模型后,需要对该对话理解模型进行准确率和鲁棒性评估,确保模型符合应用要求后,再将该模型上线。上线前对待上线的对话理解模型进行鲁棒性分析的过程中,如图3所示,服务器可以获取包括多个原始对话样本的原始样本集,并以该原始样本集为测试集,测试得到对话理解模型的原始评价数据。其中,每一原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次。然后,服务器针对各发言轮次中的至少一部分,分别重构各原始对话样本,得到各原始对话样本各自匹配的重构对话样本,例如图3中与原始对话样本1匹配的重构对话样本1、与原始对话样本2匹配的重构对话样本2。可以理解,各重构对话样本构成与原始样本集匹配的对抗样本集。接着,服务器以该对抗样本集为测试集,测试得到对话理解模型的对抗评价数据。最后,服务器根据对抗评价数据相对于原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。若该鲁棒性分析结果表征该对话理解模型的鲁棒性满足上线应用的需求,则将该模型上线。
16.在一个实施例中,本技术提供的对话理解模型的鲁棒性分析方法,还可以应用于针对更新模型的鲁棒性评估应用场景。具体地,模型应用过程中,通常需要进行更新迭代以提高准确性,那么,服务器可以针对更新后得到的对话理解模型进行鲁棒性分析,具体分析过程参见上文,此处不再赘述。可以理解,若该鲁棒性分析结果表征更新后的对话理解模型的鲁棒性优于更新前的对话理解模型,则可以将更新后的对话理解模型替代更新前的对话理解模型;反之,若该鲁棒性分析结果表征更新后的对话理解模型的鲁棒性比更新前的对话理解模型差,则需要结合其他指标进一步评估是否有必要进行此次的模型更新。其他指标例如可以包括工作效率、准确性、模型大小等等。
17.在一个实施例中,如图4所示,提供了一种对话理解模型的鲁棒性分析方法,该方法可以由计算机设备执行,该计算机设备可以是图1所示的终端或服务器,在本实施例中,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:步骤s402,以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据。
18.其中,对话是指至少两个发言方参与的语言交流过程。原始对话样本是指用于记录对话过程的文本。该原始对话样本所使用的语种类型例如可以包括中文、英文、德文等等,在此不作限定。原始样本集是指包括多个原始对话样本的样本集。每一原始对话样本包括至少一轮对话,且每一轮对话包括发言方不同的至少两个发言轮次。进一步地,原始对话样本中包括发言方信息和发言信息。示例性的,原始对话样本1可以为:“(发言轮次1)发言方a:我今天吃了一个芒果。
19.(发言轮次2)发言方b:这个季节很难买到芒果。
20.(发言轮次3)发言方a:要不我给你一箱?我有很多。
21.(发言轮次4)发言方b:太好了!”可以理解,上述原始对话样本1中记录的“发言方a”和“发言方b”为发言方信息,“我今天吃了一个芒果”、“这个季节很难买到芒果”、“要不我给你一箱?我有很多”、“太好了”为发言信息,且原始对话样本1中一共包括两轮对话,每一轮对话均包括发言方a和发言
方b参与的两个发言轮次。也就是说,发言轮次1和发言轮次2构成一轮对话,发言轮次3和发言轮次4构成一轮对话。需要说明的是,原始对话样本中的各轮对话,可以包括陈述性对话或问答对话等多种对话形式,在此不作限定。例如,上述原始对话样本1中由发言轮次1和发言轮次2构成一轮陈述性对话,由发言轮次3和4构成一轮问答对话。
22.对话理解模型是指用于实现对话理解任务的机器学习模型,具体到本技术,该对话理解模型是进行鲁棒性分析的分析对象。该对话理解任务例如可以包括对话意图理解或对话情绪理解等任务中的至少一项。其中,对话意图是指对话中发言方想要通过对话表达的内容信息,从而传达出某种特定的任务需求,该任务需求例如可以包括电影票预订、机票预定、音乐播放等等。对话情绪是指发言方在对话过程中的所表达的情绪信息,该对话情绪例如可以包括高兴、中立、悲伤等等。进一步地,该对话理解模型例如可以是神经网络模型或决策树模型,且该神经网络模型的具体类型例如可以包括卷积神经网络模型(convolutional neural networks,cnn)、循环神经网络(recurrent neuralnetwork, rnn)模型或生成对抗网络(generative adversarial networks,gan)模型等,在此不作限定。
23.实际应用中,对于某一模型而言,进行鲁棒性分析的对象,可以是该模型本身,也可以是对模型进行处理后所得到的调整后模型。该调整后模型例如可以是通过增量训练所获得的更新模型,也可以是去掉模型中一部分组件之后所得到的消融模型。示例性的,在消融实验场景下,可以分析对话理解模型中不同组件对于鲁棒性结果的影响,在该场景下,可以将完整的对话理解模型、以及去掉目标组件的消融对话理解模型作为鲁棒性分析对象,通过同一原始样本集和对抗样本集下,完整对话理解模型和消融对话理解模型各自的鲁棒性分析结果,确定目标组件对模型鲁棒性的影响。例如,可以通过多个数据集验证模型m1中不同组件(r1-r3)的增加与否,对于最终鲁棒性的影响结果,也就是说,在此情形下,鲁棒性分析对象包括完整对话理解模型m1、去掉组件r1之后的对话理解模型m1-r1、去掉组件r2之后的对话理解模型m1-r2、以及去掉组件r3之后的对话理解模型m1-r3。
24.原始评价数据,是指以原始样本集为测试集测试得到的模型评价数据。实际应用中,可以使用测试集对对话理解模型进行测试,得到对应的模型评价数据。该模型评价数据例如可以包括混淆矩阵、auc(area under curve)面积、roc(receiver operating characteristic curve,接收者操作特征曲线)曲线、错误率、准确率和损失统计值等指标。该损失统计值例如可以包括损失均值、标准差和标准分等等。
25.具体地,服务器可以获取包括多个原始对话样本的原始样本集,并以该原始样本集为测试集,对对话理解模型进行测试,得到该对话理解模型的原始评价数据。以原始评价数据为准确率的情况为例,服务器可以将各原始对话样本分别输入对话理解模型,得到各原始对话样本各自对应的模型输出,并将各模型输出分别与对应的标签进行比对,统计得到模型输出与标签匹配的样本占比,进而确定该对话理解模型的准确率。进一步地,服务器获取原始样本集的具体方式,可以是主动获取,也可以是被动接收。示例性的,可以由用户向终端输入对话信息,该对话信息的具体形式例如可以包括语音、文字等等,再由服务器基于各对话信息构成的对话记录,得到原始对话样本,进而获得包括多个原始对话样本的原始样本集;服务器也可以通过网络获取原始对话样本集。
26.步骤s404,针对各发言轮次中的至少一部分,分别重构各原始对话样本,得到与原
始样本集匹配的对抗样本集。
27.其中,鲁棒可以理解为模型对数据变化的容忍度。假设样本数据出现较小偏差或模型内部出现较小的扰动,只对模型输出产生较小的影响并依旧能产生正确结果,则称模型经受住了攻击,该模型是鲁棒的。基于此,对于对话理解模型,可以通过加入不可感知的扰动重构对话样本,从而试探该对话理解模型的鲁棒性和缺陷。重构过程中扰动的不可感知性,可以理解为,增加的扰动对样本语义的影响相对较小。
28.具体地,如前文所述的,每一原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次。也就是说,从本质上而言,原始对话样本是由多个发言轮次构成的。基于此,服务器可以针对各发言轮次中的至少一部分,对每一原始对话样本中这一部分发言轮次的发言信息进行信息变换处理,得到各原始对话样本各自匹配的重构对话样本,进而得到与原始样本集匹配的对抗样本集。
29.进一步地,对发言信息进行信息变换处理的过程,可以包括字符层级(character-level)、词层级(word-level)和句子层级(sentence-level)等多种层级的信息变换。其中,字符层级变换又称字粒度攻击,具体对应于英文字母或中文汉字,可以在字母或字的层级上,通过形近字或同音字替换,以及字粒度的增、删、改等方式增加扰动生成重构对话样本。词层级变换又称词粒度攻击,具体对应于英文单词或中文词语,可以在单词或词组的层级上,通过同义词替换,以及词粒度的增、删、改等方式增加扰动生成重构对话样本。句子层级变换又称句粒度攻击,具体对应于英文句子或中文句子,在句子层级上进行扰动,生成重构对话样本。
30.在一个实施例中,服务器可以针对各发言轮次中满足设定条件的目标发言轮次,分别重构各原始对话样本。
31.其中,设定条件例如可以通过重构轮次条件、重构轮数条件、轮次信息量条件等中的至少一种表征。该重构轮次条件表示目标发言轮次在原始对话样本中的轮次顺序所需满足的条件;重构轮数条件表示一个原始对话样本中的目标发言轮次的数量所需满足的条件;轮次信息量条件表示目标发言轮次对应的发言信息所包含的信息量需要满足的条件。该轮次顺序例如可以包括奇数轮次和偶数轮次,还可以包括当前轮次和历史轮次。其中,当前轮次是指原始对话样本的最后一个发言轮次,例如原始对话样本1中的发言轮次4。发言轮次的信息量可以通过该发言轮次的发言信息所包含的字符总数、词槽数量等表征。可以理解,一个原始对话样本中的目标发言轮次的数量,可以是一个,也可以是多个。
32.在一个可能的实现中,服务器可以对各发言轮次中满足轮次信息量条件的目标发言轮次进行信息变换,实现对原始对话样本的重构。该轮次信息量条件,例如可以是目标发言轮次的发言信息所包含的字符总数大于设定字符数量,或者该字符总数大于或等于设定字符数量。
33.在一个可能的实现中,服务器可以对各原始对话样本中的最后一个发言轮次进行信息变换,也可以对各原始对话样本中的第一个发言轮次进行信息变换,还可以对各原始对话样本中除最后一个发言轮次以外的各历史发言轮次中的至少一部分进行信息变换,实现对原始对话样本的重构。示例性的,与上述原始对话样本1匹配的重构对话样本可以包括对各发言轮次均进行信息变换的重构对话样本1-1、仅对最后一个发言轮次进行信息变换的重构对话样本1-2、以及仅对历史发言轮次进行信息变换的重构对话样本1-3。
34.其中,重构对话样本1-1可以为:“(发言轮次1)发言方a:我今天吃了一个芒果。
35.(发言轮次2)发言方b:这个季节[真的]很难买到芒果。
[0036]
(发言轮次3)发言方a:要不我[送]给你一箱?我有很多。
[0037]
(发言轮次4)发言方b:太好[棒]了!”该重构对话样本1-1在原始对话样本1的基础上进行了如下信息变换:删除发言轮次1的量词“一个”;在发言轮次2中新增程度副词“真的”;将发言轮次3中的动词“给”替换成“送”;将发言轮次4中的形容词“好”替换成“棒”。
[0038]
重构对话样本1-2可以为:“(发言轮次1)发言方a:我今天吃了一个芒果。
[0039]
(发言轮次2)发言方b:这个季节很难买到芒果。
[0040]
(发言轮次3)发言方a:要不我给你一箱?我有很多。
[0041]
(发言轮次4)发言方b:太好[棒]了!”该重构对话样本1-2在原始对话样本1的基础上进行了如下信息变换:将发言轮次4中的“好”替换成“棒”。
[0042]
重构对话样本1-3可以为:“(发言轮次1)发言方a:我今天吃了一个芒果。
[0043]
(发言轮次2)发言方b:这个季节[真的]很难买到芒果。
[0044]
(发言轮次3)发言方a:要不我[送]给你一箱?我有很多。
[0045]
(发言轮次4)发言方b:太好了!”该重构对话样本1-3在原始对话样本1的基础上进行了如下信息变换:删除发言轮次1的“一个”;在发言轮次2中新增“真的”;将发言轮次3中的“给”替换成“送”。
[0046]
步骤s406,以对抗样本集为测试集,测试得到对话理解模型的对抗评价数据。
[0047]
具体地,得到对抗样本集后,服务器可以以该对抗样本集为测试集,对对话理解模型进行测试,得到该对话理解模型的对抗评价数据。以对抗评价数据为准确率的情况为例,服务器可以将各重构对话样本分别输入对话理解模型,得到各重构对话样本各自对应的模型输出,并将各模型输出分别与对应的标签进行比对,统计得到模型输出与标签匹配的样本占比,进而确定该对话理解模型在对抗样本集测试下的准确率。其中,重构对话样本对应的标签,为与该重构对话样本匹配的原始对话样本的标签。
[0048]
需要说明的是,对抗评价数据与原始评价数据的数据类型一致。例如,原始评价数据包括准确率的情况下,对抗评价数据也包括准确率;原始评价数据包括损失统计值的情况下,对抗评价数据也包括损失统计值,等等。
[0049]
步骤s408,根据对抗评价数据相对于原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。
[0050]
其中,对抗评价数据相对于原始评价数据的变化情况,可以通过差值、比值等表征。具体地,服务器可以针对同一类型的对抗评价数据相对于原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。
[0051]
在一个实施例中,原始评价数据包括原始准确率,对抗评价数据包括对抗准确率。在该实施例的情形下,步骤s408包括:确定对抗准确率相对于原始准确率的准确率变化数
据;基于准确率变化数据,确定对话理解模型的鲁棒性分析结果。
[0052]
其中,原始准确率是指以原始样本集为测试集所确定的模型准确率。对应地,对抗准确率是指以对抗样本集为测试集所确定的模型准确率。该模型准确率可以包括对话意图理解准确率或对话情绪理解准确率中的至少一种。具体地,服务器可以确定对抗准确率相对于原始准确率的准确率变化数据,并基于该准确率变化数据,确定对话理解模型的鲁棒性分析结果。该准确率变化数据,可以包括准确率变化量、准确率变化率等等。
[0053]
以模型准确率为对话情绪理解准确率的情况为例。服务器可以将原始样本集中,对话情绪理解结果与对话情绪标签匹配的情绪理解正确样本在原始样本集中所占的比例,确定为原始准确率;将对抗样本集中,对话情绪理解结果与对话情绪标签匹配的情绪理解正确样本在对抗样本集中所占的比例,确定为对抗准确率。再基于对抗准确率与原始准确率的差值,确定对话理解模型的鲁棒性分析结果。若对抗准确率相对于原始准确率的变化较小,则说明被评估的对话理解模型抗攻击能力强,表现出强鲁棒性。
[0054]
本实施例中,基于准确率变化数据,确定对话理解模型的鲁棒性分析结果,能够直观反映模型性能,有利于提高鲁棒性分析结果的可靠性。
[0055]
在一个实施例中,原始评价数据包括原始损失统计值,对抗评价数据包括对抗损失统计值。在该实施例的情形下,步骤s408包括:确定对抗损失统计值相对于原始损失统计值的损失变化数据;基于损失变化数据,确定对话理解模型的鲁棒性分析结果。
[0056]
其中,原始损失统计值是指以原始样本集为测试集所确定的模型损失统计值。对应地,对抗损失统计值是指以对抗样本集为测试集所确定的模型损失统计值。该模型损失统计值可以包括损失均值、损失均值、标准差和标准分等中的至少一种。具体地,服务器可以确定对抗损失统计值相对于原始损失统计值的损失变化数据,并基于该损失变化数据,确定对话理解模型的鲁棒性分析结果。该损失变化数据,可以包括损失变化量、损失变化率等等。
[0057]
以模型损失统计值为损失均值的情况为例。服务器可以对各原始对话样本各自的损失值进行统计计算,得到原始样本集下对话理解模型的原始损失均值;对各原始对话样本各自的损失值进行统计计算,得到原始样本集下对话理解模型的对抗损失均值。再基于对抗损失均值与原始损失均值的差值,确定对话理解模型的鲁棒性分析结果。若对抗损失均值相对于原始损失均值的变化较小,则说明被评估的对话理解模型抗攻击能力强,表现出强鲁棒性。
[0058]
本实施例中,基于损失变化数据,确定对话理解模型的鲁棒性分析结果,算法简单,有利于提高鲁棒性分析过程的处理效率。
[0059]
在一个实施例中,原始评价数据包括原始准确率和原始损失统计值,对抗评价数据包括对抗准确率和对抗损失统计值。在该实施例的情形下,步骤s408包括:确定对抗准确率相对于原始准确率的准确率变化数据、以及对抗损失统计值相对于原始损失统计值的损失变化数据;基于准确率变化数据和损失变化数据,确定对话理解模型的鲁棒性分析结果。
[0060]
其中,关于原始准确率、原始损失统计值、对抗准确率和对抗损失统计值的具体限定参见上文,此处不再赘述。具体地,服务器可以确定以对抗样本集为测试集所确定的对抗准确率相对于以原始样本集为测试集所确定的原始准确率的变化情况,得到准确率变化数据;确定以对抗样本集为测试集所确定的对抗损失统计值相对于以原始样本集为测试集所
确定的原始损失统计值的变化情况,得到损失变化数据。然后,服务器可以将准确率变化数据和损失变化数据确定为对话理解模型的鲁棒性分析结果,也可以对该准确率变化数据和损失变化数据进行进一步处理之后,得到对话理解模型的鲁棒性分析结果。示例性的,服务器可以通过对准确率变化数据和损失变化数据进行标准化处理后,再通过加权求和得到鲁棒性分析结果。其中,准确率变化数据的权重大于损失变化数据的权重。
[0061]
本实施例中,结合准确率变化数据和损失变化数据,确定对话理解模型的鲁棒性分析结果,有利于进一步提高鲁棒性分析结果的准确性。
[0062]
上述对话理解模型的鲁棒性分析方法,以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;针对各发言轮次中的至少一部分,分别重构各原始对话样本,得到与原始样本集匹配的对抗样本集;以对抗样本集为测试集,测试得到对话理解模型的对抗评价数据;根据对抗评价数据相对于原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。上述处理过程中,一方面,在对话理解模型的鲁棒性分析过程中,基于每一原始对话样本均包括多个发言轮次的特有属性,针对一部分发言轮次分别重构各原始对话样本,能够在一定程度上降低不同样本在重构前后差异性,使得最终得到的鲁棒性分析结果更为可信,有利于提高鲁棒性分析结果的准确性;另一方面,分别以包含多个原始对话样本的原始样本集、以及与该原始样本集匹配的对抗样本集作为测试集,根据不同测试集下对话理解模型的模型评价数据变化情况确定鲁棒性分析结果,相当于结合了模型在多个样本对抗测试下的鲁棒性,同样也能够提高鲁棒性分析结果的准确性。
[0063]
在一个实施例中,对抗样本集的数量为至少两个。在该实施例的情形下,步骤s406包括:分别以每一对抗样本集为测试集,测试得到对话理解模型对应于各对抗样本集各自的对抗评价数据。步骤s408包括:根据每一对抗评价数据各自相对于原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。
[0064]
其中,不同对抗样本集的重构参数各不相同。该重构参数可以包括重构轮次参数、重构粒度参数和信息变换方式等等。该重构轮次参数用于表征重构过程中需要进行信息变换的发言轮次需要满足的参数条件。该重构粒度参数用于表征信息变换层级,可以包括字、词和句等粒度。该信息变换方式可以包括删除、替换和增加等。替换可以是发音相似替换、字形相似替换或语义相似替换等等。不同对抗样本集的重构参数各不相同,可以是指不同对抗样本集各自对应的重构轮次参数、重构粒度参数或信息变换方式等参数中,至少一部分不相同。例如,对抗样本集a与对抗样本集b的重构轮次参数不相同,对抗样本集b与对抗样本集c的重构粒度参数不相同,等等。
[0065]
具体地,服务器可以基于重构轮次参数、重构粒度参数和信息变换方式等参数信息,通过组合得到多种重构参数。然后,服务器再按照每一重构参数分别对原始样本集进行样本重构处理,得到每一重构参数各自对应的对抗样本集。接着,服务器再分别以每一对抗样本集为测试集,测试得到对话理解模型对应于各对抗样本集各自的对抗评价数据,并根据每一对抗评价数据各自相对于原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。
[0066]
示例性的,如图5所示,服务器可以基于各参数信息组合得到重构参数1、重构参数2和重构参数3。在一个可能的实现中,该重构参数1,例如可以是对最后一个发言轮次进行
词粒度的同义词替换;该重构参数2,例如可以是对各历史发言轮次进行字粒度的同音字替换;该重构参数3,例如可以是删除各发言轮次中的语气词。然后,服务器再按照重构参数1对原始样本集进行样本重构处理,得到对抗样本集1;按照重构参数2对原始样本集进行样本重构处理,得到对抗样本集2;按照重构参数3对原始样本集进行样本重构处理,得到对抗样本集3。接着,服务器以对抗样本集1为测试集,测试得到对话理解模型对应于对抗样本集1的对抗评价数据1;以对抗样本集2为测试集,测试得到对话理解模型对应于对抗样本集2的对抗评价数据2;对抗样本集3为测试集,测试得到对话理解模型对应于对抗样本集3的对抗评价数据3。最后,服务器根据每一对抗评价数据各自相对于以原始样本集为测试集测试得到的原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。
[0067]
进一步地,服务器可以将每一对抗评价数据各自相对于原始评价数据的变化情况,确定为对话理解模型的鲁棒性分析结果,在此前提下,所得到的鲁棒性分析结果可以用于表征对话理解模型在不同重构参数各自对应的对抗攻击场景下的鲁棒性。服务器也可以通过对各对抗评价数据各自相对于原始评价数据的变化情况进行统计计算,确定对话理解模型的鲁棒性分析结果,在此前提下,所得到的鲁棒性分析结果可以用于表征对话理解模型的整体抗攻击性能,也即对话理解模型的综合鲁棒性。其中,统计计算的具体算法,可以包括加法、乘法等算法中的至少一项。
[0068]
本实施例中,使用对各对抗样本集进行鲁棒性分析,相当于综合考虑了对话理解模型在不同对抗攻击场景下的鲁棒性,有利于进一步提高鲁棒性分析结果的准确性。
[0069]
在一个实施例中,步骤s404包括:确定对话重构处理过程中的期望重构轮次;针对每一原始对话样本,从该原始对话样本的各发言轮次中确定与期望重构轮次匹配的样本重构轮次;按照各原始对话样本各自的样本重构轮次,对各原始对话样本分别进行重构处理,得到与原始样本集匹配的对抗样本集。
[0070]
其中,期望重构轮次表示期望进行信息变换处理的发言轮次。该期望重构轮次可以通过多种方式确定。示例性的,可以基于轮次顺序确定期望重构轮次,例如,该期望重构轮次例如可以包括当前轮次和历史轮次,也可以包括目标轮次、目标轮次的前轮次、以及目标轮次的后轮次。该当前轮次是指对话样本中的最后一个发言轮次,历史轮次是指最后一个发言轮次之前的发言轮次,对应的,目标轮次的前轮次是指目标轮次之前的发言轮次,目标轮次的后轮次是指目标轮次之后的发言轮次。具体应用中,还可以结合轮次信息量条件确定期望重构轮次。发言轮次的信息量可以通过该发言轮次的发言信息所包含的字符总数、词槽数量等表征。示例性的,服务器可以将发言信息所包含的字符总数大于设定字符数量,或者该字符总数大于或等于设定字符数量的发言轮次确定为期望重构轮次。
[0071]
具体地,各原始对话样本中各自包含的发言轮次数量可能存在差异,且各发言轮次所包含的发言信息也各不相同。基于此,服务器可以确定对话重构处理过程中的期望重构轮次。该期望重构轮次,可以由开发人员根据鲁棒性分析需求直接设定,例如设定为历史轮次或当前轮次;也可以由服务器根据开发人员设定的重构轮次条件确定。该重构轮次条件可以通过轮次信息量、轮次顺序等表征。
[0072]
然后,针对每一原始对话样本,服务器从该原始对话样本的各发言轮次中确定与期望重构轮次匹配的样本重构轮次。样本重构轮次是指原始对话样本中与期望重构轮次匹配的发言轮次。以期望重构轮次为当前轮次的情况为例,则对于包含四个发言轮次的原始
对话样本,则该原始对话样本的样本重构轮次为“发言轮次4”;对于包含五个发言轮次的原始对话样本,则该原始对话样本的样本重构轮次为“发言轮次5”。接着,服务器再按照各原始对话样本各自的样本重构轮次,针对各样本重构轮次中的发言信息进行信息变换处理,实现对各原始对话样本各自的重构处理,得到与各原始对话样本各自匹配的对抗对话样本,进而得到与原始样本集匹配的对抗样本集。
[0073]
本实施例中,先确定对话重构处理过程中的期望重构轮次,再分别针对各原始对话样本中与期望重构轮次匹配的样本重构轮次进行样本重构,能够进一步减小不同样本重构前后的差异性,进而进一步提升鲁棒性分析结果的准确性。
[0074]
在一个实施例中,从原始对话样本的各发言轮次中确定与期望重构轮次匹配的样本重构轮次,包括:在期望重构轮次包括当前轮次的情况下,将原始对话样本的最后一个发言轮次,确定为与期望重构轮次匹配的样本重构轮次;在期望重构轮次包括历史轮次的情况下,将原始对话样本的至少一部分历史发言轮次,确定为与期望重构轮次匹配的样本重构轮次。
[0075]
实际应用中,对于对话理解模型而言,通常比较关注的是模型针对当前轮次的性能、以及模型针对历史轮次的性能。基于此,期望重构轮次可以包括当前轮次或历史轮次中的至少一项。也就是说,可以仅针对当前轮次进行样本重构,也可以仅针对历史轮次进行样本重构,还可以既针对当前轮次又针对历史轮次进行样本重构。具体地,在期望重构轮次包括当前轮次的情况下,将原始对话样本的最后一个发言轮次,确定为与期望重构轮次匹配的样本重构轮次;在期望重构轮次包括历史轮次的情况下,将原始对话样本的至少一部分历史发言轮次,确定为与期望重构轮次匹配的样本重构轮次。该历史发言轮次,是指最后一个发言轮次之前的发言轮次。
[0076]
示例性的,以原始对话样本1为例,若期望重构轮次为历史轮次,则可以针对发言轮次1至发言轮次3中的至少一部分进行样本重构。在此情形下,与该原始对话样本1匹配的重构对话样本,可以包括上文中对所有的历史发言轮次均进行了信息变换的重构对话样本1-3,也可以包括对各历史发言轮次中的一部分进行了信息变换的重构对话样本1-4和重构对话样本1-5。
[0077]
其中,重构对话样本1-4可以为:“(发言轮次1)发言方a:我今天吃了一个芒果。
[0078]
(发言轮次2)发言方b:这个季节[真的]很难买到芒果。
[0079]
(发言轮次3)发言方a:要不我给你一箱?我有很多。
[0080]
(发言轮次4)发言方b:太好了!”该重构对话样本1-4在原始对话样本1的基础上进行了如下信息变换:删除发言轮次1的“一个”;在发言轮次2中新增“真的”。
[0081]
重构对话样本1-5可以为:“(发言轮次1)发言方a:我今天吃了一个芒果。
[0082]
(发言轮次2)发言方b:这个季节很难买到芒果。
[0083]
(发言轮次3)发言方a:要不我给你一箱?我有很多。
[0084]
(发言轮次4)发言方b:太好了!”该重构对话样本1-5在原始对话样本1的基础上进行了如下信息变换:删除发言轮
次1的“一个”。
[0085]
上述实施例中,针对当前轮次的攻击,攻击区域为原始样本的当前发言轮次;针对历史轮次的攻击过程中,攻击区域为历史发言轮次中的至少一部分,能够确保样本重构过程与对话理解模型的特点匹配,进而确保鲁棒性分析结果的实用性。
[0086]
在一个实施例中,对话理解模型的鲁棒性分析方法还包括:确定对话重构处理过程中的期望重构轮数。在该实施例的情形下,在期望重构轮次包括历史轮次的情况下,将原始对话样本的至少一部分历史发言轮次,确定为与期望重构轮次匹配的样本重构轮次,包括:在期望重构轮次包括历史轮次的情况下,按照期望重构轮数,从原始对话样本的历史发言轮次中,确定与期望重构轮次匹配的样本重构轮次。
[0087]
其中,期望重构轮数用于表示一个原始对话样本中需要进行信息变换的发言轮次的数量,也即,一个原始对话样本中样本重构轮次的数量。具体地,在期望重构轮次包括历史轮次的情况下,由于各原始对话样本中各自包含的历史发言轮次的数量各不相同,为进一步减小不同样本重构前后的差异性,可以引入期望重构轮数这一参数,该期望重构轮数可以由开发人员根据鲁棒性分析需求直接设定,也可以由服务器根据开发人员设定的重构轮数条件确定。该重构轮数条件可以是指一个原始对话样本中的样本重构轮数为设定数值,也可以是指一个原始对话样本中的样本重构轮数在数量与发言轮次总数的比值在设定范围内,在此不作限定。
[0088]
进一步地,服务器可以按照期望重构轮数,从原始对话样本的历史发言轮次中,确定与期望重构轮次匹配的样本重构轮次。示例性的,若期望重构轮数为2,则服务器可以从针对每一原始对话样本,从原始对话样本中各自的历史发言轮次中,选择两个历史发言轮次作为该原始对话样本中与期望重构轮次匹配的样本重构轮次。实际应用中,还可以结合轮次信息量、轮次顺序条件等等确定样本重构轮次,以进一步减小不同样本重构前后的差异性。例如,可以在满足期望重构轮数的情况下,从各历史发言轮次中的奇数发言轮次中确定样本重构轮次;又如,可以在满足期望重构轮数的情况下,将顺序靠前的历史发言轮次确定为样本重构轮次。
[0089]
上述实施例中,在期望重构轮次包括历史轮次的情况下,结合期望重构轮数确定样本重构轮次,能够进一步减小不同样本重构前后的差异性,提高鲁棒性分析结果的准确性。
[0090]
在一个实施例中,按照各原始对话样本各自的样本重构轮次,对各原始对话样本分别进行重构处理,得到与原始样本集匹配的对抗样本集,包括:按照各原始对话样本各自的样本重构轮次,分别确定每一原始对话样本各自的待重构发言信息;对每一待重构发言信息分别进行信息变换处理,得到各待重构发言信息各自匹配的重构发言信息;基于各原始对话样本各自的重构发言信息,分别对各原始对话样本进行样本重构,得到与原始样本集匹配的对抗样本集。
[0091]
其中,待重构发言信息是指原始对话样本中样本重构轮次的发言信息。具体地,若对样本的重构过程中使样本的语义发生了较大的变化,那必然会引起对话理解模型输出结果的变化。若以此变化来评价对话理解模型的鲁棒性,则可能存在受语义变化的影响而导致的鲁棒性分析结果的偏差。基于此,服务器可以按照各原始对话样本各自的样本重构轮次,分别确定每一原始对话样本各自的待重构发言信息。然后,对每一待重构发言信息分别
进行信息变换处理,得到各待重构发言信息各自匹配的重构发言信息。互相匹配的待重构发言信息和重构发言信息之间的语义相似度满足相似条件。该相似条件,例如可以是语义相似度大于相似度阈值,也可以是语义相似度大于或等于相似度阈值。最后,服务器再基于各原始对话样本各自的重构发言信息,分别对各原始对话样本进行样本重构,得到与原始样本集匹配的对抗样本集。
[0092]
本实施例中,基于与待重构发言信息匹配的重构发言信息进行样本重构,由于互相匹配的待重构发言信息和重构发言信息之间的语义相似度满足相似条件,能够在样本重构过程中保持原始对话样本和重构对话样本之间的语义相似性,进而避免因样本语义差异对模型评价数据的影响,能够确保鲁棒性分析结果的准确性。
[0093]
进一步地,基于各原始对话样本各自的重构发言信息,分别对各原始对话样本进行样本重构,得到与原始样本集匹配的对抗样本集的具体方式并不唯一。例如,服务器可以针对每一原始对话样本,从该原始对话样本中提取发言信息中除待重构发言信息以外的原始发言信息,再结合原始发言信息和重构发言信息,得到与该原始对话样本匹配的对抗对话样本,进而确定包含各原始对话样本各自对应的对抗对话样本的对抗样本集。
[0094]
在一个实施例中,基于各原始对话样本各自的重构发言信息,分别对各原始对话样本进行样本重构,得到与原始样本集匹配的对抗样本集,包括:针对每一原始对话样本,将该原始对话样本的待重构发言信息替换为与该待重构发言信息匹配的重构发言信息,得到与该原始对话样本匹配的对抗对话样本;确定包含各原始对话样本各自对应的对抗对话样本的对抗样本集。
[0095]
具体地,服务器在原始样本集的基础上,针对每一原始对话样本,将该原始对话样本的待重构发言信息替换为与该待重构发言信息匹配的重构发言信息,得到与该原始对话样本匹配的对抗对话样本,进而获得包含各原始对话样本各自对应的对抗对话样本的对抗样本集。示例性的,以原始对话样本1为例。在待重构发言信息为“太好了”的情况下,服务器可以对该待重构发言信息进行信息变换处理,得到与该待重构发言信息匹配的重构发言信息“太棒了”,然后,再将原始对话样本1中的“太好了”替换为“太棒了”,得到重构对话样本1-2。
[0096]
本实施例中,通过发言信息替换实现样本重构,有利于简化样本重构流程,提高鲁棒性分析过程的工作效率。
[0097]
在一个实施例中,对话理解模型的鲁棒性分析方法还包括:确定对话重构处理过程中的期望重构粒度。在该实施例的情形下,对每一待重构发言信息分别进行信息变换处理,得到各待重构发言信息各自匹配的重构发言信息,包括:按照与期望重构粒度匹配的信息变换方式,对每一待重构发言信息分别进行信息变换处理,得到各待重构发言信息各自匹配的重构发言信息。
[0098]
其中,期望重构粒度用于表征信息变换处理过程中的信息变换层级,可以包括字、词和句等粒度。可以理解,不同重构粒度下对应的信息变换方式各不相同。示例性的,字粒度的信息变换方式可以包括textbugger和textfooler等算法,词粒度的信息变换方法可以包括pwws(probability weighted word saliency,基于概率加权词显着性的贪婪算法)等。与期望重构轮次和期望重构轮数类似,该期望重构粒度同样可以由开发人员根据鲁棒性分析需求直接设定,例如设定为字粒度或词粒度;也可以由服务器根据开发人员设定的
重构粒度条件确定。该重构粒度条件例如可以是重构粒度大于字粒度,或者重构粒度小于或等于词粒度。
[0099]
具体地,服务器可以确定对话重构处理过程中的期望重构粒度,并按照与期望重构粒度匹配的信息变换方式,对每一待重构发言信息分别进行信息变换处理,得到各待重构发言信息各自匹配的重构发言信息。需要说明的是,针对同一原始对话样本,在样本重构轮次的数量为多个的情况下,各样本重构轮次各自的重构粒度可以相同,也可以不相同。以重构粒度小于或等于词粒度的情况为例,则服务器可以结合语义相似性原则,针对每一样本重构轮次,在词粒度和字粒度中选择合适的重构粒度进行信息变换。例如,对于原始对话样本1,词粒度变换后能够保持语义相似性,则可以采用词粒度作为重构粒度进行信息变换;对于原始对话样本2,词粒度变换后无法保持语义相似性,则可以采用字粒度作为重构粒度进行信息变换。
[0100]
本实施例中,按照与期望重构粒度匹配的信息变换方式,对每一待重构发言信息分别进行信息变换处理,得到各待重构发言信息各自匹配的重构发言信息,能够确保不同原始对话样本重构过程中的重构粒度存在关联性,进而进一步减小不同样本重构前后的差异性,提升鲁棒性分析结果的准确性。
[0101]
在一个实施例中,按照与期望重构粒度匹配的信息变换方式,对每一待重构发言信息分别进行信息变换处理,得到各待重构发言信息各自匹配的重构发言信息,包括:针对每一待重构发言信息,确定与期望重构粒度匹配的至少两种候选信息变换方式;分别基于每一候选信息变换方式对待重构发言信息进行信息变换处理,得到每一候选信息变换方式各自对应的候选重构发言信息;从各候选重构发言信息中,确定与待重构发言信息的语义相似度满足相似条件、且语义差异最大的重构发言信息。
[0102]
实际应用中,在进行鲁棒性分析的过程中,一方面,期望样本重构前后能够保持语义相似性,以确保鲁棒性分析结果受到语义变化的干扰较小;另一方面,需要确保重构样本集相对于原始样本集的语义差异足够大,以确保分析过程能够示出最差情况下的鲁棒性。基于此,服务器可以针对每一待重构发言信息,确定与期望重构粒度匹配的至少两种候选信息变换方式。然后,分别基于每一候选信息变换方式对待重构发言信息进行信息变换处理,得到每一候选信息变换方式各自对应的候选重构发言信息。最后,从各候选重构发言信息中,确定与待重构发言信息的语义相似度满足相似条件、且语义差异最大的重构发言信息。
[0103]
本实施例中,从基于不同信息变换方式得到的多个候选重构发言信息中,确定与待重构发言信息的语义相似度满足相似条件、且语义差异最大的重构发言信息,能够确保信息变换过程保持语义相似性的前提下,对样本产生尽可能大的扰动,有利于提高鲁棒性分析结果的可信度。
[0104]
在一个实施例中,如图6所示,提供了一种对话理解模型的鲁棒性分析方法,该方法可以由计算机设备执行,该计算机设备可以是图1所示的终端或服务器,以该计算机设备是服务器为例,在本实施例中,该方法包括以下步骤:步骤s601,获取对话理解模型、以及针对该对话理解模型的原始样本集和至少两种样本重构参数。
[0105]
其中,原始样本集中包括多个原始对话样本,每一原始对话样本中的每一轮对话
包括发言方不同的至少两个发言轮次。样本重构参数可以包括重构轮次参数、重构粒度参数和信息变换方式等等。该重构轮次参数用于表征重构过程中需要进行信息变换的发言轮次需要满足的参数条件。该重构粒度参数用于表征信息变换层级,可以包括字、词和句等粒度。该信息变换方式可以包括删除、替换和增加等。替换可以是发音相似替换、字形相似替换或语义相似替换等等。
[0106]
步骤s602,以原始样本集为测试集,测试得到对话理解模型的原始准确率和原始损失均值。
[0107]
步骤s603,对应于每一样本重构参数,确定与该样本重构参数匹配的期望重构轮次和期望重构粒度。
[0108]
其中,期望重构轮次可以包括当前轮次和历史轮次,期望重构粒度可以包括字、词和句粒度。
[0109]
步骤s604,针对每一原始对话样本,从该原始对话样本的各发言轮次中确定与期望重构轮次匹配的样本重构轮次。
[0110]
步骤s605,按照各原始对话样本各自的样本重构轮次,分别确定每一原始对话样本各自的待重构发言信息。
[0111]
步骤s606,针对每一待重构发言信息,确定与期望重构粒度匹配的至少两种候选信息变换方式。
[0112]
步骤s607,分别基于每一候选信息变换方式对待重构发言信息进行信息变换处理,得到每一候选信息变换方式各自对应的候选重构发言信息。
[0113]
步骤s608,从各候选重构发言信息中,确定与待重构发言信息的语义相似度满足相似条件、且语义差异最大的重构发言信息。
[0114]
步骤s609,针对每一原始对话样本,将该原始对话样本的待重构发言信息替换为与该待重构发言信息匹配的重构发言信息,得到与该原始对话样本匹配的对抗对话样本。
[0115]
步骤s610,对应于每一样本重构参数,确定包含各原始对话样本各自对应的对抗对话样本的对抗样本集。
[0116]
步骤s611,分别以每一对抗样本集为测试集,测试得到对话理解模型对应于各样本重构参数各自的对抗准确率和对抗损失均值。
[0117]
步骤s612,确定对抗准确率相对于原始准确率的准确率变化数据、以及对抗损失均值相对于原始损失均值的损失变化数据。
[0118]
步骤s613,根据各样本重构参数各自对应的准确率变化数据和损失变化数据,确定对话理解模型的鲁棒性分析结果。
[0119]
上述对话理解模型的鲁棒性分析方法,一方面,在对话理解模型的鲁棒性分析过程中,基于每一原始对话样本均包括多个发言轮次的特有属性,基于期望重构粒度对期望发言轮次进行信息变换处理,完成对原始对话样本的重构,能够在一定程度上降低不同样本在重构前后差异性,使得最终得到的鲁棒性分析结果更为可信,有利于提高鲁棒性分析结果的准确性;另一方面,分别以包含多个原始对话样本的原始样本集、以及与该原始样本集匹配的多个对抗样本集作为测试集,根据不同测试集下对话理解模型的准确率和损失均值变化情况确定鲁棒性分析结果,相当于结合了模型在多种攻击场景下的鲁棒性,同样也能够提高鲁棒性分析结果的准确性。
[0120]
下面结合图7至图9,对本技术中对话理解模型的鲁棒性分析方法进行详细说明。
[0121]
具体地,自然语言处理背景的任务,经过训练集训练,模型可以较好的拟合训练集,同时在测试集合上可以获得较好的效果。但是如果在对测试集合样本加入扰动的情况下无法保证预测结果的正确性,则说明该模型的鲁棒性较差。因此需要关注模型鲁棒性问题。在对话理解任务中,模型的鲁棒性还没有一套标准的评估体系。基于此,本技术提出一种评估体系,对模型在上文信息、当前轮次和全部对话的三种角度进行鲁棒性评估。其中,上文信息包括对话样本的各历史发言轮次中的至少一部分。与此同时,本技术还提出两条评估对话鲁棒性的准则:准则1,提出了aaa(c)/aaa(u)/aaa(u+c)三种指标,直接反映对话理解模型对上文信息/本轮对话/完整对话过程的鲁棒性;准则2,提出了mlg(c)/mlg(u)/mlg(u+c)三种指标,通过计算攻击前后的损失函数的取值变化程度,辅助反映对话理解模型对上文信息/本轮对话/完整对话过程的鲁棒性。其中,“c”代表扰动攻击区域为上文信息,即历史轮次,“u”代表扰动攻击区域为当前轮次,“u+c”代表扰动攻击区域包括历史轮次和当前轮次;“aaa”代表模型准确率,“mlg”代表损失函数变化均值。
[0122]
对话理解模型的鲁棒性分析过程的建模公式如下:其中,x表示原始对话样本,包含了历史轮次的文本信息(context,下文用c表示)和当前轮次的文本信息(utterance,下文用u表示)。y为原始对话样本x携带的标签,即正确答案标签。d表示原始样本集,(x,y)是属于原始样本集d的样本之一,δ为扰动信息,鲁棒性分析目标是样本x加入扰动信息δ之后,使损失函数尽可能最大(即少量扰动带来预测结果概率与正确答案之间距离的最大化)。l是损失函数,用于衡量加入扰动之后预测结果与正确答案之间距离。θ为对话理解模型参数,用于对话理解模型推理样本x加入扰动δ输出的预测概率。
[0123]
扰动信息攻击前的模型的损失函数为:攻击(加入扰动δ)之后,损失函数为:损失函数的定义为:攻击(加入扰动δ)前后损失函数值的变化为:基于以上建模方式,评估体系得到两条准则:准则1,若原始对话样本x加入扰动δ的重构对话样本x+δ,使得对话理解模型输出的结果y发生变化,则说明模型没有抵御住这次攻击,模型在这次攻击中是不鲁棒的。
[0124]
准则2,攻击(加入扰动δ)前后,损失函数值的变化值越大,则对话理解模型越不鲁棒。反之,损失函数值的变化值越小,则对话理解模型越鲁棒。
[0125]
进一步地,文本攻击是鲁棒性检验的方式,对比攻击前后损失函数值的变化,变化
越大,则越不鲁棒。以对话理解任务为情感理解的情况为例,候选情感标签有高兴、悲伤、中立。则对于上文中的原始对话样本1,模型输出的各候选情感标签各自的概率分别为:高兴54%、中立23%、悲伤23%。由于最大概率的结果为“高兴”,命中了正确标签“高兴”。
[0126]
对于该原始对话样本1的重构对话样本1-1,攻击区域为“u+c”,即当前轮次和历史轮次都攻击,模型输出的各候选情感标签各自的概率分别为:高兴34%、中立30%、悲伤36%。由于最大概率的结果为“悲伤”,未命中正确标签。
[0127]
对于该原始对话样本1的重构对话样本1-2,攻击区域为“u”,即只攻击当前轮次,模型输出的各候选情感标签各自的概率分别为:高兴50%、中立31%、悲伤19%。由于最大概率的结果为“高兴”,命中了正确标签。
[0128]
对于该原始对话样本1的重构对话样本1-3,攻击区域为“c”,即只攻击历史轮次,模型输出的各候选情感标签各自的概率分别为:高兴30%、中立44%、悲伤26%。由于最大概率的结果为“中立”,未命中正确标签。
[0129]
基于上述准则1,提出攻击后的对话理解准确率(aaa,accuracy after attack)指标。对应于上述三种攻击区域,该指标有三种计算方式:该指标有三种计算方式:该指标有三种计算方式:其中,aaa(u+c),是指攻击区域包括当前轮次和历史轮次的对抗样本集测试下,对话理解模型的准确率。重构对话样本1-1展示了一个样本在u+c攻击后的结果,该样本攻击后预测结果错误,所以预测正确的样本数计0。aaa(u+c)的取值范围是[0,1],aaa(u+c)的数值越大,则说明被评估的对话理解模型对上文及当前轮次的攻击越鲁棒(抗攻击能力强),即在对话全程的理解都表现出强鲁棒性。
[0130]
aaa(u),是指攻击区域仅包括当前轮次的对抗样本集测试下,对话理解模型的准确率。重构对话样本1-2展示了一个样本在u攻击后的结果,该样本攻击后预测结果正确,所以预测正确的样本数计1。同样的,aaa(u)的取值范围是[0,1],aaa(u)的数值越大,则说明被评估的对话理解模型对当前轮次的攻击越鲁棒(抗攻击能力强),即在对话当前轮次的理解表现出强鲁棒性。
[0131]
aaa(c),是指攻击区域仅包括历史轮次的对抗样本集测试下,对话理解模型的准确率。重构对话样本1-3展示了一个样本在c攻击后的结果,该样本攻击后预测结果错误,所以预测正确的样本数计0。同样的,aaa(c)的取值范围是[0,1],aaa(c)的数值越大,则说明被评估的对话理解模型对历史轮次的攻击越鲁棒(抗攻击能力强),即在对话上文信息的理解表现出强鲁棒性。
[0132]
需要说明的是,本实施例中,默认对话理解模型在原始对话样本集的原始准确率为1,因此,上述aaa指标可以反映对话理解模型在攻击前后的准确率变化情况。
[0133]
基于上述准则2,提出通过攻击前后的损失函数变化均值(mlg,mean loss gradient)来评估对话理解模型的鲁棒性,同样有三种计算方式:同样有三种计算方式:同样有三种计算方式:其中,mlg(u+c),是指攻击区域包括当前轮次和历史轮次的对抗样本集测试下,对话理解模型的损失变化均值。n为测试样本总数。mlg(u+c)结果越大,表明攻击后模型理解的变化越大,模型在对话全程的理解都表现越不鲁棒。反之,mlg(u+c) 结果越小,表明攻击后模型理解的变化越小,模型在对话全程的理解表现越鲁棒。以重构对话样本1-1为例,样本经过u+c攻击,攻击后损失值为:l(θ,x+δ,y)=-logp(y=高兴| x+δ)=-log0.34攻击前损失值为:l(θ,x,y)=-logp(y=高兴| x)=-log0.54则损失变化均值为:mlg(u+c)=l(θ,x+δ,y)
‑ꢀ
l(θ,x,y)=-log0.34-(-log0.54)=0.2009mlg(u),是指攻击区域仅包括当前轮次的对抗样本集测试下,对话理解模型的损失变化均值。n为测试样本总数。mlg(u)结果越大,表明攻击后模型理解的变化越大,模型在当前轮次的理解表现越不鲁棒。反之,mlg(u)结果越小,表明攻击后模型理解的变化越小,模型在当前轮次的理解表现越鲁棒。以重构对话样本1-2为例,样本经过u攻击,攻击后损失值为:l(θ,x+δ,y)=-logp(y=高兴| x+δ)=-log0.5攻击前损失值为-log0.54。则损失变化均值为:mlg(u)=l(θ,x+δ,y)
‑ꢀ
l(θ,x,y)=-log0.5-(-log0.54)=0.0334mlg(c),是指攻击区域仅包括历史轮次的对抗样本集测试下,对话理解模型的损失变化均值。n为测试样本总数。mlg(c) 结果越大,表明攻击后模型理解的变化越大,表明模型在历史轮次的理解表现越不鲁棒。反之,mlg(c) 结果越小,表明攻击后模型理解的变化越小,表明模型在当前轮次的理解表现越鲁棒。以重构对话样本1-3为例,样本经过c攻击,攻击后损失值为:l(θ,x+δ,y)=-logp(y=高兴| x+δ)=-log0.3攻击前损失值为-log0.54。则损失变化均值为:mlg(c)=l(θ,x+δ,y)
‑ꢀ
l(θ,x,y)=-log0.3-(-log0.54)=0.2552通过以上重构样本测试(一个样本,n=1),mlg(u)<mlg(u+c)<mlg(c),则被评估的对话理解模型在该样本上反映出的对话鲁棒性结果为:当前轮次(u)的鲁棒性较好,而在历史轮次(c)上表现最不鲁棒。而在全部对话信息上由于受到干扰,表现也较不鲁棒。
[0134]
如图7所示,为应用本技术提出的对话理解模型鲁棒性的指标体系,在指定数据集
d上,评估四种模型(m1-m4)在两种攻击方法(am1和am2)下的鲁棒性分析结果。其中,指标aaa_score(攻击方法,对话理解模型,攻击区域)对应各个模型在攻击方法(am1-am2)下的三种指标的鲁棒性结果。aaa_score取值范围在[0,1]区间内。例如,aaa (am1,u+c,m1,u+c,d)代表以数据集d为原始样本集、攻击区域为u+c、攻击算法为am1的情况下,模型m1的准确率。进一步地,攻击方法可以选用不同粒度(字粒度/词粒度/句粒度)下的不同攻击算法,例如, 字粒度的攻击算法有textbugger/textfooler,词粒度的攻击算法有pwws等,都可以作为实际的攻击算法(am, attack methods)。对话理解模型,即被评估的对话理解模型,可以包括m1-m4四种待评估的模型。攻击区域, 即评估鲁棒性的区域范围,可以包括当前轮次、历史轮次和完整对话(即包括当前轮次和历史轮次)。也即,u对应计算公式aaa(u)/mlg(u),评估模型对当前轮次的鲁棒性;c对应计算公式aaa(c)/mlg(c),评估模型对上文信息的鲁棒性;u+c对应aaa(u+c)/mlg(u+c),即评估模型对输入的完整对话信息的鲁棒性。根据图7中各指标构成的阵列,可以从当前轮次(u)/上文信息(u)/完整对话(u+c)三个角度综合评估判断模型的鲁棒性。
[0135]
在实际应用时,可以部分选择部分指标对话理解模型的鲁棒性进行针对性评估。示例性的,如图8所示,以评估不同对话理解模型(models)的鲁棒性为例,为了针对评估对话理解模型当前轮次(u)以及完整对话(u+c)的鲁棒性。在具体实验时,具体应用了三种不同的攻击方法(am1-am3),分别对应攻击算法pwws、textfooler和textbugger。在这三种攻击方法下,应用本技术提出的评价指标aaa(u+c)/ aaa(u)进行鲁棒性评估,评估不同对话理解模型当前轮次(u)的抗干扰能力(即鲁棒性),以及完整对话(u+c)的抗干扰能力(即鲁棒性)。
[0136]
在消融实验场景中,需要分析对话理解模型中不同组件对于鲁棒性结果的影响。如图9所示,展示了具体应用本专利提出的鲁棒性指标评价体系,应用于消融实验中的具体方法。实验可以通过多个数据集(d1-d2)来验证被评估模型m1中的不同组件(r1-r3)的增加与否,对于最终鲁棒性结果的影响,该影响包括正负向影响以及影响程度,可以通过aaa(u+c)/aaa(u)/aaa(c)以及mlg(u+c)/ mlg(u)/ mlg(c)指标体系综合评估验证。
[0137]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0138]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的对话理解模型的鲁棒性分析方法的鲁棒性分析装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个对话理解模型的鲁棒性分析装置实施例中的具体限定可以参见上文中对于对话理解模型的鲁棒性分析方法的限定,在此不再赘述。
[0139]
在一个实施例中,如图10所示,提供了一种对话理解模型的鲁棒性分析装置1000,包括:原始测试模块1002、重构模块1004、对抗测试模块1006和鲁棒性分析结果确定模块
1008,其中:原始测试模块1002,用于以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;重构模块1004,用于针对各发言轮次中的至少一部分,分别重构各原始对话样本,得到与原始样本集匹配的对抗样本集;对抗测试模块1006,用于以对抗样本集为测试集,测试得到对话理解模型的对抗评价数据;鲁棒性分析结果确定模块1008,用于根据对抗评价数据相对于原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。
[0140]
在一个实施例中,重构模块1004包括:期望重构轮次确定子模块,用于确定对话重构处理过程中的期望重构轮次;样本重构轮次确定子模块,用于针对每一原始对话样本,从该原始对话样本的各发言轮次中确定与期望重构轮次匹配的样本重构轮次;重构子模块,按照各原始对话样本各自的样本重构轮次,对各原始对话样本分别进行重构处理,得到与原始样本集匹配的对抗样本集。
[0141]
在一个实施例中,样本重构轮次确定子模块具体用于:在期望重构轮次包括当前轮次的情况下,将原始对话样本的最后一个发言轮次,确定为与期望重构轮次匹配的样本重构轮次;在期望重构轮次包括历史轮次的情况下,将原始对话样本的至少一部分历史发言轮次,确定为与期望重构轮次匹配的样本重构轮次。其中,历史发言轮次,是指最后一个发言轮次之前的发言轮次。
[0142]
在一个实施例中,对话理解模型的鲁棒性分析装置还包括:期望重构轮数确定模块,用于确定对话重构处理过程中的期望重构轮数。在该实施例的情形下,样本重构轮次确定子模块还用于:在期望重构轮次包括历史轮次的情况下,按照期望重构轮数,从原始对话样本的历史发言轮次中,确定与期望重构轮次匹配的样本重构轮次。
[0143]
在一个实施例中,重构子模块,包括:待重构发言信息确定单元,用于按照各原始对话样本各自的样本重构轮次,分别确定每一原始对话样本各自的待重构发言信息;信息变换单元,用于对每一待重构发言信息分别进行信息变换处理,得到各待重构发言信息各自匹配的重构发言信息;重构单元,用于基于各原始对话样本各自的重构发言信息,分别对各原始对话样本进行样本重构,得到与原始样本集匹配的对抗样本集。其中,互相匹配的待重构发言信息和重构发言信息之间的语义相似度满足相似条件。
[0144]
在一个实施例中,对话理解模型的鲁棒性分析装置还包括:期望重构粒度确定模块,用于确定对话重构处理过程中的期望重构粒度。在该实施例的情形下,信息变换单元具体用于:按照与期望重构粒度匹配的信息变换方式,对每一待重构发言信息分别进行信息变换处理,得到各待重构发言信息各自匹配的重构发言信息。
[0145]
在一个实施例中,信息变换单元具体用于:针对每一待重构发言信息,确定与期望重构粒度匹配的至少两种候选信息变换方式;分别基于每一候选信息变换方式对待重构发言信息进行信息变换处理,得到每一候选信息变换方式各自对应的候选重构发言信息;从各候选重构发言信息中,确定与待重构发言信息的语义相似度满足相似条件、且语义差异最大的重构发言信息。
[0146]
在一个实施例中,重构单元具体用于:针对每一原始对话样本,将该原始对话样本的待重构发言信息替换为与该待重构发言信息匹配的重构发言信息,得到与该原始对话样本匹配的对抗对话样本;确定包含各原始对话样本各自对应的对抗对话样本的对抗样本集。
[0147]
在一个实施例中,原始评价数据包括原始损失统计值,对抗评价数据包括对抗损失统计值。在该实施例的情形下,鲁棒性分析结果确定模块1008具体用于:确定对抗损失统计值相对于原始损失统计值的损失变化数据;基于损失变化数据,确定对话理解模型的鲁棒性分析结果。
[0148]
在一个实施例中,对抗样本集的数量为至少两个。在该实施例的情形下,对抗测试模块1006具体用于:分别以每一对抗样本集为测试集,测试得到对话理解模型对应于各对抗样本集各自的对抗评价数据。鲁棒性分析结果确定模块1008具体用于:根据每一对抗评价数据各自相对于原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。
[0149]
上述对话理解模型的鲁棒性分析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0150]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器或终端,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储对话理解模型的鲁棒性分析过程中所需要使用或产生的数据,例如原始样本集、对抗样本集、原始评价数据、对抗评价数据、鲁棒性分析结果等等。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种对话理解模型的鲁棒性分析方法。
[0151]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种对话理解模型的鲁棒性分析方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算
机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0152]
本领域技术人员可以理解,图11或图12中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0153]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述实施例中对话理解模型的鲁棒性分析方法的步骤。
[0154]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中对话理解模型的鲁棒性分析方法的步骤。
[0155]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述实施例中对话理解模型的鲁棒性分析方法的步骤。
[0156]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关地域和地区的相关法律法规和标准。并且,用户可以选择不进行用户信息和相关数据的授权,也可以拒绝或可以便捷拒绝推送信息等。
[0157]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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 accessmemory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0158]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0159]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种对话理解模型的鲁棒性分析方法,其特征在于,所述方法包括:以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一所述原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;针对各所述发言轮次中的至少一部分,分别重构各所述原始对话样本,得到与所述原始样本集匹配的对抗样本集;以所述对抗样本集为测试集,测试得到所述对话理解模型的对抗评价数据;根据所述对抗评价数据相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果。2.根据权利要求1所述的方法,其特征在于,所述针对各所述发言轮次中的至少一部分,分别重构各所述原始对话样本,得到与所述原始样本集匹配的对抗样本集,包括:确定对话重构处理过程中的期望重构轮次;针对每一所述原始对话样本,从所述原始对话样本的各发言轮次中确定与所述期望重构轮次匹配的样本重构轮次;按照各所述原始对话样本各自的样本重构轮次,对各所述原始对话样本分别进行重构处理,得到与所述原始样本集匹配的对抗样本集。3.根据权利要求2所述的方法,其特征在于,所述从所述原始对话样本的各发言轮次中确定与所述期望重构轮次匹配的样本重构轮次,包括:在所述期望重构轮次包括当前轮次的情况下,将所述原始对话样本的最后一个发言轮次,确定为与所述期望重构轮次匹配的样本重构轮次;在所述期望重构轮次包括历史轮次的情况下,将所述原始对话样本的至少一部分历史发言轮次,确定为与所述期望重构轮次匹配的样本重构轮次;所述历史发言轮次,是指所述最后一个发言轮次之前的发言轮次。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:确定对话重构处理过程中的期望重构轮数;所述在所述期望重构轮次包括历史轮次的情况下,将所述原始对话样本的至少一部分历史发言轮次,确定为与所述期望重构轮次匹配的样本重构轮次,包括:在所述期望重构轮次包括历史轮次的情况下,按照所述期望重构轮数,从所述原始对话样本的历史发言轮次中,确定与所述期望重构轮次匹配的样本重构轮次。5.根据权利要求2所述的方法,其特征在于,所述按照各所述原始对话样本各自的样本重构轮次,对各所述原始对话样本分别进行重构处理,得到与所述原始样本集匹配的对抗样本集,包括:按照各所述原始对话样本各自的样本重构轮次,分别确定每一所述原始对话样本各自的待重构发言信息;对每一所述待重构发言信息分别进行信息变换处理,得到各所述待重构发言信息各自匹配的重构发言信息;互相匹配的待重构发言信息和重构发言信息之间的语义相似度满足相似条件;基于各所述原始对话样本各自的重构发言信息,分别对各所述原始对话样本进行样本重构,得到与所述原始样本集匹配的对抗样本集。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
确定对话重构处理过程中的期望重构粒度;所述对每一所述待重构发言信息分别进行信息变换处理,得到各所述待重构发言信息各自匹配的重构发言信息,包括:按照与所述期望重构粒度匹配的信息变换方式,对每一所述待重构发言信息分别进行信息变换处理,得到各所述待重构发言信息各自匹配的重构发言信息。7.根据权利要求6所述的方法,其特征在于,所述按照与所述期望重构粒度匹配的信息变换方式,对每一所述待重构发言信息分别进行信息变换处理,得到各所述待重构发言信息各自匹配的重构发言信息,包括:针对每一所述待重构发言信息,确定与所述期望重构粒度匹配的至少两种候选信息变换方式;分别基于每一所述候选信息变换方式对所述待重构发言信息进行信息变换处理,得到每一所述候选信息变换方式各自对应的候选重构发言信息;从各所述候选重构发言信息中,确定与所述待重构发言信息的语义相似度满足所述相似条件、且语义差异最大的重构发言信息。8.根据权利要求5所述的方法,其特征在于,所述基于各所述原始对话样本各自的重构发言信息,分别对各所述原始对话样本进行样本重构,得到与所述原始样本集匹配的对抗样本集,包括:针对每一所述原始对话样本,将所述原始对话样本的待重构发言信息替换为与所述待重构发言信息匹配的重构发言信息,得到与所述原始对话样本匹配的对抗对话样本;确定包含各所述原始对话样本各自对应的对抗对话样本的对抗样本集。9.根据权利要求1至8中任意一项所述的方法,其特征在于,所述原始评价数据包括原始准确率,所述对抗评价数据包括对抗准确率;所述根据所述对抗评价数据相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果,包括:确定所述对抗准确率相对于所述原始准确率的准确率变化数据;基于所述准确率变化数据,确定所述对话理解模型的鲁棒性分析结果。10.根据权利要求1至8中任意一项所述的方法,其特征在于,所述原始评价数据包括原始损失统计值,所述对抗评价数据包括对抗损失统计值;所述根据所述对抗评价数据相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果,包括:确定所述对抗损失统计值相对于所述原始损失统计值的损失变化数据;基于所述损失变化数据,确定所述对话理解模型的鲁棒性分析结果。11.根据权利要求1至8中任意一项所述的方法,其特征在于,所述对抗样本集的数量为至少两个;所述以所述对抗样本集为测试集,测试得到所述对话理解模型的对抗评价数据,包括:分别以每一所述对抗样本集为测试集,测试得到所述对话理解模型对应于各所述对抗样本集各自的对抗评价数据;所述根据所述对抗评价数据相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果,包括:
根据每一所述对抗评价数据各自相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果。12.一种对话理解模型的鲁棒性分析装置,其特征在于,所述装置包括:原始测试模块,用于以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一所述原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;重构模块,用于针对各所述发言轮次中的至少一部分,分别重构各所述原始对话样本,得到与所述原始样本集匹配的对抗样本集;对抗测试模块,用于以所述对抗样本集为测试集,测试得到所述对话理解模型的对抗评价数据;鲁棒性分析结果确定模块,用于根据所述对抗评价数据相对于所述原始评价数据的变化情况,确定所述对话理解模型的鲁棒性分析结果。13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
技术总结
本申请涉及一种对话理解模型的鲁棒性分析方法、装置、计算机设备、存储介质和计算机程序产品。该方法包括:以包括多个原始对话样本的原始样本集为测试集,测试得到对话理解模型的原始评价数据;每一原始对话样本中的每一轮对话包括发言方不同的至少两个发言轮次;针对各发言轮次中的至少一部分,分别重构各原始对话样本,得到与原始样本集匹配的对抗样本集;以对抗样本集为测试集,测试得到对话理解模型的对抗评价数据;根据对抗评价数据相对于原始评价数据的变化情况,确定对话理解模型的鲁棒性分析结果。采用上述方法,能够降低不同样本在重构前后差异性,并且结合了模型在多个样本对抗测试下的鲁棒性,有利于提高鲁棒性分析结果的准确性。果的准确性。果的准确性。
技术研发人员:陆笛
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.07.14
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
