APP下载

面向中文用户评论的自动化众包攻击方法

2019-07-11王丽娜郭晓东汪润

通信学报 2019年6期
关键词:语料向量汉字

王丽娜,郭晓东,汪润

(1. 武汉大学空天信息安全与可信计算教育部重点实验室,湖北 武汉 430072;2. 武汉大学国家网络安全学院,湖北 武汉 430072)

1 引言

在自媒体时代,用户评论社区中的每一个网络用户都可以自由地发布自己的观点,其中包括用户对产品的质量或服务的评论。例如美国最大的用户评论平台Yelp,平均每天有三百多万的用户访问,拥有超过1.71亿条评论。在国内,随着淘宝、京东、大众点评等电子商务平台的发展,越来越多的消费者选择通过商品评论社区来分享自己的购物体验、评价商品质量和服务。用户在发布评论的同时也倾向于依赖其他用户的评论做出消费决策。文献[1-2]指出用户评论的倾向性(积极或消极)是影响商品口碑的一项重要因素,此外,文献[3-4]的调查研究表明商品的口碑会从多个方面影响消费者的消费决策,比如消极评论的增加会导致餐馆减少 5%~9%的收入,另一项研究[5]表明80%的美国用户承认会参考用户评论来选择购买的产品和服务。面对自由开放的用户评论社区,针对某一件商品或某一款服务,发布大量相同倾向性的用户评论,比如大量好评或大量差评,从而提升或降低商品或服务的口碑,能产生巨大的商业利益,所以恶意组织或个人选择多种方式生成大量的虚假评论来攻击竞争对手或提升自身产品的影响力,其中,面向文本的众包攻击是一种被广泛应用的虚假评论生成方法。面向文本的众包攻击,简称为众包攻击(crowdturfing attack),即采用众包的方式雇佣数个网络写手,捏造大量不符合事实的评论[6],诋毁竞争对手或提高自己的口碑。恶意的众包攻击会对公平竞争产生非常负面的影响,不仅对商家造成伤害,也会破坏用户评论社区的健康环境,导致用户评论的可信度下降,消费者将失去主要的获取网络商品信息的渠道[7-9]。

传统基于人工的众包攻击方法具有以下不足。1) 攻击成本高、效率低,基于人工的众包攻击方法需要支付大量的酬劳,并且效率低,难以形成大规模的攻击行动;2) 攻击效果差,在面对大规模的真实攻击场景中,需要在限定的时间内生成大量的虚假评论,导致了人工生成的评论质量低,效果差。因此针对传统众包攻击中的诸多不足,一种新型的攻击方式逐渐被关注,即自动化众包攻击(automated crowdturfing attack)[10],两者的比较如图1所示。在人工众包攻击中,攻击者将任务分发给网络写手,网络写手撰写大量的虚假评论。而自动化众包攻击方法使用计算机程序取代网络写手,由程序自动撰写大量虚假评论。自动化众包攻击利用机器学习模型在特征表示方面的巨大优势,自动地生成大量高质量、逼真的用户评论。这种攻击方式可以有效地满足大规模、真实场景的攻击要求,能够快速地生成大量的高质量用户评论。因此,自动化众包攻击成为目前用户评论社区攻击的重要手段。

图1 传统众包攻击与自动化众包攻击的比较

近些年来,针对文本自动化众包攻击的研究大多针对英文文本。文献[10-18]提出了面向英文用户评论的虚假评论生成方法和自动化众包攻击方法。这类方法采用独热向量(该向量的索引位置为 1,其他位置为0)表示英文字母,任意2个字母之间都是孤立的,无法表示语义层面上的相关信息,这使面向英文文本的方法并不适用于面向中文用户评论的自动化众包攻击。英文中的每个单词都由空格或标点隔开,不同长度的单词也都由 26个基础字母组成,这种简单的语言结构更利于深度网络的学习;而中文句子中的词汇没有明显的分界,且组成每个词汇的汉字数量庞大,汉字与汉字之间本身又具有一定的语义联系,使中文句子的结构比英文句子的结构复杂,这给中文的处理造成了困难。

