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

对抗文本的生成方法及装置

文献发布时间:2024-04-18 19:58:53


对抗文本的生成方法及装置

技术领域

本申请涉及人工智能(artificial intelligence,AI)技术领域,特别涉及一种对抗文本的生成方法及装置。

背景技术

目前,需要采用文本审核模型对文本进行审核的应用场景越来越多。尤其是在内容平台发布信息时,由于需要对各类涉黄、涉毒、涉赌等违规内容进行限制,则需要对发布的信息进行审核,并根据审核结果确定是否对发布的信息进行限制。与此同时,违规内容发布者会采用各种逃逸策略试图绕过审核,将违规内容发出,以达到其推广和传播等目的。因此,基于对抗文本对文本审核模型进行测试与数据增强,是有效增强文本审核模型审核能力的重要手段。因此,如何基于待扰动文本生成对抗文本是目前亟待解决的问题。其中,对抗文本指的是在尽量保留可读性的前提下,对原始文本添加扰动后得到的文本。文本审核模型对对抗文本的审核结果与文本审核模型对原始文本的审核结果不同。

发明内容

本申请提供了一种对抗文本的生成方法及装置。本申请能够针对该待扰动文段中一个或多个词语进行变换,且能够统一地考虑多种长度的文段执行扰动操作,保证了扰动方式的多样性,能够保证根据其生成丰富多样的对抗文本。本申请提供的技术方案如下:

第一方面,本申请提供了一种对抗文本的生成方法。该方法包括:确定待扰动文本的待扰动文段,待扰动文段包括多个词语;针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段;基于扰动文段得到待扰动文本的对抗文本。

在本申请提供的对抗文本的生成方法中,由于待扰动文段包括多个词语,基于该待扰动文段生成扰动文段时,能够针对该待扰动文段中一个或多个词语进行变换,且能够统一地考虑多种长度的文段执行扰动操作,保证了扰动方式的多样性,能够保证根据其生成丰富多样的对抗文本,有助于提高使用对抗文本训练得到的模型的性能。

在一种可实现方式中,确定待扰动文本的待扰动文段,包括:按照待扰动文本中词语的排列顺序,将待扰动文本中每个词语与其后连续排列的指定个数个词语组成的词语集合,确定为待扰动文段。

可选地,指定个数可以为定值,也可以为能够变化的值。例如,当指定个数为能够变化的值时,其实现过程包括:按照待扰动文本中词语的排列顺序,分别将待扰动文本中每个词语与其后连续排列的不同个数的词语组成的多个词语集合,均确定为待扰动文段。

在一种可实现方式中,可以分别采用多个长度的滑动窗口对分词后的待扰动文本进行遍历,在遍历过程中滑动窗口分别以待扰动文本中的不同词语为起点词语,并按照待扰动文本中词语的排列顺序,在滑动窗口每滑动一次时,将被滑动窗口选择的起点词语与其后连续排列的多个词语组成的文段,确定为待扰动文段。其中,滑动窗口可以选择一个或多个词语,且该一个或多个词语包括起点词语和终点词语。当滑动窗口选择的起点词语和终点词语中的至少一个发生变化时,确定滑动窗口出现了滑动。

通过该实现方式,能够在待扰动文本中得到多个待扰动文段,且对于同一词语,存在多个待扰动文段包括该词语,且该多个待扰动文段的长度不同。这样一来,在基于待扰动文段生成扰动文段时,由于能够针对该待扰动文段中一个或多个词语进行变换,能够统一地考虑多种长度的文段执行扰动操作,保证了变换方式的多样性,能够保证根据其生成丰富多样的对抗文本。

在本申请中,获取待扰动文段的实现方式有多种。当采用本申请中提供的扰动策略,针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段时,能够使用高度自动化的方式实现对待扰动文段的对抗变换,拓展了对抗生成策略,有益于提高各类文本处理模型的鲁棒性。下面以以下几种实现方式为例进行说明:

在获取待扰动文段的第一种实现方式中,针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段,包括:使用掩码替换待扰动文段,将替换待扰动文段后的待扰动文本作为掩码文本;基于掩码文本的语义,对掩码文本中的掩码进行预测恢复,得到掩码的预测文段;将预测文段作为扰动文段。

可选地,基于掩码文本的语义,对掩码文本中的掩码进行预测恢复,得到掩码的预测文段,包括:将掩码文本输入经过预训练的人工智能模型,得到人工智能模型基于掩码文本的语义输出的预测文段。通过采用人工智能模型基于掩码文本的语义预测预测文段,能够较大程度地提高对抗文本的攻击性,有助于获得更好的模型评估与增强能力。

在获取待扰动文段的第二种实现方式中,针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段,包括:基于待扰动文段中至少一个词语的读音和形状中至少一个匹配项,将待扰动文段中至少一个词语替换为满足相似度阈值的替换文段单元,得到扰动文段,替换文段单元包括字、词语和文段中的至少一个。

其中,待扰动文段中至少一个词语与其替换文段单元的形状相似度,可以采用基于对比学习的人工智能模型得到。

或者,当匹配项为读音,且待扰动文段中至少一个词语与其替换文段单元分别采用第一语言和第二语言表示时,在基于待扰动文段中至少一个词语的读音和形状中至少一个匹配项,将待扰动文段中至少一个词语替换为满足相似度阈值的替换文段单元,得到扰动文段之前,该方法还包括:采用第三语言表示待扰动文段中至少一个词语;采用第三语言表示多个候选文段单元;在采用第三语言表示的该至少一个词语,与采用第三语言表示的任一候选文段单元的读音相似度满足相似度阈值时,建立该至少一个词语和任一候选文段单元的映射关系。

相应的,基于待扰动文段中至少一个词语的读音和形状中至少一个匹配项,将待扰动文段中至少一个词语替换为满足相似度阈值的替换文段单元,得到扰动文段,包括:基于该至少一个词语查询映射关系,得到替换文段单元;采用替换文段单元在待扰动文段中替换该至少一个词语,得到扰动文段。

对于上面第一种和第二种获取扰动文段的实现方式,基于扰动文段得到待扰动文本的对抗文本,包括:在待扰动文本中,采用扰动文段替换待扰动文段,得到待扰动文本的候选对抗文本;基于候选对抗文本,得到对抗文本。

在获取待扰动文段的第三种实现方式中,针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段,包括:按照待扰动文本中词语的排列顺序,在待扰动文段与其相邻的前一个词语之间插入掩码,将插入掩码后的待扰动文本作为掩码文本;基于掩码文本的语义,对掩码文本中的掩码进行预测恢复,得到掩码的预测文段,将预测文段作为扰动文段。

可选地,基于掩码文本的语义,对掩码文本中的掩码进行预测恢复,得到掩码的预测文段,包括:将掩码文本输入经过预训练的人工智能模型,得到人工智能模型基于掩码文本的语义输出的预测文段。通过采用人工智能模型基于掩码文本的语义预测预测文段,能够较大程度地提高对抗文本的攻击性,有助于获得更好的模型评估与增强能力。

对于上面第三种获取扰动文段的实现方式,基于扰动文段得到待扰动文本的对抗文本,包括:按照待扰动文本中词语的排列顺序,在待扰动文段与其相邻的前一个词语之间插入扰动文段,得到待扰动文本的候选对抗文本;基于候选对抗文本,得到对抗文本。

在获取待扰动文段的第四种实现方式中,针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段,包括:获取语义无关字符,语义无关字符对待扰动文段的多个词语的语义影响均小于影响阈值;将语义无关字符作为扰动文段。其中,语义无关字符的影响可以通过其对待扰动文本的语义影响表示。语义无关字符对待扰动文本的语义影响小于影响阈值表示语义无关字符对掩码文本的语义影响不大。

对于上面第四种获取扰动文段的实现方式,基于扰动文段得到待扰动文本的对抗文本,包括:在待扰动文段的多个字符间隙中,确定待插入间隙,字符间隙为按照字符的排列顺序,待扰动文段中任一字符与其相邻字符之间的间隙;在待插入间隙插入扰动文段,得到待扰动文本的候选对抗文本;基于候选对抗文本,得到对抗文本。

