基于层次异构图注意力网络的虚假评论检测

2021-07-02 00:35张献国
计算机应用 2021年5期
关键词:异构语义注意力

张 蓉,张献国

(内蒙古大学计算机学院,呼和浩特 010000)

(*通信作者电子邮箱2595083628@qq.com)

0 引言

近年来随着电子商务的普及,越来越多的网上消费用户习惯在网站上发布评论来分享自己的意见。出于商业目的,一些商家雇人发表一些不与事实匹配的好评或者不公正的负面评价[1]。这样的虚假评论是一种包含不真实的意见的评论,发布的目的是欺骗误导潜在的消费者从而影响他们的决策[2]。对于大多数消费者来说,只凭借个人经验来判断一条评论真实与否是很困难的,因此对于虚假评论检测的研究十分有意义。

虚假评论的检测目的是区分评论是真实或者是虚假的,可以看作是一个二分类的问题。文献[3]提出了有效的特征对分类性能的提升具有重要作用。目前大部分的研究都是利用从已经标记的数据集中提取有效特征来对分类器进行训练,但目前对特征的提取大都局限于评论中的语义特征。虚假评论不仅包含评论本身,同时还附带着与发布者有关的用户行为特征。许多研究已经证明,用户的行为特征对虚假评论检测的性能有显著影响[4-5],但是由于用户行为特征为非语义特征,现有的研究大都不能很好地将其与语义特征结合。

针对以上问题,本文建立了一个层次异构图注意力网络(Hierarchical Heterogeneous Graph Attention Network,HHGAN)模型。该模型将层次注意力机制与异构图注意力网络结合,在充分提取评论语义特征的同时将语义特征与用户行为特征相互结合,同时引入注意力机制区别不同单词和句子、不同评论和不同用户行为间的注意力权重来学习评论的特征表示。将层次注意力机制和异构图注意力网络结合可以充分捕获评论语义特征和用户行为特征间的内在联系,更加全面地对评论所包含的全部特征进行学习。实验结果表明,HHGAN的性能显著优于目前最先进的检测模型。

本文的工作主要有以下几点:1)使用层次注意力网络模型学习评论文本中不同词和句子的重要性,获得文本级特征表示;2)用户行为特征作为节点构建异构图注意力网络,通过双层注意力机制学习不同评论和不同用户行为的重要性;3)在不同领域数据集中验证了HHGAN 在虚假评论检测任务中的有效性。

1 相关工作

1.1 意见性虚假评论检测

随着互联网的普及,各类虚假评论开始大量出现,相关研究也在不断发展[6-8]。虚假评论包含社交性虚假评论和意见性虚假评论,其中:社交性虚假评论是指在社交网络上传播不真实的信息[9];意见性虚假评论则包含着可能误导潜在消费者的信息,比如对产品质量或服务的不真实的意见。目前对于产品或服务的在线评论是否可信这一问题有了越来越多的研究:Jindal等[10]最早通过亚马逊上的产品评论对意见性虚假评论进行了研究,并提出了几种分类检测方法;Yoo 等[11]收集对酒店的评论,对虚假评论与真实评论的语义差异进行了分析;Ott 等[12-13]通过Amazon Mechanical Turkers 创建了一个黄金标记标准数据集,评估了虚假评论的发生概率并识别出带有负面情绪的虚假评论。但上述工作都仅限于对评论文本的研究,缺少对评论文本之外的非语义特征的提取。

对于非语义特征的提取,目前也有一些研究:Jindal 等[14]不仅使用了评论文本,还将评论者和产品的特性作为研究对象;Liu 等[15]使用贝叶斯方法,使用聚类方法对虚假评论发布者的行为轨迹进行研究;Wang 等[16]采用无监督的方法,从用户行为信息出发,通过建立异构评论图网络对虚假评论发布者进行检测;Mukherjee 等[17]使用从Yelp.com 抓取的数据提取了少数用户的行为特征,证明了行为特征的有效性。但以上文献对非语义特征的提取较为片面,只使用了很少的评论中所包含的行为信息。