针对上述问题,本文利用嵌入网络学习汉字间上下文语义关系的特性,解决英文方法中独热向量表示方法不能捕捉汉字之间语义联系的问题,提出了一种面向中文文本的自动化众包攻击方法,流程如图2所示,具体如下。1) 利用汉字嵌入网络方法学习汉字间的语义距离,其中语义接近的汉字所表示的向量距离相近,语义较远的汉字则向量距离较远。同时汉字嵌入网络本质上是一种低维映射,可以有效减少后续网络体积,包括神经元个数和训练参数个数,加快训练速度。2) 基于长短期记忆网络(LSTM,long short-term memory)模型进行句法学习,并解决中文评论生成中的长依赖问题。例如中文评论“衣服收到,做工精细,没有色差…衣服上身效果特别好”中,2个汉字的组合“衣服”相互长依赖,但与评论中间省略的汉字依赖性很小,拥有记忆长依赖特性的LSTM网络在该类问题上表现效果优异,通过多层LSTM网络可以进一步学习中文评论中汉字的排列规律。3)采用Softmax全连接网络来生成大量多类型中文评论,满足自动化众包攻击的需求。Softmax全连接网络基于之前两层网络的计算生成一组汉字概率分布,Softmax函数不同的分层对应不同汉字的生成概率,基于生成概率进行随机抽样可以得到多个可选择的高概率汉字,生成评论中每个位置上的汉字都有更多的选择,则可以组合成多种内容,从而获得大量多类型的生成评论,但是评论的内容质量会下降。所以本文进一步使用温度参数T来平衡生成评论的质量和多样性。参数T对分层的汉字生成概率进行缩放,T越大,分层间隔的差异越小,挑选每个汉字的概率趋同,随机抽样会抽取更多的低概率汉字,使模型生成评论类型更多但质量下降;T越小则结果相反。

图2 面向中文文本的自动化众包攻击流程

为了验证所提文本攻击方法的有效性,本文通过以下3个角度进行验证。1)基于语言学的文本相似性分析。对评论进行语言学分析是鉴别评论内容虚假的主要手段,例如词袋分析、LIWC分析等。这里使用基于语言学分析的分类器来对比生成评论和真实评论的相似性,并验证生成评论的真实性。2)基于文本拷贝检测的文本生成多样性评估。生成句型单一的虚假评论并不能满足自动化众包攻击的需求,本文使用拷贝检测工具来对比本文攻击方法和传统基于名词替换的攻击方法,并验证生成评论的多类型。3)基于人工的文本真实性测试。机器手段只能分析生成评论的句子构成和特征,句子的可读性仍然需要端到端的用户调查方式来评估。实验结果表明,本文提出的面向中文文本的自动化众包攻击方法,能够快速、高效地生成大量的高质量文本,可以有效地应用于大规模、真实的用户评论社区攻击场景中。本文的主要贡献如下。

1) 提出了一种基于汉字嵌入 LSTM 模型的自动化众包攻击方法,该方法面向中文用户评论社区,可以自动地生成大量逼真的虚假评论。

2) 提出了一种基于汉字的嵌入方法,该方法可以有效地学习汉字之间的语义关系,能够生成更加真实的中文虚假评论。

3) 提出了一种基于汉字的随机抽样方法,通过在抽样分层函数中引入温度参数T来控制每一个汉字的采样概率,可以有效地平衡本文攻击方法生成虚假评论的质量和数量,极大地提高了自动化众包攻击的效果。

2 相关工作

2.1 文本生成方法

传统的自动文本生成技术,比如n-gram模型和基于文本模板的模型[12-14],在模仿真实文本时都有局限性,这些技术所生成的文本存在语法错误、词不达意等问题,很可能会被用户判断为虚假内容。随着统计模型和神经网络的发展和普及[15-16],基于LSTM[17]模型的文本生成技术逐渐引起了研究者的关注。Yu等[18]的研究表明基于 LSTM 模型的文本生成技术可以生成更加连贯的文本。Auli等[19]的研究工作表明,基于LSTM网络的语言生成模型已经成为一种结构良好且极具前景的文本生成方法。LSTM 网络模型被广泛用于各个领域,Kannan[20]将真实用户内容聚类,使用LSTM网络模型构建效果良好的自动电子邮件应答器;Karpathy等[21]使用双向LSTM网络模型来生成图像的文本描述,并在诸多图片检索实验中取得了良好的效果;Serban等[22]使用一种扩展和分层递归编码的LSTM模型来生成电影场景中的对话文本,能够高度还原电影对话的连贯性;Shang等[23]通过搜集大量社交网络中的对话文本,使用LSTM 模型实现了社交软件中的自动问答。虽然LSTM 模型在文本生成领域已经取得了多个成果,但是这些研究旨在提高生成文本的质量。对于自动化众包攻击,不仅需要文本质量足以欺瞒用户,还要产生足够多的不同类型文本来改变评论区的褒贬比例,达到影响消费者的消费决策的目的,这是传统文本生成技术不能满足的。

2.2 英文众包攻击方法