可选地,在待扰动文段的多个字符间隙中,确定待插入间隙,包括:针对多个字符间隙中每个字符间隙生成对应的随机数;当任一字符间隙对应的随机数满足插入阈值时,将任一字符间隙确定为待插入间隙。

可选地,由于待扰动文本包括多个待扰动文段,则可以按照一定顺序分别确定该多个待扰动文段的扰动文段。在一种可实现方式中,确定待扰动文本的待扰动文段之后,该方法还包括:分别确定多个待扰动文段的重要性分数;基于多个待扰动文段的重要性分数,得到多个待扰动文段的扰动顺序。相应的,针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段,包括:按照扰动顺序,依次针对多个待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到多个待扰动文段的扰动文段。

在一种可实现方式中,分别确定多个待扰动文段的重要性分数,包括:对于任一待扰动文段,分别获取待扰动文本的第一预测标签及其置信度和缺损文本的第二预测标签及其置信度,缺损文本为在待扰动文本中删除待扰动文段的文本,第一预测标签和第二预测标签用于指示文本审核模型对文本的分类结果,预测标签的置信度用于指示文本属于预测标签指示的分类结果的可信程度,对抗文本用于对文本审核模型进行训练;当第一预测标签和第二预测标签相同时,将第二预测标签的置信度与第一预测标签的置信度的差值,确定为待扰动文段的重要性分数;当第一预测标签和第二预测标签不同时,获取缺损文本与待扰动文本在第一预测标签下的置信度的第一差值,并获取待扰动文本与缺损文本在第二标签下的置信度的第二差值,将第一差值与第二差值的和,确定为待扰动文段的重要性分数。

在本申请中,扰动文段包括以下一种或多种:字符和表情符号。由于表情符号具有灵活多变的特点,当扰动文段包括表情符号时,能够有效模拟变换位点范围复杂且含有表情符号的各类文本,进一步保证了扰动方式的多样性,利用根据其生成的对抗文本对模型进行训练时,能够更加有效地保证模型的分类准确性与鲁棒性。

第二方面,本申请提供了一种对抗文本的生成装置。该对抗文本的生成装置包括:确定模块,用于确定待扰动文本的待扰动文段,待扰动文段包括多个词语;获取模块,还用于针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段;处理模块,用于基于扰动文段得到待扰动文本的对抗文本。

可选地,确定模块,具体用于:按照待扰动文本中词语的排列顺序,将待扰动文本中每个词语与其后连续排列的指定个数个词语组成的词语集合,确定为待扰动文段。

可选地,确定模块,具体用于:按照待扰动文本中词语的排列顺序,分别将待扰动文本中每个词语与其后连续排列的不同个数的词语组成的多个词语集合,均确定为待扰动文段。

可选地,获取模块,具体用于:使用掩码替换待扰动文段,将替换待扰动文段后的待扰动文本作为掩码文本,和/或,按照待扰动文本中词语的排列顺序,在待扰动文段与其相邻的前一个词语之间插入掩码,将插入掩码后的待扰动文本作为掩码文本;基于掩码文本的语义,对掩码文本中的掩码进行预测恢复,得到掩码的预测文段;将预测文段作为扰动文段。

可选地,获取模块,具体用于:将掩码文本输入经过预训练的人工智能模型,得到人工智能模型基于掩码文本的语义输出的预测文段。

可选地,获取模块,具体用于:基于待扰动文段中至少一个词语的读音和形状中至少一个匹配项,将至少一个词语替换为满足相似度阈值的替换文段单元,得到扰动文段,替换文段单元包括字、词语和文段中的至少一个。

可选地,至少一个词语与其替换文段单元的形状相似度采用基于对比学习的人工智能模型得到。

可选地,当匹配项为读音,且至少一个词语与其替换文段单元分别采用第一语言和第二语言表示时,装置还包括:预处理模块,用于采用第三语言表示至少一个词语;预处理模块,还用于采用第三语言表示多个候选文段单元;预处理模块,还用于在采用第三语言表示的至少一个词语,与采用第三语言表示的任一候选文段单元的读音相似度满足相似度阈值时,建立至少一个词语和任一候选文段单元的映射关系;相应的,获取模块,具体用于:基于至少一个词语查询映射关系,得到替换文段单元;采用替换文段单元在待扰动文段中替换至少一个词语,得到扰动文段。

可选地,获取模块,具体用于:将掩码文本输入经过预训练的人工智能模型,得到人工智能模型基于掩码文本的语义输出的预测文段。

可选地,获取模块,具体用于:获取语义无关字符,语义无关字符对待扰动文段的多个词语的语义影响均小于影响阈值;将语义无关字符作为扰动文段。

可选地,处理模块,具体用于:在待扰动文段的多个字符间隙中,确定待插入间隙,字符间隙为按照字符的排列顺序,待扰动文段中任一字符与其相邻字符之间的间隙;在待插入间隙插入扰动文段,得到待扰动文本的候选对抗文本;基于候选对抗文本,得到对抗文本。

可选地,处理模块,具体用于:针对多个字符间隙中每个字符间隙生成对应的随机数;当任一字符间隙对应的随机数满足插入阈值时,将任一字符间隙确定为待插入间隙。

可选地,确定模块,还用于:分别确定多个待扰动文段的重要性分数;基于多个待扰动文段的重要性分数,得到多个待扰动文段的扰动顺序;相应的,获取模块,具体用于:按照扰动顺序,依次针对多个待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到多个待扰动文段的扰动文段。

可选地,确定模块,具体用于:对于任一待扰动文段,分别获取待扰动文本的第一预测标签及其置信度和缺损文本的第二预测标签及其置信度,缺损文本为在待扰动文本中删除待扰动文段的文本,第一预测标签和第二预测标签用于指示文本审核模型对文本的分类结果,预测标签的置信度用于指示文本属于预测标签指示的分类结果的可信程度,对抗文本用于对文本审核模型进行训练;当第一预测标签和第二预测标签相同时,将第二预测标签的置信度与第一预测标签的置信度的差值,确定为待扰动文段的重要性分数;当第一预测标签和第二预测标签不同时,获取缺损文本与待扰动文本在第一预测标签下的置信度的第一差值,并获取待扰动文本与缺损文本在第二标签下的置信度的第二差值,将第一差值与第二差值的和,确定为待扰动文段的重要性分数。

可选地,扰动文段包括以下一种或多种:字符和表情符号。

第三方面,本申请提供了一种计算机设备,包括存储器和处理器,存储器存储有程序指令,处理器运行程序指令以执行本申请第一方面以及其任一种可能的实现方式中提供的方法。

第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质为非易失性计算机可读存储介质,该计算机可读存储介质包括程序指令,当程序指令在计算机设备上运行时,使得计算机设备执行本申请第一方面以及其任一种可能的实现方式中提供的方法。

第五方面,本申请提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请第一方面以及其任一种可能的实现方式中提供的方法。

附图说明

图1是本申请实施例提供的一种对抗文本的生成方法涉及的应用场景的示意图;

图2是本申请实施例提供的另一种对抗文本的生成方法涉及的应用场景的示意图;

图3是本申请实施例提供的又一种对抗文本的生成方法涉及的应用场景的示意图;

图4是本申请实施例提供的一种对抗文本的生成方法的流程图;

图5是本申请实施例提供的一种分别采用多个长度的滑动窗口确定待扰动文段的原理示意图;

图6是本申请实施例提供的一种确定待扰动文段的重要性分数的流程图;

图7是本申请实施例提供的一种针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段的流程图;

图8是本申请实施例提供的一种采用自监督的“填空”模式对Encoder-Decoder语言模型进行训练的原理示意图;

图9是本申请实施例提供的一种采用基于对比学习的文本审核模型获取待扰动文段中至少一个词语和候选文段单元的形状相似度的原理示意图;

