CN114091448A - 文本对抗样本生成方法、系统、计算机设备和存储介质 - Google Patents

文本对抗样本生成方法、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN114091448A
CN114091448A CN202111237436.9A CN202111237436A CN114091448A CN 114091448 A CN114091448 A CN 114091448A CN 202111237436 A CN202111237436 A CN 202111237436A CN 114091448 A CN114091448 A CN 114091448A
Authority
CN
China
Prior art keywords
attack
word
words
sample
data set
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
Application number
CN202111237436.9A
Other languages
English (en)
Inventor
张欢
顾钊铨
谢禹舜
谭昊
谢文嵘
王泽世
朱梓萁
王乐
唐可可
张登辉
李默涵
田志宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou University
Original Assignee
Guangzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou University filed Critical Guangzhou University
Priority to CN202111237436.9A priority Critical patent/CN114091448A/zh
Publication of CN114091448A publication Critical patent/CN114091448A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了文本对抗样本生成方法、系统、计算机设备和存储介质。所述方法包括:对获取的数据集中的单词进行tf‑idf得分计算,得到所述数据集的词性词典和不同标签对应的攻击词集;从所述数据集中选择与原始样本的标签相对应的攻击词集,并从中选择攻击得分最高的单词作为攻击词;根据预设的句子模板,选择所述攻击词的词性对应的句法规则,从所述词性词典中选择规则对应的单词,与所述攻击词共同构成符合所述句法规则的句子;根据预设的添加条件,将所述句子添加到所述原始样本中,得到新样本;根据预设的迭代条件对所述新样本进行多轮迭代计算,得到对抗样本。本发明能够避免拼写和语法错误,具有低修改率和高攻击性,提高了攻击效率。

Description