针对传统众包攻击方法存在的成本高、规模小、效果低等不足,自动化众包攻击方法逐渐吸引了研究者的关注。近些年,研究者主要围绕面向英文用户评论的虚假评论生成和自动化众包攻击等展开了一系列的研究工作。Bartoli等[11]在2016年提出了自动生成虚假评论的可能性,并使用神经网络模型实现生成方法,通过真实用户调查研究,验证了自动生成虚假评论的可行性。Yao等[10]在 2017年提出自动化众包攻击的方法,针对最大的英文评论平台Yelp,研究者使用神经网络模型学习意大利餐厅评论,生成一套虚假评论模板,然后通过关键词替换的方式生成针对日本餐厅的虚假评论,结果表明这些虚假评论足够真实且可以欺骗母语为英语的用户。Yu等[18]在2018年提出了一种针对社交网络里恶意竞争的自动化众包攻击方法,研究者以Twitter平台为例,将评论文本按情感倾向聚类成不同极性的评论集,使用神经网络有针对性地学习并生成对应极性的虚假评论,实验表明 85.2%的生成评论具有正确的语法并具有一定的语义。这些研究成果表明自动化众包攻击方法是一种十分有研究意义的新型攻击方式,会给各类评论系统带来巨大的威胁。虽然面向英文用户评论的自动化众包攻击方法已经取得了比较好的效果,但直接用于进行中文自动化众包攻击的效果并不好[24]。原因主要在于,面向英文的自动化众包攻击使用基于字符的循环神经网络(char-level RNN)模型,Graves[25]和 Lebret[26]等的研究表明,在英文自然语言生成的问题上,基于字符的循环神经网络模型比基于词汇的循环神经网络(word-level RNN)效果更好。但常用汉字比常用英文字母庞大得多,字符集数量的差距导致每个字符对应的字向量也成倍增长,进一步使攻击模型的参数、占用的内存和计算开销都成倍增长。同时由于英文和中文本身的区别,例如英文字母间没有语义关系,而汉字之间存在语义关系,英文词汇由空格天然分割,汉字词汇没有明显分割,所以上述面向英文用户评论表现良好的自动化众包攻击方法并不适用于中文用户评论。

3 攻击方法概述

3.1 问题描述

面向中文的自动化众包攻击方法使用计算机程序自动地生成大量中文虚假评论,这些评论混杂在真实评论中不容易被分辨,且能够在一定程度上影响用户的消费决策。本文只关注生所成评论的文本内容能否接近真实评论且不易被鉴别,而其他鉴别虚假评论的因素,如评论与发布者本身的关系、发布者的影响力、发布者的评论历史、评论的发布日期、发布者的IP地址等不在本文考虑范围内。众包攻击方法的假设前提如下。1)攻击者有获取大量评论语料的能力。知识丰富的攻击者可以从用户评论社区上获得足够多的真实评论语料来训练攻击模型。2) 攻击者可以利用比较容易获得的计算资源来训练攻击模型,比如个人电脑、办公电脑、小型服务器、租用的云计算服务器等进行训练。

本文攻击模型使用的数学模型如下:给定一个含有n条真实评论的训练语料集R={r1,r2,r3,…,rn-1, rn},语料集中包含v个不同的汉字,组成汉字集V。对于每条评论r,按顺序将t位置上的汉字表示为wt。攻击模型通过学习wi之间的语义距离和ri对应的句法,并接收生成长度参数s,生成高质量的虚假评论集R'={r1', r2', r3', …},其中,R'包含所有汉字的数量即为参数s,虚假评论r1'、r2'、r3'等由攻击模型输出的评论划分标记分开。则攻击达到的效果为:R和R'在语言学分类上大致相同,即Tag(ri')=Tag(rj),真实评论集R中任意 2条评论ri和rj不会高度相似,同时R'中的任意评论ri都不与R中任意评论rj高度相似,即sim(ri',rj) ≤ sim(ri,rj)。

3.2 方法描述

攻击方法的流程如图3所示。首先抓取真实评论获得原始语料,对原始语料预处理后得到训练语料,然后经计算依次得到汉字嵌入向量、中间隐向量、汉字概率分布。最后基于汉字概率分布随机抽样生成评论。

图3 攻击方法流程

1) 原始语料预处理。从淘宝抓取的原始语料包含大量汉字文本内容之外的元素,所以数据清洗删除这类元素包括emoji表情、颜文字和外文字符。然后去除影响嵌入向量计算重复叠词和极少使用的汉字,将文本统一编码为unicode格式方便模型训练。为了在语料中划分每条评论,本文在每条评论的起始位置添加起始标记(start of review),评论末尾添加结束标记(end of review)。