图10是本申请实施例提供的一种待扰动文段中至少一个词语与替换文段单元的映射关系的建立过程的流程图;

图11是本申请实施例提供的另一种针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段的流程图;

图12是本申请实施例提供的一种在待扰动文本中确定插入位置的流程图;

图13是本申请实施例提供的一种对抗文本的生成装置的结构示意图;

图14是本申请实施例提供的另一种对抗文本的生成装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

为便于理解,下面先对本申请实施例中涉及的名词进行解释。

文本审核是指检测文本是否包含涉黄、涉毒、涉赌等违规内容。

对抗文本指的是在尽量保留可读性的前提下,对原始文本添加扰动后得到的文本。文本审核模型对对抗文本的审核结果与文本审核模型对原始文本的审核结果不同。其中,原始文本也称为待扰动文本。

文段(span)是包括一个或多个词语的词语集合。包括N个词语的文段可称为N元文段(Ngram-span),N为正整数。

对原始文本添加扰动是指对原始文本中的词语等扰动对象进行替换,或在原始文本中插入一些内容。在本申请实施例中,扰动对象是原始文本中包括多个词语的文段,则该扰动对象可称为待扰动文段。

待扰动文段的重要性分数用于衡量待扰动文段在待扰动文本中的重要性。当待扰动文段在待扰动文本中的重要性越大时,针对该待扰动报文段执行扰动操作得到的对抗文本对文本审核模型成功攻击的可能性越大。

缺损文本为在待扰动文本中删除待扰动文段的文本。

文本的预测标签用于指示文本的类型。

文本在某预测标签下的置信度为该文本属于该预测标签指示的类型的可信程度。

字符间隙为按照字符的排列顺序,任一字符与其相邻字符之间的间隙。

目前,需要采用文本审核模型对文本进行审核的应用场景越来越多。尤其是在内容平台发布信息时,由于需要对各类涉黄、涉毒、涉赌等违规内容进行限制,则需要对发布的信息进行审核,并根据审核结果确定是否对发布的信息进行限制。与此同时,违规内容发布者会采用各种逃逸策略试图绕过审核,将违规内容发出,以达到其推广和传播等目的。由于此类绕过手段多样,尤其是目前在用户终端上,一些富文本呈现可以将图形图像与文本混合呈现,更是给检测带来了极大的挑战。基于对抗文本对文本审核模型进行测试与数据增强,是有效增强文本审核模型审核能力的重要手段。由于攻击者使用的方法非常的多样,包括文字变异、图像插入、拼音替换等等。如果采用人工收集数据集或手动生成对抗文本的方法,则很难形成较全面数据集,难以获得较全面的测试结果和有效的训练增强效果。因此,如何基于待扰动文本生成丰富多样的对抗文本是目前亟待解决的问题。

本申请实施例提供了一种对抗文本的生成方法。该方法包括:确定待扰动文本的待扰动文段,该待扰动文段包括多个词语,然后针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段,再基于扰动文段得到待扰动文本的对抗文本。由于待扰动文段包括多个词语,基于该待扰动文段生成扰动文段时,能够针对该待扰动文段中一个或多个词语进行变换,且能够统一地考虑多种长度的文段执行扰动操作,保证了扰动方式的多样性,能够保证根据其生成丰富多样的对抗文本,有助于提高使用对抗文本训练得到的模型的性能。

图1是本申请实施例提供的一种对抗文本的生成方法涉及的实施场景的示意图。如图1所示,该实施场景包括:计算机设备10。该计算机设备10用于执行本申请实施例提供的对抗文本的生成方法。例如,该计算机设备10用于确定待扰动文本的待扰动文段,针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段,基于扰动文段得到待扰动文本的对抗文本。其中,待扰动文段包括多个词语。可选地,该计算机设备10可以为服务器等。

计算机设备10可以通过物理机、包括多个物理机的物理机集群、显卡、人工智能计算芯片、裸金属服务器、云服务器、虚拟机或容器等实现。并且,计算机设备10可以独立地部署在物理机、物理机集群、裸金属服务器、云服务器、虚拟机或容器上。或者,计算机设备10可以分布式地部署在多个物理机、多个物理机集群、多个裸金属服务器、多个云服务器、多个虚拟机和多个容器中的一个或多个上。

本申请实施例提供了一种计算机设备。该计算机设备能够实现本申请实施例提供的对抗文本的生成方法中的部分或全部功能。图1是本申请实施例提供的一种计算机设备的结构示意图。如图1所示,计算机设备10包括处理器101、存储器102、通信接口103和总线104。其中,处理器101、存储器102、通信接口103通过总线104实现彼此之间的通信连接。

处理器101可以包括通用处理器和/或专用硬件芯片。通用处理器可以包括:中央处理器(central processing unit,CPU)、微处理器或图形处理器(graphics processingunit,GPU)。CPU例如是一个单核处理器(single-CPU),又如是一个多核处理器(multi-CPU)。专用硬件芯片是一个高性能处理的硬件模块。专用硬件芯片包括数字信号处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)或者网络处理器(network processer,NP)中的至少一项。处理器101还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的对抗文本的生成方法的部分或全部功能,可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。

存储器102用于存储计算机程序,计算机程序包括操作系统102a和可执行代码(即程序指令)102b。存储器102例如是只读存储器或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器、只读光盘或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的可执行代码并能够由计算机存取的任何其它介质,但不限于此。例如存储器102用于存放出端口队列等。存储器102例如是独立存在,并通过总线104与处理器101相连接。或者存储器102和处理器101集成在一起。存储器102可以存储可执行代码,当存储器102中存储的可执行代码被处理器101执行时,处理器101用于执行本申请实施例提供的对抗文本的生成方法的部分或全部功能。且处理器101执行对应功能的实现方式请相应参考方法实施例中的相关描述。存储器102中还可以包括操作系统等其他运行进程所需的软件模块和数据等。

通信接口103使用例如但不限于收发器一类的收发模块,来实现与其他设备或通信网络之间的通信。例如,通信接口103可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。

总线1004是任何类型的,用于实现计算机设备的内部器件(例如,存储器1002、处理器1001、通信接口1003)互连的通信总线。例如系统总线。本申请实施例以计算机设备内部的上述器件通过总线1004互连为例说明。可选地,计算机设备100内部的上述器件还可以采用除了总线1004之外的其他连接方式彼此通信连接。例如,计算机设备100内部的上述器件通过内部的逻辑接口互连。

需要说明的是,上述多个器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本申请实施例对上述器件的具体实现形式不做限定。且上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。提供程序开发平台的计算机程序产品包括一个或多个计算机指令,在计算机设备上加载和执行这些计算机程序指令时,全部或部分地实现本申请实施例提供的对抗文本的生成方法的流程或功能。

并且,计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质存储有提供程序开发平台的计算机程序指令。

本申请实施例提供的对抗文本的生成方法的应用场景有多种,下面以以下三种为例对其进行说明:

在第一种应用场景中,本申请实施例提供的对抗文本的生成方法可以以对抗文本的生成服务向用户提供。服务提供商拥有大量基础资源,如计算资源、存储资源和网络资源等,服务提供商能够利用该基础资源提供该生成服务。用户从服务提供商处购买该生成服务后,服务提供商能够为用户提供该生成服务。其中,用户可以通过客户端从服务提供商的管理平台购买该生成服务,并向服务提供商的管理平台发送待扰动文本。服务提供商的管理平台可向服务提供商的计算机设备分配基于待扰动文本生成对抗文本的任务,并将待扰动文本发送至被分配任务的计算机设备。该计算机设备用于基于待扰动文本执行本申请实施例提供的对抗文本的生成方法,得到对抗文本,并向用户提供生成的对抗文本,以完成向用户提供生成服务的过程。

