基于文本分析的虚假评论检测研究综述

2023-08-15 00:49邓秋菊
现代计算机 2023年7期
关键词:语句文档语义

李 东,邓秋菊

(1. 四川晨豹互联网科技有限公司研发部, 达州 635000;2. 重庆移通学院大数据与计算机科学学院,合川 401520)

0 引言

随着电子商务全面融入日常生活,越来越多消费者在电商网站购买商品后乐于将使用心得以商品评论形式发布和分享,电商网站也以积分方式鼓励消费者发表商品评论。商品评论包含消费者对商品整体以及各个功能、属性的评价,因此对其进行分析,其他消费者购买之前可更加全面了解商品,制造商可了解商品不足以优化产品。一些不良商家在电商网站发表虚假商品评论美化自己的商品,或诋毁对手的商品,从而获得不正当商业利益。这种行为会对消费者形成欺诈,并且降低消费者在电商网站的购物体验。目前一些电商网站对发表在其网站上的商品评论真实性进行检测以剔除虚假评论。

人工方式进行虚假评论检测不具有可行性,原因有二:首先每天发表的商品评论数量极其庞大;其次一些虚假评论由专业水军编写,具有较大迷惑性。2006 年Jindal 等[1]提出了虚假评论自动检测研究,主要考虑基于文本内容的内部特征和基于与评论相关元数据的外部特征。外部特征方法依赖电商网站内部数据支持,如:唯一用户名、用户注册时间等,这些数据无法通过爬虫从评论网页获取,因此内部特征的虚假评论研究是当前主流方法。

基于文本内容的虚假评论识别进一步又分为传统机器学习方法和深度学习方法。传统机器学习方法依靠人工总结的语言特征分类并取得了较好结果,但工作量大、计算复杂,且不适合在不同语言、不同商品间移植。近年来快速发展的深度学习为虚假评论检测提供了更灵活、更准确的方法。

1 传统机器学习方法

1.1 特征选择

传统机器学习方法依赖于人工对商品评论文本进行分析提取特征,目前主要包括:词汇特征、句法特征、情感特征、心理学特征。

(1)词汇特征。虚假评论与真实评论的表达在词汇、n元语法、词性上存在差异。Jindal等[1]采用评论中肯定词和否定词的百分比、品牌出现次数、数字出现次数、大写字母出现次数等统计量作为特征。Li等[2]采用评论中的n元语法作为特征,通过使用卡方统计得到评论语料中可用于文本分类的最高100个一元语法特征和100 个二元语法特征,进行虚假评论检测。Ott 等[3]认为文本中单词词性的分布可以确定文本体裁,因此分析评论文本中词性分布与是否为虚假评论之间存在关系。Ott 等[4]在评论中按照一元语法和二元语法抽取词语并统计词频信息,然后以词频为特征采用SVM 分别对正向商品评论和负向商品评论中存在的虚假评论问题进行了研究。Somayeh 等[5]认为评论写作风格可用于虚假评论检测,而写作风格以词汇进行体现,因此以评论中词汇出现次数、句子的平均字符数、标记平均长度、7种标点符号出现次数等多个统计量作为分类特征。

(2)句法特征。Feng 等[6]认为虚假评论与真实评论在句子结构上存在差异,因此在使用词汇特征和词性特征的基础上采用PCFG 算法对评论中的句子进行深度句法分析,并设计了四种生成式规则从句法树中提取特征,这四种规则分别为:不包含最终节点的生成规则、包含最终节点的生成规则、非词汇化但包含父节点的生成规则、词汇化但包含父节点的生成规则。

(3)情感特征。Banerjee 等[7]提出真实评论和虚假评论在文本复杂度(句法特征)和夸张表达(情感特征)等特征上差异非常明显,并且按照豪华、便宜和中等这三档酒店进行细分后分类精度显著提高。Banerjee 等[8]发现积极评论、消极评论和中性评论在虚假评论检测中的差异主要体现在可理解性和特异性特征上。