1.2 用于表示学习的神经网络

表示学习是指学习对不同级别的文本比如单词、句子或文档的连续表示,表示作为一个连续的向量可以作为特征被用于各类自然语言处理任务中[18-19]。词向量的表示需要对大量文本语料库进行学习。文献[20]中通过文档的全局上下文和多重词原型学习词嵌入;Pennington 等[21]则使用GloVe 对全局词-词共现来学习词向量的表示。但是这些工作只能学习到词的表示,不能对更高级别的文本,例如句子和文档进行学习。对于更高级别的文本表示,Socher 等[22]提出了用递归神经网络学习句子级的语义组成;Hermann 等[23]将组合式范畴语法和递归式自动编码器相结合来学习句子的表示。还有一些研究提出了基于特征选择的学习文档语义的神经网络模型[24-25]。虽然这些工作可以很好地学习句子和文档的表示,但是只能单一地学习文本的表示,不能将语义特征和非语义特征结合起来学习。

1.3 异构图网络

异构图网络可以连接不同类型的节点,从而结合不同类型的数据提取特征。异构图网络的嵌入主要关注基于元路径的结构信息的保存。Shang 等[26]提出一种可以使用预先选择的元路径来学习图网络中的节点向量表示的模型,用来进行相似性查找任务,但是在具体任务中无法学习最优的权重组合。HErec 模型[27]采用一种约束特定类型节点的方法来捕获反映在异构图中的复杂语义,但是只考虑了单条元路径。HIN2Vec 模型[28]可以同时学习节点和元路径的潜在向量,以执行多个预测的训练任务。对于综合性异构图的表示,Shi等[29]提出了一种通过边表示异构图进行嵌入的模型,Sun等[30]提出一种考虑元图中全部元信息隐藏关系的网络嵌入模型。以上方法都没有使用注意力机制来关注节点和元路径的权重。Wang 等[31]通过预先定义的元路径将异构网络转换为几个同构子网络,并将注意力机制加入到图网络中。

不同于上述工作,本文针对意见性虚假评论检测问题,将层次注意力机制和异构图注意力网络结合:其中层级注意力机制可以很好地捕获评论中的文本语义信息,从而可以学习评论文本的表示;异构图注意力网络可以进一步将层次注意力机制学习的文本表示结合评论中的一些非语义特征进行表示学习,从而可以从评论中获取更加丰富全面的信息。将两个网络结合可以在保留评论的语义特征的同时对评论的非语义特征进行学习,将文本和用户行为两种结构不同的特征相互结合可以更多地获取评论的有效信息和更好地学习评论的表示,更明显地区分真实和虚假评论之间的差别,从而使虚假评论检测更加准确。

2 虚假评论检测模型

电子商务中的评论通常包含着大量的文本信息和用户行为信息。文本信息一般指一条评论的文本内容。用户行为信息包括该评论的评分、评论者第一次发布评论的时间与发布这条评论的时间间隔、评论者发布评论的总数等。这些信息对虚假评论检测都十分重要。虚假评论检测最重要的是学习评论的表示,找到虚假和真实评论的不同特征。评论中的文本信息包含着评论本身的内容,包含词语和语句等语义特征。这些特征对区别评论的真实与否很重要,因为虚假评论为了吸引消费者的注意力往往会比真实评论更多地使用一些更加夸张的词语来夸大效果,这些词语和语句的特征对区分虚假或真实的评论很有效果,因此学习评论的语义表示对学习评论特征非常重要。评论中的用户行为信息包含评论内容之外的非语义特征,这些特征对区分虚假或真实的评论同样重要。因为一个虚假评论的发布者很有可能发布不只一条虚假评论,其发布的虚假评论往往带有明显的目的,例如给一个商家故意打高分或者低分,所以识别这个发布者的行为特征也很重要。