此时,如图2所示,该实施场景还可以包括:客户端20,该客户端20用于从服务提供商处购买生成服务,向服务提供商的管理平台提供待扰动文本,并接收生成的对抗文本。可选地,客户端20可以是手机、平板电脑、个人计算机、虚拟机、容器、膝上型计算机、移动电话、多媒体播放器、智能家电、人工智能设备、智能可穿戴设备、电子阅读器、智能车载设备或物联网设备等。

在一种可实现方式中,计算机设备10可以通过云平台中的资源实现。云平台中部署有云服务提供商拥有的基础资源。例如:云平台中部署有计算资源、存储资源和网络资源等,计算资源可以是大量的计算机设备(例如服务器),则计算机设备10可以通过云平台中的计算资源实现。此时,本申请实施例提供的对抗文本的生成方法,能够由云服务提供商在云平台抽象成一种对抗文本的生成云服务提供给用户。用户在云平台购买该云服务后,云平台能够利用云平台中的计算机设备10,为用户提供该云服务。

可选地,在本申请实施例中,云平台可以是中心云的云平台,或边缘云的云平台。并且,当该计算机设备10采用分布式部署方式进行部署时,该云平台还可以是包括中心云和边缘云的云平台。此时,该计算机设备10可以部分部署在边缘云的云平台中,部分部署在中心云的云平台中,本申请实施例对其不做具体限定。

在第二种应用场景中,本申请实施例提供的对抗文本的生成方法可以作为其他服务的附加服务提供。在一种可实现方式中,在提供采用对抗文本对文本审核模型进行训练的模型训练服务时,可以将通过该对抗文本的生成方法实现的生成服务,作为该模型训练服务的附加服务提供。例如,用户可以向服务提供商提供待扰动文本和待训练的模型,服务提供商可以采用本申请实施例提供的对抗文本的生成方法基于待扰动文本生成对抗文本,并采用该对抗文本对待训练的模型进行训练,然后向用户提供经过训练的模型。可选地,服务提供商也可以向用户提供生成的对抗文本。并且,该其他服务(如模型训练服务)和该生成服务中的至少一个也可以为云服务,本申请实施例对其不做具体限定。该场景对应的应用场景的实现方式可以相应参考第一种场景对应的应用场景,此处不再赘述。

在第三种应用场景中,本申请实施例提供的对抗文本的生成方法可以以应用程序包的方式向用户提供。例如,服务提供商可以向用户提供用于实现本申请实施例提供的对抗文本的生成方法的应用程序包。此时,计算机设备10为用户拥有的计算机设备。从服务提供商处获取该应用程序包后,计算机设备10中可以安装该应用程序包,得到用于执行该对抗文本的生成方法的应用程序。当计算机设备10接收到用户指示基于待扰动文本生成对抗文本的指令后,该应用程序可以基于待扰动文本执行该对抗文本的生成方法,以生成对抗文本。

此时,计算机设备10可以为客户端。并且,如图3所示,该实施场景还可以包括:计算机设备30,该计算机设备30用于为计算机设备10提供用于实现本申请实施例提供的对抗文本的生成方法的应用程序包。可选地,该计算机设备30可以为服务器等。

应当理解的是,以上内容是对本申请实施例提供的对抗文本的生成方法的应用场景的示例性说明,并不构成对于该事件分析方法的应用场景的限定,本领域普通技术人员可知,随着业务需求的改变,其应用场景可以根据应用需求进行调整,本申请实施例对其不做一一列举。

下面对本申请实施例提供的对抗文本的生成方法的实现过程进行说明。如图4所示,该对抗文本的生成方法的实现过程可以包括以下步骤:

步骤401、获取待扰动文本。

对抗文本为对原始文本添加扰动后得到的文本。该原始文本即为待扰动文本。因此,在生成对抗文本之前,需要先获取到待扰动文本。该待扰动文本可以为用户通过客户端向计算机设备发送的。例如,对应于本申请实施例提供的对抗文本的生成方法的前述第一种和第二种应用场景,该待扰动文本可以为用户通过客户端向计算机设备发送的。对应于第三种应用场景,该待扰动文本可以为用户向计算机设备提供的。例如,该待扰动文本可以为用户通过一些技术(如爬虫技术)从网络上获取的。或者,该待扰动文本可以为计算机设备中预先存储的文本,在计算机确定需要根据该文本生成对抗文本时,可以将该文本确定为待扰动文本。需要说明的是,本申请实施例不对该待扰动文本的撰写方式和语言进行限定。例如,该待扰动文本的撰写方式可以为小说、诗歌、散文或网页等内容。待扰动文本的语言可以为中文或英文等。

步骤402、确定待扰动文本的待扰动文段,待扰动文段包括多个词语。

待扰动文本包括很多词语,包括一个或多个词语的集合可称为文段。包括N个词语的文段可称为N元文段,N为正整数。在基于待扰动文本生成对抗文本时,需要先根据待扰动本文包括的词语确定需要被扰动的文段(即待扰动文段)。然后针对待扰动文段执行扰动操作,以根据扰动后的文段得到对抗文本。在待扰动文本中选择待扰动文段时,可以先对待扰动文本进行分词处理,然后对经过分词处理后的待扰动文本中词语进行遍历,并在遍历过程中确定待扰动文段。其中,可以采用自然语言处理(natural language processing,NLP)技术对待扰动文本进行分词处理。

可选地,该步骤402的实现过程包括:按照待扰动文本中词语的排列顺序,将待扰动文本中每个词语与其后连续排列的指定个数个词语组成的词语集合,确定为待扰动文段。该指定个数可以为定值,也可以为能够变化的值。例如,当指定个数为能够变化的值时,其实现过程包括:按照待扰动文本中词语的排列顺序,分别将待扰动文本中每个词语与其后连续排列的不同个数的词语组成的多个词语集合,均确定为待扰动文段。可选地,该过程可以通过滑动窗口机制实现。

在一种可实现方式中,可以分别采用多个长度的滑动窗口对分词后的待扰动文本进行遍历,在遍历过程中滑动窗口分别以待扰动文本中的不同词语为起点词语,并按照待扰动文本中词语的排列顺序,在滑动窗口每滑动一次时,将被滑动窗口选择的起点词语与其后连续排列的多个词语组成的文段,确定为待扰动文段。其中,滑动窗口可以选择一个或多个词语,且该一个或多个词语包括起点词语和终点词语。当滑动窗口选择的起点词语和终点词语中的至少一个发生变化时,确定滑动窗口出现了滑动。并且,用于构造N元文段的滑动窗口可称为N元窗口(Ngram-window)。需要说明的是,在执行该对抗文本的生成方法时,可以根据应用需求设置滑动窗口的长度的最大值和最小值,本申请实施例对其不做具体限定。

示例地,图5示出了长度分别为1、2和3的滑动窗口C1、滑动窗口C2和滑动窗口C3对待扰动文本进行遍历的示意图。如图5所示,滑动窗口C1对待扰动文本进行遍历时,先以词语W1为起点词语,得到包括词语W1的待扰动文段,然后以词语W2为起点词语,得到包括词语W2的待扰动文段,依次类推,得到待扰动文本中所有由一个词语组成的待扰动文段。滑动窗口C2对待扰动文本进行遍历时,先以词语W1为起点词语,得到包括词语W1和词语W2的待扰动文段,然后以词语W2为起点词语,得到包括词语W2和词语W3的待扰动文段,依次类推,得到待扰动文本中所有由连续排列的两个词语组成的待扰动文段。滑动窗口C3对待扰动文本进行遍历时,先以词语W1为起点词语,得到包括词语W1、词语W2和词语W3的待扰动文段,然后以词语W2为起点词语,得到包括词语W2、词语W3和词语W4的待扰动文段,依次类推,得到待扰动文本中所有由连续排列的三个词语组成的待扰动文段。

通过该步骤402的实现方式,能够在待扰动文本中得到多个待扰动文段。并且,对于同一词语,存在多个待扰动文段包括该词语,且该多个待扰动文段的长度不同。这样一来,在基于待扰动文段生成扰动文段时,由于能够针对该待扰动文段中一个或多个词语进行变换,且能够统一地考虑多种长度的文段执行扰动操作,保证了变换方式的多样性,能够保证根据其生成丰富多样的对抗文本。