(4)心理学特征。LIWC(linguistic inquiry and word count)是已在社会科学领域广泛使用的文本分析软件,可从文本中提取个人性格等心理学特征,通过计数和分组将4500 个左右关键词映射到一个80 维具有心理学意义的向量中。Ott[3]将通过LIWC 获取的特征与词性特征、二元语法特征结合后进行检测,发现LIWC 结合二元语法在支持向量机中可达到最佳效果。

1.2 学习算法

根据标注数据需求程度,用于虚假评论检测的机器学习算法分为:监督学习、半监督学习和无监督学习。

(1)监督学习。基于监督学习算法的虚假评论检测都被看做二分类任务,即将一篇商品评论分类为真实评论和虚假评论。Jindal 等[9]将评论文本进行特征表示后计算两个评论的文本相似度,相似度极高的评论作为正例(虚假评论),其余评论作为负例,然后通过逻辑回归算法对未标注评论进行分类。Shojaee 等[10]用序列最小优化算法模型改进虚假检测的SVM 分类器算法性能。Wu等[11]通过关联规则的评论名词模式来提高主题词(评论中与主题相关度最高的名词)的识别精度,最后通过逻辑回归来完成分类。

(2)半监督学习。针对虚假评论检测领域中标注数据缺乏,半监督学习算法被用于虚假评论检测。半监督学习算法通常在提供少量标注数据情况下,充分利用无标注数据提升分类算法精度。Li 等[12]将Co‑Training 算法运用到虚假评论检测,用两组完全不同的特征(一组为评论内部特征,另一组为评论外部特征)分别训练算法相同的两个分类器,每轮迭代过程中只有两个分类器一致判定为正例或负例的未标注数据才算标注生效。分类时第三个分类器使用Co‑Training 得到的样本数据训练集训练分类器并完成检测。Li 等[13]和Fusilier 等[14]采用PU‑Learning进行虚假评论半监督分类模型的训练,该算法可根据已标注正样本P 和未标注样本U 找出高置信度的负样本集合,再利用正负样本迭代训练得到二分类器。PU‑Learning 执行过程中,未标注数据集里存在一部分容易被错误标注的数据,Ren 等[15]为了优化PU‑Learning 对这类样例的分类效果,首先基于狄利克雷过程混合模型对其进行聚类,再用多核学习算法将特征映射到高维空间来提高区分度。

(3)无监督学习。Lau 等[16]为了克服虚假评论检测中标注数据匮乏的问题,将无监督学习和基于语义特征的语言模型结合起来,通过关联规则挖掘上下文相关的关联知识,通过概率语言模型挖掘出语义上相似度很高的评论来作为重点检测对象,再结合SVM 算法完成分类。

2 深度学习方法

2012 年以来深度学习在计算机视觉、自然语言处理和语音识别领域获得了极大成功,文本分类是自然语言中的传统领域,出现了众多深度学习模型。深度学习中的卷积神经网络(CNN)、循环神经网络(RNN)和生成对抗网络(GAN)也在虚假评论检测领域得到极大应用。相比于传统机器学习,深度学习不依赖人工特征工程,并且能够自动提取语义特征,同时词嵌入表示让词语可以用稠密向量进行语义表示,尤其是BERT等模型进一步丰富了基于上下文的语义表示。目前深度学习算法在虚假评论检测领域中主要还是以监督学习方法为主,有少量的研究也开展了半监督学习和无监督学习。

2.1 监督学习算法

通过神经网路训练将词语映射为一维稠密实数向量已经能较好表示词语语义,但商品评论中一般包含多个语句,每个语句中包含多个词语,因此如何将评论中多个词语的语义、以及句法结构等信息融合成整个评论的文档语义表示,是利用深度学习进行虚假评论检测要解决的主要问题,得到评论的文档语义表示后分类任务相对简单。目前合成评论的文档语义包括三类方法:自底向上合成、长文本直接合成、文档嵌入表示。