2) 汉字嵌入向量生成。在预处理之后,训练语料只包含与中文相关的语素。对比英文语素,中文汉字之间包含丰富的语义相关性,学习这种语义信息可以使攻击模型生成更加逼真的虚假评论。嵌入网络是一种有效且应用广泛的神经网络结构,将训练语料输入汉字嵌入网络,经过多轮迭代训练后得到关于每个汉字的嵌入向量(embedding vector),其中,嵌入向量的距离关系表示汉字之间的语义关系。

3) 中间隐向量生成。嵌入向量仅包含语义距离关系,句子构成和排列方式是生成评论中更重要的信息。LSTM网络具有序列敏感特性,被广泛应用于文本生成领域,本文中使用LSTM网络从训练语料中学习句子构成和排列方式,得到包含句法信息的中间隐向量,用于获得汉字概率分布。

4) 获得汉字概率分布。LSTM网络学习到的写作方式只是用一些难以琢磨的中间隐向量(hidden vector)表示,所以需要一层全连接网络将隐向量所代表的概率分类到每一个汉字元素上。Softmax函数是应用广泛的多分类函数,其简单且高效的表现是许多输出网络激活函数的首选。隐向量输入Softmax全连接网络,经过前向传播算法和Softmax分层函数计算后输出汉字概率分布,其中把概率最大的汉字作为预测汉字,对比预测汉字与训练汉字的误差,经反向传播算法计算并更新模型参数,训练完毕后Softmax网络得到一种隐向量与汉字概率的映射关系。

5) 随机抽样获得生成评论。汉字嵌入网络、LSTM网络和Softmax网络整体构成一个攻击模型,给定一个起始字符、生成长度参数s和温度参数T。起始字符作为评论生成的种子,生成长度参数s作为模型输出的迭代轮次,每一轮次输入之前已经生成的汉字,基于当前输入汉字序列计算输出汉字概率分布,然后对概率分布进行随机采样即可生成下一个汉字。温度参数T控制Softmax的抽样概率,将在第4节详细说明。这里将评论起始标记送入攻击模型,记为w0,模型计算P(w1|w0),然后对所有汉字进行随机抽样得到w1,然后再将w0、w1输入攻击模型计算P(w2|w0,w1),从而得到汉字w2,以此类推,最后得到生成评论集{w0,w1,w2,…,ws}。

攻击模型经上述流程后生成的虚假评论如表 1所示,其中每条评论都是从样本中随机抽取的,ID表示各评论在表1中的顺序。温度参数T越大,生成的评论灵活性越高,攻击模型可以生成多种多样丰富的表达,但用词不当、语序错误的风险也会增加。

4 攻击方法的设计与实现

在本文的攻击方法实现中,首先利用汉字嵌入网络从预处理后的训练语料中学习汉字之间的语义关系,包括汉字共现统计和汉字嵌入权重计算;然后使用LSTM网络在嵌入向量基础上学习句子组成和顺序关系,生成中间隐向量,通过Softmax全连接层将隐向量映射到每一个汉字的概率,按汉字概率分布随机抽样获得生成评论。

表1 不同温度参数T下生成的虚假评论样例

4.1 汉字嵌入网络

本文采用向量空间模型(VSM)[27],即嵌入网络来学习汉字之间的语义距离。嵌入网络分为字嵌入网络和词嵌入网络。通常词嵌入网络比字嵌入网络能更好地表示语义,因为现代汉语的基本语义元素是词汇,词汇中的汉字拆分后可能和原来的语义不同,但是词嵌入网络有一个中文分词的预处理过程,这个分词过程往往需要一个由语言学专家总结的中文词典[28]。而中文用户评论是一种非常新颖的文体且更新速度很快,里面存在很多的网络新词汇,例如表1例句中的“版型”(指服装轮廓)、“炒鸡”(超级)等,中文词表是不随网络新词汇的增加随时更新的,且更新耗费大。同时中文分词算法上存在一定的偏差,不能解决交集型歧义,例如“天真的你”会被划分成“天/真的/你”,不能解决组合型歧义,例如“网球拍卖完了”会被划分为“网球/拍卖/完/了”,考虑嵌入网络本身也存在着映射上的偏差,2个计算过程带来的误差累加也是不可忽视的。而汉字直接嵌入不存在这些问题,统计语言模型直接从语料中学习成词的规则和句法,按照规则和句法自动造词,极大地保证了生成文本的灵活性,让生成的虚假评论看起来更加接近网络语言,更加真实。基于以上特点,本文使用汉字嵌入网络来构建自动化众包攻击模型。汉字嵌入网络首先计算窗口内2个汉字的联合概率分布,例如评论“质量非常好”,如图4所示。