步骤403、当待扰动文本包括多个待扰动文段时,分别确定多个待扰动文段的重要性分数。

待扰动文段的重要性分数用于衡量待扰动文段在待扰动文本中的重要性。由于对抗文本用于对文本审核模型进行训练,待扰动文段在待扰动文本中的重要性可以体现为待扰动文段对文本审核模型的输出的影响,而文本审核模型的输出可以为对待扰动文本的置信度,则可以基于置信度获取待扰动文段的重要性分数。例如,当文本审核模型的任务为对输入的文本进行分类时,其输出包括用于指示该文本所属类别的预测标签和该文本所属类别的置信度,则可以根据预测标签和置信度确定待扰动文段的重要性分数。

下面以确定一个待扰动文段的重要性分数为例,对确定待扰动文段的重要性分数的实现过程进行说明。在一种可实现方式中,如图6所示,其实现过程包括:

步骤4031、分别获取待扰动文本的第一预测标签及其置信度和缺损文本的第二预测标签及其置信度,缺损文本为在待扰动文本中删除待扰动文段的文本,第一预测标签和第二预测标签用于指示文本审核模型对文本的分类结果,对抗文本用于对文本审核模型进行训练。

在待扰动文本中删除待扰动文段得到的文本即为缺损文本。待扰动文段在待扰动文本中的重要性可以基于缺损文本的置信度相对于待扰动文本的置信度的变化确定。置信度变化程度越大,则待扰动文段在待扰动文本中的重要性越大,即待扰动文段越重要。并且,待扰动文本的类型和缺损文本的类型,还会影响根据置信度的变化衡量待扰动文段在待扰动文本中的重要性。因此,可以将待扰动文本输入文本审核模型,并获取文本审核模型针对待扰动文本的第一预测标签和置信度。将缺损文本输入文本审核模型,并获取文本审核模型针对缺损文本的第二预测标签和置信度。然后根据第一预测标签及其置信度和第二预测标签及其置信度,确定待扰动文段的重要性分数。其中,文本的预测标签用于指示文本的类型。文本在某预测标签下的置信度为该文本属于该预测标签指示的类型的可信程度。

可选地,用于获取文本的预测标签和置信度的文本审核模型可以为待使用对抗文本进行训练的文本审核模型。例如,该文本审核模型可以为BERT模型(一种主流的通用预训练语言模型)。可应用于TextCNN、BERT(预训练语言模型)、文本审核(云服务)等多种类型的模型。当根据待训练的文本审核模型的输出获取重要性分数时,能够保证根据该重要性分数得到的对抗文本相对于该文本审核模型的适配性,有效保证根据该对抗文本训练得到的文本审核模型的性能。

步骤4032、当第一预测标签和第二预测标签相同时,将第二预测标签的置信度与第一预测标签的置信度的差值,确定为待扰动文段的重要性分数。

当第一预测标签和第二预测标签相同时,说明待扰动文本和缺损文本属于相同类型。则可基于该相同类型下,缺损文本的置信度相对于待扰动文本的置信度的变化,确定待扰动文段的重要性分数。在一种可实现方式中,可将第二预测标签的置信度与第一预测标签的置信度的差值,确定为待扰动文段的重要性分数。

步骤4033、当第一预测标签和第二预测标签不同时,获取缺损文本与待扰动文本在第一预测标签下的置信度的第一差值,并获取待扰动文本与缺损文本在第二标签下的置信度的第二差值,将第一差值与第二差值的和,确定为待扰动文段的重要性分数。

当第一预测标签和第二预测标签不同时,说明待扰动文本和缺损文本属于不同类型。则可获取在第一预测标签下,缺损文本的置信度相对于待扰动文本的置信度的变化。并获取第二预测标签下,待扰动文本的置信度相对于缺损文本的置信度的变化。然后基于第一预测标签下置信度的变化和第二预测标签下置信度的变化,确定待扰动文段的重要性分数。在一种可实现方式中,可以获取缺损文本与待扰动文本在第一预测标签下的置信度的第一差值,获取待扰动文本与缺损文本在第二预测标签下的置信度的第二差值,然后基于该第一差值和第二差值确定待扰动文段的重要性分数。例如,可以将第一差值与第二差值的和,确定为待扰动文段的重要性分数。

通过根据预测标签和置信度获取待扰动文段的重要性分数,在获取到文本审核模型输出的预测标签和置信度后,即可得到待扰动文段的重要性,而无需知道文本审核模型的内部结构,实现了与文本审核模型的解耦。

步骤404、基于多个待扰动文段的重要性分数,得到多个待扰动文段的扰动顺序。

在获取多个待扰动文段的重要性分数后,可以基于重要性分数,确定多个待扰动文段的扰动顺序,以便于能够按照该扰动顺序依次对多个待扰动文段执行扰动操作。当待扰动文段在待扰动文本中的重要性越大时,针对该待扰动报文段执行扰动操作得到的对抗文本对文本审核模型成功攻击的可能性越大。因此,在一种可实现方式中,可以根据重要性分数由高到低的顺序,确定多个待扰动文段的扰动顺序。其中,对抗文本对文本审核模型成功攻击的结果是文本审核模型对对抗文本的预测结果与对待扰动文本的预测结果相同。例如,当对抗文本是非法文档时,若文本审核模型将对抗文本识别为合法文档,则对抗文本对文本审核模型攻击成功。

需要说明的是,在生成对抗文本的过程中,可以根据应用需求确定是否需要执行步骤403和步骤404,本申请实施例对其不做具体限定。

步骤405、针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段。

当执行步骤403和步骤404时,该步骤405的实现过程包括:按照扰动顺序,依次针对多个待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到多个待扰动文段的扰动文段。类似的,步骤406的实现过程包括:按照扰动顺序,依次得到多个待扰动文本的对抗文本。

该步骤405的实现方式有多种。下面以以下几种实现方式为例对其进行说明。

在步骤405的第一种实现方式中,如图7所示,该步骤405的实现过程包括:

步骤405a1、使用掩码替换待扰动文段,将替换待扰动文段后的待扰动文本作为掩码文本。

使用掩码替换待扰动文段,即使用掩码替换待扰动文本中多个词语中的全部词语。使用掩码替换待扰动文段的作用包括:替换待扰动文段和标记待扰动文段在待扰动文本中的位置。使用掩码在待扰动文本中替换待扰动文段后,得到的文本即为掩码文本。例如,假设待扰动文本为“今天天气非常好,我们一家去逛公园”,待扰动文段为“天气非常好”,使用掩码“**”替换待扰动文段后,得到的掩码文本为“今天**,我们一家去逛公园”。

步骤405a2、基于掩码文本的语义,对掩码文本中的掩码进行预测恢复,得到掩码的预测文段,将预测文段作为扰动文段。

基于掩码文本的语义对掩码进行预测恢复时,能够综合考虑掩码文本的上下文内容,保证得到的预测文段与待扰动文本的语义相关性,有助于保证根据其生成的对抗文本的有效性。

可选地,可以使用人工智能模型对掩码文本中的掩码进行预测恢复。则该步骤405a2的实现过程包括:将掩码文本输入经过预训练的人工智能模型,得到人工智能模型基于掩码文本的语义输出的预测文段。采用人工智能模型基于掩码文本的语义预测预测文段,能够较大程度地提高对抗文本的攻击性,有助于获得更好的模型评估与增强能力。

