CN111507093A - 一种基于相似字典的文本攻击方法、装置及存储介质 - Google Patents
一种基于相似字典的文本攻击方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111507093A CN111507093A CN202010263721.7A CN202010263721A CN111507093A CN 111507093 A CN111507093 A CN 111507093A CN 202010263721 A CN202010263721 A CN 202010263721A CN 111507093 A CN111507093 A CN 111507093A
- Authority
- CN
- China
- Prior art keywords
- text
- modified
- word
- similar
- dictionary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于相似字典的文本攻击方法,步骤包括:获取作为神经网络输入数据的原始文本;确定在所述原始文本中需要修改的单词;在字典中选出与所述需要修改的单词相似的替代单词;在所述原始文本中将所述需要修改的单词修改成替代单词,以生成对抗样本文本。本发明提供了一种基于相似字典的文本攻击方法、装置及存储介质,在不影响人阅读的前提下,通过添加较小的对抗扰动,影响神经网络模型的输出结果。
Description
技术领域
本发明涉及机器学习、自然语言处理以及文本分类技术领域,尤其是涉及一种基于相似字典的文本攻击方法、装置及存储介质。
背景技术
自然语言处理,计算机接受用户以自然语言形式输入,并在内部通过人类所定义的算法进行处理,以模拟人类对自然语言的理解,并返回用户所期望的结果。其目的在于用计算机代替人工来处理大规模的自然语言信息。
而随着深度学习技术的快速发展,大幅提升了对众多自然语言处理任务(比如文本分类,机器翻译等)的工作能力,越来越多的深度学习模型被用于现实生活中。但是深度学习模型本质上的黑箱属性,也为实际应用带来了潜在的风险。
目前有学者研究发现,只要对深度学习模型的输入添加一些微小的扰动就能轻易改变模型的预测结果。后续的研究将该种扰动称之为对抗扰动,扰动后的输入称为对抗样本,将输入对抗样本误导模型的这一过程称为对抗攻击。自然语言处理的应用比如文本分类、情感分类、问答系统、推荐系统等也都会受到了对抗攻击的影响。
虽然当前已有生成基于嵌入向量生成文本对抗样本的方法,但是现有技术仍然有未解决的技术问题。例如,基于可解释性对抗文本的对抗训练方法(申请号201910729584.9)该方法通过生成对抗样本的模型来学习添加的扰动的方向向量,这会导致整个句子的结构发生较大的改变,而结构改变也会导致文本的语义发生巨大的变化,这也违背了在生成对抗样本时所添加的扰动必须相对较小的原则;另外,在论文<HotFlip:White-Box Adversarial Examples for Text Classification>(Ebrahimi,J.,Rao,A.,Lowd,D.,&Dou,D.(2018).meeting of the association for computationallinguistics)中,该技术方案虽然满足添加的扰动必须小的原则,但是该方案修改文本后出现拼写错误的单词,影响阅读。
发明内容
针对上述技术问题,本发明提供了一种基于相似字典的文本攻击方法、装置及存储介质,在不影响人阅读的前提下,通过添加较小的对抗扰动,影响神经网络模型的输出结果。所述技术方案如下:
第一方面,本发明实施例提供了一种基于相似字典的文本攻击方法,步骤包括:
获取作为神经网络输入数据的原始文本;
确定在所述原始文本中需要修改的单词;
在字典中选出与所述需要修改的单词相似的替代单词;
在所述原始文本中将所述需要修改的单词修改成替代单词,以生成对抗样本文本。
在本发明第一方面的第一种可能的实现方式中,所述确定在所述原始文本中需要修改的单词,具体为:
将所述原始文本的某一单词替换成另一个拼写相似的单词,以生成修改文本;
将所述原始文本和所述修改文本分别输入至神经网络进行计算;
通过比较所述原始文本和所述修改文本的计算结果确定两者的相似度;
对应所述原始文本的每一个单词生成若干修改文本,将相似度最低的修改文本对应的单词确定为需要修改的单词。
在本发明第一方面的第二种可能的实现方式中,所述通过比较所述原始文本和所述修改文本的计算结果确定两者的相似度,通过以下方式计算:
dj=|a′0-a0|+|a′1-a1|
其中,输入神经网络进行计算后,所述原始文本和所述修改文本的计算结果分别为概率(a′0,a′1)和(a0,a1),dj表示差异值。
在本发明第一方面的第三种可能的实现方式中,所述在字典中选出与所述需要修改的单词相似的替代单词,具体为:
列举字典中所有与所述需要修改的单词拼写相似的修改单词;
将所述修改单词分别替换所述需要修改的单词,以对应生成若干对抗样本;
分别计算神经网络对所述若干对抗样本的识别概率;
根据所述识别概率找出对抗样本及所述对抗样本对应的修改单词。
第二方面,本发明实施例提供了一种基于相似字典的文本攻击装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于相似字典的文本攻击方法。
第三方面,本发明实施例提供了一种基于相似字典的文本攻击装置,包括:
文本获取模块,用于获取作为神经网络输入数据的原始文本;
文本解析模块,用于确定在所述原始文本中需要修改的单词;
检索模块,用于在字典中选出与所述需要修改的单词相似的替代单词;
文本修改模块,用于在所述原始文本中将所述需要修改的单词修改成替代单词,以生成对抗样本文本。
在本发明第三方面的第一种可能的实现方式中,所述文本解析模块,还包括:
修改文本生成模块,用于将所述原始文本的某一单词替换成另一个拼写相似的单词,以生成修改文本;
文本分类模块,用于将所述原始文本和所述修改文本分别输入至神经网络进行计算;
计算模块,用于通过比较所述原始文本和所述修改文本的计算结果确定两者的相似度;
遍历模块,用于对应所述原始文本的每一个单词生成若干修改文本,将相似度最低的修改文本对应的单词确定为需要修改的单词。
在本发明第三方面的第二种可能的实现方式中,所述计算模块还用于执行以下方式计算:
dj=|a′0-a0|+|a′1-a1|
其中,输入神经网络进行计算后,所述原始文本和所述修改文本的计算结果分别为概率(a′0,a′1)和(a0,a1),dj表示差异值。
在本发明第三方面的第三种可能的实现方式中,所述检索模块,还包括:
查询模块,用于列举字典中所有与所述需要修改的单词拼写相似的修改单词;
对抗样本生成模块,用于将所述修改单词分别替换所述需要修改的单词,以对应生成若干对抗样本;
概率计算模块,用于分别计算神经网络对所述若干对抗样本的识别概率;
筛选模块,用于根据所述识别概率找出对抗样本及所述对抗样本对应的修改单词。
第四方面,本发明实施例提供了一种基于相似字典的文本攻击方法的存储介质,所述基于相似字典的文本攻击方法的存储介质用于存储一个或多个计算机程序,所述一个或多个计算机程序包括程序代码,当所述计算机程序在计算机上运行时,所述程序代码用于执行上述任一项所述的基于相似字典的文本攻击方法。
相比于现有技术,本发明实施例具有如下有益效果:
本发明提供了一种基于相似字典的文本攻击方法、装置及存储介质,所述基于相似字典的文本攻击方法通过将原始文本中需要修改的单词修改成在字典中与所述需要修改的单词相似的替代单词,从而生成对抗样本文本,仅改变原始文本中的某个单词中的字符,将文本中的某个单词改变为与其拼写相近的另外一个单词,同时尽可能保留原始文本的语义,在不影响人阅读的前提下,改变神经网络模型对文本分类的输出结果,实现了在最小程度上对原始文本进行修改,在最大限度上不影响人类识别。
而且,所述基于相似字典的文本攻击方法充分考虑了算法效率的因素,首先通过测试选出修改后对分类结果影响最大的单词,其次在字典中选取与该单词拼写相似的单词对原始文本中的单词进行替换,大大减少了算法的时间复杂度,提高了文本对抗样本生成的效率。
附图说明
图1是本发明实施例中的一种基于相似字典的文本攻击方法的步骤流程图;
图2是本发明实施例中的一种基于相似字典的文本攻击方法所生成的对抗样本影响神经网络输出的流程图;
图3是本发明实施例中的一种基于相似字典的文本攻击装置的模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,本发明还提供一种示例性实施例,一种基于相似字典的文本攻击方法,步骤包括:
S101、获取作为神经网络输入数据的原始文本;
S102、确定在所述原始文本中需要修改的单词;
S103、在字典中选出与所述需要修改的单词相似的替代单词;其中,选取单词的方法包括但不限于随机选取。
所述与所述需要修改的单词相似的替代单词,可以是拼写相似、语义相似,并且包含但不限于aclIMDB数据集中出现的单词。
S104、在所述原始文本中将所述需要修改的单词修改成替代单词,以生成对抗样本文本。
现有技术直接对原始文本中的某个单词中的字母的向量表示进行修改的方法,并没有考虑修改之后的单词是否是一个拼写正确的单词,很容易被人和拼写检查模块注意进行校正。与现有技术相比,本实施例的基于相似字典的文本攻击方法生成的对抗样本均为字典中存在的单词,不会受到拼写检查模块的影响,因此具有很好的隐蔽性。
所述确定在所述原始文本中需要修改的单词,具体为:
将所述原始文本的某一单词替换成另一个拼写相似的单词,以生成修改文本;
将所述原始文本和所述修改文本分别输入至神经网络进行计算;
通过比较所述原始文本和所述修改文本的计算结果确定两者的相似度;
对应所述原始文本的每一个单词生成若干修改文本,将相似度最低的修改文本对应的单词确定为需要修改的单词。
所述通过比较所述原始文本和所述修改文本的计算结果确定两者的相似度,通过以下方式计算:
dj=|a′0-a0|+|a′1-a1|
输入神经网络进行计算后,所述原始文本和所述修改文本的计算结果分别为概率(a′0,a′1)和(a0,a1),dj表示差异值。
所述确定在所述原始文本中需要修改的单词,具体为:
确定所述原始文本的单词数;
将所述原始文本的所有单词排列成元素个数等于所述单词数的原始集合;
将所述原始集合其中一个单词替换成另一个拼写相似的单词,从而形成修改集合;
将所述原始集合和修改集合输入神经网络后,分别输出对应的概率。
本实施例将所述原始文本的所有单词排列成元素个数等于所述单词数的原始集合,并且将所述原始集合其中一个单词替换成另一个拼写相似的单词,从而形成修改集合,思路清晰、简单且将文本解析成序列更易于实现所述基于相似字典的文本攻击方法。
在一个具体的实施例中,电影评论文本X的单词个数为n,即该样本中含有n个单词。定义xk代表原始文本中第k个单词。将所述电影评论文本X的n个单词排列成{X1,X2,X3,…,Xn}。在每一个单词使用拼写相似单词替换的方法改变当前单词,例如选取X中第j个单词Xj,在字典中找出与该单词拼写相似的单词X′j,用X′j替换Xj,得到改变后的文本X′={X1,X2,…,X′j,…,Xn},将X′和X分别作为神经网络M的输入分别得到概率(a′0,a′1)和(a0,a1),计算dj=|a′0-a0|+|a′1-a1|,在遍历X中包含的所有n个单词时,找出使得dj最大的情况,取当前的单词为Xm。
所述在字典中选出与所述需要修改的单词相似的替代单词,具体为:
列举字典中所有与所述需要修改的单词拼写相似的修改单词;
将所述修改单词分别替换所述需要修改的单词,以对应生成若干对抗样本;
分别计算神经网络对所述若干对抗样本的识别概率;
根据所述识别概率找出对抗样本及所述对抗样本对应的修改单词。
可以理解的是,若所述需要修改的单词为xm,假设字典中一共有y个单词与所述需要修改的单词xm拼写相似,记为分别将Xm替换为上述y个单词,得到y个文本分别记为(X1,X2,…,Xy),将修改后的文本作为神经网络M的输出,分别计算神经网络M对当前对抗样本的识别概率,并找出dj最大的情况,记dj最大情况下的单词为于是生成的对抗样本X′为:修改原样本X中第m个单词,且将该单词修改为
请参见图2,图中201代表神经网络分类器对干净样本的分类的流程,202代表神经网络对经过本发明的方法生成的对抗样本的分类流程。211代表没有经过任何处理的原始干净的文本数据,212表示训练好的神经网络分类模型,给定一串输入文本,输出该文本的类别。213代表原始文本经过分类模型输出的标签值。221表示经过本发明提出的生成对抗样本的方法生成的X的对抗样本。222表示训练好的神经网络分类模型。223表示生成的对抗样本输入到分类模型后,模型对其预测的标签与其真实标签不相同。
现有技术将一个具有n个字母的单词表示为一个n×26的矩阵,而本发明实施例通过将文本转换成序列,并遍历文本序列的单词,选出对文本影响最大的单词并用最合适的单词进行替换,仅对原始文本进行修改,可以大大节省计算时间,能更加快速高效的生成对抗样本。
所述将所述原始文本和所述修改文本分别输入至神经网络进行计算,具体为:
输入数据经过嵌入层变成对应的向量;
所述向量经由卷积层和池化层处理后传递给全连接层以进行分类;
最终输出的是当前样本被识别为正向或负向的概率;输出结果表示为(a0,a1),最终输出结果包含两个节点,每个节点分别代表识别为某一类的概率;其中ai表示样本被识别为类别i的概率,负向的评论标签记为0,正向的评论标签记为1;可以理解的是,a0+a1=1。
本发明实施例相比于现有技术,不涉及神经网络的内部结构,包括训练好的神经网络中的卷积核的大小和池化层采取的策略等。仅通过调用神经网络结合softmax层输出的各个类别的概率进行判断。
本发明还提供一种示例性实施例,一种基于相似字典的文本攻击装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于相似字典的文本攻击方法。
本发明还提供一种示例性实施例,一种基于相似字典的文本攻击方法的存储介质,所述基于相似字典的文本攻击方法的存储介质用于存储一个或多个计算机程序,所述一个或多个计算机程序包括程序代码,当所述计算机程序在计算机上运行时,所述程序代码用于执行上述的基于相似字典的文本攻击方法。
请参见图3,本发明还提供一种示例性实施例,一种基于相似字典的文本攻击装置,包括:
文本获取模块101,用于获取作为神经网络输入数据的原始文本;
文本解析模块102,用于确定在所述原始文本中需要修改的单词;
检索模块103,用于在字典中选出与所述需要修改的单词相似的替代单词;其中,选取单词的方法包括但不限于随机选取。
所述与所述需要修改的单词相似的替代单词,可以是拼写相似、语义相似,并且包含但不限于aclIMDB数据集中出现的单词。
文本修改模块104,用于在所述原始文本中将所述需要修改的单词修改成替代单词,以生成对抗样本文本。
现有技术直接对原始文本中的某个单词中的字母的向量表示进行修改的方法,并没有考虑修改之后的单词是否是一个拼写正确的单词,很容易被人和拼写检查模块注意进行校正。与现有技术相比,本实施例的基于相似字典的文本攻击方法生成的对抗样本均为字典中存在的单词,不会受到拼写检查模块的影响,因此具有很好的隐蔽性。
所述文本解析模块,还包括:
修改文本生成模块,用于将所述原始文本的某一单词替换成另一个拼写相似的单词,以生成修改文本;
文本分类模块,用于将所述原始文本和所述修改文本分别输入至神经网络进行计算;
计算模块,用于通过比较所述原始文本和所述修改文本的计算结果确定两者的相似度;
遍历模块,用于对应所述原始文本的每一个单词生成若干修改文本,将相似度最低的修改文本对应的单词确定为需要修改的单词。
所述计算模块还用于执行以下方式计算:
dj=|a′0-a0|+|a′1-a1|
其中,输入神经网络进行计算后,所述原始文本和所述修改文本的计算结果分别为概率(a′0,a′1)和(a0,a1),dj表示差异值。
所述确定在所述原始文本中需要修改的单词,具体为:
确定所述原始文本的单词数;
将所述原始文本的所有单词排列成元素个数等于所述单词数的原始集合;
将所述原始集合其中一个单词替换成另一个拼写相似的单词,从而形成修改集合;
将所述原始集合和修改集合输入神经网络后,分别输出对应的概率。
本实施例将所述原始文本的所有单词排列成元素个数等于所述单词数的原始集合,并且将所述原始集合其中一个单词替换成另一个拼写相似的单词,从而形成修改集合,思路清晰、简单且将文本解析成序列更易于实现所述基于相似字典的文本攻击方法。
在一个具体的实施例中,电影评论文本X的单词个数为n,即该样本中含有n个单词。定义xk代表原始文本中第k个单词。将所述电影评论文本X的n个单词排列成{X1,X2,X3,...,Xn}。在每一个单词使用拼写相似单词替换的方法改变当前单词,例如选取X中第j个单词Xj,在字典中找出与该单词拼写相似的单词X′j,用X′j替换Xj,得到改变后的文本X′={X1,X2,...,X′j,...,Xn},将X′和X分别作为神经网络M的输入分别得到概率(a′0,a′1)和(a0,a1),计算dj=|a′0-a0|+|a′1-a1|,在遍历X中包含的所有n个单词时,找出使得dj最大的情况,取当前的单词为Xm。
所述检索模块,还包括:
查询模块,用于列举字典中所有与所述需要修改的单词拼写相似的修改单词;
对抗样本生成模块,用于将所述修改单词分别替换所述需要修改的单词,以对应生成若干对抗样本;
概率计算模块,用于分别计算神经网络对所述若干对抗样本的识别概率;
筛选模块,用于根据所述识别概率找出对抗样本及所述对抗样本对应的修改单词。
可以理解的是,若所述需要修改的单词为xm,假设字典中一共有y个单词与所述需要修改的单词xm拼写相似,记为分别将Xm替换为上述y个单词,得到y个文本分别记为(X1,X2,…,Xy),将修改后的文本作为神经网络M的输出,分别计算神经网络M对当前对抗样本的识别概率,并找出dj最大的情况,记dj最大情况下的单词为于是生成的对抗样本X′为:修改原样本X中第m个单词,且将该单词修改为
现有技术将一个具有n个字母的单词表示为一个n×26的矩阵,而本发明实施例通过将文本转换成序列,并遍历文本序列的单词,选出对文本影响最大的单词并用最合适的单词进行替换,仅对原始文本进行修改,可以大大节省计算时间,能更加快速高效的生成对抗样本。
所述将所述原始文本和所述修改文本分别输入至神经网络进行计算,具体为:
输入数据经过嵌入层变成对应的向量;
所述向量经由卷积层和池化层处理后传递给全连接层以进行分类;
最终输出的是当前样本被识别为正向或负向的概率;输出结果表示为(a0,a1),最终输出结果包含两个节点,每个节点分别代表识别为某一类的概率;其中ai表示样本被识别为类别i的概率,负向的评论标签记为0,正向的评论标签记为1;可以理解的是,a0+a1=1。
本发明实施例相比于现有技术,不涉及神经网络的内部结构,包括训练好的神经网络中的卷积核的大小和池化层采取的策略等。仅通过调用神经网络结合softmax层输出的各个类别的概率进行判断。
本发明提供了一种基于相似字典的文本攻击方法、装置及存储介质,所述基于相似字典的文本攻击方法通过将原始文本中需要修改的单词修改成在字典中与所述需要修改的单词相似的替代单词,从而生成对抗样本文本,仅改变原始文本中的某个单词中的字符,将文本中的某个单词改变为与其拼写相近的另外一个单词,同时尽可能保留原始文本的语义,在不影响人阅读的前提下,改变神经网络模型对文本分类的输出结果,实现了在最小程度上对原始文本进行修改,在最大限度上不影响人类识别。
而且,所述基于相似字典的文本攻击方法充分考虑了算法效率的因素,首先通过测试选出修改后对分类结果影响最大的单词,其次在字典中选取与该单词拼写相似的单词对原始文本中的单词进行替换,大大减少了算法的时间复杂度,提高了文本对抗样本生成的效率。
需要说明的是,本发明提供一种具体的参考例子,一般而言,从给定的一串文本(如电影评论)中得到评论者对于该电影的情绪(正向的或负向的),可记每条文本都是一个包含了N个单词的一段话。例如斯坦福大学人工智能实验室2011年推出的原始的电影评论数据集aclIMDB(Large Movie Review Dataset http://ai.stanford.edu/~amaas/data/sentiment/)训练数据集中包含了25000条数据,其中包含正向评价12500条,负向评价12500条。
设计神经网络模型来分类这些评论。以TextCNN为例讲解。TextCNN主要包含以下几层:
嵌入层:
在使用CNN进行图像识别时,输入为图像中的像素点,且图片中的单个物体像素点是连续的,卷积核在输入层滑动时可直接提取到图片中的物体特征。此外图片的像素点组成的矩阵也有利于卷积上下左右滑动提取特征。但文本中的单词都是离散的,且需要联系上下文一同理解,同时传统机器学习中文本分类所使用的向量表示具有高维、稀疏的特性,因此需要在神经网络模型前加入一个嵌入层,将输入文本中的词语表示为低维且便于神经网络处理的向量。
卷积层:
TextCNN中的卷积层由多个不同尺寸的卷积核组成,但是这些卷积核的宽度均为相等的,均等于词向量的维度,即卷积核在输入数据上仅进行一维的滑动。在输入时每一行代表一个单词的向量表示,以“I like this movie very much!”为例,假设该串文本经过嵌入层后,每个单词被表示为5维的向量,输入即为一个7×5的矩阵,此时选定的卷积核的宽度即为向量的维度,因此卷积核的高度也为窗口值,类似于N-Gram模型中的N,卷积核的高度也为需要结合任务来分析的超参数。
池化层:
由于卷积层的输出会受到卷积核的高度的影响,所以在TextCNN模型中使用的池化层采用的策略为max-pool(最大值池化),既减少了模型的参数,又在卷积层不定长的输入基础上得到一个定长的输出作为全连接层的输入。
全连接层:
全连接层的作用就是对输入的数据进行分类,原始的TextCNN模型使用的全连接层仅有一层隐藏层。经由softmax激活函数输出每个类别的概率。
神经网络通过输入所有的样本文本进行训练,每个样本文本可以得出输出概率(a0,a1),通过当前样本对应的正确的标签以及识别得到的概率进行修正和训练(训练方法有很多种),最终形成一个稳定的电影评论分类神经网络,记为M。
对于任何一串电影评论文本X,将该样本输入神经网络M中,神经网络输出为(a0,a1),取二者之中最大的数字,即为神经网络对该样本分类的标签。例如输出中a0=0.7为最大,当前样本X就被识别为一个负向评论。
本发明的基于相似字典的文本攻击方法对原始输入文本进行改变,通过改变原始文本中某一个单词,由原始输入得到对抗样本使得神经网络分类出错。对于二分类来说,假设原始样本经过神经网络输出为0的概率最大,经过修改之后要使得输出为1的概率相对较大。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
Claims (10)
1.一种基于相似字典的文本攻击方法,其特征在于,步骤包括:
获取作为神经网络输入数据的原始文本;
确定在所述原始文本中需要修改的单词;
在字典中选出与所述需要修改的单词相似的替代单词;
在所述原始文本中将所述需要修改的单词修改成替代单词,以生成对抗样本文本。
2.如权利要求1所述的基于相似字典的文本攻击方法,其特征在于,所述确定在所述原始文本中需要修改的单词,具体为:
将所述原始文本的某一单词替换成另一个拼写相似的单词,以生成修改文本;
将所述原始文本和所述修改文本分别输入至神经网络进行计算;
通过比较所述原始文本和所述修改文本的计算结果确定两者的相似度;
对应所述原始文本的每一个单词生成若干修改文本,将相似度最低的修改文本对应的单词确定为需要修改的单词。
3.如权利要求2所述的基于相似字典的文本攻击方法,其特征在于,所述通过比较所述原始文本和所述修改文本的计算结果确定两者的相似度,通过以下方式计算:
dj=|a′0-a0|+|a′1-a1|
其中,输入神经网络进行计算后,所述原始文本和所述修改文本的计算结果分别为概率(a′0,a′1)和(a0,a1),dj表示差异值。
4.如权利要求1所述的基于相似字典的文本攻击方法,其特征在于,所述在字典中选出与所述需要修改的单词相似的替代单词,具体为:
列举字典中所有与所述需要修改的单词拼写相似的修改单词;
将所述修改单词分别替换所述需要修改的单词,以对应生成若干对抗样本;
分别计算神经网络对所述若干对抗样本的识别概率;
根据所述识别概率找出对抗样本及所述对抗样本对应的修改单词。
5.一种基于相似字典的文本攻击装置,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的基于相似字典的文本攻击方法。
6.一种基于相似字典的文本攻击装置,其特征在于,包括:
文本获取模块,用于获取作为神经网络输入数据的原始文本;
文本解析模块,用于确定在所述原始文本中需要修改的单词;
检索模块,用于在字典中选出与所述需要修改的单词相似的替代单词;
文本修改模块,用于在所述原始文本中将所述需要修改的单词修改成替代单词,以生成对抗样本文本。
7.如权利要求6所述的基于相似字典的文本攻击装置,其特征在于,所述文本解析模块,还包括:
修改文本生成模块,用于将所述原始文本的某一单词替换成另一个拼写相似的单词,以生成修改文本;
文本分类模块,用于将所述原始文本和所述修改文本分别输入至神经网络进行计算;
计算模块,用于通过比较所述原始文本和所述修改文本的计算结果确定两者的相似度;
遍历模块,用于对应所述原始文本的每一个单词生成若干修改文本,将相似度最低的修改文本对应的单词确定为需要修改的单词。
8.如权利要求7所述的基于相似字典的文本攻击装置,其特征在于,所述计算模块还用于执行以下方式计算:
dj=|a′0-a0|+|a′1-a1|
其中,输入神经网络进行计算后,所述原始文本和所述修改文本的计算结果分别为概率(a′0,a′1)和(a0,a1),dj表示差异值。
9.如权利要求6所述的基于相似字典的文本攻击装置,其特征在于,所述检索模块,还包括:
查询模块,用于列举字典中所有与所述需要修改的单词拼写相似的修改单词;
对抗样本生成模块,用于将所述修改单词分别替换所述需要修改的单词,以对应生成若干对抗样本;
概率计算模块,用于分别计算神经网络对所述若干对抗样本的识别概率;
筛选模块,用于根据所述识别概率找出对抗样本及所述对抗样本对应的修改单词。
10.一种基于相似字典的文本攻击方法的存储介质,其特征在于,所述基于相似字典的文本攻击方法的存储介质用于存储一个或多个计算机程序,所述一个或多个计算机程序包括程序代码,当所述计算机程序在计算机上运行时,所述程序代码用于执行上述权利要求1至4任一项所述的基于相似字典的文本攻击方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010263721.7A CN111507093A (zh) | 2020-04-03 | 2020-04-03 | 一种基于相似字典的文本攻击方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010263721.7A CN111507093A (zh) | 2020-04-03 | 2020-04-03 | 一种基于相似字典的文本攻击方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111507093A true CN111507093A (zh) | 2020-08-07 |
Family
ID=71870892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010263721.7A Pending CN111507093A (zh) | 2020-04-03 | 2020-04-03 | 一种基于相似字典的文本攻击方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111507093A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380845A (zh) * | 2021-01-15 | 2021-02-19 | 鹏城实验室 | 句子噪声设计方法、设备及计算机存储介质 |
CN113723506A (zh) * | 2021-08-30 | 2021-11-30 | 南京星环智能科技有限公司 | 一种对抗样本的生成方法、设备及存储介质 |
WO2022156609A1 (zh) * | 2021-01-19 | 2022-07-28 | 北京嘀嘀无限科技发展有限公司 | 键盘加密方法、设备、存储介质及计算机程序产品 |
CN117573814A (zh) * | 2024-01-17 | 2024-02-20 | 中电科大数据研究院有限公司 | 一种舆论态势评估方法、装置、系统以及存储介质 |
CN117573814B (zh) * | 2024-01-17 | 2024-05-10 | 中电科大数据研究院有限公司 | 一种舆论态势评估方法、装置、系统以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046622A (zh) * | 2019-04-04 | 2019-07-23 | 广州大学 | 一种有目标的攻击样本生成方法、装置、设备及存储介质 |
CN110427618A (zh) * | 2019-07-22 | 2019-11-08 | 清华大学 | 对抗样本生成方法、介质、装置和计算设备 |
-
2020
- 2020-04-03 CN CN202010263721.7A patent/CN111507093A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046622A (zh) * | 2019-04-04 | 2019-07-23 | 广州大学 | 一种有目标的攻击样本生成方法、装置、设备及存储介质 |
CN110427618A (zh) * | 2019-07-22 | 2019-11-08 | 清华大学 | 对抗样本生成方法、介质、装置和计算设备 |
Non-Patent Citations (1)
Title |
---|
邓建国等: "监督学习中的损失函数及应用研究", 《大数据》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380845A (zh) * | 2021-01-15 | 2021-02-19 | 鹏城实验室 | 句子噪声设计方法、设备及计算机存储介质 |
WO2022156609A1 (zh) * | 2021-01-19 | 2022-07-28 | 北京嘀嘀无限科技发展有限公司 | 键盘加密方法、设备、存储介质及计算机程序产品 |
CN113723506A (zh) * | 2021-08-30 | 2021-11-30 | 南京星环智能科技有限公司 | 一种对抗样本的生成方法、设备及存储介质 |
CN113723506B (zh) * | 2021-08-30 | 2022-08-05 | 南京星环智能科技有限公司 | 一种对抗样本的生成方法、设备及存储介质 |
CN117573814A (zh) * | 2024-01-17 | 2024-02-20 | 中电科大数据研究院有限公司 | 一种舆论态势评估方法、装置、系统以及存储介质 |
CN117573814B (zh) * | 2024-01-17 | 2024-05-10 | 中电科大数据研究院有限公司 | 一种舆论态势评估方法、装置、系统以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984724B (zh) | 利用高维表示提高特定属性情感分类准确率方法 | |
CN108399158B (zh) | 基于依存树和注意力机制的属性情感分类方法 | |
Dai et al. | Semi-supervised sequence learning | |
CN107025284A (zh) | 网络评论文本情感倾向的识别方法及卷积神经网络模型 | |
US11288324B2 (en) | Chart question answering | |
CN111368086A (zh) | 一种基于CNN-BiLSTM+attention模型的涉案新闻观点句情感分类方法 | |
CN111507093A (zh) | 一种基于相似字典的文本攻击方法、装置及存储介质 | |
CN113704416B (zh) | 词义消歧方法、装置、电子设备及计算机可读存储介质 | |
CN114756681B (zh) | 一种基于多注意力融合的评教文本细粒度建议挖掘方法 | |
CN111274790A (zh) | 基于句法依存图的篇章级事件嵌入方法及装置 | |
CN113255320A (zh) | 基于句法树和图注意力机制的实体关系抽取方法及装置 | |
CN111368082A (zh) | 一种基于层次网络的领域自适应词嵌入的情感分析方法 | |
CN113987187A (zh) | 基于多标签嵌入的舆情文本分类方法、系统、终端及介质 | |
CN111582506A (zh) | 基于全局和局部标记关系的偏多标记学习方法 | |
CN112784532A (zh) | 用于短文本情感分类的多头注意力记忆网络 | |
US20230014904A1 (en) | Searchable data structure for electronic documents | |
CN112989803B (zh) | 一种基于主题向量学习的实体链接预测方法 | |
CN115906824A (zh) | 一种文本细粒度情感分析方法、系统、介质和计算设备 | |
Arora et al. | Sentimental Analysis on IMDb Movies Review using BERT | |
CN114443846A (zh) | 一种基于多层级文本异构图的分类方法、装置及电子设备 | |
CN114595324A (zh) | 电网业务数据分域的方法、装置、终端和非暂时性存储介质 | |
CN113495964A (zh) | 三元组的筛选方法、装置、设备及可读存储介质 | |
CN110633363A (zh) | 一种基于nlp和模糊多准则决策的文本实体推荐方法 | |
Gopu et al. | Image Captioning using Deep Learning Techniques | |
Recto et al. | Emotion Recognition of Students’ Bilingual Tweets during COVID-19 Pandemic using Attention-based Bi-GRU |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200807 |