给定一个大小为2的窗口,通过滑动窗口统计每2个汉字的共现频次。然后分别对于每一个汉字,统计所有与之共现的汉字频次,然后按频次占比转化为共现概率值,没有共现则概率为0。所以每一个汉字wt都对应一个长度为V的概率向量p,其中向量p位置i上概率值pi表示汉字wt与汉字wi的共现概率,此概率向量作为嵌入网络的输出损失判别依据。汉字嵌入网络结构如图 5所示。

图4 统计汉字共现概率

图5 汉字嵌入网络

如图5所示,汉字嵌入网络包括一个节点数量为V的输入层,一个节点数量为嵌入向量长度d的线性隐含层和一个节点数量为V的概率输出层。其中输入层依次接收每个汉字的独热向量,输出层依次以对应汉字的概率向量为损失判别依据。嵌入网络通过如式(1)所示的最大化对数似然函数,反复迭代使输入汉字通过前向传播计算能够正确得到对应概率向量。其中输入层与隐层之间维度为V×d的全连接权重矩阵M为所需要的嵌入矩阵,M对应行i所包含的权重向量即是索引为i汉字的嵌入向量。

其中,c表示汉字wt的上下文环境,P(wt+j|wt)表示wt与wt+j的汉字共现概率。计算对数似然函数的误差后,使用反向传播算法更新权重矩阵,然后通过反复迭代,最终得到一个关于汉字集V的汉字嵌入向量矩阵。

4.2 多层LSTM网络

本文利用LSTM网络学习真实评论中的句子构成和排列规律。在处理序列数据的问题上,LSTM是一种被广泛应用的神经网络模型,例如短文本分类[29]、自动问答[30]、图片标注[31]、自动摘要[32]等。LSTM模型通过记忆单元来存储和利用那些句子中长距离的依赖元素,这使LSTM能够学习较长的句子且保证良好的效果。多层LSTM网络使用多层非线性函数的组合来学习句子中每个汉字之间的概率分布,即当2个或多个汉字经常按序出现在一起时,网络可以捕捉到这种统计特征。由于在线评论往往是长短不一的,本文使用一种窗口方法来解决这个问题,窗口方法假设一个汉字的出现只与它前面窗口内的汉字排列顺序有关,和窗口外的汉字无关。具体为将训练语料中的所有评论首尾拼接在一起组成一个长文本,由于每条评论都有起始标记和结束标记,所以每条评论在长文本中是容易被划分的,也容易被LSTM模型捕捉到。然后设定一个固定窗口,窗口在长文本上以步长为1来滑动抽取汉字段交由 LSTM 模型学习,这个窗口通常设置为100,这对生成短评论文本来说是足够的。

4.3 Softmax全连接网络

在真实的攻击场景中,需要兼顾虚假评论的真实性及多样性,本文在Softmax全连接网络中引入了温度参数T来平衡评论真实性和多样性。在多分类问题上,Softmax全连接网络是一种表现优异的神经网络结构,能够将LSTM网络输出的低维中间向量重新映射到汉字集中的每一个汉字。网络包括d个输入神经元和v个输出神经元,激活函数使用Softmax函数。因为攻击模型不仅需要生成逼真的虚假评论,而且需要虚假评论在数量上具有一定的规模,同时具有各种各样的类型,在训练语料的基础上可以产生新的词汇或句子的组合。所以本文使用Softmax函数时引入了一个重要的温度参数T,具体如式(2)所示。

其中,k表示汉字集中汉字的索引,et表示全连接网络的输出向量,et j表示输出向量et在索引j的分量。当T小于1时,降低了攻击模型选择出现可能性较低字符的概率,所以攻击模型在生成文本序列时就会有较大概率选择可能性较大的一些字符,这样生成的评论质量较高,但也限制了文本生成的种类。随着温度参数T升高,攻击模型选择低概率字符的机率增大选择高概率字符的机率减少,这样就可以生成丰富多样的文本,当然随着多样性的丰富,生成的文本也会伴随着更多的错误,比如词汇组合不匹配、上下文不一致等问题。

5 实验与结果分析

在中文评论社区的自动化众包攻击中,生成的虚假文本具备真实性强、类型广泛等特点。因此,本文从以下几个角度来对比和分析攻击方法的有效性:1) 将传统面向英文文本的生成方法与本文方法进行对比;2) 从语言学角度分析本文方法生成的虚假评论与真实评论的相似性;3)验证本文攻击方法在拷贝检测上优于传统基于词替换的攻击方法;4)验证本文生成的虚假评论能够欺骗用户并影响用户的消费决策。为了防御文中所提的攻击方法,本文中给出了一种可行的防御方法。

5.1 数据集