在一种可实现方式中,该人工智能模型可以为编码器-解码器(Encoder-Decoder)语言模型。Encoder-Decoder语言模型包括Encoder和Decoder两部分。Encoder可以对掩码文本进行编码,得到掩码文本的向量表示,并向Decoder提供采用向量表示的掩码文本。Decoder可以基于采用向量表示的掩码文本,对掩码文本中的掩码进行预测,得到掩码的预测文段。并且,Encoder-Decoder语言模型还可以输出多个预测文段,且该多个预测文段的长度可以相同或者不同。通过向Encoder-Decoder语言模型输入掩码文本,使得Encoder-Decoder语言模型根据掩码文本的语义对掩码进行预测恢复,能够提高预测恢复得到的预测文段的准确性。并且,当Encoder-Decoder语言模型输出多个长度不同的预测文段时,能够分别根据该多个长度不同的预测文段得到对抗文本,有助于得到具有较强攻击能力的对抗文本。

其中,采用Encoder-Decoder语言模型预测恢复掩码时,可以采用束搜索(beamsearch)的策略进行搜索。这样一方面能够利用局部最优原则得到较准确的预测文段,另一方面有助于提高基于预测文段得到的对抗文本的多样性。

为了使Encoder-Decoder语言模型获得根据掩码得到预测文段的能力,可以预先采用自监督的“填空”模式对其进行训练。例如,如图8所示,可以从给定训练文本中随机选择一个或多个位点,随机将每个位点处的m个词语组成的文段替换为掩码,得到用于训练的掩码文本。然后,将掩码文本输入Encoder,使得Encoder生成其向量表示。由于该向量表示蕴含了掩码相关的所有掩码文本的语义,则可以向Decoder提供采用向量表示的掩码文本,基于其掩码文本的语义训练Decoder,使得Decoder根据该掩码文本的语义预测生成掩码原本的内容,从而使Encoder-Decoder语言模型获得根据掩码得到预测文段的能力。并且,在训练过程中,可以参考Decoder输出的预测文本和训练文本,采用梯度下降的策略调整Encoder和Decoder的参数。其中,m的取值可以为1、2或3。并且,训练文本可以为来自微博、Twitter(推特)、百度百科、外卖平台等平台的热搜和热点等内容。且以上内容可以采用爬虫技术从以上平台爬取得到。训练文本也可以使用多种语言撰写,并兼容Emoji表情符号、火星文、谐音梗等特殊词汇。

在步骤405的第二种实现方式中,该步骤405的实现过程包括:基于待扰动文段中至少一个词语的读音和形状中至少一个匹配项,将待扰动文段中至少一个词语替换为满足相似度阈值的替换文段单元,得到扰动文段。其中,替换文段单元包括字、词语和文段中的至少一个。可选地,待扰动文段中至少一个词语和替换文段单元之间相似性关系可以记录在映射关系中。该映射关系可以预先根据满足相似度阈值的替换文段单元得到。建立映射关系后,得到替换文段单元的实现方式包括:基于待扰动文段中至少一个词语查询映射关系,得到替换文段单元。

在映射关系的一种建立方式中,待扰动文段中至少一个词语与其替换文段单元的形状相似度,可以采用基于对比学习的文本审核模型得到。例如,可以分别向基于对比学习的文本审核模型的两个输入端输入该至少一个词语与候选文段单元,得到该基于对比学习的文本审核模型输出该至少一个词语与候选文段单元的形状相似度。并在形状相似度满足相似度阈值时,将该候选文段单元确定为该至少一个词语的替换文段单元,然后建立两者的映射关系。

可选地,如图9所示,基于对比学习的文本审核模型可以包括编码器和映射头神经网络,编码器的输出端与映射头神经网络的输入端连接。在一种实现方式中,编码器可以通过卷积神经网络实现,映射头神经网络可以通过多层感知机实现。由于卷积神经网络能够有效捕捉图像的高层特征,并生成相应的特征向量,因此,该实现方式能够利用卷积神经网络提取待扰动文段中至少一个词语和候选文段单元的高层特征,并利用多层感知机对高维特征进行降维,以便于根据降维后的特征计算该至少一个词语和候选文段单元的形状相似度。

基于对比学习的文本审核模型是经过预训练的文本审核模型。其训练过程包括两个阶段,一个阶段为基于样本增强的无监督学习阶段,另一个阶段为基于显性样本的有监督学习阶段。在无监督学习阶段之前,可以对每个字生成的图像进行随机裁剪、随机旋转、随机拉伸变形、随机色彩失真和随机高斯模糊等变换,以得到无监督学习阶段使用的正例样本。并且,还可以使用不同字体表示的同一个字,并根据表示结果生成的图像,得到无监督学习阶段使用的正例样本。同时,不同字的图像可以互为无监督学习阶段的负例样本。在有监督学习阶段,显性样本包括显性正例样本和显性负例样本。其中,显性正例样本包括:从公开资源(如Unicode编码文档标准)中选取的形近字对;普通字符与Emoji表情符号的形近字对。显性负例样本包括:从字符集全集中随机采样的字符。

在映射关系的另一种建立方式中,当待扰动文段中至少一个词语与其替换文段单元分别采用第一语言和第二语言表示时,该至少一个词语与其替换文段单元的读音相似度,可以基于跨语言翻译得到。例如,如图10所示,该至少一个词语与替换文段单元的映射关系的建立过程包括:

步骤S1、采用第三语言表示待扰动文段中至少一个词语,采用第三语言表示多个候选文段单元。

通过采用第三语言表示该至少一个词语和多个候选文段单元,能够实现该至少一个词语和多个候选文段单元的统一表示。其中,第三语言可以为第一语言或第二语言,或者,该第三语言可以为除第一语言和第二语言外的第三种语言,本申请实施例对其不做具体限定。并且,该至少一个词语和候选文段单元的表示形式可以相同或不同。例如,该至少一个词语和候选文段单元中的一个或多个可以为普通字符,例如汉字或英文字符。又例如,待扰动文段中至少一个词语和候选文段单元中的一个或多个可以为表情符号,例如Emoji表情符号。

需要说明的是,在采用第三语言表示采用第一语言表示该至少一个词语时,可以直接将采用第一语言表示的该至少一个词语转换为采用第三语言表示,或者,也可以先采用第四语言表示采用第一语言表示的该至少一个词语,然后将采用第四语言表示的该至少一个词语转换为采用第三语言表示。第四语言可以为除第一语言、第二语言和第三语言外的语言。类似的,也可以采用该直接或间接转换的方式,采用第三语言表示以第二语言表示的候选文段单元。例如,当该至少一个词语采用汉字表示,候选文段单元采用Emoji表情符号表示时,可以将该至少一个词语和该候选文段单元统一采用拼音表示,并在两者的拼音的读音相似度满足相似度阈值时,建立两者的映射关系。其中,可以通过查询拼音字库,得到汉字表示的该至少一个词语的拼音。采用拼音表示Emoji表情符号是指将Emoji表情符号的注解采用拼音表示。且Emoji表情符号的注解可以为官方标注的。例如,Emoji表情符号可以采用英文表示的通用区域数据仓库(common locale data repository,CLDR)短名(short name)标注,在获取该标注后,可以先将该英文标注翻译为中文,然后将中文采用拼音表示。

步骤S2、在采用第三语言表示的待扰动文段中至少一个词语,与采用第三语言表示的任一候选文段单元的读音相似度满足相似度阈值时,建立该至少一个词语和该任一候选文段单元的映射关系。

采用第三语言统一表示该至少一个词语和多个候选文段单元后,若某个候选文段单元的读音与该至少一个词语的读音的相似度满足相似度阈值,可以认为该候选文段单元与该至少一个词语具有读音相似的关系,则可建立该候选文段单元和该至少一个词语的映射关系。并且,当采用第三语言统一表示该至少一个词语和候选文段单元时,同一内容可能会有多种表示,若该多种表示的内容均满足读音相似度阈值时,可以针对该多种表示分别建立多个映射关系。例如,“tooth”可以翻译为“牙齿”、“牙”、“齿”等;将“tooth”采用拼音表示时,可以对应表示为“yachi”、“ya”、“chi”等,然后基于该多种拼音表示确定是否需要建立映射关系。

在步骤405的第三种实现方式中,如图11所示,该步骤405的实现过程包括:

