一种面向文本审核的中文对抗样本生成方法及装置
技术领域
本申请涉及人工智能领域,尤其涉及一种面向文本审核的中文对抗样本生成方法及装置。
背景技术
近年来随着大数据技术的发展以及硬件计算能力的不断提升,深度学习技术在许多领域得到了广泛地应用,例如计算机视觉、语音识别和自然语言处理。然而,伴随着深度学习技术的快速发展,深度学习模型的安全问题逐渐引起了研究者的关注。Szegedy等人首先发现了对抗样本(Adversarial Examples)的存在:即通过在数据集中故意添加微小的干扰所形成的输入样本,导致模型以高置信度给出一个错误的输出。
对抗样本揭示了深度学习模型的脆弱性,引发了研究者的极大关注。在自然语言处理(NLP)领域,针对深度学习模型的对抗样本已经威胁到了包括文本审核在内的现实应用。文本审核(即过滤文本中的有害内容,如辱骂、歧视、人身攻击、种族主义言论等)是NLP应用的重要组成部分,其中基于关键词匹配和基于机器学习的文本分类方法是目前最常用的审核方法。然而,有害内容的发布者常常对表达情感的敏感词做一些变形,使处理后的有害信息可以绕过文本审核系统的检测,例如使用“费物”代替“废物”,即可达到上述目的。相关技术中的,基于关键词的文本审核系统无法迅速应对这些变形词,需要额外的人工审核。
针对相关技术中存在的诸多技术问题,目前尚未提供有效的解决方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种面向文本审核的中文对抗样本生成方法及装置。
第一方面,本申请实施例提供了一种面向文本审核的中文对抗样本生成方法,包括:
获取待处理语句信息;
对所述待处理语句信息进行分词,得到多个词语;
确定所述词语的第一重要性信息;
获取各个所述词语对应的扰动词语;
根据所述第一重要性信息,依次得到将所述待处理语句信息中各个所述词语替换为对应的扰动词语后的扰动语句信息;
在确定所述扰动语句信息满足预设条件时,根据所述扰动语句信息得到对所述待处理语句信息攻击成功后的对抗样本。
可选的,如前述的方法,所述获取各个所述词语对应的扰动词语,包括:
确定所述词语的拼音以及字形;
根据所述拼音,将所述词语中的至少一个字替换为拼音后得到的字符作为所述扰动词语;或者,
根据所述字形,将所述词语中的至少一个字替换为字形满足预设相似度要求的形近字后得到的字符作为所述扰动词语;或者,
根据所述拼音以及字形,将所述词语中的至少一个字替换为同音和/或字形满足预设相似度要求的同音形近字后得到的字符作为所述扰动词语。
可选的,如前述的方法,还包括:
将所述词语按照所述第一重要性信息由高至低进行排列,得到各个词语对应的排列次序信息;
根据所述排列次序信息,确定与各个所述词语对应的替换次序信息;所述替换次序信息用于确定将所述词语替换为对应的扰动词语的次序。
可选的,如前述的方法,所述根据所述第一重要性信息,依次得到将所述待处理语句信息中各个所述词语替换为对应的扰动词语后的扰动语句信息,包括:
在所述词语对应的所有所述扰动词语中,确定重要性最低的最低重要性扰动词语,并得到所述词语与所述最低重要性扰动词语之间的对应关系;
根据所述替换次序信息,依次将各个所述词语按照所述对应关系替换为对应的所述最低重要性扰动词语,并得到所述扰动语句信息。
可选的,如前述的方法,在所述词语对应的所有所述扰动词语中,确定重要性最低的最低重要性扰动词语,包括:
通过所述扰动词语对所述待处理语句信息中的所述词语进行替换后,得到与所述扰动词语对应的替换后语句信息;
在所述替换后语句信息中对所述扰动词语进行删除,得到与所述扰动词语对应的第二缺词语句信息;
根据预设的文本审核模型确定所述替换后语句信息对应的第三权重值,以及所述第二缺词语句信息对应的第四权重值;
根据所述第三权重值分别与第四权重值之间的差值,得到所述扰动词语对应的第二重要性信息;
根据与所述词语对应的所述扰动词语对应的第二重要性信息,得到与所述词语对应的所述最低重要性扰动词语。
可选的,如前述的方法,所述确定各个所述词语对应的重要性信息,包括:
在所述待处理语句信息中分别对所述词语进行删除,得到与所述词语对应的第一缺词语句信息;
根据预设的文本审核模型确定所述待处理语句信息对应的第一权重值,以及所述第一缺词语句信息对应的第二权重值;
根据所述第一权重值分别与第二权重值之间的差值,得到所述词语对应的第一重要性信息。
可选的,如前述的方法,所述扰动语句信息满足预设条件,包括:
所述扰动语句信息中,所述扰动词语的个数小于或等于预设的扰动词语数量上限阈值;以及,
所述扰动词语的个数占所述扰动语句信息中词语总数的比例小于预设的扰动比例阈值;以及,
所述扰动语句信息对应的第一预测标签与所述待处理语句信息对应的第二预测标签不一致;其中,所述第一预测标签通过预设的文本审核模型对所述扰动语句信息进行预测得到,所述第二预测标签通过所述文本审核模型对所述待处理语句信息进行预测得到。
第二方面,本申请实施例提供了一种对抗训练方法,包括:
根据如前任一项所述方法生成的对抗样本,得到训练数据以及校验数据;
通过所述训练数据对预设的文本审核模型进行训练,得到训练后文本审核模型;
在所述训练后文本审核模型通过所述校验数据进行校验,并满足预设要求时,根据所述训练后文本审核模型得到目标文本审核模型。
第三方面,本申请实施例提供了一种面向文本审核的中文对抗样本生成装置,包括:
语句获取模块,用于获取待处理语句信息;
分词模块,用于对所述待处理语句信息进行分词,得到多个词语;
重要性确定模块,用于确定所述词语的第一重要性信息;
扰动词语模块,用于获取各个所述词语对应的扰动词语;
替换模块,用于根据所述第一重要性信息,依次得到将所述待处理语句信息中各个所述词语替换为对应的扰动词语后的扰动语句信息;
样本生成模块,用于在确定所述扰动语句信息满足预设条件时,根据所述扰动语句信息得到对所述待处理语句信息攻击成功后的对抗样本。
第四方面,本申请实施例提供了一种对抗训练装置,包括:
数据获取模块,用于根据如前任一项所述方法生成的对抗样本,得到训练数据以及校验数据;
训练模块,用于通过所述训练数据对预设的文本审核模型进行训练,得到训练后文本审核模型;
校验模块,用于在所述训练后文本审核模型通过所述校验数据进行校验,并满足预设要求时,根据所述训练后文本审核模型得到目标文本审核模型。
第五方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的处理方法。
第六方面,本申请实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行如前任一项所述的方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该方法,可以通过对待处理语句进行词语替换的方式得到对抗样本,进而可以增加用于对预测模型进行训练的样本的多样性,同时可以通过自动生成对抗样本,提升训练数据获取的便利性,提升模型训练的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种面向文本审核的中文对抗样本生成方法的流程图;
图2为本申请另一实施例提供的一种面向文本审核的中文对抗样本生成方法的流程图;
图3为本申请应用例提供的一种面向文本审核的中文对抗样本生成方法的流程示意图;
图4为本申请应用例提供的一种对抗训练的流程示意图;
图5为本申请实施例提供的一种面向文本审核的中文对抗样本生成装置的框图;
图6为本申请实施例提供的一种对抗训练装置的框图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前文本对抗领域绝大多数研究基于英文数据,其中针对英文数据的扰动方法,例如增加、删减、交换相邻字母等,很容易造成中文语义改变,影响理解。本发明结合文本审核中有害文本词形变化多样的特征,提出了一种中文对抗样本的高效生成方法,生成的对抗样本可以很好的保留原始样本的语义。通过在基于深度学习的文本审核模型的训练过程中注入对抗样本,可有效提升模型对有害样本的识别能力和鲁棒性。
图1为本申请实施例提供的一种面向文本审核的中文对抗样本生成方法,包括如下所述步骤S1至S6:
步骤S1.获取待处理语句信息;
具体的,可以通过在网上搜集社交媒体数据进而得到待处理语句信息,社交媒体数据可以包括辱骂言论和正常言论。
并且,在得到待处理语句信息之后,可以对待处理语句信息进行预处理,其中,当社交媒体数据的来源是微博等社交媒体时,预处理的方法可以包括:删除hashtag(推文话题,即微博上用前带#号的字词表示推文的话题)、@符号、转发内容、网页链接等。
步骤S2.对待处理语句信息进行分词,得到多个词语。
具体的,分词就是将连续的待处理语句信息按照一定的规范重新组合成词序列的过程。举例的,当待处理语句信息中包括词语wi时,可以进行分词得到词语集X,其中X=[w1,w2,…,wn],wi为词语集X中的一个词语。
可选的,可以通过自定义分词词典辅助对待处理语句信息的分词。
进一步的,在进行分词之后,还会删除词语列表中的停用词,然后在得到上述的词语。
步骤S3.确定词语的第一重要性信息。
第一重要性信息可以是用于表征词语对待处理语句信息的语义造成影响的重要程度的信息。
步骤S4.获取各个词语对应的扰动词语。
具体的,扰动词语可以是与原来的词语对应的进行伪装后的词语,例如:对于词语“坏人”来说,“huai人”是对“坏”进行拼音替换后得到的扰动词语。此外,扰动词语还可以采用其他的方式对词语进行处理后得到。
步骤S5.根据第一重要性信息,依次得到将待处理语句信息中各个词语替换为对应的扰动词语后的扰动语句信息。
具体的,扰动语句信息是文本中包括扰动词语的语句信息,在进行替换时,可以是按照第一重要性信息,先对待处理语句中的重要性最高的词语替换为扰动词语,然后将重要性次之的词语替换为扰动词语,按此方式逐个替换对应的扰动词语之后,得到扰动语句信息。
步骤S6.在确定扰动语句信息满足预设条件时,根据扰动语句信息得到对待处理语句信息攻击成功后的对抗样本。
具体的,预设条件可以是判定对抗样本成功生成的条件;攻击成功可以是:当待处理语句信息被识别为辱骂语句时,通过对待处理语句信息中的词语替换为对应的扰动词语之后,扰动语句信息被识别为非辱骂语句;即预测的结果与原结果相反或者不一致。
通过本实施例中的方法,可以通过对待处理语句进行词语替换的方式得到对抗样本,进而可以增加用于对预测模型进行训练的样本的多样性,同时可以通过自动生成对抗样本,提升训练数据获取的便利性,提升模型训练的效率。
在真实场景中,有害文本的发布者为了绕过审核,通常都会对有害信息(例如:辱骂文本)进行变形,包括使用拼音替换,同音形近词替换,象形字替换等。如图2所示,在一些实施例中,为了解决该技术问题,如前述的方法,所述步骤S2获取各个词语对应的扰动词语,包括如下所述步骤S21至S24:
步骤S21.确定词语的拼音以及字形。
具体的,可以通过对词语进行文字识别,得到各个词语的拼音以及字形;其中,可选的,字形可以包括词语中每个字对应的偏旁部首等信息,以便于后期可以根据对偏旁部首进行替换得到扰动词语。
步骤S22.根据拼音,将词语中的至少一个字替换为拼音后得到的字符作为扰动词语。
也就是说,将词语中的一个字或多个字,通过拼音进行替换,得到扰动词语;举例的:对于词语“坏人”来说,“huai人”是对“坏”进行拼音替换后得到的扰动词语。
步骤S23.根据字形,将词语中的至少一个字替换为字形满足预设相似度要求的形近字后得到的字符作为扰动词语。
具体的,预设相似度要求可以通过:确定形近字与被替换的字之间差异部分对应的第一区域大小,以及被替换的字整体对应的第二区域大小;计算第一区域大小与第二区域大小之间的差值;在差值小于预设上限比值阈值时,即判定形近字是与被替换字满足预设相似度要求的。进而可以通过将至少一个字替换为形近字之后,得到扰动词语,且由于该扰动词语与词语之间的差异足够小,因此不会影响人们对文本的理解。但是对于模型来说,由于扰动词语与词语之间的字符是存在差异的,因此其无法准确预测得到扰动词语的含义。举例的:通过将“村花”中的“村”替换为形近字“忖”,进而得到扰动词语“忖花”。
步骤S24.根据拼音以及字形,将词语中的至少一个字替换为同音和/或字形满足预设相似度要求的同音形近字后得到的字符作为扰动词语。
具体的,同音形近字可以是与被替换字发音相同且字形相近的字。其中同音形近字的获取方法可以是:先确定被替换字的拼音,然后通过被替换字的拼音在字库中查询拼音相同(可以是拼音相同且音调相同,也可以是只需拼音相同即可)的同音字;然后在所有同音字中,按照步骤S23中的方法查询得到对应的形近字,并将其作为同音形近字。举例的:通过对“笨蛋”中的“笨”替换为同音形近字“苯”进而得到扰动词语“苯蛋”。
通过本实施例中的方法,可以得到多种情况下的扰动词语,本实施例中的扰动词语的获取方法采用字符级替换攻击方法,即对原来的词语中的至少一个字进行替换。并且,本实施例中的替换方法得到的扰动词语基本不会影响人们对文本的理解,可以很好保留句子的语义。经过对抗攻击后,用于进行语义预测的文本审核分类器会被误导,进而将辱骂文本误判为正常文本。
举例的,通过一个未通过本实施例中的对抗文本进行训练的文本审核分类器,对包括采用上述方法得到的扰动词语的文本进行预测的结果,如下表所示:
在一些实施例中,如前述的方法,还包括如下所述步骤P1至P3:
步骤P1.确定各个词语对应的第一重要性信息。
具体的,第一重要性信息是与词语的重要性对应的信息,且重要性可以是某一特定预测类型对应的预测分值(当预测类型是辱骂时,可以重要性信息可以是对辱骂程度进行评判的分数,例如:“傻蛋”对应的第一重要性信息可以是100,“笨蛋”对应的第一重要性信息可以是80等等)。
步骤P2.将词语按照第一重要性信息由高至低进行排列,得到各个词语对应的排列次序信息。
具体的,由于每个词语都对应有一个第一重要性信息,因此,按照重要性信息对各个词语进行排序可以得到各个词语对应的排列次序信息。
步骤P3.根据排列次序信息,确定与各个词语对应的替换次序信息;替换次序信息用于确定将词语替换为对应的扰动词语的次序。
也就是说,各个词语对应的替换次序信息是根据排列次序信息得到的,因此,替换次序信息也就是根据第一重要性信息高至低进行排列得到的。
在一些实施例中,如前述的方法,所述步骤S4根据第一重要性信息,依次得到将待处理语句信息中各个词语替换为对应的扰动词语后的扰动语句信息,包括如下所述步骤S51和S52:
步骤S51.在词语对应的所有扰动词语中,确定重要性最低的最低重要性扰动词语,并得到词语与最低重要性扰动词语之间的对应关系。
具体的,在对抗样本生成过程中,由于每个词语会对应多个扰动词语,因此就会存在多个替换选择,考虑到对抗样本的生成效率,本发明采用贪心算法的思路,即对每个词进行替换时,选择当前重要性最低(例如:辱骂性质最低)的最低重要性扰动词语,并且在确定重要性最低的最低重要性扰动词语,并且根据其生成对抗样本,并对待训练模型进行训练之后,训练得到的模型也就可以识别得到重要性更高的扰动词语。
步骤S52.根据替换次序信息,依次将各个词语按照对应关系替换为对应的最低重要性扰动词语,并得到扰动语句信息。
具体的,在得到替换次序信息之后,按照词语重要性从高到低依次对词语进行扰动。确定词语wi对应的最低重要性扰动词语,在替换词语wi之后,得到扰动语句信息,当该扰动语句信息不满足预设条件时,在该扰动语句信息的基础上继续对下一个词语wi+1进行替换,直到触发预设条件。
本实施例中的方法,通过按照替换次序信息依次对各个词语替换为扰动词语,可以达到根据重要性依次对各个词语进行替换的目的,进而可以在诸如对辱骂文本进行分类的情况下,可以更加准确的针对于辱骂的词语,以使得到的对抗文本中的扰动词语可以是对应于辱骂性质最高的词语,提升对抗文本的准确性以及训练价值。
在一些实施例中,如前述的方法,所述步骤P1确定各个词语对应的重要性信息,包括如下所述步骤P11至步骤P13:
步骤P11.在待处理语句信息中分别对词语进行删除,得到与词语对应的第一缺词语句信息。
具体的,第一缺词语句信息是指在待处理语句信息中删除词语之后对应的语句信息。并且,每个词语都对应有一个第一缺词语句信息。
步骤P12.根据预设的文本审核模型确定待处理语句信息对应的第一权重值,以及第一缺词语句信息对应的第二权重值。
具体的,权重值可以是某一特定预测类型对应的预测分值。并且,该预测分值是通过文本审核模型对待处理语句信息进行预测得到的。
步骤P13.根据第一权重值分别与第二权重值之间的差值,得到词语对应的第一重要性信息。
也就是说,词语对应的第一重要性信息是由待处理语句信息对应的第一权重值以及第一缺词语句信息对应的第二权重值之间的差值得到的。
其中一种可选的实现方式可以是:
参照TextFooler算法,为移除第i个词语前后预测分值的变化,其中i=1,2,…,n。公式详见如下所示公式:
其中,
为词w
i的重要性分值;Y以及
为互不相同的类别标签,即:
F
Y(X)是语句X为类别Y的预测分值;
是语句X为类别Y的预测分值;
移除词语wi后语句X为类别Y的预测分值,
移除词语wi后语句X为类别
的预测分值。
在一些实施例中,如前述的方法,所述步骤S51在词语对应的所有扰动词语中,确定重要性最低的最低重要性扰动词语,包括如下所述步骤S511至步骤S515:
步骤S511.通过扰动词语对待处理语句信息中的词语进行替换后,得到与扰动词语对应的替换后语句信息。
也就是说,将待处理语句信息中的词语替换为与该词语对应的扰动词语,并得到替换后语句信息;举例的:当待处理语句信息为“林子大了,什么垃圾都有”,待替换的词语为“垃圾”,且对应的扰动词语为“拉圾”时,得到的替换后语句信息为“林子大了,什么拉圾都有”。
步骤S512.在替换后语句信息中对扰动词语进行删除,得到与扰动词语对应的第二缺词语句信息。
具体的,第二缺词语句信息是指在待处理语句信息中删除扰动词语之后对应的语句信息。并且,每个扰动词语都对应有一个第二缺词语句信息。
步骤S513.根据预设的文本审核模型确定替换后语句信息对应的第三权重值,以及第二缺词语句信息对应的第四权重值。
具体的,第三权重值以及第四权重值可以是针对于同一特定预测类型对应的预测分值。并且,该预测分值是通过文本审核模型对待处理语句信息进行预测得到的。
步骤S514.根据第三权重值分别与第四权重值之间的差值,得到扰动词语对应的第二重要性信息。
也就是说,扰动词语对应的第二重要性信息是由替换后语句信息对应的第三权重值以及第二缺词语句信息对应的第四权重值之间的差值得到的。
步骤S515.根据与词语对应的扰动词语对应的第二重要性信息,得到与词语对应的最低重要性扰动词语。
具体的,在得到与词语对应的各个扰动词语的第二重要性信息之后,即可从词语对应的各个扰动词语中选择得到第二重要性最低的最低重要性扰动词语。
在一些实施例中,如前述的方法,所述步骤S6扰动语句信息满足预设条件,包括如下所述步骤S61至S63:
步骤S61.扰动语句信息中,扰动词语的个数小于或等于预设的扰动词语数量上限阈值;以及,
步骤S62.扰动词语的个数占扰动语句信息中词语总数的比例小于预设的扰动比例阈值;以及
步骤S63.扰动语句信息对应的第一预测标签与待处理语句信息对应的第二预测标签不一致;其中,第一预测标签通过预设的文本审核模型对扰动语句信息进行预测得到,第二预测标签通过文本审核模型对待处理语句信息进行预测得到。
具体的,当扰动词语的个数过多或者扰动词语的个数占扰动语句信息中词语总数的比例过高时,由于对待处理语句信息的改变过多,可能会造成对抗样本较原样本语义发生较大改变的情况,因此需要设置扰动词语数量上限阈值以及扰动比例阈值。其中,扰动词语数量上限阈值是用于限定待处理语句信息中扰动词语数量的阈值,扰动比例阈值是用于扰动词语的个数占扰动语句信息中词语总数的阈值。
举例的:当扰动词语数量上限阈值为g(例如:4),且扰动比例阈值为p(例如:50%)时,当扰动词语的个数小于或等于g,且比例小于或等于p,但是预测标签没有反转时,即为满足预设条件,继续对待处理语句信息进行扰动。
当扰动词语的个数小于或等于g,且比例小于或等于p,预测标签已经反转时,即为对待处理语句信息扰动成功;当待处理语句信息被文本审核模型识别为辱骂文本时,扰动成功意味文本审核模型无法正确识别出扰动后的待处理语句信息为辱骂文本。
如果满足扰动词语的个数大于g或者比例大于p其中的一个条件,但是预测标签没有反转时,即为不满足预设条件,停止对本条待处理语句信息的扰动,扰动失败。
在一般情况下,文本审核模型是一个二分类模型,预测标签一般只存在两种情况,因此,当第一预测标签与第二预测标签不一致时,即意味着第一预测标签与第二预测标签相反。举例的,当待处理语句信息对应的标签为辱骂文本时,扰动语句信息对应的标签则需要是正常文本(即:非辱骂文本)时,说明该文本无法被文本审核模型正确预测,因而可以将其用作于文本审核模型的训练,以使其提升对于对抗样本的预测准确性。
应用本实施例中的方法,对待处理语句信息进行攻击得到的攻击结果如下表所示:
有害文本 |
数据指标 |
测试集数据量(条) |
377 |
攻击成功率(%) |
14.85 |
平均扰动词语个数(个) |
3.83 |
文本平均长度(字) |
46.37 |
因此,采用本实施例中的方法可有效生成中文的对抗样本。
如图3所示应用例中:
1.结合本自定义分词词典,对输入的句子X进行预处理、分词得到X=[w1,w2,…,wn];其中wi为分词后得到的句子X中的一个词语;
2.把整句输入和移除第i个词语后的句子输入训练好的文本审核模型(即:辱骂文本分类模型),按照TextFooler算法(一种英文对抗样本生成算法)的重要性计算公式计算每个词语的重要性。
3.移除词语列表中的停用词,按照词语重要性将词语序列X从高到低排序;
4.按照词语重要性从高到低依次进行词语扰动;对于词wi,遍历当前词语所有替换词,使用TextFooler词重要性分值公式选择替换词中辱骂性质最低的词替换原词,在此基础上继续对下一个词语进行替换,直到满足停止条件时输出对抗样本。
5.停止条件:如果同时满足以下三个条件则成功生成对抗样本:1)扰动词语的个数小于等于n;2)扰动词语个数占文本词语总数的比例小于p;3)预测标签反转;否则不生成对抗样本。
根据本申请另一方面的一个实施例,还提供了一种对抗训练方法,包括如下所述步骤S7至S9:
步骤S7.根据如前任一实施例方法生成的对抗样本,得到训练数据以及校验数据。
具体的,训练数据以及校验数据可以同时包括对抗样本以及原始测试集。其中,原始测试集中的样本可以是未通过扰动词语进行替换的原始语句信息。
一般的,在训练数据构建过程中,保留对抗样本对应的待处理语句信息对应的标签(即:待处理语句信息对应的是辱骂文本时,则对抗样本对应的标签也为辱骂文本)。
步骤S8.通过训练数据对预设的文本审核模型进行训练,得到训练后文本审核模型;
步骤S9.在训练后文本审核模型通过校验数据进行校验,并满足预设要求时,根据训练后文本审核模型得到目标文本审核模型。
具体的,预设要求可以是预先设置的与文本审核模型对应的预测的准确率下限阈值。此外,还可以是其他要求,在此不一一进行限定。
也就是说,先通过训练数据对文本审核模型进行训练,得到训练后文本审核模型,然后通过校验数据对训练后文本审核模型进行校验并满足预设要求时,即可得到目标文本审核模型。
当对抗样本对应的文本类型为辱骂文本,且通过本实施例得到的训练数据以及校验数据对BERT模型进行训练时,训练后得到的模型具有如下表所示效果:
从上表中可见,经过对抗训练后,BERT模型对于对抗样本的识别准确率从86.47%提升到了98.94%,说明对抗训练能有效提升模型对于有害样本的识别能力。
总的来说,对抗样本可以有效增加训练样本的多样性,模型学习到了替换词语(即:扰乱词语)和原始词语间的关联性,改善了模型文本向量表示空间表现不佳的区域。
如图4所示的应用例中:
1.获取训练数据;
2.对输入的训练数据进行数据预处理;
3.得到预处理后的训练数据;
4.将经过预处理后的训练数据输入对抗样本生成模块;
5.获得训练数据的对抗样本,原始样本标签与对抗样本标签保持一致;
6.混合对抗样本和原始训练数据中作为新的训练数据输入文本审核模型;
7.根据新的训练数据重新对文本审核模型进行微调,获得经过对抗训练的文本审核模型。
如图5所示,根据本申请另一方面的一个实施例,还提供了一种面向文本审核的中文对抗样本生成装置,包括:
语句获取模块11,用于获取待处理语句信息;
分词模块12,用于对待处理语句信息进行分词,得到多个词语;
重要性确定模块13,用于确定词语的第一重要性信息;
扰动词语模块14,用于获取各个词语对应的扰动词语;
替换模块15,用于根据第一重要性信息,依次得到将待处理语句信息中各个词语替换为对应的扰动词语后的扰动语句信息;
样本生成模块16,用于在确定扰动语句信息满足预设条件时,根据扰动语句信息得到对待处理语句信息攻击成功后的对抗样本。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
如图6所示,根据本申请另一方面的一个实施例,本申请还提供了一种对抗训练装置,包括:
数据获取模块21,用于根据如前任一实施例方法生成的对抗样本,得到训练数据以及校验数据;
训练模块22,用于通过训练数据对预设的文本审核模型进行训练,得到训练后文本审核模型;
校验模块23,用于在训练后文本审核模型通过校验数据进行校验,并满足预设要求时,根据训练后文本审核模型得到目标文本审核模型。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请的另一个实施例,还提供一种电子设备,包括:如图7所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。
上述电子设备提到的总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种存储介质,存储介质包括存储的程序,其中,程序运行时执行上述方法实施例的方法步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。