层次注意力机制可以很好地对文本语义特征进行学习,这是因为评论文本本身可以看成是一个由单词到句子到文档的层级结构,层次注意力机制可以区分评论文本中不同单词和句子的注意力权重。评论中文本信息所包含的语义特征和用户行为信息中所包含的非语义特征在结构上是不同的,语义特征通过多维度的词向量嵌入学习一般表现为向量形式,非语义特征可以直接获取以数值表示,但是不同的用户行为信息的非语义特征也具有不同结构。两种特征对虚假评论的检测都很重要,因此需要构建一个异构图将评论中的语义特征和非语义特征联系起来,使用两种特征对评论进行表示学习。异构图注意力网络可以很好地从异构图中捕获特征,同时使用注意力机制获取不同非语义特征的权重。

在对评论进行表示学习时若仅使用层次注意力机制则不能对评论包含的非语义特征进行学习。若仅使用异构图注意力网络只将评论用词向量嵌入作为节点的特征表示则不能很好地学习评论中不同词语和语句的重要性,不能挖掘到更全面详细的语义特征。因此本文将层次注意力机制和异构图注意力网络结合,在充分学习评论语义特征的同时考虑非语义特征对虚假评论检测的作用,可以比较全面地挖掘真实与虚假评论中所包含的不同信息,更完整地学习评论的全部特征以提高虚假评论检测的准确度。

本文提出的HHGAN 模型的网络框架如图1 所示。该模型主要由层次注意力机制和异构图注意力网络两部分组成。层次注意力网络可以通过注意力机制将单词表示转为句子表示,将句子表示转为文档表示这两个阶段捕获评论的语义特征。异构图注意力网络可以将评论文本和用户行为作为图网络中的异构节点来捕获评论中的更多信息。其中,用户行为特征被用于建立不同的元路径以连接评论中的文本特征。元路径是连接两个对象的复合关系,是一种广泛使用的捕获语义的结构[32]。通过层次注意力机制学习到的评论文本特征表示被输入到异构图注意力网络中。一条评论可以通过不同的用户行为建立的元路径连接到另外的多条评论。在异构图注意力网络中,对于给定的一条元路径,每条评论可以通过评论级注意力机制对连接到它的不同的评论分配不同的权重,以减少噪声数据。对于不同的元路径,需要通过行为级注意力机制学习各条元路径的重要性来为不同的用户特征分配不同的权重。

图1 HHGAN模型网络框架Fig.1 Network framework of HHGAN model

2.1 层次注意力机制

文档一般具有一种层次结构:单词组成句子,句子组成文档。层次注意力机制可以分层捕获文档中不同层级语义特征。虚假评论和真实评论的不同特征就可以分层学习。在一个句子中学习对检测虚假评论贡献不同的词语权重,通过加权融合学习到了句子的表示。再对一个文档中的句子进行学习,得到文档中不同句子的不同权重,加权融合后得到文档表示。

本文HHGAN 模型中的层次注意力机制分为两部分,第一部分为句子级注意部分,这部分通过词嵌入来学习句子的表示。表示方法如下:

其中:xit为词嵌入向量,wit为给定一个句子中的单词,i表示文档中第i个句子,t表示句子中的第t个词,We为预先训练好的词嵌入矩阵。本文使用了Yelp dataset 上的开源的连续词包模型进行预训练,得到123 152个具有100个维度的词嵌入。

然后使用双向门控循环单元(Gated Recurrent Unit,GRU)实现对词的编码:

其中hit为词的编码。

为了更好地学习词在虚假评论检测中的重要性,使用了注意力机制[33]来获得每个词的权重ait:

其中:uit是hit的隐层表示向量,uw是一个随机初始化的向量会作为模型的参数被训练,C表示句子中全部词的数量,si是学习到的第i个句子的向量。

第二部分为文档级注意部分,这部分将文档分割为几个句子,通过刚刚学习到的句子表示生成文档表示。和学习句子表示的方法一样,将得到的句向量si作为句嵌入,经过双向GRU的编码和句注意力机制,得到文本向量vi。

