面向中文文本倾向性分类的对抗样本生成方法
软件学报ISSN 1000-9825, CODEN RUXUEW
E-mail: jos@iscas.ac Journal of Software ,2019,30(8):2415−2427 [doi: 10.13328/jki.jos.005765]
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
面向中文文本倾向性分类的对抗样本生成方法
∗ 王文琦1,2,  汪  润1,2,  王丽娜1,2,  唐奔宵1,2
1
(空天信息安全与可信计算教育部重点实验室(武汉大学),湖北 武汉  430072) 2(武汉大学 国家网络安全学院,湖北 武汉  430072)
通讯作者: 王丽娜, E-mail: lnawang@163
摘  要: 研究表明,在深度神经网络(DNN)的输入中添加小的扰动信息,能够使得DNN 出现误判,这种攻击被称为对抗样本攻击.而对抗样本攻击也存在于基于DNN 的中文文本的情感倾向性检测中,因此提出了一种面向中文文本的对抗样本生成方法WordHanding.该方法设计了新的词语重要性计算算法,并用同音词替
换以生成对抗样本,用于在黑盒情况下实施对抗样本攻击.采用真实的数据集(京东购物评论和携程酒店评论),在长短记忆网络(LSTM)和卷积神经网络(CNN)这两种DNN 模型上验证该方法的有效性.实验结果表明,生成的对抗样本能够很好地误导中文文本的倾向性检测系统.
关键词: 中文文本;对抗样本;深度学习模型;评分函数;黑盒
中图法分类号: TP309 中文引用格式: 王文琦,汪润,王丽娜,唐奔宵.面向中文文本倾向性分类的对抗样本生成方法.软件学报,2019,30(8):2415− 2427. /1000-9825/5765.htm
英文引用格式: Wang WQ, Wang R, Wang LN, Tang BX. Adversarial examples generation approach for tendency classification on Chinese texts. Ruan Jian Xue Bao/Journal of Software, 2019,30(8):2415−2427 (in Chinese). /1000-9825/ 5765.htm
Adversarial Examples Generation Approach for Tendency Classification on Chinese Texts  WANG Wen-Qi 1,2,  WANG Run 1,2,  WANG Li-Na 1,2,  Tang Ben-Xiao 1,2
1(Key Laboratory of Aerospace Information Security and Trusted Computing (Wuhan University), Ministry of Education, Wuhan 430072, China)
2
(School of Cyber Science and Engineering, Wuhan University, Wuhan 430072, China) Abstract :  Studies have shown that the adversarial example attack is that small perturbations are added on the input to make deep neural network (DNN) misbehave. Meanwhile, these attacks also exist in Chinese text sentiment orientation classification based on DNN and a method “WordHandling” is proposed to generate this kind of adversarial examples. This method designs a new algorithm aiming at calculating important words. Then the words are replaced with homonym to generate adversarial examples, which are used to conduct an adversarial example attack in black-box scenario. This study also verifies the effectiveness of the proposed method with real data set, i.e. Jingdong shopping and Ctrip hotel review, on long short-term memory network (LSTM) and convolutional neural network (CNN). The experimental results show that the adversarial examples in this study can mislead Chinese text orientation detection system well. Key words :  Chinese text; adversarial examples; deep learning models; score function; black box
∗ 基金项目: 国家自然科学基金(61876134); 国家重点研发计划
(2016YFB0801100); 中央高校基本科研业务费专项资金(204201 8kf1028)
Foundation item: National Natural Science Foundation of China (61876134); National Key Research and Development Program of China (2016YFB0801100); Fundamental Research Funds for the Central Universities (2042018kf1028)
本文由“面向自主安全可控的可信计算”专题特约编辑贾春福教授推荐.
收稿时间: 2018-05-31; 修改时间: 2018-09-21; 采用时间: 2018-12-13; jos 在线出版时间: 2019-03-28
CNKI 网络优先出版: 2019-03-29 09:47:18, knski/kcms/detail/11.2560.TP.20190329.0947.016.html
2416 Journal of Software软件学报 V ol.30, No.8, August 2019
基于深度神经网络(deep neural network,简称DNN)的机器学习方法已被广泛地应用于许多领域,如计算机视觉[1,2]、语音识别[3]、自然语言处理[4−9]、恶意软件检测[10−12]等,但DNN在上述应用中都面临着对抗样本攻击的威胁.对抗样本是指在正常的样本中通过有目地性添加少量的扰动信息,使得基于DNN模型的系统出现误判[13,14].Szegedy等人[14]已证实了对于一些机器学习模型,包括在多方面表现很好的神经网络模型,在遭受对抗样本的攻击时都表现出明显的脆弱性.
对抗样本最初发现在基于DNN的图像识别中,如自动驾驶中,攻击者对路标图像进行修改使得车辆识别系统把左转判别为右转,存在极大的安全隐患.而对抗样本不仅出现在图像领域,本文发现,在基于DNN的中文文本倾向性检测中也存在对抗样本攻击的问题.如判断网络中传播的文本信息是正常还是异常时,攻击者可以利用对抗样本生成的方法对异常信息进行处理,使处理之后的异常信息被检测系统误判为正常信息,“欺骗”系统的检测,使得异常信息扩散.或者是把大量恶意评论“伪装”成正常评论散播,影响人们对人和事的情感倾向或对物的购买欲望.如图1所示,某商品经过推荐系统宣传销量增加,然而受商业竞争对手雇佣的攻击者把针对该商品的恶意信息进行修改生成对抗样本,使基于DNN的恶意信息检测系统产生错误的判别而未拦截.这导致人们被大量负面信息影响,对该商品由购买倾向变为不买,最终使得产品销量降低.这些安全性问题自然引起了人们对深度学习模型鲁棒性的关注,而对深度学习模型具有威胁性的对抗样本生成过程的研究同样有着重要意义,
.
其有助于分析基于深度学习模型系统存在的安全问题,有助于建立针对此类攻击的检测防御工作[15]
图1  对抗样本攻击带来的影响
按攻击者对目标模型的了解程度,可以将对抗样本攻击分为白盒、黑盒可探测以及黑盒不可探测攻击:白盒情景下,攻击者对模型完全掌握,包括模型的类型、结构、所有参数及权重值;黑盒可探测情景下,攻击者对目标模型部分了解,但能对模型进行探测或查询,如通过输入观察输出结果;黑盒不可探测情景下,攻击者对目标模型了解有限或完全没有,构建对抗样本时不允许对目标模型进行探测查询.在现实中,黑盒攻击比白盒更为实际,但如今,大多数文本类型对抗样本的生成和攻击是以白盒为前提假设[16−19],黑盒条件下的研究很少[20,21].此外,目前的研究都是针对英文数据,一般的修改方法包含对输入中的字母进行操作,如插入、删除、相邻字母位置互换等.该方法不适用于中文数据,因为每个汉攻击类型转换
字是一个独立单元,不可拆分;而使用邻近词[19]、添加标点的方式,这些方法会改变原输入语句的意思,也不适用.因此,如何对中文文本数据处理生成对抗样本,在更实际的黑盒条件下实现针对长短记忆网络(long short-term memory,简称LSTM)和卷积神经网络(convolutional neural network,简称CNN)这两种常见的情感分析模型的对抗样本攻击,是本文要解决的问题.
本文提出了一种面向中文文本的对抗样本生成方法WordHandling,该方法不需要直接目标网络的参数信息,其通过设计一个新的算法计算文本中影响分类的重要词语,用同音词或词组替换的方法修改原始数据生成对抗样本,有效地实现了针对深度神经网络模型的黑盒攻击.图2所示为利用WordHandling生成中文对抗样本的例子.
图2(a)和图2(b)虚线上半部分是原始样本,下半部分是生成的对抗样本.从正常的情感倾向看,图2(a)和图2(b)中的原始样本分别为负面评论与正面评论.可以看出,原始的输入样本能够被深度神经网络模型正确的分类.但仅仅对输入的中文文本进行些许改动,就能干扰深度学习倾向检测系统,使其产生错误的倾向判断,把正面评论判断为负面评论,或者是负面评论判别为正面评论.同时,由于句子修改前后的含义内容变化微小,人仍
王文琦 等:面向中文文本倾向性分类的对抗样本生成方法
2417
然能够通过句子的语义或语音来理解修改后的语句
.  Fig.2  Examples of generated adversarial example es by WordHandling
图2  WordHandling 生成的对抗样本样例
本文的主要贡献有:
(1) 提出了一种中文对抗样本生成方法,只需要对输入的中文文本进行些许修改,且不需要知道目标模型
的参数,即能生成对抗样本,可用于干扰文本的情感倾向分类.
(2) 本文设计了一种新的词语重要性计算方法,利用该方法,以较小的代价对中文文本数据进行修改,有
效改变DNN 模型对修改后样本的倾向分类.
(3) 提出的方法在真实的数据集上进行实验,使用LSTM 和CNN 模型对生成的对抗样本做倾向判别,倾
向判别准确率平均下降29%和22%,而对输入的中文文本平均的修改幅度为14.1%,实验结果证明了文中所提的WordHandling 对抗样本生成方法的有效性.
本文第1节是相关工作的介绍.第2节是背景知识.第3节对本文提出的对抗样本生成算法进行详细描述.
第4节为实验设置以及结果的分析讨论.第5节为本文的总结.
1  相关工作
传统机器学习的安全性方面已进行了许多研究工作,如针对机器学习模型形成的不同类型攻击方法的总结及相应的防御措施[22].其中提出的一些攻击方法,包括“污染”攻击[23,24]和回避攻击[25−27],威胁着已部署的基于机器学习模型的系统.而在各方面表现很好的深度神经网络模型也同样存在着安全问题,如精巧制作对抗样本,能够误导基于DNN 的分类系统,这种新的攻击方式及其针对性的防御引起越来越多的关注.就对抗样本攻击而言,现已有多种生成对抗样本的方法用于对抗DNN,如FGSM(fast gradient sign method)[28−30],JSMA(jacobian- based saliency map attack)[31],Deepfool [32]等.但上述方法多是针对图像类型,并不能直接应用于文本领域.原因在于图像是连续的,文本是离散的且有词序限制;另一方面,文本和图像的距离度量标准并不一致.
尽管不同于图像领域,文本方面的对抗样本研究工作也已有相应的进展,Liang 等人[17]通过对输入数据的词向量梯度计算决定向文本中插入、删除、修改的内容,在哪里插入以及如何进行修改,但是该方法需要知道模型参数,不适合本文的黑盒场景,而且插入整个语句的方法可能会改变输入内容的意思.Ebrahimi 等人[18]使用同义词来替代原词,其中加入了严格的限制条件.但是该方法在仅改动一两个词
就可生成对抗样本的情况下,得到的对抗样本数量十分稀少.Papernot 等人[19]使用LSTM,把随机选取的词在嵌入(embedding)层的词向量用向量空间中最邻近的词向量替代,映射到输入中就可能会生成与原词完全不相关的词来代替,不能保证语义上的相似.此外,Gao 等人[21]在黑盒条件下生成文本类型的对抗样本,他们提出了DeepWordBug 算法,根据黑盒条件下观察模型的输出结果,设计词语重要性计算函数,出文本中的关键单词,并对单词的字母进行插入、删除、(a) 修改负面评论例子 (b) 修改正面评论例子
2418 Journal of Software  软件学报 V ol.30, No.8, August 2019    取代、前后字母交换位置等方式修改以生成对抗样本,但修改的方法不适用于中文数据.上述方法使用的实验数据是英文文本,并没有使用中文实验数据的研究工作.本文在第3节介绍针对中文文本数据生成对抗样本的算法.
2  背景知识
2.1  情感倾向性分类
情感倾向性分析的目的是利用机器提取人们在文本中对某事物或某人表现的态度,从而发现潜在的问题来改进和预测.主要的分析内容是对特定的人或事物带有主观彩的偏好和倾向,如喜欢、讨厌、好、坏等.而分类任务是把自然语言编写的文档通过深度学习模型自动地划分到预先定义的类别中[33].在文本领域,确定产品或评论中的情感倾向的情感分类也是一种文本分类任务.文本分类典型的方法是用词袋向量
(bag-of-word vectors)表示文本数据,使用SVM(support vector machine)等传统机器学习模型并不能保证词在文本中的词序,而词序的缺失对文本的情感分类有很大影响.Johnson 等人[33,34]分别使用CNN 和LSTM 在保证词序的前提下对词向量处理,进行情感分类.而在实际生活中,情感倾向性分类可用于评论筛选、信息过滤等工作.
2.2  卷积神经网络CNN
卷积神经网络CNN [35]是一种前馈神经网络,其包含卷积层与池化层.卷积操作的作用是突出特征,将更明显的特征提取出来,在CNN 中,卷积的操作可以用公式(1)来表示.
()i c f w x bias =⋅+∑ (1)
该公式表示卷积核与卷积区域的点乘和,然后同偏置求和后激活.池化也称为子采样,其可看作为一种特殊的卷积过程,常有均值和最大值子采样两种形式.卷积和池化能简化模型的复杂度,减少其中的参数. CNN 在多个领域取得了成功,在图像处理方面,其特有的卷积、池化结构能够提取图像中各种不同程度的纹理、结构,并最终结合全连接网络实现信息的汇总和输出.而在短文本分析任务中,句子的长度有限、结构紧凑、能够独立表达意思的特点,使得CNN 在处理这一类问题上成为可能[36],因而其也能用在文本倾向性检测中.
2.3  循环神经网络RNN
面对时序相关的输入数据时,传统的神经网络表现不佳,其直进直出的特性决定这只能使用当前输入而不能利用之前的数据信息.循环神经网络(recurrent neural network,简称RNN)很好地解决了这一问题,RNN 是一个循环网络,能够很好地存储信息,其网络结构如图3所示.图3对h 处的循环展开,可看出,单元h t 不仅受当前输入x t 的影响,还受到h t 之前单元的影响.W 1~W 3表示权值.
Fig.3  Network structure of RNN
图3  RNN 网络结构
但当前输入信息与之前的输入关联度有长有短,随着信息关联度的变长,RNN 不能学习这些信息之间的联系而失去效用.为解决这个长期依赖问题,LSTM 因此被提出.长短记忆网络LSTM [37]是一种特殊的循环神经网
王文琦 等:面向中文文本倾向性分类的对抗样本生成方法 2419  络RNN,由Sepp Hochreiter 和Jürgen Schmidhuber 在1997年提出,并加以完善与普及,其能够学习到长期依赖关系,可以对之前的输入有选择的记忆,从而有助于判断当前输入.LSTM 在各类任务上表现良好,包括情感倾向性检测,因此被广泛使用[38−40].
3  WordHandling 算法
3.1  前提设定
本文预先训练一个LSTM 替代模型,把一个文本数据作为输入,经过LSTM 模型后,会输出一个分数s ,根据预先设定的阈值与s 的比较来判别该输入的类别倾向.一般黑盒条件下,观察模型的结果仅能得到输入数据所属的类别标签y ,而本文通过LSTM 替代模型,可获取且仅需获取输出的判别分数s .
① 设定训练集中的正负样本评论数据分别标记为1和0,倾向分类判别阈值用λ表示.当s >λ时,该输入被
判别为正样本(positive);当s ≤λ时,被判别为负样本(negative).
② 原始样本分词后,依次输入得到各自的分数,认为s 在β到α之间的词语为偏中性,不带情感倾向或倾  向微弱;s >α,偏正面;s <β,偏负面.
③ 名词不包含明显的情感倾向,可排除在修改序列外.
④ 对于汉字中不存在同音字的词,如“嗯”“命”等,但这些字并不影响WordHandling.原因在于,不存在  同音字的汉字稀少,并不存在明显的情感倾向且可以用谐音词代替.这些词计算得到的重要性程度
弱于其他情感倾向较大的词,如正面倾向的“喜欢”“好”,负面倾向的“坏”“差”“无用”等. 3.2  总体描述
自然语言处理的相关应用对输入文本中的某些词具有高度的敏感性,对敏感词进行修改在较大程度上能够改变分类器对输入样本的类别倾向判断[5].而敏感词也即是语句中的重要词(关键词或贡献度大的词),其重要性或贡献度则是对输入数据类别倾向判断影响程度的一个度量,重要词被修改之后很大程度上会改变原始输入的情感类别倾向.因此,本文对语句中情感倾向性词语进行修改以生成对抗样本的流程,如图4所示
.
Fig.4  Adversarial examples generation process in this paper
图4  本文对抗样本生成的流程
其过程描述如下:
对输入文本进行分词处理,依次输入计算各个词或词组的分数score. ②
统计score 大于α(偏正面)和小于β(偏负面)的词的个数,分别记为P 和N . ③ 比较P 和N 的大小:若P >N ,则认为输入的数据偏正面;反之,则认为输入的数据偏负面.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。