淘宝网的商品分类广泛,具有如电子产品、家居用品、衣物用品等多种分类。本文针对一种最常见的自动化众包攻击场景,从淘宝网的衣物评论社区中抓取了51 121条好评数据,来模拟攻击者提高商家口碑的攻击方式。原始评论集中的所有评论随机打乱顺序后,按3:2的比例划分,其中30 672条评论作为攻击模型训练数据集,20 449条评论作为实验测试数据集。

5.2 英文生成方法对比

传统针对英文环境的自动化众包攻击方法通常采用 Char-LSTM 模型,已有实验[10]表明该模型可以生成高质量的英文评论。但Char-LSTM用于生成中文虚假评论有诸多缺点。1) 特征稀疏。直接将中文汉字映射为独热向量,则训练语料中包含大量的零值,稀疏的特征使模型训练缓慢。2) 参数数量多。Char-LSTM模型训练所需的参数大约为本文模型的10倍。模型的参数往往决定模型训练所需的内存,显然更小的内存消耗使经济成本和时间成本都有所降低。3) 缺少汉字之间语义表示。在英文中,英文字母之间并没有语义联系。学习汉字之间的语义联系可以使生成中文评论更具灵活性,例如表1中的新词汇“炒鸡”(超级)和“稀饭”(喜欢),灵活使用汉字使生成的中文评论看起来更逼真。

针对以上问题,对比实验设置如下。对于Char-LSTM 模型和汉字嵌入 LSTM 模型同样采用CPU-i7-6700K、GPU-TiTanX和内存32 GB的硬件环境,为了突出汉字嵌入LSTM模型的改进部分,这里设置2种模型相同部分的LSTM网络同样为3层,每层1 000个神经单元,激活函数采用ReLU,初始学习率设置为0.01,训练400轮。实验结果如表2所示。

如表 2所示,在模型结构相同的情况下,Char-LSTM模型所需要的参数约为54 MB,汉字嵌入LSTM模型所需训练参数约为4.3 MB,在模型训练中,参数的数量往往决定模型的内存和时间开销,进一步决定模型成本开销。并且,在迭代 400轮后,Char-LSTM 的损失仍然远高于汉字嵌入LSTM 模型,训练所需时间也明显多于汉字嵌入LSTM模型。对比实验表明汉字嵌入LSTM在处理中文评论上性能优于Char-LSTM模型。

5.3 生成评论与真实评论对比

基于语言学分析的分类器也是目前主要的虚假评论检测手段[6,33-34],攻击方法生成的虚假评论文本要欺骗分类器检测,就要在这些语言学细节上接近真实评论文本。对于虚假评论文本的语言学分析主要分为3个维度[34]:基于语法分析维度、基于语义分析维度、基于文体元数据分析维度。本文从这3个维度中提取出5组共113个分类特征用于训练软间隔SVM线性分类器。

1) 词袋特征。词袋特征是一种不考虑词序将句子表示为一个词集合的方法。词袋特征在文本分类、情感极性分析、图像识别等领域中应用广泛。在恶意众包论坛中的虚假评论数据集检测上,词袋特征能够达到 89.6%的准确率[35]。本文使用 jieba分词工具[36]将一条评论中的每个句子表示为一个词集合,然后将不同词集合的最大余弦相似度来作为该条评论的一个分类特征。

2) 结构特征。评论的结构特征用来表示一条评论的基本结构,包括评论中的词汇数量、句子数量、句子的平均词汇数量和词汇的平均汉字数量,一共4个分类特征。

表2 模型实验对比

3) 词性特征。通过对评论中的词汇进行词性标注,并统计词频的方式表示为评论的词性特征。Li等[37]的研究表明真实评论和虚假评论在语法特征上呈现不同的特点:真实评论包含更多的名词和形容词,而虚假评论包含更多的动词、副词和代词。本文使用jieba中的POS(part of speech)工具,将评论进行分词并标注词性,然后分别统计名词、形容词、动词、副词和代词的数量,作为5个分类特征。

4) 极性特征。情感极性分析是一种语义分析方法,通过统计不同情感词的数量来分析一条评论所代表的情感倾向。研究表明虚假评论比真实评论包含更多的情感词,表现为更积极或更消极[37]。本文使用snownlp工具[38]给出评论的情感分数,分数在[0,1]之间,然后将情感分数距中性分数(0.5)的距离作为一个分类特征。

5) 文体特征。LIWC(linguistic inquiry and word count)工具[39]被广泛应用于英文文本的文体特征提取。本文使用基于LIWC开发的中文文体特征提取工具 TextMind[40],TextMind将简体中文常用的5 000个词汇划分为102个类别,例如社交、情感、认知、感知、生理、空间、时间、金钱、宗教等。本文使用TextMind工具对评论进行词汇标注,然后统计每类词的数量作为102个分类特征。