2.2 异构图注意力网络

异构图注意力网络可以考虑到不同类型信息间的异构性,可以捕获不同类型的非语义特征。本文使用的异构图注意力网络具有双层注意力机制,对输入到网络中的特征分别进行评论级注意和行为级注意。由于语义特征的表示是相同的多维度向量,而非语义特征是相对离散的单一维度数值,所以一条评论往往可以通过一种非语义特征直接连接到另一条评论。同时,层次注意力机制很充分地对评论的语义特征进行了学习,所以这里将层次注意力机制学习到的评论表示作为特征用来构造评论节点,使用用户行为信息来连接不同的评论来构造元路径是比较合理可行的。

通过学习评论节点和基于行为特征构建的元路径的重要性,异构图注意力网络可以更加关注虚假评论检测中有意义的评论和用户行为。根据学习到的注意力值,可以了解评论和用户行为对虚假评论检测的贡献程度,可以帮助分析和解释得到的结果。

2.2.1 评论级注意力

首先使用注意力机制来学习评论间的权值。对于给定的一对通过元路径φ连接的评论节点(i,j)表示的是评论j对评论i的权重,计算方法如下:

其中σ(·)为激活函数,例如线性整流函数(Rectified Linear Unit,ReLU),tφ为在元路径φ中的注意力向量,||为连接操作,vi、vj分别为由层次注意力网络学习得到的评论i、j的特征表示。由于评论i和评论j在基于元路径φ中所连接到的评论是不同的,所以和是不同的。在得到基于元路径的评论节点之间的权重后,对其进行归一化,得到权重系数中的第k个元素,m表示集合中所有元素的数量。是指评论i在元路径φ中连接到的所有包括其本身的评论的集合。

然后可以学习到基于元路径φ的评论节点i的表示

其中:k为集合

为了使训练过程更稳定,使用了多线程注意力机制。具体来说,就是重复N次评论级注意,并将学习到的表示进行连接作为评论级表示,||表示对向量的连接操作:

假定选择构建了p个元路径,将评论特征经过评论级注意力学习后可以得到p组评论特征的表示,记为

2.2.2 行为级注意力

当惠州港处于台风右半圆时,惠州港辖区具有台风风力大、影响范围广、持续时间长、东南涌浪巨大等特点,惠州港4号锚地西南侧水域处于辣甲岛与大鹏半岛两山之间,是俗称的喇叭口,该位置不但起不到防风防浪的效果,还有峡谷效应,比其他地方涌浪更大,更容易出现走锚断链等险情情况,此处不适宜中小型船舶防台避风,台风“山竹”影响惠州港期间,4万吨级工程船“海洋石油202”就是锚泊该位置发生走锚险情。因此,建议在该水域抛锚的散杂货船舶到5号锚地附近抛锚避风。危险品船舶安排到6号锚地和东联航道之间水域一带抛锚避风较好,但要避开排污管线;惠州港7号锚地由于对东南涌浪没有阻隔作用,风大浪高,不建议船舶在该锚地抛锚防台。

由于异构图中的每条评论都包含着多种用户行为信息,每类行为特征对虚假评论检测有着不同程度的贡献性。行为级注意力机制可以学习同一评论中不同行为特征的权重,并将不同行为中的评论表示聚合为新的评论表示。具体过程为:

对于评论i,使用学习到的不同元路径的权重,可以将不同行为中的评论表示聚合得到最终的评论表示Zi:

最后将得到的最终评论表示放入一个多层感知器来进行分类,通过反向传播算法来优化所提出的模型,从而更好地学习评论的嵌入。本文使用交叉熵作为损失函数:

模型训练的伪代码描述如算法1所述。

算法1 基于HHGAN模型的虚假评论检测算法。

输入 带标注的评论文本数据集(w,y′),预先训练好的词嵌入矩阵We,元路径集合(φ1,φ2,…,φp),评论级注意训练次数N;