(1)自底向上合成的方法。自底向上合成方法首先获取评论中每个语句中的单个词语的词嵌入表示,然后通过神经网络合成语句的语义表示,最后再将多个语句的语义表示合成为评论的文档语义表示。Li 等[17]设计SCNN 模型和SWNN 模型进行虚假评论检测,二者均采用一层CNN 从词嵌入合成语句的语义表示,然后再采用第二层CNN 网络合成文档语义表示。不同之处在于SCNN模型对评论中每个语句的语义表示直接进行卷积,而SWNN 模型认为评论文本中不同语句重要程度不同,因此合成文档语义时考虑了不同语句的权重。权重采用KL−Divergence 方法进行计算,主要思想是考虑句子中每个单词在整个评论语料中的重要性。Zhao等[18]认为评论中词语顺序对语义合成有重要意义,因此设计了K‑MAX 池化层,用于池化减少特征时保持词语顺序。具体设计就是针对不同长度卷积核形成的一维卷积特征获取K 个最大值,同时保持特征值的相对顺序。Liu 等[19]提出了层次化注意力模型,更好融合不同粒度的语义和不同语句间的相互影响。模型首先采用卷积核长度1、2、3 的CNN 得到语句的语义表示,然后分为两路继续语义合成,一路采用另一个CNN 层对评论中所有语句的语义表示进行卷积运算得到局部表示,另一路采用BiLSTM 将句子语义合成中间表示,第三步中利用局部表示和中间表示计算注意力权重,最后将局部表示、中间表示和注意力权重综合计算得到整个评论的文档语义表示。

由于CNN 网络善于捕获局部特征,因此语句语义合成通常采用CNN 网络,而RNN 网络(GRU、LSTM、BiLSTM)善于捕获远距离特征,因此评论的文档语义合成更多采用RNN 网络。Ren 等[15]采用三个不同长度的卷积核分别对一元、二元和三元语法表示从词嵌入表示合成语句的语义表示,然后将每个语句的语义作为一个时间片的信息输入到双向GRNN 网络实现评论的文档语义表示合成。Jain 等[20]将评论文本分割为固定长度的片段,然后对每个片段利用长度为3、5、7的卷积核进行卷积运算和最大池化,池化后特征利用两个全连接层得到一维向量表示,下一步利用带有注意力机制的GRU 进行评论文本的文档语义表示合成。Zhang等[21]认为评论语句的语义合成应该更加充分考虑词语的上下文信息,因此提出了DRI−RCNN 模型。模型中认为词语的语义表示可分为六个部分。第一和第二部分分别为词语本身分别从虚假评论语料和真实评论语料中训练得到的词嵌入表示;第三和第四部分别为来自于虚假评论语料和真实评论语料中训练的当前词语上文(左边)语义信息,该信息通过RCNN 网络汇集;第五和第六部分分别为来自于虚假评论语料和真实评论语料中训练的当前词语下文(右边)语义信息集成,该信息同样使用一个RCNN 网络汇集。RCNN网络为循环卷积神经网络,即首先利用卷积神经网络提取局部特征,然后将每个词语提取到的语义表示按时间步输入循环神经网络。

一些研究直接使用RNN 网络进行评论语句的语义合成。Zhi[22]认为评论第一句、中间部分和最后一句具有不同重要性,因此采用了三个LSTM 分别对第一句、中间部分和最后一句进行语义合成,这三部分的语义表示输入第四个LSTM 从而得到整个评论的一个文档语义表示,同时前三个LSTM 的输出采用自注意力机制合成得到整个评论的另一个文档语义表示,得到的两个评论文档语义表示再次通过注意力机制合成得到最终的文档表示。Liu 等[23]提出BiLST‑MWF 模型,该模型将词性和第一人称主格代词的嵌入式表示与词语的嵌入式表示合成后输入到BiLSTM 模型中,将得到的词语表示进行一维最大池化和输入激活函数,然后进一步汇集成整个评论的语义表示。Weng 等[24]指出静态词嵌入式表示容易受到一词多义影响,提出了使用动态词嵌入表示BERT,为虚假评论检测提供更好的输入。该算法中不仅考虑词语级的嵌入式表示,也考虑了中文特有的字符的嵌入式表示。在以静态词嵌入+LSTM 模型为基线的对比实验中,Bert 与多个分类模型(SVM、DNN、LSTM、CNN)结合进行虚假评论识别可以显著提高检测精度。