实验使用测试集中随机抽取的1 000条真实评论和攻击模型生成的1 000条虚假评论用于训练软间隔SVM线性分类器,并采用10折交叉验证来计算平均精确率和召回率。精确率(precision)表示为由分类器成功标记为虚假评论和所有由分类器标记为虚假评论数量的百分比,召回率(recall)表示为由分类器标记为虚假评论和数据集中所有虚假评论数量的百分比,精确率和召回率随温度参数T的变化如图6所示。

图6 语言学分析-对比真实评论和生成评论

在温度参数T为0.1时,精确率和召回率都接近100%,这表示SVM分类器很够准确地标记出虚假评论。随着温度参数T增大,分类器的分类能力下降。在温度参数为1.0时攻击效果最好,精确率为55%,召回率为56%,这表示分类器接近随机分类(50%分类精确率),分类器并不能很好地辨别出数据集中的虚假评论。随着温度参数T的继续增大,攻击模型生成的虚假评论质量下降。对比实验表明,当温度参数T在0.8到1.2时,攻击模型生成的虚假评论具有和真实评论一样的真实性。

5.4 生成评论与训练语料对比

在语言学分析的角度上,虽然攻击模型生成的虚假评论可以欺骗分类器的检测,但是传统基于名词替换的攻击方法也可以产生接近真实的虚假评论。这是因为基于名词替换的方法采用数个通用的模板,这些模板基本来自某些典型的真实评论,然后通过把模板中物品或服务的名词,替换为与攻击目标相关的名词来生成虚假评论。这种传统攻击方法生成的虚假评论除了部分名词不同于模板外,其他文本部分和模板完全相同,这就使基于语言学分析的分类器并不能检测出这种攻击方式。为了进一步对比和分析本文攻击方法优于传统名词替换的攻击方法,这里使用拷贝检测来验证。拷贝检测通过计算2个文本的内容相似度来判断文本是否存在剽窃行为。这里采用Winnowing[41]工具来进行拷贝检测实验,Winnowing是一种已被证明效果很好且被广泛应用的方法。Winnowing方法使用散列函数将文本映射为一组与之对应且唯一的指纹信息,然后对于待检测文本和待比较数据集都生成这样的指纹信息,最后采用 Jaccard指数计算指纹信息之间的相似度。本文采用待检测文本与待比较数据集中每条文本相似度的最大值作为拷贝检测分数,分数范围为 0~1,分数越高则代表待检测文本越有可能是拷贝而来的虚假评论。

实验假设用户评论社区的防御工作者可以获取到包含攻击模板的评论数据集,实际上这很容易做到,防御工作者可以查找所有已经存在于评论社区的评论,而基于名词替换的虚假评论一旦出现在评论社区中就可以被用来检测其他新发布的评论。

对于本文攻击方法,选取训练集中的所有真实评论作为待比较数据集,选取攻击模型生成的1 000条虚假评论作为待检测数据集,本文方法的拷贝检测分数为待检测中所有虚假评论拷贝检测分数的平均值;对于名词替换方法,同样选取训练集中的所有真实评论作为待比较数据集,然后基于该数据集抽取所有标注为名词词性的词汇组成名词集,并随机从待比较数据集中抽取1 000条真实评论作为模板,用名词集中的名词随机替换掉模板中的名词,最后将这1 000条评论作为待检测数据集,实验结果如图7所示。同时选取测试集中所有评论和训练集中的评论作为参照,实验结果如图8所示。

图7 拷贝检测-对比名词替换方法和汉字嵌入LSTM方法

图8 拷贝检测-对比汉字嵌入LSTM方法和真实评论

如图7所示,名词替换法的拷贝得分为0.536分,高于所有温度下的汉字嵌入 LSTM 方法,即Winnowing拷贝检测工具更容易检测出名词替换方法生成的虚假评论,随着温度参数T增大,汉字嵌入LSTM方法的拷贝得分逐渐变小,生成的虚假评论更不容易被检测。同时,图8说明本文攻击方法生成的虚假评论不是简单地复制训练集中的真实评论,而是在训练集的基础上生成了新的评论。在温度参数T为0.9时,虚假评论有最接近真实评论的拷贝得分。实验表明本文方法比传统基于名词替换的攻击方法有更好的实用性。

5.5 生成评论的用户调查