文本对抗样本生成方法、系统、计算机设备和存储介质
技术领域
本发明涉及对抗样本生成技术领域,特别是涉及一种基于攻击词引导句子生成的文本对抗样本生成方法、系统、计算机设备和存储介质。
背景技术
目前深度学习模型广泛应用于众多领域,如计算机视觉、自然语言处理和语音识别等。与此同时,深度学习模型的安全性也受到了极大的挑战。文本对抗攻击相关学术研究近来年发展速度很快,研究成果也很多,目前发展前沿、攻击效果好的具有代表性的文本生成技术包括利用梯度信息筛选出对模型分类结果影响大的单词,并通过制造拼写错误破坏这些单词生成文本对抗样本的方法和基于优化逼近通过同义词替换生成对抗样本的方法。
但是这两种方法都具有一定的局限性。其中,第一种方法利用利用拼写错误来生成扰动,在低修改率下成功生成对抗样本,且不影响人类对文本的理解,但是该种方式在拼写检查机制面前不堪一击,该方式生成的对抗样本极易被过滤。第二种通过优化逼近的方法,将随机生成的对抗样本不断优化逼近生成一个强攻击样本,在短文本中能实现有效攻击,但在长文本中,高修改率也很难达到理想结果。另外,该方法是通过将重要单词替换成同义词,语法错误依然很难避免。
就目前的对抗样本生成技术而言,难以保证单词正确性、语法正确性、原文语义完整性等问题,且现有研究大部分针对短文本,攻击方法的有效性在长文本无法得到保证。但目前长文本在论文自动化检索、新闻分类系统等场景应用广泛,亟需针对长文本的对抗攻击研究以更好地检测相关模型的安全性以及提升相关模型的鲁棒性。
发明内容
为了解决上述技术问题,本发明的目的是提供一种能够通过生成强扰动的短句降低对抗样本的修改率,并且具有扰动低破坏性的基于攻击词引导句子生成的文本对抗样本生成方法、系统、计算机设备和存储介质。
第一方面,本发明实施例提供了一种基于攻击词引导句子生成的文本对抗样本生成方法,所述方法包括:
获取数据集,对所述数据集中的单词进行tf-idf得分计算,得到所述数据集的词性词典和所述数据集中不同标签对应的攻击词集;
从所述数据集中选择与原始样本的标签相对应的攻击词集,并从所述攻击词集中选择攻击得分最高的单词作为攻击词;
根据预设的句子模板,选择所述攻击词的词性对应的句法规则,并从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子;
根据预设的添加条件,将所述句子添加到所述原始样本中,得到新样本;
根据预设的迭代条件对所述新样本进行多轮迭代计算,得到对抗样本。
进一步地,获取数据集,对所述数据集中的单词进行tf-idf得分计算,得到所述数据集的词性词典和所述数据集中不同标签对应的攻击词集的步骤包括:
对数据集中的所有文本进行预处理后分词,得到所述数据集对应的语料词典,所述语料词典存放了所述数据集中出现的所有单词;
计算所述语料词典中所有单词的tf-idf得分,将所述tf-idf得分大于预设的第一阈值的单词作为候选攻击词;
选择所述tf-idf得分小于预设的第二阈值的单词,并标注其单词词性,组成所述数据集对应的词性词典;
通过神经网络集成策略对所述候选攻击词在不同的数据集标签下进行攻击性打分,将攻击得分大于预设的第三阈值的所述候选攻击词作为所述数据集标签对应的基础攻击词;
根据同义词典,得到与所述基础攻击词互为同义词的所有单词,将所述基础攻击词对应的所有同义词构成所述数据集标签对应的攻击词集。
进一步地,所述通过神经网络集成策略对所述候选攻击词在不同的数据集标签下进行攻击性打分,将攻击得分大于预设的第三阈值的所述候选攻击词作为所述数据集标签对应的基础攻击词的步骤包括:
将数据集中的样本输入训练好的神经网络模型中,得到样本文本在对应标签下的置信度;
将所述候选攻击词添加到所述样本文本的尾部,计算添加所述候选攻击词后的所述样本文本在所述对应标签下的置信度;
将两个所述置信度的差值作为所述候选攻击词在所述样本文本下的攻击得分;
获取所述数据集中标签相同的样本数据作为子集,根据所述候选攻击词在所述子集的每个数据中的攻击得分,生成所述候选攻击词在所述子集中的攻击得分;
根据预先训练好的多个神经网络模型,分别得到所述候选攻击词在每个所述神经网络模型下在所述子集中的攻击得分;
将多个所述攻击得分进行加权平均,得到所述候选攻击词在所述子集中的最终攻击得分,并将所述最终攻击得分大于预设的第三阈值的所述候选攻击词作为所述子集的标签对应的基础攻击词。
进一步地,采用如下公式计算所述词典中所有单词的tf-idf得分:
Figure BDA0003316884700000031
其中,Nw是单词w在文本中出现的总次数,N是文本的总词数,D是数据集的文本总数,Dw是包含单词w的文本数。
采用如下公式计算所述候选攻击词在所述样本文本下的攻击得分:
Figure BDA0003316884700000041
其中,x是数据集中样本的文本,xw是在文本x尾部添加单词w后的文本,fy(x)表示神经网络模型将文本x预测为标签y的置信度,fy(xw)表示神经网络模型将本文xw预测为标签y的置信度;
采用如下公式计算所述候选攻击词在所述子集中的攻击得分:
Figure BDA0003316884700000042
其中,xi表示子集subD中的数据,m表示子集subD的总文本数量。
采用如下公式计算所述候选攻击词在所述子集中的最终攻击得分:
Figure BDA0003316884700000043
式中,n为预先训练好的神经网络模型的数量,
Figure BDA0003316884700000044
表示通过模型fk计算得到的单词w在文本xi中的攻击得分,
Figure BDA0003316884700000045
表示模型fk的权重,
其中
Figure BDA0003316884700000046
acck为模型fk训练后其分类的准确率。
进一步地,根据预设的句子模板,选择所述攻击词的词性对应的句法规则,并从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子的步骤包括:
标注所述攻击词的词性,并从预设的句子模板中选择所述词性对应的句法规则;
从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子;
对所述句子进行语法正确性检查,得到语法正确的句子。
进一步地,所述预设的添加条件为:生成句子的添加位置在原始样本的文本中的两个完整的句子之间,并且不能插入到所述原始样本的文本首部和尾部。
进一步地,所述根据预设的迭代条件对所述新样本进行多轮迭代计算,得到最终的对抗样本的步骤包括:
将所述新样本输入训练好的神经网络模型,得到所述新样本对应的预测标签;
判断所述预测标签与所述新样本对应的原始样本的标签是否一致,若两个标签一致,则重新生成新样本,若两个标签不一致,将所述新样本作为对抗样本。
第二方面,本发明实施例提供了一种了一种基于攻击词引导句子生成的文本对抗样本生成系统,所述系统包括:
词集词典生成模块,用于获取数据集,对所述数据集中的单词进行tf-idf得分计算,得到所述数据集的词性词典和所述数据集中不同标签对应的攻击词集;
攻击词选择模块,用于从所述数据集中选择与原始样本的标签相对应的攻击词集,并从所述攻击词集中选择攻击得分最高的单词作为攻击词;
句子生成模块,用于根据预设的句子模板,选择所述攻击词的词性对应的句法规则,并从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子;
新样本生成模块,用于根据预设的添加条件,将所述句子添加到所述原始样本中,得到新样本;
对抗样本生成模块,用于根据预设的迭代条件对所述新样本进行多轮迭代计算,得到对抗样本。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述本申请提供了一种基于攻击词引导句子生成的文本对抗样本生成方法、系统、计算机设备和存储介质,通过所述方法,将生成的攻击短句添加到原始样本中产生强扰动,并且不易被察觉,能够在较低的修改率下成功生成对抗样本,同时将攻击词扩展成攻击短句插入原始样本的两个句子中间,不会产生语法错误,保证了扰动的低破坏性,这对于现有的文本对抗样本生成领域来说是非常有意义的。
附图说明
图1是本发明实施例中基于攻击词引导句子生成的文本对抗样本生成方法的流程示意图;
图2是图1中步骤S10的流程示意图;
图3是图2中步骤S104的流程示意图;
图4是图1中步骤S30的流程示意图;
图5是图1中步骤S50的流程示意图;
图6是本发明实施例中IMDB数据集的攻击词集;
图7是本发明实施例中IMDB数据集对应的句子模板;
图8是本发明实施例中基于攻击词引导句子生成的文本对抗样本生成系统的结构示意图;
图9是本发明实施例中计算机设备的内部结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明第一实施例提出的一种基于攻击词引导句子生成的文本对抗样本生成方法,其中,包括步骤S10~S50:
步骤S10,获取数据集,对所述数据集中的单词进行tf-idf得分计算,得到所述数据集的词性词典和所述数据集中不同标签对应的攻击词集。
在本实施例中,为标签相同的数据集合构建了一个统一的攻击词集合,故每一类标签都有对应的攻击词集合,该攻击词集合包含了相对应标签下的所有原始样本的攻击词,其具体构建步骤如图2所示:
步骤S101,对数据集中的所有文本进行预处理后分词,得到所述数据集对应的语料词典,所述语料词典存放了所述数据集中出现的所有单词。
在获取语料集后,我们首先对该语料集中的数据文本进行预处理,比如除去数据中非文本部分、拼写检查、拼写更正、词干提取和词干还原、转化为小写和引入停用词等,然后对处理后的文本进行分词,所使用的算法和工具包括但不限于最大匹配算法、维比特算法或nltk工具等等,具体的处理方式可以根据实际情况灵活选取。
将分词得到的所有单词都记录到语料词典中,以便我们后续进行下一步的处理计算。
步骤S102,计算所述语料词典中所有单词的tf-idf得分,将所述tf-idf得分大于预设的第一阈值的单词作为候选攻击词。
在得到语料词典之后,我们需要从所有单词中选择合适的单词作为候选攻击词,在本实施例中我们使用了tf-idf得分来进行候选攻击词的选择。tf-idf是一种统计方法,用以评估字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。tf-idf倾向于过滤掉常见的词语,保留重要的词语。通常来说,tf-idf得分越高的单词在文本分类任务中的类别区分能力越高、对模型分类结果贡献度较大。而本发明提出的攻击词也是对模型分类结果影响较大的词,因此其tf-idf得分往往也比较高。
在本实施例中采用如下公式计算语料词典中所有单词的tf-idf得分:
Figure BDA0003316884700000081
其中,Nw是单词w在文本中出现的总次数,N是文本的总词数,D是数据集的文本总数,Dw是包含单词w的文本数。
在计算出所有单词的tf-idf得分之后,我们选取了tf-idf得分前10%的单词作为候选攻击词,实际上该选择比例是可以根据实际情况进行调整的,但要注意的是,该比例不宜过小,以防漏掉重要单词。由于后续单词攻击性得分计算依赖模型访问,计算时间成本远高于计算tf-idf值的时间成本,故此步骤能有效缩小候选攻击词的范围,提升攻击词集合生成效率。
步骤S103,选择所述tf-idf得分小于预设的第二阈值的单词,并标注其单词词性,组成所述数据集对应的词性词典。
在计算出所有单词的tf-idf得分之后,还需要构建后续句子生成阶段依赖使用的词性词典,在本实施例中我们选取tf-idf得分排名后50%的单词作为普通词,并使用词性标注工具对普通词进行词性标注,将普通词及其词性共同组成词性词典,其词性词典的存放结构如{词性:普通词集合}。
步骤S104,通过神经网络集成策略对所述候选攻击词在不同的数据集标签下进行攻击性打分,将攻击得分大于预设的第三阈值的所述候选攻击词作为所述数据集标签对应的基础攻击词。
在本发明实施例中使用了神经网络集成策略,并根据单词攻击性进行基础攻击词的选取,其具体步骤如图3所示:
步骤S1041,将数据集中的样本输入训练好的神经网络模型中,得到样本文本在对应标签下的置信度。
步骤S1042,将所述候选攻击词添加到所述样本文本的尾部,计算添加所述候选攻击词后的所述样本文本在所述对应标签下的置信度。
步骤S1043,将两个所述置信度的差值作为所述候选攻击词在所述样本文本下的攻击得分。
通过上述步骤,我们可以得到一个候选攻击词的集合,将该集合中的候选攻击词添加到原始样本如(x,y)中文本x的尾部,得到一个新的样本文本x1,将原始样本文本x和新样本文本x1输入到提前训练好的神经网络模型,分别计算两个文本在原始样本标签y下的置信度,我们将候选攻击词添加前后y类别下置信度减少的程度作为该单词在文本x中的攻击得分。
攻击得分体现候选攻击词的攻击性,攻击得分越高,表示攻击性越强,若攻击得分为负值,则认为该攻击词对该文本无攻击性,赋值为0。用Sw(x)表示单词w在文本x中的攻击得分,则Sw(x)可以表示为:
Figure BDA0003316884700000091
其中,x是数据集中样本的文本,xw是在文本x尾部添加候选攻击词w后的文本,fy(x)表示神经网络模型将文本x预测为标签y的置信度,fy(xw)表示神经网络模型将本文xw预测为标签y的置信度;
步骤S1044,获取所述数据集中标签相同的样本数据作为子集,根据所述候选攻击词在所述子集的每个数据中的攻击得分,生成所述候选攻击词在所述子集中的攻击得分。
由于数据集中会有不同文本具有相同标签的情况,因此我们将数据集中标签相同的数据定义为子集subD,对于候选攻击词w∈D,采用如下公式计算候选攻击词w在子集subD中的攻击得分:
Figure BDA0003316884700000092
其中,xi表示子集subD中的数据,m表示子集subD的总文本数量。
步骤S1045,根据预先训练好的多个神经网络模型,分别得到所述候选攻击词在每个所述神经网络模型下在所述子集中的攻击得分。
步骤S1046,将多个所述攻击得分进行加权平均,得到所述候选攻击词的在所述子集中的最终攻击得分,并将所述最终攻击得分大于预设的第三阈值的候选攻击词作为所述子集的标签对应的基础攻击词。
为了使基础攻击词的选取更加合理更具有攻击性,我们采用了神经网络集成策略进行基础攻击词的选取。由于神经网络模型容易出现高方差数据过度拟合,不易复现出结果,而且模型的结果对初始化参数也异常敏感,而每个模型都有自己的特点,每个模型预测出的误差是不同的,因此我们训练了多个模型,并将预测结果结合到一起,能够降低方差,其结果也会比任意单个模型的结果要好。
本实施例中使用了集成策略中的bagging方法用于攻击词的选取,即通过训练1~n个模型,并结合它们的决策信息来共同决定候选攻击词的攻击得分。其中,模型结构包括但不限于CNN、RNN、LSTM等等,可以根据实际情况选择合适的模型数量和模型种类,在此并不做具体限定。
对于模型1~n,分别对候选攻击词进行攻击性打分,采用加权平均的方式得到候选攻击词的最终攻击得分。即公式(3)更新为:
Figure BDA0003316884700000101
式中,n为预先训练好的神经网络模型的数量,
Figure BDA0003316884700000102
表示通过模型fk计算得到的候选攻击词w在文本xi中的攻击得分,
Figure BDA0003316884700000103
表示模型fk的权重,
其中
Figure BDA0003316884700000104
acck为模型fk训练后其分类的准确率,分母为所有模型准确率之和,
Figure BDA0003316884700000105
的值即为模型准确率归一化后的结果。
通过公式(4)计算标签y对应的候选攻击词的最终攻击得分,并从中选取得分前5%的单词作为基础攻击词,该选取比例可以按照实际情况进行调整,但为了保证攻击效率,一般不会高于候选攻击词总数的5%。
集成策略可以通过组合多个弱学习器以期得到一个更好更全面的强分类器,本发明实施例使用集成策略计算单词攻击得分,避免了单个分类器打分的偏向性,使得选取的攻击词的攻击性和通用性更强。
步骤S105,根据同义词典,得到与所述基础攻击词互为同义词的所有单词,将所述基础攻击词对应的所有同义词构成所述数据集标签对应的攻击词集。
在得到数据集中的标签对应的基础攻击词之后,使用基于Wordnet的同义词典对基础攻击词进行扩展,从同义词典中挑选出与基础攻击词互为同义词的所有单词,并将这些单词作为最终的攻击词构成该标签对应的攻击词集合。当然也可以使用其他的同义词典进行扩展,在此不做具体限制。
步骤S20,根据原始样本的标签,选择所述标签对应的所述攻击词集,并从所述攻击词集中选择攻击得分最高的单词作为攻击词。
通过上述步骤,可以得到不同标签对应的攻击词集,对于我们使用的目标攻击模型,根据输入的数据集中原始样本的文本标签,使用公式(2)从标签对应的攻击词典中选取该文本下攻击得分最高的单词作为攻击词。
其中,对于使用的目标攻击模型,可以为n个已经训练好的模型中的某一个,在这种情况下本实施例提供的攻击方法实施效果很好,目标攻击模型也为一个新的深度学习模型,在这种情况下本实施例提出的攻击方法依然有效,因为本实施例提出的攻击词是具有通用性和迁移性的,即利用1~n个训练好的模型生成的攻击词在新模型下也具有攻击性。
步骤S30,根据预设的句子模板,选择所述攻击词的词性对应的句法规则,并从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子。
通过上述步骤从攻击词集中选择合适的攻击词作为某一次对抗文本生成任务的攻击词,基于该攻击词生成一个完整的攻击短句的步骤如图4所示:
步骤S301,标注所述攻击词的词性,并从预设的句子模板中选择所述词性对应的句法规则。
步骤S302,从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子。
步骤S303,对所述句子进行语法正确性检查,得到语法正确的句子。
在根据公式(2)选择对输入的原始样本的文本攻击性最强的单词之后,使用词性工具如Stanford CoreNLP、NLTK、TextBlob等自然语言处理领域第三方库工具包,对攻击词进行词性标注。
同时,我们还根据语法结构等基础规则提前设置了句子模板,模板中包含了单词的不同词性对应的不同数量的句法规则,句法规则为该句子包含的单词数量以及各个位置上单词的词性。应当理解的是句子模板是根据实际情况进行设定的,该词性对应的句法规则只需符合语法规则即可,并没有其他的具体规则的限定。
根据攻击词的词性从句子模板中选择词性对应的句法规则,其中该词性可能包含不止一个的句法规则,在此我们随机选择其中一个句法规则生成攻击短句。
在步骤S10中得到了数据集对应的词性词典,在此我们从词性词典中选取符合句法规则规定的除攻击性词性之外的其他词性的单词,这些单词和攻击词共同组成符合句法规则的句子。
对于生成的句子,使用语法检测工具如pyflakes、pylint等对其进行语法正确性的检查,如果没有语法错误,将该句子输出为攻击短句,如果出现语法错误,则需要重新选择攻击词对应的句法规则或者从词性词典中重新选择单词,再次构造句子,直到没有检查出语法错误问题,从而得到语法正确的符合句法规则的句子作为攻击短句,其中使用的语法检查工具包括但不限于如pyflakes、pylint等工具,可以根据实际情况灵活选择任一种或多种进行语法检查。
之所以从词性词典中选取单词组成句子,是因为词性词典中存放的都是df-idf得分低的单词,这些单词往往是重要性较低的单词,这些单词对模型的分类结果贡献度低,从而保证了生成的句子中对分类结果起主要作用的单词是攻击词,保证了将攻击词扩展成句子的攻击效果。
步骤S40,根据预设的添加条件,将所述句子添加到所述原始样本中,得到新样本。
在将生成的攻击短句添加到原始样本的文本中时,需要满足两个条件,第一是不能插入到文本的首部和尾部,这些可以保证插入的隐蔽性;第二是需要插入到两个完整的句子之间,保证不破坏原文中句子的完整性。在满足这两个条件下,对其它候选插入位置进行随机选择操作。插入不同位置对模型的分类影响结果有轻微影响,但插入位置变化不会对其攻击性能产生决定性作用,综合考虑选取位置的代价和带来的效益,选取简单的随机插入方法。
步骤S50,根据预设的迭代条件对所述新样本进行多轮迭代计算,得到对抗样本。
对新样本需要判断其是否满足对抗样本的条件,如果不满足,则需要进行下一轮的迭代计算,其具体的步骤如图5所示:
步骤S501,将所述新样本输入训练好的神经网络模型,得到所述新样本对应的预测标签;
步骤S502,判断所述预测标签与所述新样本对应的原始样本的标签是否一致,若两个标签一致,则重新生成新样本,若两个标签不一致,将所述新样本作为对抗样本。
将新样本输入到目标对抗模型进行预测,得到其对应的预测标签,将该预测标签与新样本添加攻击短句之前的原始样本的标签进行比较,如果两个标签一致,则代表没有成功生成对抗样本,此时则需要重新从攻击词典中选择另外的单词作为攻击词,按照新攻击词重新生成攻击短句,将新生成的句子重新添加到原始样本中生成新样本,再对新生成的新样本进行标签预测,直到新样本的预测标签与原始样本的标签不与一致,此时输出该新样本作为文本对抗样本。
本实施例中生成对抗样本阶段通过直接获取攻击词生成扰动短句,每一次扰动只需要访问目标模型一次,通过实验可得一次攻击添加扰动往往不超过5次,即总访问量≤5,相比较现有黑盒攻击技术,访问模型次数常常与文本长度有关,对于中长文本,访问次数可能多达百次。故本发明提出的方法大大缩短了访问攻击模型的次数,提升攻击效率。
本发明实施例适用于各种类型文本分类、文本情感分析类型的数据集,而且在长文本中也具有很好的实施效果,在此我们以自然语言处理领域经典数据集IMDB即电影影评数据为例,对本发明实施例基于攻击词引导句子生成的文本对抗样本生成方法的整个过程进行详细描述。
首先,基于IMDB数据集,训练好多个稳定的分类器,模型结构不限于CNN、RNN、LSTM等。目标攻击模型可以为训练好的模型中的一个,也可以为一个新的深度学习模型。
在攻击之前,提前构建好攻击词典,提升攻击速度。首先对IMDB进行清洗、分词处理,构建存放数据集中出现过的所有单词的语料词典,并根据上述步骤进行计算,生成IMDB的攻击词集,由于IMDB是二分类数据集,标签为“Positive”和“Negative”,故IMDB数据集的攻击词集有两个,分别为pos_words和neg_words,其图6所示。根据单词词性,我们按照语法规则预先设定好句子模板,句子模板中包含词性对应的不同数量的句法规则,如图7所示。
同时,我们选择tf-idf得分排名后50%的单词作为普通词,通过工具标注其词性,构成IMDB数据集对应的词性词典,词性词典的格式为{词性:普通词集合},以IMDB的词性词典的部分内容为例:
'PRON':['Its','You','Who',…,'Anything'],
'VERB':['saw','got','gone',…,'said','acted','took'],
'ADP':['in','with','for',…,'after','over'],
……
'NOUN':['film','movie',…,'story','character','role']
选择原始样本(x,positive),其中x=“the most striking feature about thiswell acted film,is the almost surreal images of the era and time it was shotit…It's all too often when colloquialisms of today's world are carelesslyused in movies about another time and place.”
对于原始样本(x,y),其中x=[x1,x2,…xn],xi为x按句子为单位分隔后的完整句子,y为positive,获取标签positive对应的攻击词集pos_words,将pos_words中的攻击词依次添加到x尾部,根据公式(2)计算得到攻击得分,假定攻击得分score=[0.434,0.123,0.402,…,0.327,0.219],因为pos_words中有27个元素,因此score中也会有对应的27个元素,其中最高分为0.434,对应攻击词为pointless,通过工具对其进行词性标注,得到其词性为ADJ。根据句子模板,形容词ADJ对应的句法规则有四种,在此随机选择对应的句法规则结构RNBA(代词+名词+系动词+形容词A),其中攻击词对应的为生成句子的第四个单词,剩余三个单词从词性词典中获取,即依次从词性词典中获取代词、名词、系动词,按照PNBA结构将获取到的单词组成一个短句s=That scene is pointless。利用工具pyflakes对s进行语法正确性检查,若s有语法错误,重新选择语法规则和组成句子的单词,直到生成的句子s没有语法错误。
对于生成的句子s,将其添加到原始样本中,生成一个新样本x′=[x1,x2,…,s,…xn],将x′输入至目标对抗模型中,得到预测标签y′,如果y′=y,则重新选择攻击词生成句子,然后重新生成新样本,再进行标签预测,直到y′为Negative,与原始输入标签Positive不一致,满足对抗样本生成调节,x′是与x对应的对抗样本,即x′=“the most strikingfeature about this well acted film,is the almost surreal images of the eraand time it was shot it…That scene is pointless.It's all too often whencolloquialisms of today's world are carelessly used in movies about anothertime and place.”
本发明实施例提供的一种基于攻击词引导句子生成的文本对抗样本生成方法,相比以往基于修改单词和字符的攻击方法会在不同程度上破坏原始文本,并且在修改过程中容易产生语法错误的问题,本发明通过神经网络集成策略获取攻击词,并将攻击词扩展成攻击短句添加到原文本,不仅能够在低扰动率下实现有效攻击,对原始文本破坏性低,且不产生拼写错误和语法错误,对于长文本中也具有很好的实施效果,本发明的文本对抗样本生成方法相比传统方法不仅具有更强的攻击性,而且大大缩短了访问攻击模型的次数,提升了攻击效率。
请参阅图8,基于同一发明构思,本发明第二实施例提供的基于攻击词引导句子生成的文本对抗样本生成系统,包括:
词集词典生成模块10,用于获取数据集,对所述数据集中的单词进行tf-idf得分计算,得到所述数据集的词性词典和所述数据集中不同标签对应的攻击词集。
攻击词选择模块20,用于从所述数据集中选择与原始样本的标签相对应的攻击词集,并从所述攻击词集中选择攻击得分最高的单词作为攻击词。
句子生成模块30,用于根据预设的句子模板,选择所述攻击词的词性对应的句法规则,并从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子。
新样本生成模块40,用于根据预设的添加条件,将所述句子添加到所述原始样本中,得到新样本。
对抗样本生成模块50,用于根据预设的迭代条件对所述新样本进行多轮迭代计算,得到对抗样本。
本发明实施例提出的基于攻击词引导句子生成的文本对抗样本生成系统的技术特征和技术效果与本发明实施例提出的方法相同,在此不予赘述。上述基于攻击词引导句子生成的文本对抗样本生成系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参阅图9,一个实施例中计算机设备的内部结构图,该计算机设备具体可以是终端或服务器。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示器和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于攻击词引导句子生成的文本对抗样本生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域普通技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算设备可以包括比途中所示更多或更少的部件,或者组合某些部件,或者具有相同的部件布置。
此外,本发明实施例还提出一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
此外,本发明实施例还提出一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
综上,本发明实施例提供一种基于攻击词引导句子生成的文本对抗样本生成,所述方法通获取数据集,对所述数据集中的单词进行tf-idf得分计算,得到所述数据集的词性词典和所述数据集中不同标签对应的攻击词集;从所述数据集中选择与原始样本的标签相对应的攻击词集,并从所述攻击词集中选择攻击得分最高的单词作为攻击词;根据预设的句子模板,选择所述攻击词的词性对应的句法规则,并从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子;根据预设的添加条件,将所述句子添加到所述原始样本中,得到新样本;根据预设的迭代条件对所述新样本进行多轮迭代计算,得到对抗样本。该方法通过攻击词扩展成句子添加到原始样本中生成新样本,具有低修改率和高攻击性的特点,而且不会造成拼写错误和语法错误,不破坏原文本的内容完整性,同时还缩短了访问攻击模型的次数,提升了攻击效率。
本说明书中的各个实施例均采用递进的方式描述,各个实施例直接相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本申请的保护范围。因此,本申请专利的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种基于攻击词引导句子生成的文本对抗样本生成方法,其特征在于,包括:
获取数据集,对所述数据集中的单词进行tf-idf得分计算,得到所述数据集的词性词典和所述数据集中不同标签对应的攻击词集;
从所述数据集中选择与原始样本的标签相对应的攻击词集,并从所述攻击词集中选择攻击得分最高的单词作为攻击词;
根据预设的句子模板,选择所述攻击词的词性对应的句法规则,并从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子;
根据预设的添加条件,将所述句子添加到所述原始样本中,得到新样本;
根据预设的迭代条件对所述新样本进行多轮迭代计算,得到对抗样本。
2.根据权利要求1所述的基于攻击词引导句子生成的文本对抗样本生成方法,其特征在于,所述获取数据集,对所述数据集中的单词进行tf-idf得分计算,得到所述数据集的词性词典和所述数据集中不同标签对应的攻击词集的步骤包括:
对数据集中的所有文本进行预处理后分词,得到所述数据集对应的语料词典,所述语料词典存放了所述数据集中出现的所有单词;
计算所述语料词典中所有单词的tf-idf得分,将所述tf-idf得分大于预设的第一阈值的单词作为候选攻击词;
选择所述tf-idf得分小于预设的第二阈值的单词,并标注其单词词性,组成所述数据集对应的词性词典;
通过神经网络集成策略对所述候选攻击词在不同的数据集标签下进行攻击性打分,将攻击得分大于预设的第三阈值的所述候选攻击词作为所述数据集标签对应的基础攻击词;
根据同义词典,得到与所述基础攻击词互为同义词的所有单词,将所述基础攻击词对应的所有同义词构成所述数据集标签对应的攻击词集。
3.根据权利要求2所述的基于攻击词引导句子生成的文本对抗样本生成方法,其特征在于,所述通过神经网络集成策略对所述候选攻击词在不同的数据集标签下进行攻击性打分,将攻击得分大于预设的第三阈值的所述候选攻击词作为所述数据集标签对应的基础攻击词的步骤包括:
将数据集中的样本输入训练好的神经网络模型中,得到样本文本在对应标签下的置信度;
将所述候选攻击词添加到所述样本文本的尾部,计算添加所述候选攻击词后的所述样本文本在所述对应标签下的置信度;
将两个所述置信度的差值作为所述候选攻击词在所述样本文本下的攻击得分;
获取所述数据集中标签相同的样本数据作为子集,根据所述候选攻击词在所述子集的每个数据中的攻击得分,生成所述候选攻击词在所述子集中的攻击得分;
根据预先训练好的多个神经网络模型,分别得到所述候选攻击词在每个所述神经网络模型下在所述子集中的攻击得分;
将多个所述攻击得分进行加权平均,得到所述候选攻击词在所述子集中的最终攻击得分,并将所述最终攻击得分大于预设的第三阈值的所述候选攻击词作为所述子集的标签对应的基础攻击词。
4.根据权利要求3所述的基于攻击词引导句子生成的文本对抗样本生成方法,其特征在于,采用如下公式计算所述词典中所有单词的tf-idf得分:
Figure FDA0003316884690000021
其中,Nw是单词w在文本中出现的总次数,N是文本的总词数,D是数据集的文本总数,Dw是包含单词w的文本数。
采用如下公式计算所述候选攻击词在所述样本文本下的攻击得分:
Figure FDA0003316884690000031
其中,x是数据集中样本的文本,xw是在文本x尾部添加单词w后的文本,fy(x)表示神经网络模型将文本x预测为标签y的置信度,fy(xw)表示神经网络模型将本文xw预测为标签y的置信度;
采用如下公式计算所述候选攻击词在所述子集中的攻击得分:
Figure FDA0003316884690000032
其中,xi表示子集subD中的数据,m表示子集subD的总文本数量。
采用如下公式计算所述候选攻击词在所述子集中的最终攻击得分:
Figure FDA0003316884690000033
式中,n为预先训练好的神经网络模型的数量,
Figure FDA0003316884690000034
表示通过模型fk计算得到的单词w在文本xi中的攻击得分,
Figure FDA0003316884690000035
表示模型fk的权重,其中
Figure FDA0003316884690000036
acck为模型fk训练后其分类的准确率。
5.根据权利要求1所述的基于攻击词引导句子生成的文本对抗样本生成方法,其特征在于,所述根据预设的句子模板,选择所述攻击词的词性对应的句法规则,并从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子的步骤包括:
标注所述攻击词的词性,并从预设的句子模板中选择所述词性对应的句法规则;
从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子;
对所述句子进行语法正确性检查,得到语法正确的句子。
6.根据权利要求1所述的基于攻击词引导句子生成的文本对抗样本生成方法,其特征在于,所述预设的添加条件为:生成句子的添加位置在原始样本的文本中的两个完整的句子之间,并且不能插入到所述原始样本的文本首部和尾部。
7.根据权利要求1所述的基于攻击词引导句子生成的文本对抗样本生成方法,其特征在于,所述根据预设的迭代条件对所述新样本进行多轮迭代计算,得到最终的对抗样本的步骤包括:
将所述新样本输入训练好的神经网络模型,得到所述新样本对应的预测标签;
判断所述预测标签与所述新样本对应的原始样本的标签是否一致,若两个标签一致,则重新生成新样本,若两个标签不一致,将所述新样本作为对抗样本。
8.一种基于攻击词引导句子生成的文本对抗样本生成系统,其特征在于,所述系统包括:
词集词典生成模块,用于获取数据集,对所述数据集中的单词进行tf-idf得分计算,得到所述数据集的词性词典和所述数据集中不同标签对应的攻击词集;
攻击词选择模块,用于从所述数据集中选择与原始样本的标签相对应的攻击词集,并从所述攻击词集中选择攻击得分最高的单词作为攻击词;
句子生成模块,用于根据预设的句子模板,选择所述攻击词的词性对应的句法规则,并从所述词性词典中选择所述句法规则对应的词性单词,将所述词性单词与所述攻击词共同构成符合所述句法规则的句子;
新样本生成模块,用于根据预设的添加条件,将所述句子添加到所述原始样本中,得到新样本;
对抗样本生成模块,用于根据预设的迭代条件对所述新样本进行多轮迭代计算,得到对抗样本。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202111237436.9A 2021-10-22 2021-10-22 文本对抗样本生成方法、系统、计算机设备和存储介质 Pending CN114091448A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111237436.9A CN114091448A (zh) 2021-10-22 2021-10-22 文本对抗样本生成方法、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111237436.9A CN114091448A (zh) 2021-10-22 2021-10-22 文本对抗样本生成方法、系统、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN114091448A true CN114091448A (zh) 2022-02-25