步骤405b1、按照待扰动文本中词语的排列顺序,在待扰动文段与其相邻的前一个词语之间插入掩码,将插入掩码后的待扰动文本作为掩码文本。

在待扰动文段与其相邻的前一个词语之间插入掩码,即在待扰动文段的多个词语中的第一个词语与该待扰动文段相邻的前一个词语之间插入掩码。在待扰动文段与其相邻的前一个词语之间插入掩码的作用包括:标记待扰动文段与其相邻的前一个词语之间的位置。在待扰动文本中插入掩码后,得到的文本即为掩码文本。例如,假设待扰动文本为“今天天气好,我们一家去逛公园”,待扰动文段为“天气好”,在待扰动文段与其相邻的前一个词语之间插入掩码“**”后,得到的掩码文本为“今天**天气好,我们一家去逛公园”。

步骤405b2、基于掩码文本的语义,对掩码文本中的掩码进行预测恢复,得到掩码的预测文段,将预测文段作为扰动文段。

该步骤405b2的实现过程可以参考步骤405a2中的相应内容。例如,步骤405b2的实现过程可以包括:将掩码文本输入经过预训练的人工智能模型,得到人工智能模型基于掩码文本的语义输出的预测文段。通过采用人工智能模型基于掩码文本的语义预测预测文段,能够较大程度地提高对抗文本的攻击性,有助于获得更好的模型评估与增强能力。

在步骤405的第四种实现方式中,该步骤405的实现过程包括:获取语义无关字符,该语义无关字符对待扰动文段的多个词语的语义影响均小于影响阈值;并将语义无关字符作为扰动文段。并且,该语义无关字符还可以满足:对待扰动文本的语义影响小于影响阈值。

在待扰动文本中插入语义无关字符,不会影响文本审核模型对待扰动文本的理解。因此,在对待扰动文段执行扰动操作时,可以将语义无关字符确定为扰动文段。其中,语义无关字符的影响可以通过其对待扰动文本的语义影响表示。语义无关字符可以从预先建立的语义无关字符集中得到。且该语义无关字符的表示形式可以有多种。例如,语义无关字符可以为字母、数字和符号等字符,或者,也可以为表情符号。

步骤406、基于扰动文段得到待扰动文本的对抗文本。

在得到扰动文段后,可以基于扰动文段得到候选对抗文本,然后对候选对抗文本进行筛选,得到对抗文本。由于一个待扰动文段包括一个或多个词语,可以分别针对该一个或多个词语执行扰动操作,则可以根据一个待扰动文段得到一个或多个候选对抗文本。当任一候选对抗文本能够成功攻击文本审核模型时,可将该候选对抗文本确定为对抗文本。或者,当一个待扰动文段对应的多个候选对抗文本中存在多个能成功攻击文本审核模型的候选对抗文本时,可以根据策略进行筛选,得到一个或多个对抗文本。例如,可以将其中与待扰动文本相似度最大的一个确定为对抗文本。并且,当一个待扰动文段对应的所有候选对抗文本均未能够成功攻击文本审核模型时,可以在该一个或多个候选对抗文本中选择对置信度影响最大的候选对抗文本,并将其作为待扰动文本,继续对其执行上述步骤402至步骤406,进行下一轮迭代,以得到对抗文本。或者,当对该候选对抗文本执行指定次数次迭代后,经过迭代的候选对抗文本仍不能成功攻击文本审核模型,则根据扰动顺序,对排序在当前待扰动文段后的待扰动文段执行上述步骤405至步骤406,以得到对抗文本。

可选地,在每次基于候选对抗文本进行迭代之前,可以先判断候选对抗文本是否超过扰动限制,在超过扰动限制时停止迭代,在未超过扰动限制时继续进行迭代。其中,扰动限制可以通过文本编辑距离和/或语义相似度衡量。当候选对抗文本相对于待扰动文本的文本编辑距离大于距离阈值,和/或,候选对抗文本与待扰动文本的语义相似度小于相似度阈值时,确定候选对抗文本超出扰动限制。文本编辑距离用于限制待扰动文段中字符改动的数量。在一种实现方式中,文本编辑距离可以为莱文斯坦距离。语义相似度用于限制候选对抗文本相对于待扰动文本的语义变化程度,以排除与待扰动文段具有低相似性的扰动文段。在一种可实现方式中,候选对抗文本与待扰动文本的语义相似度可以使用两者向量的余弦相似度表示。并且,文本的向量表示可以通过通用句子编码器(universal sentenceencoder)得到。

对应于确定扰动文段的不同实现方式,基于扰动文段得到候选对抗文本的实现方式不同。下面以步骤405中几种确定扰动文段的实现方式为例,针对性地对基于扰动文段得到候选对抗文本的实现方式进行说明。

对应于步骤405的第一种和第二种实现方式,基于扰动文段得到候选对抗文本的实现方式包括:在待扰动文本中,采用扰动文段替换待扰动文段,得到待扰动文本的候选对抗文本。由于步骤405的第一种和第二种实现方式分别为根据语义、读音和形状确定扰动文段,所以使用扰动文段替换待扰动文段即可得到候选对抗文本。

对应于步骤405的第三种实现方式,基于扰动文段得到候选对抗文本的实现方式包括:按照待扰动文本中词语的排列顺序,在待扰动文段与其相邻的前一个词语之间插入扰动文段,得到待扰动文本的候选对抗文本。由于步骤405的第三种实现方式是插入掩码,并对掩码进行预测恢复,因此,可以通过在插入掩码的位置处插入扰动文段,以得到候选对抗文本。

对应于步骤405的第四种实现方式,由于扰动文段为语义无关字符,其与待扰动文段没有相关关系,因此可以通过插入的方式得到候选对抗文本。可选地,在插入扰动文段时,可以先在待扰动文本中确定插入间隙,然后在插入间隙处插入该扰动文段,以得到待扰动文本的候选对抗文本。

在一种可实现方式中,如图12所示,在待扰动文本中确定插入位置的实现过程包括:

步骤4061、针对待扰动文段的多个字符间隙,为每个字符间隙生成对应的随机数。

待扰动文段的字符间隙为按照字符的排列顺序,待扰动文段中任一字符与其相邻字符之间的间隙。在执行该步骤4061时,可以使用随机数生成器,为每个字符间隙生成一个随机数。例如,对于待扰动文本“待扰动文本的文本对抗结果为成功”,待扰动文段“文本对抗结果”包括七个字符间隙,该七个字符间隙分别位于“*文*本*对*抗*结*果*”中“*”表示的位置,则可采用随机数生成器分别为七个字符间隙生成对应的七个随机数。

步骤4062、当任一字符间隙对应的随机数满足插入阈值时,将任一字符间隙确定为待插入间隙。

当任一字符间隙对应的随机数满足插入阈值时,则可将任一字符间隙确定为待插入间隙,并向其插入扰动文段,以得到待扰动文本的候选对抗文本。例如,待扰动文段“文本对抗结果”包括七个字符间隙,该七个字符间隙对应的随机数中存在两个满足插入阈值,分别为“对”与“抗”之间的字符间隙1,“结”与“果”之间的字符间隙2,则可向字符间隙1插入“1”,向字符间隙2插入“”,得到的候选对抗文本包括文段“文本对1抗结果”。

需要说明的是,本申请实施例以使用对抗文本对文本审核模型进行训练为例进行说明,其为对抗文本的用途的一种示例,不用于限定对抗文本的用途。例如,对抗文本还可以用于对文本分类的人工智能模型(如TextCNN)进行训练。并且,在使用对抗文本对人工智能模型进行训练之前,还可以采用其他数据对人工智能模型进行训练,使得人工智能模型具有分辨正面内容和负面内容的能力。例如,在采用对抗文本对文本审核模型进行审核之前,还可以通过外卖评论对文本审核模型进行审核,使得文本审核模型能够区分正面评论和负面评论。