本文使用用户调查的方式,验证攻击方法生成的虚假评论对用户的影响。考虑到具体的攻击场景,实验邀请 50名具有丰富安全背景知识的参与者,填写调查问卷。50名参与者被分为5组,每组10人,每组的调查问卷分别对应温度参数T为0.2、0.5、0.8、1.0和1.3。每个参与者被分配30条评论,包括测试集中随机抽取的20条真实评论和10条攻击模型生成的虚假评论。问卷要求参与者判断 30条评论中每条评论是否有提高商品口碑的作用,并标记出 10条认为是模型生成的虚假评论。实验统计标准采用召回率和有效率,召回率(recall)定义为成功标记出虚假评论和问卷中所有虚假评论数量的百分比,有效率(helpfulness)定义为问卷中所有虚假评论中被标记为有效的百分比。统计所有调查结果取平均值后结果如表3所示。

随着温度参数T逐渐变大,参与者识别虚假评论的召回率在逐渐下降,这表明越来越多的虚假评论被参与者遗漏,且更多的虚假评论被标记为有作用。当温度参数为1.0时,攻击模型表现最好,参与者遗漏掉了43%的虚假评论并将48%的虚假评论标记为有作用。调查表明本文攻击方法产生的虚假评论具有欺骗用户和并影响用户消费决策。

表3 用户调查的实验结果

5.6 防御方法

针对本文的自动化众包攻击方法,这里给出一种可行的防御方法。在理想情况下,防御模型用于辨别的任何标准都可以由攻击模型来对应解决,所以使用一种机器学习模型防御另一种机器学习模型的攻击是不可行的。但是对于同一数据集,无论训练多少种机器学习模型,每个模型所能学习到的句子概率分布是相同的。根据数据集所含信息量一定的这个特点,本文给出了一种可行的防御方法,如图9所示。

图9 中文自动化众包攻击的防御方法流程

本文防御方法假设:1) 评论社区的防御工作人员可以获得用于训练攻击模型的评论训练集RA,并且可以获取一个和训练集RA不相同的真实评论数据集RG;2) 评论社区的防御工作人员了解攻击模型的结构。防御方法流程如下:针对训练评论数据集RA和真实评论数据集RG这2个数据集,分别使用本文攻击方法训练攻击模型MA和MG,训练好的攻击模型可以根据输入汉字预测下一个汉字的概率分布。然后将待检测评论逐字输入到2个攻击模型中,得到2个不同的概率分布PA和PG,通过对数似然比(log-likelihood ratio)计算概率分布PA与概率分布PG的距离。最后将待检测评论的中每个汉字得到的对数似然比求和取平均得到平均距离,若平均距离接近攻击模型PA则判定该条评论是虚假评论,否则判定评论为真实评论。防御方法流程的伪代码如算法1所示。

算法1防御方法

输入

攻击评论语料集RA;

真实评论语料集RG;

测试评论T;

输出

针对防御方法和基于语言学分类器方法的对比实验,采用精确率作为对比标准,精确率(precision)定义为成功标记为虚假评论和所有标记为虚假评论数量的百分比,实验结果对比如图 10所示。

如图10所示,随着温度参数T的增大,防御方法检测虚假评论的精确率稳定在97%左右,语言学分类器的精确率逐渐降低,最低处为53%。实验表明防御方法能够有效检测出攻击模型生成的虚假评论,但是该防御方法的不足也是明显的,需要假设训练数据集已知,因此如何设计更加实用的防御方法是未来研究的重点。

图10 防御方法与语言学分类器的对比

6 结束语

本文面向中文用户评论社区,提出了一种有效的自动化众包攻击方法。利用汉字嵌入方法,LSTM网络、Softmax全连接网络和引入温度参数T的随机抽样方法,设计并实现了一种自动化众包攻击方法,该方法可以生成大量具有真实性、多类型及实用性的虚假评论,能够有效地满足大规模、真实场景下的攻击要求。实验中,本文将传统面向英文文本的生成方法与本文方法进行对比。在语言学角度分析文中方法生成的虚假评论与真实评论的相似性。验证本文攻击方法在拷贝检测上优于传统基于词替换的攻击方法。验证本文生成的虚假评论能够欺骗用户并影响用户的消费决策。实验表明本文提出的攻击模型和方法是可行且有效的。本文中提出了一种可能的防御方法,但是该方法假设模型训练的数据集已知。因此在未来的研究中,需要重点研究针对这类攻击的有效防御方法,增强用户评论社区抵御针对自动化众包攻击的安全威胁。

猜你喜欢

语料向量汉字
向量的分解
基于归一化点向互信息的低资源平行语料过滤方法*
聚焦“向量与三角”创新题
濒危语言与汉语平行语料库动态构建技术研究
汉字这样记
汉字这样记
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
国内外语用学实证研究比较:语料类型与收集方法
英语教学中真实语料的运用