3 实验和结果

3.1 数据集

本文使用的数据集是从yelp.com中采集的具有标记的包含评论文本和多种用户行为特征的数据集。数据集包含餐厅和酒店两个领域,数据集统计信息如表1 所示。Yelp 是一家知名的大型在线评论网站,其过滤算法可以达到工业级规模的过滤[34]。在对数据集进行预处理时,将所有大写字母转换为小写并去除了非英文字符和停用词。

表1 数据集统计信息Tab.1 Statistical information of datasets

3.2 实验设置

实验选取所有数据集的80%的样本作为训练集,10%作为验证集,10%作为测试集,其中验证集用于优化网络中的超参数。

3.2.1 元路径设置

本文之前提到的模型中所构建的元路径需要进行预设,数据集中可以提取到以下非语义特征,通过这些特征来构建异构图注意力网络中的元路径。餐厅数据集中的非语义特征的累积分布函数(Cumulative Distribution Function,CDF)如图2 所示,通过累积分布函数可以分析这些特征在真实评论和虚假评论中的差异。

图2 非语义特征的累积分布函数图Fig.2 CDF diagrams of non-semantic features

评分(Rating Score,RS)评论者给出的评分越高说明评论者的态度更加积极。从图2(a)中可以发现,虚假评论的评分可能更低。

评分分差(Rating Deviation,RD)虚假评论的评论更可能偏离整体的评分,所以评论分差会比真实评论高。为了衡量一个评论的评分分差,实验过程中计算了一条评论与这个商户平均评分之间的绝对偏差。从图2(b)中可以发现80%的真实评论分差小于1,约80%的虚假评论分差小于2.5。

评论长度(Review Length,RL)虚假评论的发布者通常倾向花更少的时间来写评论,所以虚假评论的长度通常要比真实评论短。实验中使用评论中的单词数量作为评论长度的表示。从图2(c)中可以发现虚假评论整体比真实评论的长度短。

评论间隔(Review Interval,RI)虚假评论的发布者每次发布虚假评论时会倾向用新注册的账号,这就意味着该账号第一次发布评论和最后一次发布评论的时间间隔会比真实评论发布者要短,从图2(d)中可以发现超过50%的虚假评论发布者发布虚假评论的时间间隔为0 d,这意味着这个账号很有可能只是为了发布虚假评论而注册使用的。

评论者的评论数(Reviewer Count,RC)由于虚假评论的发布者倾向使用新注册的账号,其发布的评论数量通常会小于真实评论的发布者,从图2(e)中可以发现超过80%的虚假评论发布者发布的评论少于8 条,超过30%的真实评论发布者发布的评论大于20条。

此外,一般来说评论者和评论所指向的商户对虚假评论检测具有一定参考性。如果一个评论者曾经发布过一条虚假评论,那么他的其他评论也有很大可能是虚假评论。如果一个商户有一条虚假评论,那么这个商户很有可能存在其他的虚假评论。因此,需要将评论者(Reviewer ID,RID)和评论商户(Business ID,BID)也作为非语义特征来构建元路径。

3.2.2 对比实验设置

为了研究评论中的语义特征和非语义特征对虚假评论检测的贡献性,将分别对评论的语义特征和非语义特征放入以下7 种基准模型中进行实验。其中对于只使用非语义特征的模型,使用评论文本的平均词向量表示作为输入。

以下是语义特征的基准模型。

1)卷积神经网络(Convolutional Neural Network,CNN):将神经网络的最后一个状态向量作为文档向量表示。

2)循环神经网络(Recurrent Neural Network,RNN):单向的RNN,将其最后的神经网络状态向量作为文档向量表示。

3)双向长短期记忆(Bi-directional Long Short-Term Memory,Bi-LSTM)网络:双向LSTM,将其最后的神经网络状态向量作为文档向量表示。

4)层次注意力网络(Hierarchical Attention Network,HAN):具有注意力机制的层级神经网络,将经过层次注意力得到的文档表示输入到分类器中进行分类。