Family

ID=80297466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111237436.9A Pending CN114091448A (zh) 2021-10-22 2021-10-22 文本对抗样本生成方法、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114091448A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114925699A (zh) * 2022-04-28 2022-08-19 电子科技大学 一种基于风格变换的高迁移性对抗文本生成方法
CN115658907A (zh) * 2022-11-10 2023-01-31 无锡学院 一种基于历史信息的qpso算法和义原的文本对抗攻击方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114925699A (zh) * 2022-04-28 2022-08-19 电子科技大学 一种基于风格变换的高迁移性对抗文本生成方法
CN115658907A (zh) * 2022-11-10 2023-01-31 无锡学院 一种基于历史信息的qpso算法和义原的文本对抗攻击方法
CN115658907B (zh) * 2022-11-10 2024-03-12 无锡学院 一种基于历史信息的qpso算法和义原的文本对抗攻击方法

Similar Documents

Publication Publication Date Title
Hill et al. The goldilocks principle: Reading children's books with explicit memory representations
Oh et al. Why-question answering using intra-and inter-sentential causal relations
Qiu et al. Adversarial attack and defense technologies in natural language processing: A survey
Post et al. Explicit and implicit syntactic features for text classification
US20210124876A1 (en) Evaluating the Factual Consistency of Abstractive Text Summarization
EP2819031A1 (en) Non-factoid question answering system and computer program
Azmi et al. Real-word errors in Arabic texts: A better algorithm for detection and correction
CN111914097A (zh) 基于注意力机制和多层级特征融合的实体抽取方法与装置
Rozovskaya et al. The UI system in the HOO 2012 shared task on error correction
US11170169B2 (en) System and method for language-independent contextual embedding
CN114091448A (zh) 文本对抗样本生成方法、系统、计算机设备和存储介质
Kübler et al. Part of speech tagging for Arabic
Weerasinghe et al. Feature Vector Difference based Authorship Verification for Open-World Settings.
Fragkou Applying named entity recognition and co-reference resolution for segmenting english texts
Singh et al. Review of real-word error detection and correction methods in text documents
Mudge The design of a proofreading software service
Zribi et al. Detection of semantic errors in Arabic texts
Sarhan et al. Semi-supervised pattern based algorithm for arabic relation extraction
Hughes Automatic inference of causal reasoning chains from student essays
CN112232057A (zh) 基于文本扩展的对抗样本生成方法、装置、介质和设备
Mohseni et al. A Persian Part-Of-Speech Tagger Based on Morphological Analysis.
US8977538B2 (en) Constructing and analyzing a word graph
Sikos et al. Authorship analysis of inspire magazine through stylometric and psychological features
Bouzid et al. A generic approach for pronominal anaphora and zero anaphora resolution in arabic language
Outahajala et al. Using confidence and informativeness criteria to improve POS-tagging in amazigh

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