(2)长文本合成的方法。长文本合成是指直接将评论文本作为整体进行语义合成,忽略其中语句构成。Bhuvaneshwari[25]利用自注意力机制计算评论中每个词语的重要性,计算后得到的词嵌入表示与原来的词嵌入表示拼接得到新的词嵌入表示,利用不同长度卷积核进行卷积,之后将卷积结果拼接,下一步再利用BiLSTM 将卷积结果汇集为整个篇章的文本表示。Nei‑sari[26]直接采用了LSTM 进行虚假评论检测,将评论文本中词语的词嵌入表示按照时间片输入LSTM 单元,将最后一个LSTM 单元输出输入到一个全连接层后直接进行二分类。Wang 等[27]用CNN 和MLP 分别得到文本特征和行为特征的表示向量,然后分别利用注意力机制计算在给定行为环境下语言特征评论欺诈的怀疑性权重,以及在给定语言特征环境下行为特征对欺诈性的影响权重,并用得到的权重参数对行为特征向量和语言特征向量进行加强,最后将加强后的行为特征向量和语言特征向量和原始的行为特征向量和语言特征向量拼接为一个一维向量。

(3)文档嵌入表示的方法。段落向量表示(即Doc2Vec)是一种对文本中语句、段落和文档进行嵌入式表示的神经网络模型,直接将文本转换为一个低维稠密向量进行表示。Anass等[28]提出PV‑DAE模型进行虚假评论检测,该模型采用两种方式分别生成文档语义表示。一种用PV‑DBOW 模型将评论文本整体直接转为一种文档语义表示,另一种采用DAE 模型将评论文本先进行编码,再进行解码重构评论,通过重构误差对DAE 模型进行训练,当DAE 模型训练完成后,就用编码器对评论文本进行压缩从而得到评论的另一个文档语义表示。对两个语义表示进行连接后得到最终的文档语义表示。

2.2 半监督学习算法

生成对抗网络中利用生成器和辨别器对抗实现数据增强的方法近年来在机器视觉、自然语言处理领域中得到越来越多应用。Aghakhani等[29]提出FakeGAN模型在给定有限标注数据(发布在电商网站的原生评论,标注为真实评论和虚假评论)情况下提升虚假评论检测精度的方法。相对于传统GAN 模型中仅有一个生成器和辨别器,FakeGAN中设计了一个生成器(G)和两个辨别器(D 和D’)。生成器G 生成包含若干个句子的虚构评论。辨别器D 用于对评论进行真假二分类,真评论为消费者发布的真实评论,假评论包括不良商家发布的虚假评论和由生成器生成的虚构评论。辨别器D’用于判定假评论是虚假评论或虚构评论。辨别器D’用于让生成器生成的虚构评论越来越像虚假评论,从而生成更多更像虚假评论的虚构评论以提高D 的分类效果。

2.3 无监督学习算法

Saumya 等[30]提出LSTM‑AutoEncoder 模型进行无监督虚假评论检测。模型中首先使用多层堆叠LSTM 来作为编码器生成整个评论文本的文档语义表示,然后将该语义表示复制多份,将每一份的文档语义表示按照时间片输入到同样由多层堆叠LSTM 构成的解码器中,解码器在每个时间片输出一个单词。利用整个LSTM‑AutoEncoder模型的输入和输出计算每个评论的重构误差,下一步利用EM 算法对所有评论的重构误差进行聚类(两类),进一步给出每个类别中的评论为真实评论还是虚假评论。

3 结语

本文首先对基于传统机器学习的虚假评论检测从特征选择和学习算法两方面进行了深入分析,然后针对基于传统机器学习的虚假评论检测依赖于人工特征工程的问题,进一步深入分析了基于深度学习的虚假评论检测中的评论文本语义合成,以及相应的监督学习算法、半监督学习算法和无监督学习算法。

猜你喜欢
语句文档语义
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
重点:语句衔接
语言与语义
基于RI码计算的Word复制文档鉴别
“上”与“下”语义的不对称性及其认知阐释
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
认知范畴模糊与语义模糊
如何搞定语句衔接题
语义分析与汉俄副名组合