本发明涉及计算机
技术领域:
,尤其涉及一种对抗文本的生成方法、装置、设备及存储介质。
背景技术:
:随着深度学习技术的发展,深度学习模型也面临着各种安全问题,其中,对抗攻击是一个热点问题。在自然语言处理领域,对抗攻击指在原始文本上添加微小的扰动得到对抗文本,通过输入对抗文本使深度学习模型输出一个错误语义标签,而用户却不能察觉对抗文本相较于原始文本在语义上的改动。为解决这一安全问题,需要使用对抗文本对目标模型进行防御对抗攻击的训练,以使目标模型可以有效抵御外界的对抗攻击。现有技术中,针对中文,采用映射的方式实现对抗文本的生成,即将原始文本中的词语映射到向量空间,得到词向量,在词向量上添加扰动,并将词向量映射回文本格式生成对抗文本。然而,现有方法中大量的词向量难以映射回文本格式,且生成的对抗文本与原始文本的语义相差较大,对抗文本质量低,导致对抗文本的训练价值较低。技术实现要素:本发明实施例提供一种对抗文本的生成方法、装置、设备及存储介质,以解决针对中文,现有技术中生成的对抗文本与原始文本的语义相差较大,对抗文本质量低,进而导致对抗文本的训练价值较低的技术问题。第一方面,本发明实施例提供一种对抗文本的生成方法,所述方法包括:获取待处理的文本信息集,其中所述文本信息集中包括有原始文本;对所述原始文本进行扰动处理,生成所述原始文本对应的多个候选文本;对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,所述对抗文本用于对目标模型进行训练。在一种可能的实施方式中,所述对所述原始文本进行扰动处理,生成所述原始文本对应的多个候选文本,包括:确定原始文本对应的字词序列,并确定各字词在所述原始文本中的优先级;根据所述各字词的优先级从各字词中选出待处理字词,并对所述待处理字词进行多种扰动处理;根据对所述待处理字词的多种扰动处理结果以及当前的原始文本生成所述原始文本对应的多个候选文本。在一种可能的实施方式中,所述待处理的文本信息集中还包括有目标语义标签以及原始文本对应的真实语义标签,所述目标语义标签与所述真实语义标签不同;所述对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,包括:对各候选文本进行语义识别处理,得到各候选文本的语义标签以及各候选文本的置信度;根据各候选文本的语义标签,选出语义标签与所述目标语义标签一致的任一候选文本作为所述对抗文本。在一种可能的实施方式中,所述确定原始文本对应的字词序列,并确定各字词在所述原始文本中的优先级,包括:确定攻击场景,根据所述攻击场景确定原始文本对应的字词序列;根据所述攻击场景对应的优先级算法,对所述各字词在所述原始文本中的优先级进行计算。在一种可能的实施方式中,若所述各候选文本的语义标签均与所述目标语义标签不一致,则所述方法还包括:根据所述各候选文本以及各候选文本的置信度,对所述原始文本进行更新,并将更新后的原始文本作为新的原始文本;针对所述新的原始文本进行所述扰动处理,得到所述新的原始文本对应的多个新的候选文本,并判断是否能够根据各新的候选文本的语义标签,选出语义标签与所述目标语义标签一致的任一新的候选文本作为所述对抗文本;若否,则对所述新的原始文本再次进行更新并重复上述处理直至获得所述对抗文本。在一种可能的实施方式中,所述多种扰动处理包括以下处理中的至少一种:基于同义词的字词替换处理、基于语序的交换处理、基于拼音的字词替换处理、基于偏旁的字词拆分处理以及基于部首的替换处理。在一种可能的实施方式中,所述基于部首的替换处理包括:根据预设的偏旁部首表,对所述待处理字词中的每个待处理字符进行偏旁的拆分,得到所述每个待处理字符对应的至少一个偏旁;判断所述偏旁是否属于部首,若是,则对所述部首进行多次部首替换处理,以得到多个候选字符;从多个候选字符中选出与所述待处理字符字形相似度最高的候选字符作为基于部首的替换处理的处理结果。第二方面,本发明实施例提供一种对抗文本的生成装置,包括:获取模块,用于获取待处理的文本信息集,其中所述文本信息集中包括有原始文本;处理模块,用于对所述原始文本进行扰动处理,生成所述原始文本对应的多个候选文本;执行模块,用于对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,所述对抗文本用于对目标模型进行训练。第三方面,本发明实施例提供一种对抗文本的生成设备,包括:存储器和至少一个处理器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的对抗文本的生成方法。第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的方法。本发明实施例提供的对抗文本的生成方法、装置、设备及存储介质,通过获取包括有原始文本的待处理的文本信息集,对原始文本进行扰动处理,生成原始文本对应的多个候选文本,进而对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,能够生成与原始文本的语义相似度高的对抗文本,即得到高质量的对抗文本,进而利用该高质量对抗文本可以对目标模型进行有效的训练,以使训练后的目标模型具有高鲁棒性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种应用场景示意图;图2为本发明实施例提供的一种对抗文本的生成方法的流程示意图;图3为本发明实施例提供的另一种对抗文本的生成方法的流程示意图;图4为本发明实施例提供的一种对抗文本的生成装置的结构示意图;图5为本发明实施例提供的一种对抗文本的生成设备的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。不良信息是对用户终端造成安全隐患的信息,一般的,不良信息可伪装成安全信息的样子,以诱使用户对不良信息进行点击和触发,达到破坏用户终端的设备安全和数据安全的目的。深度学习模型是一种可识别出哪些信息为不良信息并进行相应标识,以为用户进行安全预警的机器学习算法。其对到达用户终端的包括不良信息等在内的文本信息进行特征识别,以对文本信息进行安全标签或非安全标签的分类,从而能够使得在用户终端接收到不良信息时能够及时将其识别出来,并为用户进行安全预警。然而,深度学习模型也面临着各种安全问题,其中最重要的问题则为对深度学习模型发起的对抗攻击。对抗攻击是指利用扰动处理后的不良信息对用户终端上的深度学习模型进行攻击的过程。例如,在真实的对抗攻击过程中,不法分子或非法的设备会在原有的不良信息上添加微小的扰动得到新的不良信息,并利用这些新的不良信息破坏用户终端的设备安全和数据安全。一般来说,为了保持新的不良信息的可读性,扰动处理后的新的不良信息与原不良信息是很难通过用户肉眼进行分辨。而当扰动处理后的新的不良信息伪装成安全信息到达用户终端时,由于其与原始的不良信息在特征上存在差异,深度学习模型无法输出其为非安全信息的标签,进而输出该新的不良信息是安全信息的安全标签。与此同时,新的不良信息在语义上与原不良信息有着高相似度,而基于模型给出的其为“安全信息”的标签,用户将信任该新的不良信息,并进行点击和触发,其用户终端的设备安全和数据安全受到严重威胁。为保护网络社区的安全,可通过对于深度学习模型(下述称为目标模型)进行防御训练,从而解决这一安全问题。在目标模型(深度学习模型)出现对抗攻击之前,可先对目标模型进行一定的防御对抗攻击的训练,以使目标模型可对不良信息(下述也称原始文本)的添加微小的扰动得到新的不良信息(下述也称真实对抗文本)具有一定分辨的能力。具体来说,首先,可通过预先生成的方式,获得一些对不良信息可能通过添加微小的扰动得到新的不良信息进行模拟,得到模拟不良信息(下述也称模拟对抗文本),标出这些模拟对抗文本的正确标签为“非安全信息”。随后,利用这些模拟对抗文本和正确标签,对目标模型进行再次训练,以使对抗训练后的目标模型能够提取模拟对抗文本的特征,并同时输出该模拟对抗文本的为“非安全信息”的正确标签。通过这样的防御训练,能够大大提升目标模型对于不同扰动下的不良信息均有着较高的识别准确率,提高目标模型的鲁棒性,有效为用户提供安全预警服务。同时,为了实现上述目标,首先需要模拟生成大量的模拟对抗文本,在现有技术中,针对中文,对于模拟对抗文本的生成是采用映射的方式实现的。即,将不良信息的原始文本中的词语映射到向量空间,得到词向量,进而在词向量上添加扰动,并将词向量映射回文本格式生成模拟不良信息的模拟对抗文本。但是,现有方法中大量的词向量难以映射回文本格式,且生成的模拟对抗文本一般与原始文本的语义相差较大,用户可轻易对其二者进行肉眼区分,与对抗攻击中的真实对抗文本的相似度不高,训练价值较低。同时利用这样的模拟对抗文本对目标模型进行训练所得到的目标模型,依旧无法在真实对抗攻击中对真实对抗文本进行有效识别和标签输出,从而使得防御对抗的训练效果较差,依旧容易出现网络安全的问题。为了解决上述问题,发明人经研究发现,基于自然语言的特性对原始文本进行扰动处理,例如对于中文来说,基于中文的拼音特性或字形特性等对原始文本进行扰动处理,可以生成与原始文本的语义相似度高的模拟对抗文本,即生成与真实对抗攻击中的真实对抗文本的相似度高的模拟对抗文本,利用这样的模拟对抗文本对目标模型进行防御对抗的训练可以达到较好的训练效果,即利用这样的模拟对抗文本对目标模型进行训练所得到的目标模型,具有高鲁棒性,可以在真实对抗攻击中对真实对抗文本的特征进行有效提取,进而对真实对抗文本的标签进行有效准确地输出,能够有效避免网络安全问题。本发明实施例中提及的原始文本与对抗文本,均指代中文的原始文本与中文的模拟对抗文本。也就是说,通过获取包括有原始文本的待处理的文本信息集,对原始文本进行扰动处理,生成原始文本对应的多个候选文本,进而对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,能够生成与原始文本的语义相似度高的对抗文本,即得到高质量的对抗文本,进而利用该高质量对抗文本可以对目标模型进行有效的训练,以使训练后的目标模型具有高鲁棒性。图1为本发明实施例提供的一种应用场景示意图。如图1所示,本发明实施例提供的方案可以应用于对抗文本的生成设备,该设备获取原始文本,并对该原始文本进行分析处理,以生成原始文本对应的对抗文本。图2为本发明实施例提供的一种对抗文本的生成方法的流程示意图。本发明实施例中方法的执行主体可以为对抗文本的生成设备。如图2所示,本实施例中的方法,可以包括:步骤201、获取待处理的文本信息集,其中所述文本信息集中包括有原始文本。本实施例中,原始文本可以为一个中文语句,例如,原始文本为“砸金蛋送百元话费”,则该原始文本对应的真实语义标签为“诈骗短信”。步骤202、对所述原始文本进行扰动处理,生成所述原始文本对应的多个候选文本。本实施例中,基于原始文本的中文特性对原始文本进行扰动处理,例如,基于中文的拼音特性或字形特性等对原始文本中的字词进行扰动处理,以生成多个候选文本。步骤203、对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,所述对抗文本用于对目标模型进行训练。本实施例中,通过利用目标模型对各候选文本进行语义识别处理,即将各候选文本分别输入目标模型,可以得到候选文本对应的语义识别处理结果,该语义识别处理结果可以包括候选文本的语义标签等,进而可以根据候选文本的语义标签确定原始文本的对抗文本,例如,选取语义标签与原始文本对应的真实语义标签不一致的任意候选文本作为对抗文本,以使用该对抗文本对目标模型进行训练。本实施例提供的对抗文本的生成方法,通过获取包括有原始文本的待处理的文本信息集,对原始文本进行扰动处理,生成原始文本对应的多个候选文本,并对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,能够生成与原始文本的语义相似度高的对抗文本,即得到高质量的对抗文本,进而利用该高质量对抗文本可以对目标模型进行有效的训练,即利用该高质量对抗文本对目标模型进行训练所得到的目标模型,具有较高的鲁棒性,可以在真实对抗攻击中对真实对抗文本的特征进行有效提取,进而对真实对抗文本的标签进行有效准确地输出,能够有效避免网络安全问题。为进一步保证生成的对抗文本与原始文本的语义的相似度,本发明实施例可对原始文本进行多种扰动处理以得到对抗文本。图3为本发明实施例提供的另一种对抗文本的生成方法的流程示意图。如图3所示,本实施例是在上述实施例提供的技术方案的基础上,对原始文本进行多种扰动处理的详细描述。本实施例中的方法,可以包括:步骤301、获取待处理的文本信息集,其中所述文本信息集中包括有原始文本。本实施例中步骤301的具体实现过程和原理可以参见前述实施例,此处不再赘述。步骤302、确定原始文本对应的字词序列,并确定各字词在所述原始文本中的优先级。其中可选的,执行确定原始文本对应的字词序列,并确定各字词在所述原始文本中的优先级的步骤,具体可包括:确定攻击场景,根据所述攻击场景确定原始文本对应的字词序列;根据所述攻击场景对应的优先级算法,对所述各字词在所述原始文本中的优先级进行计算。本实施例中,攻击场景包括白盒攻击场景与黑盒攻击场景,白盒攻击场景为目标模型的结构、参数以及训练数据等信息已知的攻击场景,黑盒攻击场景为目标模型的结构、参数以及训练数据等信息未知的攻击场景。不同攻击场景下,确定原始文本对应的字词序列的方法不同,同时的,确定各字词在原始文本中的优先级的优先级算法也不同。针对不同攻击场景,分别采用不同方法确定原始文本对应的字词序列,并采用不同优先级算法对各字词的优先级进行计算。需要说明的是,在白盒攻击场景和黑盒攻击场景下,均可利用目标模型对原始文本、候选文本或对抗文本进行语义识别处理,得到对应的语义识别处理结果。步骤303、根据所述各字词的优先级从各字词中选出待处理字词,并对所述待处理字词进行多种扰动处理。其中,上述多种扰动处理包括以下处理中的至少一种:基于同义词的字词替换处理、基于语序的交换处理、基于拼音的字词替换处理、基于偏旁的字词拆分处理以及基于部首的替换处理。具体的,将各字词中优先级最高的字词确定为待处理字词,进而对该待处理字词进行多种扰动处理,上述多种扰动处理可以分别同时进行。可选的,基于同义词的字词替换处理具体可以为,通过查询预设的同义词对照表,确定待处理字词对应的同义词,作为基于同义词的字词替换处理的处理结果。其中,待处理字词对应的同义词可以有多个,可以选择任一同义词作为基于同义词的字词替换处理的处理结果,也可以在查询到该待处理字词的对应的第一个同义词后即停止查询预设的同义词对照表,将该第一个同义词作为基于同义词的字词替换处理的处理结果,在此不做具体限定。例如,待处理字词为“金蛋”,通过查询预设的同义词对照表后,确定其同义词为“金球”,则将同义词“金球”作为基于同义词的字词替换处理的处理结果。其中,预设的同义词对照表可以为现有的同义词对照表,例如,从网站上获取的同义词对照表。对字词进行基于同义词的字词替换处理,可保证生成的候选文本与原始文本的在语义上的高相似度。可选的,基于语序的交换处理具体可以为,对待处理字词中的字符进行语序的交换,得到语序交换后的字词,作为基于语序的交换处理的处理结果,例如,待处理字词为“金蛋”,则语序交换后的字词为“蛋金”,将“蛋金”作为基于语序的交换处理的处理结果。若待处理字词包含两个以上的字符,则可对待处理字词中任意两个或两个以上的字符的语序进行交换,例如,待处理字词为“消费券”,则语序交换后的字词可以为“消券费”、“费券消”、“费消券”、“券消费”以及“券费消”,可以选择任一语序交换后的字词作为基于语序的交换处理的处理结果。对字词进行基于语序的交换处理,可保证生成的候选文本与原始文本的在语义上的高相似度。可选的,基于拼音的字词替换处理包括以下多种子处理:基于音调的字词替换处理、基于前后鼻音的字词替换处理、基于卷翘舌音的字词替换处理以及基于方言的字词替换处理。进一步的,基于拼音的字词替换处理具体可以为,根据待处理字词的拼音,通过查询预设的拼音对照表,确定待处理字词对应的替换词。其中,基于音调的字词替换处理中,可以将与待处理字词同音同调或同音不同调的词作为替换词,例如,待处理字词为“萎缩(拼音wěisuō)”,则可将“畏缩(拼音wèisuō)”作为替换词。基于前后鼻音的字词替换处理中,可以将待处理字词中任意字符的拼音根据前后鼻音进行变换,生成变换后的拼音,并通过查询预设的拼音对照表,将与变换后的拼音对应的词作为替换词,例如,待处理字词为“身份(拼音shēnfèn)”,则可将“省份(拼音shěngfèn)”作为替换词。基于卷翘舌音的字词替换处理中,可以将待处理字词中任意字符的拼音根据卷翘舌音进行变换,生成变换后的拼音,并通过查询预设的拼音对照表,将与变换后的拼音对应的词作为替换词,例如,待处理字词为“吃饭(拼音chīfàn)”,则可将“粢饭(拼音cīfàn)”作为替换词。基于方言的字词替换处理中,可以将待处理字词中任意字符的拼音根据方言进行变换,生成变换后的拼音,并通过查询预设的拼音对照表,将与变换后的拼音对应的词作为替换词,例如待处理字词为“福建(拼音fújiàn)”,则可将“胡建(拼音hújiàn)”作为替换词。可选的,在进行基于拼音的字词替换处理时,可以选择上述任一子处理对待处理字词进行处理,也可以选择任意多种子处理分别对待处理字词进行处理,进而确定多个待处理字词对应的替换词,可以选择上述替换词中的任一替换词作为基于拼音的字词替换处理的处理结果,或,根据上述替换词的向量与待处理字词的向量的距离选择最优替换词作为基于拼音的字词替换处理的处理结果,替换词的向量与待处理字词的向量之间的距离越小,则表示上述两个词之间的语义越相近。其中,预设的拼音对照表可以为现有的拼音对照表,例如,从网站上获取的拼音对照表。可选的,基于偏旁的字词拆分处理具体可以为,通过查询预设的偏旁部首表,对待处理字词中每一个左右结构或半包围结构的待处理字符进行偏旁的拆分,得到上述待处理字符对应的偏旁,作为基于偏旁的字词拆分处理的处理结果,其中可选的,若待处理字词中存在非左右结构和半包围结构的待处理字符,则该待处理字符保持不变,例如,可将待处理字词“身份”中的左右结构的字符“份”进行偏旁的拆分,得到对应的偏旁“亻”和“分”,进而将“身亻分”作为基于偏旁的字词拆分处理的处理结果。其中,预设的偏旁部首表可以为现有的偏旁部首表,例如,从网站上获取的偏旁部首表。可选的,基于部首的替换处理具体可包括:根据预设的偏旁部首表,对所述待处理字词中的每个待处理字符进行偏旁的拆分,得到所述每个待处理字符对应的至少一个偏旁;判断所述偏旁是否属于部首,若是,则对所述部首进行多次部首替换处理,以得到多个候选字符;从多个候选字符中选出与所述待处理字符字形相似度最高的候选字符作为基于部首的替换处理的处理结果。具体的,通过查询预设的偏旁部首表,判断进行部首替换处理后的待处理字符是否为中文字符,若是,则将该进行部首替换处理后的待处理字符作为候选字符,上述部首替换处理包括对部首的删除、增加与替换,例如,待处理字词为“话费”,将其进行偏旁的拆分后,得到待处理字符“话”的部首“讠”,将部首“讠”分别进行多次部首替换处理,即遍历现有的所有中文部首(214个),将非部首“讠”的其他部首对部首“讠”进行部首替换处理,得到“活”、“恬”等字符,且上述各字符均为中文字符,则将上述字符确定为候选字符。此外,待处理字词“清净”中待处理字符“清”的部首为“氵”,将部首“氵”删除后,得到“青”仍为中文字符,则将该字符确认为候选字符。待处理字词“先后”中待处理字符“先”在增加部首“氵”、“冫”后,得到“洗”、“冼”等字符,且上述各字符均为中文字符,则将上述字符确定为候选字符。进一步的,执行从多个候选字符中选出与所述待处理字符字形相似度最高的字符作为基于部首的替换处理的处理结果的步骤,可以基于孪生网络(siamesenetwork)来实现,即通过孪生网络可将多个候选字符与待处理字符字形相似度进行比较,进而选出与待处理字符字形相似度最高的候选字符。具体来说,孪生网络是一种双输入网络结构,通常用于对比两种输入的相似性,可由两个卷积神经网络(convolutionalneuralnetworks,简称cnn)构成。将待处理字符与对应的任一候选字符分别转换为图片格式,并分别输入至两个卷积神经网络,经过特征提取后可得到两组向量,计算上述两组向量之间的距离,根据该距离可以确定待处理字符与该任一候选字符字形相似度。其中,上述两个卷积神经网络的权重共享,表1为卷积神经网络的结构与参数。表1层(layer)激活函数(activation)conv2dfilter=64size=10*10relumaxpooling2dconv2dfilter=128size=7*7relumaxpooling2dconv2dfilter=128size=4*4relumaxpooling2dconv2dfilter=256size=4*4reluflattendenseunit=4096sigmoid距离公式为:d=‖g(i1,θ)-g(i2,θ)‖(1)式中,i1为待处理字符对应的图片,i2为候选字符对应的图片,θ为卷积神经网络的参数,g(i,θ)为卷积神经网络接收输入i后的输出,d为两组向量之间的距离。两组向量之间的距离越小,则对应的待处理字符与候选字符字形相似度越高,进而可以选出与待处理字符字形相似度最高的候选字符,并得到待处理字词对应的替换词,作为基于部首的替换处理的处理结果。步骤304、根据对所述待处理字词的多种扰动处理结果以及当前的原始文本生成所述原始文本对应的多个候选文本。本实施例中,多种扰动处理结果可以包括基于同义词的字词替换处理的处理结果、基于语序的交换处理的处理结果、基于拼音的字词替换处理的处理结果、基于偏旁的字词拆分处理的处理结果以及基于部首的替换处理的处理结果,将上述多种扰动处理结果分别替换当前的原始文本中的待处理字词,可以生成多个候选文本。上述多个候选文本可以包括基于同义词的字词替换处理的候选文本、基于语序的交换处理的候选文本、基于拼音的字词替换处理的候选文本、基于偏旁的字词拆分处理的候选文本以及基于部首的替换处理的候选文本,例如,对“砸金蛋送百元话费”的原始文本中的待处理字词“话费”分别进行多种扰动处理后,得到“费话”、“花费”或“活费”等扰动处理结果,进而根据上述扰动处理结果,分别得到“砸金蛋送百元费话”、“砸金蛋送百元花费”、或“砸金蛋送百元活费”的多个候选文本。步骤305、对各候选文本进行语义识别处理,得到各候选文本的语义标签以及各候选文本的置信度。本实施例中,利用目标模型对各候选文本进行语义识别处理,即将各候选文本分别输入目标模型,得到各候选文本的语义标签以及各候选文本的置信度,其中,上述各候选文本的置信度中包括所有标签的置信度,尤其包括各候选文本的语义标签的置信度,各候选文本的语义标签为所有标签中置信度最大的标签,例如,标签可以包括“诈骗短信”、“营销短信”或“广告短信”等,而候选文本的语义标签为“诈骗短信”。步骤306、根据各候选文本的语义标签,选出语义标签与所述目标语义标签一致的任一候选文本作为所述对抗文本。具体的,待处理的文本信息集中还包括有目标语义标签以及原始文本对应的真实语义标签,该真实语义标签即为利用目标模型对原始文本进行语义识别处理后,得到的原始文本的语义标签,上述目标语义标签与真实语义标签不同,且该目标语义标签与攻击类型对应,即不同的攻击类型对应的目标语义标签不同。根据攻击类型的不同,可将对抗攻击分为非定向攻击与定向攻击。非定向攻击是指将对抗文本输入目标模型后,使目标模型输出与真实语义标签不同的任意标签的攻击,定向攻击是指将对抗文本输入目标模型后,使目标模型输出与真实语义标签不同的指定标签的攻击。也就是说,在非定向攻击和定向攻击下,目标语义标签是不同的,具体来说,在非定向攻击下,目标语义标签为与真实语义标签不同的任意标签,例如,真实语义标签为“诈骗短信”,则目标语义标签可以为非“诈骗短信”的任意标签。在定向攻击下,目标语义标签为与真实语义标签不同的一个指定的标签,例如,真实语义标签为“诈骗短信”,而目标语义标签为“正常短信”的标签。进一步的,在非定向攻击或定向攻击下,分别判断各候选文本的语义标签是否与目标语义标签一致,若存在至少一个候选文本的语义标签与目标语义标签一致,则将上述语义标签与目标语义标签一致的任一候选文本作为对抗文本输出。本发明实施例提供的对抗文本的生成方法,可适用于不同的攻击场景和攻击类型,也就是说,适用于白盒攻击场景或黑盒攻击场景,也可适用于非定向攻击或定向攻击,其中,攻击场景和攻击类型可以自由组合。需要说明的是,可选的,本发明实施例提供的对抗文本的生成方法,还可以基于自然语言的特性,拓展应用到日文、韩文等与中文特性相近或类似的其他自然语言中。此外,若各候选文本的语义标签均与目标语义标签不一致,则当前的多个候选文本均不能作为对抗文本,可选的,还可以在当前的候选文本的基础上,对原始文本进行更新。具体来说,根据所述各候选文本以及各候选文本的置信度,对所述原始文本进行更新,并将更新后的原始文本作为新的原始文本;针对所述新的原始文本进行所述扰动处理,得到所述新的原始文本对应的多个新的候选文本,并判断是否能够根据各新的候选文本的语义标签,选出语义标签与所述目标语义标签一致的任一新的候选文本作为所述对抗文本;若否,则对所述新的原始文本再次进行更新并重复上述处理直至获得所述对抗文本。进一步的,首先根据各候选文本的置信度,从各候选文本中选出一候选文本作为更新后的原始文本,即新的原始文本,根据前述各字词的优先级,从不包含已经处理的待处理字词的各字词中选出待处理字词,并对该待处理字词进行多种扰动处理,根据对该待处理字词的多种扰动处理结果以及新的原始文本生成多个新的候选文本,并通过利用目标模型对各新的候选文本进行语义识别处理,得到各新的候选文本的语义标签与置信度,判断各新的候选文本的语义标签是否与目标语义标签一致。若一致,则选出语义标签与目标语义标签一致的任一新的候选文本作为对抗文本,若不一致,则对新的原始文本再次进行更新并重复上述处理直至获得对抗文本。可选的,在各新的候选文本的语义标签均与目标语义标签不一致时,还可以对新的原始文本再次进行更新并重复上述处理直至达到迭代停止条件。其中,达到迭代停止条件可以为:达到原始文本中所有字词按照各字词的优先级均已进行扰动处理,但生成的各新的候选文本的语义标签仍然与目标语义标签不一致,或,达到预设的可处理字词占比,具体来说,预设的可处理字词占比可以为能保持对抗文本的可读性的可处理字词占比,例如,预设的可处理字词占比为30%,则只对原始文本中按优先级顺序的前30%的字词进行扰动处理。本实施例提供的对抗文本的生成方法,通过确定原始文本中各字词的优先级,根据优先级选出待处理字词进行多种扰动处理并结合当前的原始文本生成多个候选文本,进而对各候选文本进行语义识别处理,选出语义标签与目标语义标签一致的任一候选文本作为对抗文本,并在各候选文本的语义标签均与目标语义标签不一致时,对原始文本进行更新作为新的原始文本,并对新的原始文本进行扰动处理,进而得到对抗文本,或重复上述处理直至获得对抗文本,能够通过对待处理字词进行基于中文特性的多种扰动处理,保证生成的对抗文本的与原始文本的语义的高相似度,以使利用该对抗文本对目标模型进行训练所得到的目标模型具有高鲁棒性,可以在真实对抗攻击中对真实对抗文本的标签进行有效准确地输出,有效避免网络安全问题。可选的,在上述步骤302中确定了攻击场景,当攻击场景为白盒攻击场景时,由于白盒攻击场景下目标模型的结构、参数以及训练数据等信息已知,而训练数据中包括原始文本对应的字词序列,因此可通过获取目标模型的训练数据而获取原始文本对应的字词序列。进一步的,各字词在原始文本中的优先级的高低,对应该字词对该原始文本对应的真实语义标签的置信度的影响的大小,即字词在原始文本中的优先级越高,则该字词对该原始文本对应的真实语义标签的置信度的影响越大。具体的,在白盒攻击场景下,采用显著图方法确定各字词在原始文本中的优先级,即通过利用目标模型对原始文本进行语义识别处理,得到原始文本对应的真实语义标签的置信度,并计算原始文本对应的真实语义标签的置信度的梯度以及该梯度的幅度,根据得到的幅度确定各字词在原始文本中的优先级。梯度计算公式:式中,l是原始文本长度,q是字词向量维度,fk(x)为利用目标模型对原始文本x进行语义识别处理后输出的第k个标签的置信度,其中,第k个标签为原始文本对应的真实语义标签。幅度计算公式:式中,s(x)[i]为敏感度分数,通过上述公式(2)-(3),可得到原始文本中各字词对第k个标签的敏感度分数,根据上述各字词的敏感度分数的高低,可得到对应的各字词的优先级,即敏感度分数越高的字词,其在原始文本中的优先级越高。可选的,当攻击场景为黑盒攻击场景时,由于黑盒攻击场景下目标模型的结构、参数以及训练数据等信息未知,不能通过获取目标模型的训练数据而获取原始文本对应的字词序列,因此可以采用现有技术实现对原始文本的分词处理,例如,采用现有的分词算法对原始文本进行分词处理,得到该原始文本对应的多个分词,示例性的,对“砸金蛋送百元话费”的原始文本进行分词处理,可得到“砸”、“金蛋”、“送”、“百元”以及“话费”五个字词。具体的,在黑盒攻击场景下,目标模型的结构、参数以及训练数据等信息未知,因此不能采用显著图方法确定各字词在原始文本中的优先级,而是通过删除原始文本中的任一字词生成新文本,并利用目标模型对新文本进行语义识别处理,得到新文本对应的真实语义标签的置信度,并比较上述置信度与原始文本对应的真实语义标签的置信度,确定该字词的优先级。重要性分数计算公式:dropscorep=fk(x)-fk(xp)(4)式中,x为原始文本,第k个标签为原始文本对应的真实语义标签,xp为原始文本x删去第p个字词后生成的新文本,fk(x)为利用目标模型对原始文本x进行语义识别处理后输出的第k个标签的置信度,fk(xp)为利用目标模型对新文本xp进行语义识别处理后输出的第k个标签的置信度,dropscorep为原始文本x中第p个字词的重要性分数。将原始文本中的字词逐一删除形成新文本,并分别计算对应的重要性分数,根据上述各字词的重要性分数的高低,可得到对应的各字词的优先级,即重要性分数越高的字词,其在原始文本中的优先级越高。在本实施例中,在白盒攻击场景和黑盒攻击场景下,分别采用不同方法确定原始文本对应的字词序列,以及采用不同优先级算法对各字词的优先级进行计算,可以根据不同攻击场景的特点更准确有效地确定原始文本对应的字词序列以及各字词的优先级。可选的,上述根据各候选文本以及各候选文本的置信度,对当前的原始文本进行更新的步骤中,对于不同的攻击类型采用不同的方法。对于非定向攻击,执行根据所述各候选文本的语义标签以及语义标签的置信度,对当前的原始文本进行更新的步骤,具体可以为:根据各候选文本的语义标签以及语义标签的置信度,计算各候选文本的第一质量分数,并根据第一质量分数对当前的原始文本进行更新。第一质量分数公式:ln=fk(x)-fk(x′)(5)式中,x为原始文本,x′为候选文本,fk(x)为利用目标模型对原始文本x进行语义识别处理后输出的第k个标签的置信度,fk(x′)为利用目标模型对候选文本x′进行语义识别处理后输出的第k个标签的置信度,ln为第一质量分数,其中,第k个标签为原始文本对应的真实语义标签。对各候选文本分别进行第一质量分数的计算,得到的第一质量分数越大,则表明该候选文本对真实语义标签的置信度的影响越大,即该候选文本的语义越偏离原始文本的语义,选择第一质量分数最大的候选文本对当前的原始文本进行更新,得到更新后的当前的原始文本作为下一次迭代的起始文本。可选的,对于定向攻击,执行根据所述各候选文本的语义标签以及语义标签的置信度,对当前的原始文本进行更新的步骤,具体可以为:根据各候选文本的语义标签以及语义标签的置信度,计算各候选文本的第二质量分数,并根据第二质量分数对当前的原始文本进行更新。第二质量分数公式:lt=fs(x′)-fs(x)(6)式中,x为原始文本,s为目标语义标签,x′为候选文本,fs(x)为利用目标模型对原始文本x进行语义识别处理后输出的第s个标签的置信度,fs(x′)为利用目标模型对候选文本x′进行语义识别处理后输出的第s个标签的置信度,lt为第二质量分数,其中,第s个标签为目标语义标签。对各候选文本分别进行第二质量分数的计算,得到的第二质量分数越大,则表明该候选文本对目标语义标签的置信度的影响越大,即该候选文本的语义越接近目标语义标签对应的语义,选择第二质量分数最大的候选文本对当前的原始文本进行更新,得到更新后的当前的原始文本作为下一次迭代的起始文本。在本实施例中,在非定向攻击和定性攻击的攻击类型下,分别采用不同方法对当前的原始文本进行更新,可以根据不同攻击类型的特点更准确有效地对当前的原始文本进行更新。图4为本发明实施例提供的一种对抗文本的生成装置的结构示意图。如图4所示,本实施例提供的对抗文本的生成装置,可以包括:获取模块41、处理模块42和执行模块43。获取模块41,用于获取待处理的文本信息集,其中所述文本信息集中包括有原始文本;处理模块42,用于对所述原始文本进行扰动处理,生成所述原始文本对应的多个候选文本;执行模块43,用于对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,所述对抗文本用于对目标模型进行训练。在一种可选的实现方式中,所述处理模块42具体用于:确定原始文本对应的字词序列,并确定各字词在所述原始文本中的优先级;根据所述各字词的优先级从各字词中选出待处理字词,并对所述待处理字词进行多种扰动处理;根据对所述待处理字词的多种扰动处理结果以及当前的原始文本生成所述原始文本对应的多个候选文本。在一种可选的实现方式中,所述执行模块43具体用于:对各候选文本进行语义识别处理,得到各候选文本的语义标签以及各候选文本的置信度;根据各候选文本的语义标签,选出语义标签与所述目标语义标签一致的任一候选文本作为所述对抗文本。在一种可选的实现方式中,所述处理模块42在确定原始文本对应的字词序列,并确定各字词在所述原始文本中的优先级时,还具体用于:确定攻击场景,根据所述攻击场景确定原始文本对应的字词序列;根据所述攻击场景对应的优先级算法,对所述各字词在所述原始文本中的优先级进行计算。在一种可选的实现方式中,所述执行模块43在所述各候选文本的语义标签均与所述目标语义标签不一致时,还具体用于:根据所述各候选文本以及各候选文本的置信度,对所述原始文本进行更新,并将更新后的原始文本作为新的原始文本;针对所述新的原始文本进行所述扰动处理,得到所述新的原始文本对应的多个新的候选文本,并判断是否能够根据各新的候选文本的语义标签,选出语义标签与所述目标语义标签一致的任一新的候选文本作为所述对抗文本;若否,则对所述新的原始文本再次进行更新并重复上述处理直至获得所述对抗文本。在一种可选的实现方式中,所述执行模块42在进行基于部首的替换处理时,还具体用于:根据预设的偏旁部首表,对所述待处理字词中的每个待处理字符进行偏旁的拆分,得到所述每个待处理字符对应的至少一个偏旁;判断所述偏旁是否属于部首,若是,则对所述部首进行多次部首替换处理,以得到多个候选字符;从多个候选字符中选出与所述待处理字符字形相似度最高的候选字符作为基于部首的替换处理的处理结果。本实施例提供的对抗文本的生成装置,可以执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。图5为本发明实施例提供的一种对抗文本的生成设备的结构示意图。如图5所示,本实施例提供的对抗文本的生成设备,包括:存储器51和至少一个处理器52;所述存储器51存储计算机执行指令;所述至少一个处理器52执行所述存储器51存储的计算机执行指令,使得所述至少一个处理器52执行上述任一实施例所述的对抗文本的生成方法。其中,存储器51和处理器52可以通过总线53连接。本实施例提供的对抗文本的生成设备的具体实现原理和效果可以参见图1-图3所示实施例对应的相关描述和效果,此处不做过多赘述。本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上述任一实施例所述的方法。其中,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本
技术领域:
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。当前第1页1 2 3 
技术特征:1.一种对抗文本的生成方法,其特征在于,包括:
获取待处理的文本信息集,其中所述文本信息集中包括有原始文本;
对所述原始文本进行扰动处理,生成所述原始文本对应的多个候选文本;
对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,所述对抗文本用于对目标模型进行训练。
2.根据权利要求1所述的生成方法,其特征在于,所述对所述原始文本进行扰动处理,生成所述原始文本对应的多个候选文本,包括:
确定原始文本对应的字词序列,并确定各字词在所述原始文本中的优先级;
根据所述各字词的优先级从各字词中选出待处理字词,并对所述待处理字词进行多种扰动处理;
根据对所述待处理字词的多种扰动处理结果以及当前的原始文本生成所述原始文本对应的多个候选文本。
3.根据权利要求2所述的生成方法,其特征在于,所述待处理的文本信息集中还包括有目标语义标签以及原始文本对应的真实语义标签,所述目标语义标签与所述真实语义标签不同;
所述对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,包括:
对各候选文本进行语义识别处理,得到各候选文本的语义标签以及各候选文本的置信度;
根据各候选文本的语义标签,选出语义标签与所述目标语义标签一致的任一候选文本作为所述对抗文本。
4.根据权利要求2所述的生成方法,其特征在于,所述确定原始文本对应的字词序列,并确定各字词在所述原始文本中的优先级,包括:
确定攻击场景,根据所述攻击场景确定原始文本对应的字词序列;
根据所述攻击场景对应的优先级算法,对所述各字词在所述原始文本中的优先级进行计算。
5.根据权利要求3所述的生成方法,其特征在于,若所述各候选文本的语义标签均与所述目标语义标签不一致,则所述方法还包括:
根据所述各候选文本以及各候选文本的置信度,对所述原始文本进行更新,并将更新后的原始文本作为新的原始文本;
针对所述新的原始文本进行所述扰动处理,得到所述新的原始文本对应的多个新的候选文本,并判断是否能够根据各新的候选文本的语义标签,选出语义标签与所述目标语义标签一致的任一新的候选文本作为所述对抗文本;
若否,则对所述新的原始文本再次进行更新并重复上述处理直至获得所述对抗文本。
6.根据权利要求2所述的生成方法,其特征在于,所述多种扰动处理包括以下处理中的至少一种:基于同义词的字词替换处理、基于语序的交换处理、基于拼音的字词替换处理、基于偏旁的字词拆分处理以及基于部首的替换处理。
7.根据权利要求6所述的生成方法,其特征在于,所述基于部首的替换处理包括:
根据预设的偏旁部首表,对所述待处理字词中的每个待处理字符进行偏旁的拆分,得到所述每个待处理字符对应的至少一个偏旁;
判断所述偏旁是否属于部首,若是,则对所述部首进行多次部首替换处理,以得到多个候选字符;
从多个候选字符中选出与所述待处理字符字形相似度最高的候选字符作为基于部首的替换处理的处理结果。
8.一种对抗文本的生成装置,其特征在于,包括:
获取模块,用于获取待处理的文本信息集,其中所述文本信息集中包括有原始文本;
处理模块,用于对所述原始文本进行扰动处理,生成所述原始文本对应的多个候选文本;
执行模块,用于对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,所述对抗文本用于对目标模型进行训练。
9.一种对抗文本的生成设备,其特征在于,包括:存储器和至少一个处理器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-7任一项所述的对抗文本的生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-7任一项所述的方法。
技术总结本发明实施例提供一种对抗文本的生成方法、装置、设备及存储介质,该方法包括:获取待处理的文本信息集,其中文本信息集中包括有原始文本;对原始文本进行扰动处理,生成原始文本对应的多个候选文本;对各候选文本进行语义识别处理,根据语义识别处理结果确定原始文本对应的对抗文本,对抗文本用于对目标模型进行训练。本发明实施例能够生成与原始文本的语义相似度高的对抗文本,即得到高质量的对抗文本,进而利用该高质量对抗文本可以对目标模型进行有效的训练,以使训练后的目标模型具有高鲁棒性。
技术研发人员:张超;张子晗;刘明烜;段海新;孙东红;李琦
受保护的技术使用者:清华大学
技术研发日:2021.05.14
技术公布日:2021.08.03