以下是非语义特征的基准模型。

5)图卷积网络(Graph Convolutional Network,GCN):一个使用同构图的卷积神经网络,所有非语义特征被简单地放入一个同构图中。

6)图注意力网络(Graph Attention Network,GAT):具有注意力机制的同构图网络,所有非语义特征被简单地放入一个同构图中。

7)异构图注意力网络(Heterogeneous Graph Attention Network,HGAN):具有注意力机制的异构图网络,将非语义特征构建成若干个同构图。

3.3 实验结果

所有对比模型在餐厅和酒店领域中的实验结果如表2 所示,实验结果均为在多次实验中的最好结果。实验使用F1值来评价模型性能。从实验结果来看,HHGAN在两个不同的数据集中均取得不错的效果,餐厅数据集上F1 值达到0.942。酒店数据集的F1值稍微比餐厅数据集低一些,原因可能是数据集中真实评论和虚假评论数量不均衡导致的。

表2 所有模型上的F1值对比Tab.2 F1 value comparison of all models

实验中Bi-LSTM 上的结果均高于CNN 和RNN,这证明了双向网络在具有上下文长期依赖关系的文本分类任务中的优势。HAN 模型性能较高证明对文本使用单词和句子层次注意力机制的重要性。GAT 和HGAN 与GCN 对比,性能均得到提高,这证明了在图卷积网络中注意力机制对虚假评论检测的贡献性;同时,HGAN 与GAT 相比性能得到提高,证明由多个同构子图组成的异构图比单个的同构图能更好地提取非语义特征。

总体来看,只使用语义特征的模型性能均低于HHGAN,证明了HHGAN 中使用非语义特征的有效性。HHGAN 的性能高于只使用非语义特征的模型性能,证明了对文本的语义特征进行学习的作用。

在选择非语义特征来建立元路径时,各个特征对虚假评论检测的权重值如图3所示。从图3可以看出,评论者和评论分数对区分虚假评论和真实评论的贡献度较大。造成这一现象的原因可能是一个评论者通常会发布大于1 条的虚假评论,这就使通过这个评论者连接到的其他评论更有可能包含虚假评论。虚假评论的评分总体要比真实评论的评分更低,这就使通过较低分数连接的评论更多地包含了虚假评论。

图3 非语义特征的注意力权重值Fig.3 Attention weights of non-semantic features

4 结语

本文提出了一种融合语义和非语义特征的虚假检测模型。实验结果表明,融合语义特征和非语义特征的HHGAN优于只使用层次注意力网络和只使用异构图注意力网络的模型。该模型先通过词到句、句到文档的层次注意力机制对文本中的语义特征进行学习,得到评论文档的表示。本文还探索了在虚假评论检测中具有一定贡献性的非语义特征,并将语义特征与这些特征融合。将学习到的语义特征通过由非语义特征构建的元路径,并经过评论级和行为级两层注意力机制来学习评论中非语义特征的重要性,从而使模型可以更好地对评论的语义特征和非语义特征的表示进行学习。实验结果表明,本文提出的检测模型优于基线方法。验证实验也表明,该模型具有较好的鲁棒性。

本文提出的模型在对非语义特征进行学习时需要根据人工选择的非语义特征来预先构建元路径,这具有一定的局限性,构建的元路径可能不能完全涵盖可以对虚假评论检测做出贡献的非语义特征。在未来的工作中还需要进一步研究如何不需要预设元路径就能够构造异构图的方法。

猜你喜欢
异构语义注意力
ETC拓展应用场景下的多源异构交易系统
真实场景水下语义分割方法及数据集
离散异构线性多智能体系统的输出一致性
试论同课异构之“同”与“异”
让注意力“飞”回来
凝聚与铺张——孙绍振教授《以丑、呆为美》两岸同课异构教学观摩后记
A Beautiful Way Of Looking At Things
汉语依凭介词的语义范畴
阅读理解两则