综上所述,在本申请实施例提供的对抗文本的生成方法中,通过确定待扰动文本的待扰动文段,然后针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段,再基于扰动文段得到待扰动文本的对抗文本。由于待扰动文段包括多个词语,基于该待扰动文段生成扰动文段时,能够针对该待扰动文段中一个或多个词语进行变换,且能够统一地考虑多种长度的文段执行扰动操作,保证了扰动方式的多样性,能够保证根据其生成丰富多样的对抗文本,有助于提高使用对抗文本训练得到的模型的性能。由于表情符号具有灵活多变的特点,当扰动文段包括表情符号时,能够有效模拟变换位点范围复杂且含有表情符号的各类文本,进一步保证了扰动方式的多样性,利用根据其生成的对抗文本对模型进行训练时,能够更加有效地保证模型的分类准确性与鲁棒性。并且,当采用本申请实施例中提供的扰动策略,针对待扰动文段的多个词语中的部分或全部词语执行扰动操作时,能够使用高度自动化的方式实现对待扰动文段的对抗变换,拓展了对抗生成策略,有益于提高各类文本处理模型的鲁棒性。

需要说明的是,本申请实施例提供的对抗文本的生成方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。

本申请实施例还提供了一种对抗文本的生成装置。如图13所示,该对抗文本的生成装置130包括:

确定模块1301,用于确定待扰动文本的待扰动文段,待扰动文段包括多个词语。

获取模块1302,还用于针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段。

处理模块1303,用于基于扰动文段得到待扰动文本的对抗文本。

可选地,确定模块1301,具体用于:按照待扰动文本中词语的排列顺序,将待扰动文本中每个词语与其后连续排列的指定个数个词语组成的词语集合,确定为待扰动文段。

可选地,确定模块1301,具体用于:按照待扰动文本中词语的排列顺序,分别将待扰动文本中每个词语与其后连续排列的不同个数的词语组成的多个词语集合,均确定为待扰动文段。

可选地,获取模块1302,具体用于:使用掩码替换待扰动文段,将替换待扰动文段后的待扰动文本作为掩码文本,和/或,按照待扰动文本中词语的排列顺序,在待扰动文段与其相邻的前一个词语之间插入掩码,将插入掩码后的待扰动文本作为掩码文本;基于掩码文本的语义,对掩码文本中的掩码进行预测恢复,得到掩码的预测文段;将预测文段作为扰动文段。

可选地,获取模块1302,具体用于:将掩码文本输入经过预训练的人工智能模型,得到人工智能模型基于掩码文本的语义输出的预测文段。

可选地,获取模块1302,具体用于:基于待扰动文段中至少一个词语的读音和形状中至少一个匹配项,将至少一个词语替换为满足相似度阈值的替换文段单元,得到扰动文段,替换文段单元包括字、词语和文段中的至少一个。

可选地,至少一个词语与其替换文段单元的形状相似度采用基于对比学习的人工智能模型得到。

可选地,当匹配项为读音,且至少一个词语与其替换文段单元分别采用第一语言和第二语言表示时,如图14所示,该对抗文本的生成装置130还包括:预处理模块1304,用于采用第三语言表示至少一个词语;预处理模块1304,还用于采用第三语言表示多个候选文段单元;预处理模块1304,还用于在采用第三语言表示的至少一个词语,与采用第三语言表示的任一候选文段单元的读音相似度满足相似度阈值时,建立至少一个词语和任一候选文段单元的映射关系。

相应的,获取模块1302,具体用于:基于至少一个词语查询映射关系,得到替换文段单元;采用替换文段单元在待扰动文段中替换至少一个词语,得到扰动文段。

可选地,获取模块1302,具体用于:将掩码文本输入经过预训练的人工智能模型,得到人工智能模型基于掩码文本的语义输出的预测文段。

可选地,获取模块1302,具体用于:获取语义无关字符,语义无关字符对待扰动文段的多个词语的语义影响均小于影响阈值;将语义无关字符作为扰动文段。

可选地,处理模块1303,具体用于:在待扰动文段的多个字符间隙中,确定待插入间隙,字符间隙为按照字符的排列顺序,待扰动文段中任一字符与其相邻字符之间的间隙;在待插入间隙插入扰动文段,得到待扰动文本的候选对抗文本;基于候选对抗文本,得到对抗文本。

可选地,处理模块1303,具体用于:针对多个字符间隙中每个字符间隙生成对应的随机数;当任一字符间隙对应的随机数满足插入阈值时,将任一字符间隙确定为待插入间隙。

可选地,确定模块1301,还用于:分别确定多个待扰动文段的重要性分数;基于多个待扰动文段的重要性分数,得到多个待扰动文段的扰动顺序。

相应的,获取模块1302,具体用于:按照扰动顺序,依次针对多个待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到多个待扰动文段的扰动文段。

可选地,确定模块1301,具体用于:对于任一待扰动文段,分别获取待扰动文本的第一预测标签及其置信度和缺损文本的第二预测标签及其置信度,缺损文本为在待扰动文本中删除待扰动文段的文本,第一预测标签和第二预测标签用于指示文本审核模型对文本的分类结果,预测标签的置信度用于指示文本属于预测标签指示的分类结果的可信程度,对抗文本用于对文本审核模型进行训练;当第一预测标签和第二预测标签相同时,将第二预测标签的置信度与第一预测标签的置信度的差值,确定为待扰动文段的重要性分数;当第一预测标签和第二预测标签不同时,获取缺损文本与待扰动文本在第一预测标签下的置信度的第一差值,并获取待扰动文本与缺损文本在第二标签下的置信度的第二差值,将第一差值与第二差值的和,确定为待扰动文段的重要性分数。

可选地,扰动文段包括以下一种或多种:字符和表情符号。

综上所述,在本申请实施例提供的对抗文本的生成装置中,确定模块确定待扰动文本的待扰动文段,获取模块针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段,处理模块基于扰动文段得到待扰动文本的对抗文本。由于待扰动文段包括多个词语,基于该待扰动文段生成扰动文段时,能够针对该待扰动文段中一个或多个词语进行变换,且能够统一地考虑多种长度的文段执行扰动操作,保证了扰动方式的多样性,能够保证根据其生成丰富多样的对抗文本,有助于提高使用对抗文本训练得到的模型的性能。由于表情符号具有灵活多变的特点,当扰动文段包括表情符号时,能够有效模拟变换位点范围复杂且含有表情符号的各类文本,进一步保证了扰动方式的多样性,利用根据其生成的对抗文本对模型进行训练时,能够更加有效地保证模型的分类准确性与鲁棒性。并且,当采用本申请实施例中提供的扰动策略针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段时,能够使用高度自动化的方式实现对待扰动文段的对抗变换,拓展了对抗生成策略,有益于提高各类文本处理模型的鲁棒性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应内容,在此不再赘述。

本申请实施例提供了一种计算机设备。该计算机设备包括存储器和处理器,存储器存储有程序指令,处理器运行程序指令以执行本申请提供的对抗文本的生成方法。例如,执行以下过程:确定待扰动文本的待扰动文段,待扰动文段包括多个词语;针对待扰动文段的多个词语中的部分或全部词语执行扰动操作,得到待扰动文段的扰动文段;基于扰动文段得到待扰动文本的对抗文本。并且,计算机设备通过执行存储器中的程序指令,执行本申请提供的对抗文本的生成方法的步骤的实现过程可以相应参考上述方法实施例中对应的描述。可选地,图1为本申请实施例提供一种计算机设备的结构示意图。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质为非易失性计算机可读存储介质,该计算机可读存储介质包括程序指令,当程序指令在计算机设备上运行时,使得计算机设备执行如本申请实施例提供的对抗文本的生成方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请实施例提供的对抗文本的生成方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的待扰动文本等都是在充分授权的情况下获取的。

在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。

本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 基于生成式对抗网络的中文文本生成图像方法及装置
  • 基于生成式对抗网络的中文文本生成图像方法及装置
技术分类

06120116508273