一种基于图注意力网络的社交媒体谣言检测方法和系统转让专利

申请号 : CN202110542802.5

文献号 : CN113268675B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈宇肖正聂振宇王梦圆郭修远

申请人 : 湖南大学

摘要 :

本发明公开了一种基于图注意力网络的社交媒体谣言检测方法,其首先获取待检测的谣言事件,对待检测的谣言事件对应的文本进行预处理,以得到预处理后的文本,并使用BERT‑Large‑Cased预训练词向量模型将预处理后的文本转换成文本向量矩阵,然后根据待检测的谣言事件对应的用户之间的转发、评论或回复关系构建用户关系结构图表示为G=(V,E),并根据该用户关系结构图构建邻接矩阵,最后将文本向量矩阵、以及邻接矩阵,输入预先训练好的谣言检测模型中,以得到最终的谣言检测结果。本发明能够解决现有基于深度学习的谣言检测方法由于不能高效的提取谣言传播结构特征和聚合邻接节点特征,导致影响谣言检测准确度的技术问题。

权利要求 :

1.一种基于图注意力网络的社交媒体谣言检测方法,其特征在于,包括如下步骤:(1)获取待检测的谣言事件,对待检测的谣言事件对应的文本进行预处理,以得到预处理后的文本,并使用BERT‑Large‑Cased预训练词向量模型将预处理后的文本转换成文本向量矩阵;

(2)根据步骤(1)得到的待检测的谣言事件对应的用户之间的转发、评论或回复关系构建用户关系结构图表示为G=(V,E),并根据该用户关系结构图构建邻接矩阵,其中V表示节点集合,每个节点表示待检测的谣言事件对应的一个用户,E表示边的集合,每条边表示两个用户之间的转发、评论或回复关系;

(3)将步骤(1)得到的文本向量矩阵、以及步骤(2)得到的邻接矩阵,输入预先训练好的谣言检测模型中,以得到最终的谣言检测结果;谣言检测模型是通过以下步骤训练得到的:(3‑1)获取谣言数据,按照8:2的比例将谣言数据划分为训练集和测试集,对训练集中每个谣言数据对应的文本进行预处理,以得到预处理后的文本,使用BERT‑Large‑Cased预训练词向量模型将预处理后的文本转换成文本向量矩阵X,根据训练集中每个谣言数据对应的用户之间的转发、评论或回复关系构建用户关系结构图,并根据该用户关系结构图构建邻接矩阵A;

(3‑2)将步骤(3‑1)得到的文本向量矩阵X和邻接矩阵A输入到第一图注意力网络中,以得到N·(n*h)的特征向量矩阵T;

(3‑3)将步骤(3‑1)得到的文本向量矩阵X和邻接矩阵A输入第一图注意力网络中第一个单头图注意力网络的特征变换层,以得到维度为N·h的特征矩阵H;步骤(3‑3)的计算公式为·:H=Wh×X

其中Wh表示第一图注意力网络的初始权值参数矩阵,×表示矩阵乘法;

(3‑4)将步骤(3‑3)得到的特征矩阵H输入第一图注意力网络中第一个单头图注意力网络的注意力计算层,以得到每个谣言事件对应的节点之间的注意力系数;步骤(3‑4)的计算公式为:eij=a([hi||hj]),j∈Ai

其中hi表示步骤(3‑3)得到的特征矩阵H中的第i行向量,Ai为邻接矩阵A中的第i行向量,j∈Ai表示为邻接矩阵A中的第i行向量值为1的节点,[hi||hj]表示对hi和hj进行拼接,a(.)表示把拼接后的特征通过前馈神经网络映射到实数,这样就得到任意两个节点之间的注意系数eij,其中如果Aij为0,则eij也为0,表示节点i和节点j没有转发、评论或回复关系;

(3‑5)对步骤(3‑4)得到的每个谣言事件对应的节点之间的注意力系数eij进行归一化处理,以得到归一化后的注意力系数αij;

(3‑6)将步骤(3‑3)得到的特征矩阵H和步骤(3‑5)归一化后的注意力系数αij输入第一图注意力网络中第一个单头图注意力网络的邻接顶点特征聚合层,以得到N·h的特征矩阵;

(3‑7)针对第一图注意力网络中剩余的n‑1个单头图注意力网络中的每一个而言,重复上述步骤(3‑3)至(3‑6),从而得到n‑1个维度为N·h的特征矩阵,将这n‑1个维度为N·h的特征矩阵与步骤(3‑6)得到的特征矩阵进行拼接,从而得到N·(n*h)的特征矩阵;

(3‑8)对步骤(3‑2)得到的特征向量矩阵T进行drop_out处理,以得到N·(n*h)的特征向量矩阵T`,其中随机失活的比例为0.5;

(3‑9)将步骤(3‑8)得到的特征向量矩阵T`和步骤(3‑1)得到的邻接矩阵A输入到第二图注意力网络中,以得到每个谣言数据的高阶表示所对应的向量矩阵W,其维度为N·h;

(3‑10)将步骤(3‑9)得到的向量矩阵W中的第一行向量w0复制n份,并沿着y轴的方向对复制的n份向量进行拼接,以得到大小为N·h的向量矩阵W0;

(3‑11)将步骤(3‑9)得到的向量矩阵W和步骤(3‑10)得到向量矩阵W0进行拼接,以获得特征向量矩阵W`,其维度为N·(2*h);

(3‑12)将步骤(3‑11)得到的特征向量矩阵W`输入全连接网络进行分类,以获得是否为谣言的概率向量p,其中概率向量P的长度为2;

(3‑13)对步骤(3‑12)得到的概率向量p先进行softmax运算以得到归一化后的概率向量p`,之后对归一化后的概率向量p`进行l对数运算,以得到最后的分类标签向量y,其长度为2;

(3‑14)根据步骤(3‑13)得到的分类标签向量y计算损失函数,并利用该损失函数对谣言检测模型进行迭代训练,直到该谣言检测模型收敛为止,从而得到初步训练好的谣言检测模型;

(3‑15)使用步骤(3‑1)得到的测试集对步骤(3‑14)初步训练好的谣言检测模型进行验证,直到得到的分类精度达到最优为止,从而得到训练好的谣言检测模型。

2.根据权利要求1所述的基于图注意力网络的社交媒体谣言检测方法,其特征在于,步骤(1)首先是使用正则表达式对待检测的谣言事件对应的文本进行清洗,然后使用BERT‑Large‑Cased预训练词向量模型将清洗后的每条文本转换成1024维向量,所有文本对应的1024维向量构成文本向量矩阵;

步骤(2)中,根据用户关系结构图构建邻接矩阵具体为:对谣言事件对应的节点进行编号1到N,然后对于其中任意两个节点i和j而言,如果对应的用户之间有转发、评论或回复关系,则邻接矩阵中第i行第j列的元素Aij=1,否则为0,这样就可以得到维度为N·N的邻接矩阵A,其中N为谣言事件对应的节点总数,即谣言事件对应的用户总数,其中i和j均∈[1,N]。

3.根据权利要求1或2所述的基于图注意力网络的社交媒体谣言检测方法,其特征在于,谣言检测模型包含依次连接的第一图注意力网络、第二图注意力网络、原帖子增强网络,以及全连接网络;

第一图注意力网络包括n个单头图注意力网络,其中n的取值为大于1的自然数;

对于单头图注意力网络而言,其具体结构为:

第一层是特征变换层,输入N·d的文本向量矩阵,利用一个d·h的矩阵,输出一个N·h特征矩阵,其中h为隐含层向量长度,d为编码后的文本向量长度;

第二层是注意力计算层,其输入为第一层得到的N·h矩阵和N·N用户行为关系的邻接矩阵,输出为N·N的注意力权值矩阵;

第三层是邻接顶点特征聚合层,其将第一层N·h矩阵和第二层得到N·N的注意力权值矩阵进行矩阵乘法,以得到N·h的特征矩阵。

4.根据权利要求3所述的基于图注意力网络的社交媒体谣言检测方法,其特征在于,对于第一图注意力网络而言,其通过将n个单头图注意力网络输出的N·h的特征矩阵进行拼接,就能得到一个N·(n*h)的特征矩阵;

第二图注意力网络是一个单头图注意力网络,其输入为第一图注意力网络输出的N·(n*h)的特征矩阵,输出为N·h的特征矩阵。

5.根据权利要求3所述的基于图注意力网络的社交媒体谣言检测方法,其特征在于,原帖子增强网络的具体结构为:第一层是拼接层,其输入为经过第二图注意力网络输出的特征矩阵,该层使用N·h的原帖子特征矩阵进行拼接,输出为经过增强后的特征矩阵,维度为N·2h;

第二层是池化层,其输入为增强后的特征矩阵,输出为经过池化后的特征向量,维度为

1·2h;

全连接网络具体结构为:

第一层是特征变换层,其输入为经过原帖子增强网络池化后的特征向量,该层使用

2h·h维的权重矩阵,输出维度为h的特征向量;

第二层是特征降维层,其输入为第一层输出的特征向量,该层使用h·h/2维的权重矩阵,输出为降维后的特征向量,维度为h/2;

第三层是谣言检测结果层,其输入为第二层降维后的特征向量,该层使用h/2·2维权重矩阵,输出为谣言检测结果。

6.根据权利要求3所述的基于图注意力网络的社交媒体谣言检测方法,其特征在于,步骤(3‑5)的计算公式为:其中LeakyReLU(x)为激活函数,其中a为固定常数,a∈[0,1],公式表示如下:exp(x)为指数函数,公式表示如下:

x

exp(x)=e

步骤(3‑6)具体为:

首先根据以下公式获得节点特征:

h'i=σ(∑j∈Aiαijhj)

其中σ(x)为elu激活函数,其公式表示如下:

k为固定常数,k∈[0,1];

然后通过将得到的h'i按行进行拼接,就能得到维度为N·h的特征矩阵。

7.根据权利要求3所述的基于图注意力网络的社交媒体谣言检测方法,其特征在于,步骤(3‑13)中的softmax运算的公式为:对数运算的公式表示如下:

yi=loge(p'i)

步骤(3‑14)使用的损失函数Loss为:

Loss=‑(y0+y1)/2

其中y0和y1分别表示分类标签向量y中的第一个和第二个元素。

8.一种基于图注意力网络的社交媒体谣言检测系统,其特征在于,包括:第一模块,用于获取待检测的谣言事件,对待检测的谣言事件对应的文本进行预处理,以得到预处理后的文本,并使用BERT‑Large‑Cased预训练词向量模型将预处理后的文本转换成文本向量矩阵;

第二模块,用于根据第一模块得到的待检测的谣言事件对应的用户之间的转发、评论或回复关系构建用户关系结构图表示为G=(V,E),并根据该用户关系结构图构建邻接矩阵,其中V表示节点集合,每个节点表示待检测的谣言事件对应的一个用户,E表示边的集合,每条边表示两个用户之间的转发、评论或回复关系;

第三模块,用于将第一模块得到的文本向量矩阵、以及第二模块得到的邻接矩阵,输入预先训练好的谣言检测模型中,以得到最终的谣言检测结果;谣言检测模型是通过以下步骤训练得到的:(3‑1)获取谣言数据,按照8:2的比例将谣言数据划分为训练集和测试集,对训练集中每个谣言数据对应的文本进行预处理,以得到预处理后的文本,使用BERT‑Large‑Cased预训练词向量模型将预处理后的文本转换成文本向量矩阵X,根据训练集中每个谣言数据对应的用户之间的转发、评论或回复关系构建用户关系结构图,并根据该用户关系结构图构建邻接矩阵A;

(3‑2)将步骤(3‑1)得到的文本向量矩阵X和邻接矩阵A输入到第一图注意力网络中,以得到N·(n*h)的特征向量矩阵T;

(3‑3)将步骤(3‑1)得到的文本向量矩阵X和邻接矩阵A输入第一图注意力网络中第一个单头图注意力网络的特征变换层,以得到维度为N·h的特征矩阵H;步骤(3‑3)的计算公式为·:H=Wh×X

其中Wh表示第一图注意力网络的初始权值参数矩阵,×表示矩阵乘法;

(3‑4)将步骤(3‑3)得到的特征矩阵H输入第一图注意力网络中第一个单头图注意力网络的注意力计算层,以得到每个谣言事件对应的节点之间的注意力系数;步骤(3‑4)的计算公式为:eij=a([hi||hj]),j∈Ai

其中hi表示步骤(3‑3)得到的特征矩阵H中的第i行向量,Ai为邻接矩阵A中的第i行向量,j∈Ai表示为邻接矩阵A中的第i行向量值为1的节点,[hi||hj]表示对hi和hj进行拼接,a(.)表示把拼接后的特征通过前馈神经网络映射到实数,这样就得到任意两个节点之间的注意系数eij,其中如果Aij为0,则eij也为0,表示节点i和节点j没有转发、评论或回复关系;

(3‑5)对步骤(3‑4)得到的每个谣言事件对应的节点之间的注意力系数eij进行归一化处理,以得到归一化后的注意力系数αij;

(3‑6)将步骤(3‑3)得到的特征矩阵H和步骤(3‑5)归一化后的注意力系数αij输入第一图注意力网络中第一个单头图注意力网络的邻接顶点特征聚合层,以得到N·h的特征矩阵;

(3‑7)针对第一图注意力网络中剩余的n‑1个单头图注意力网络中的每一个而言,重复上述步骤(3‑3)至(3‑6),从而得到n‑1个维度为N·h的特征矩阵,将这n‑1个维度为N·h的特征矩阵与步骤(3‑6)得到的特征矩阵进行拼接,从而得到N·(n*h)的特征矩阵;

(3‑8)对步骤(3‑2)得到的特征向量矩阵T进行drop_out处理,以得到N·(n*h)的特征向量矩阵T`,其中随机失活的比例为0.5;

(3‑9)将步骤(3‑8)得到的特征向量矩阵T`和步骤(3‑1)得到的邻接矩阵A输入到第二图注意力网络中,以得到每个谣言数据的高阶表示所对应的向量矩阵W,其维度为N·h;

(3‑10)将步骤(3‑9)得到的向量矩阵W中的第一行向量w0复制n份,并沿着y轴的方向对复制的n份向量进行拼接,以得到大小为N·h的向量矩阵W0;

(3‑11)将步骤(3‑9)得到的向量矩阵W和步骤(3‑10)得到向量矩阵W0进行拼接,以获得特征向量矩阵W`,其维度为N·(2*h);

(3‑12)将步骤(3‑11)得到的特征向量矩阵W`输入全连接网络进行分类,以获得是否为谣言的概率向量p,其中概率向量P的长度为2;

(3‑13)对步骤(3‑12)得到的概率向量p先进行softmax运算以得到归一化后的概率向量p`,之后对归一化后的概率向量p`进行l对数运算,以得到最后的分类标签向量y,其长度为2;

(3‑14)根据步骤(3‑13)得到的分类标签向量y计算损失函数,并利用该损失函数对谣言检测模型进行迭代训练,直到该谣言检测模型收敛为止,从而得到初步训练好的谣言检测模型;

(3‑15)使用步骤(3‑1)得到的测试集对步骤(3‑14)初步训练好的谣言检测模型进行验证,直到得到的分类精度达到最优为止,从而得到训练好的谣言检测模型。

说明书 :

一种基于图注意力网络的社交媒体谣言检测方法和系统

技术领域

[0001] 本发明属于人工智能中的深度学习和自然语言处理技术领域,更具体地,涉及一种基于图注意力网络(Graph Attention Network,简称GAT)的社交媒体谣言检测方法和系统。

背景技术

[0002] 如今,越来越多的人在社交平台上分享自己的意见、经验和观点;以Twitter为例,其每天发送的新推文超过5亿条,即每秒近5787条。
[0003] 然而,如今的许多社交平台已经逐渐成为滋生虚假消息和散布谣言的理想场所。因此,如何快速、准确的识别社交平台上的谣言是当务之急。目前的谣言检测方法主要分为基于机器学习和基于深度学习两类。
[0004] 针对基于机器学习的谣言检测方法而言,其集中于谣言的浅层特征,其中有三个特征效果突出,一是文本特征,如用户的评论和回复等;二是用户特征,如用户的关注数,用户的粉丝数,用户的星座,生日,兴趣等;三是传播特征,如传播的时间序列,转发的帖子数等。利用这些特征训练机器学习算法,如支持向量机、决策树、随机森林等来实现谣言检测。然而,基于机器学习的这些谣言检测方法主要依赖于特征工程,提取特征的效率较低,从而导致检测过程非常费时费力。
[0005] 针对基于深度学习的谣言检测方法而言,虽然通过卷积神经网络、循环神经网络、长短期记忆网络等深度学习模型,能自动化的从谣言事件中提取特征,从而解决了现有基于机器学习的谣言检测方法提取特征效率低的问题。但是,现有基于深度学习的谣言检测方法仍然存在一些不可忽略的缺陷:第一、卷积神经网络设计的初衷是用于捕获结构化数据的特征,比如图像数据等,循环神经网络,长短期记忆网络等模型主要是用于处理固定长度的数据,而在谣言事件级别检测中,每个谣言事件的帖子数不是固定的,因此该基于深度学习的谣言检测方法不能高效地提取谣言传播结构特征和聚合邻接节点特征,进而导致谣言检测准确率偏低;第二、在谣言事件中,原贴子往往包含着更多有利于谣言检测的特征,随着谣言的传播,越远离原贴子的节点包含的利于谣言检测的特征越少,这也会导致谣言检测准确率偏低;第三,基于深度学习的谣言检测方法大部分都是基于传统的词向量模型(例如one‑hot、Word2Vec、Tf‑idf等)来表示文本,该词向量模型表示文本的能力有限,不能根据语境动态调整词语对词向量表示,进而会导致谣言检测准确率偏低。

发明内容

[0006] 针对现有技术的以上缺陷或改进需求,本发明提供了一种基于图注意力网络的社交媒体谣言检测方法和系统。其目的在于,解决现有基于深度学习的谣言检测方法由于不能高效的提取谣言传播结构特征和聚合邻接节点特征,导致影响谣言检测准确度的技术问题;以及由于远离原贴子的节点包含的有利于谣言检测的特征较少,导致影响谣言检测准确度的技术问题;以及由于使用传统词向量对文本进行编码并不能根据语境动态调整词向量,导致影响谣言检测准确度的技术问题。
[0007] 为实现上述目的,按照本发明的一个方面,提供了一种基于图注意力网络的社交媒体谣言检测方法,包括如下步骤:
[0008] (1)获取待检测的谣言事件,对待检测的谣言事件对应的文本进行预处理,以得到预处理后的文本,并使用BERT‑Large‑Cased预训练词向量模型将预处理后的文本转换成文本向量矩阵。
[0009] (2)根据步骤(1)得到的待检测的谣言事件对应的用户之间的转发、评论或回复关系构建用户关系结构图表示为G=(V,E),并根据该用户关系结构图构建邻接矩阵,其中V表示节点集合,每个节点表示待检测的谣言事件对应的一个用户,E表示边的集合,每条边表示两个用户之间的转发、评论或回复关系。
[0010] (3)将步骤(1)得到的文本向量矩阵、以及步骤(2)得到的邻接矩阵,输入预先训练好的谣言检测模型中,以得到最终的谣言检测结果。
[0011] 优选地,步骤(1)首先是使用正则表达式对待检测的谣言事件对应的文本进行清洗(即删除一些特殊符号以及网页链接等),然后使用BERT‑Large‑Cased预训练词向量模型将清洗后的每条文本转换成1024维向量,所有文本对应的1024维向量构成文本向量矩阵。
[0012] 步骤(3)中,根据用户关系结构图构建邻接矩阵具体为:对谣言事件对应的节点进行编号1到N,然后对于其中任意两个节点i和j而言,如果对应的用户之间有转发、评论或回复关系,则邻接矩阵中第i行第j列的元素Aij=1,否则为0,这样就可以得到维度为N·N的邻接矩阵A,其中N为谣言事件对应的节点总数,即谣言事件对应的用户总数,其中i和j均∈[1,N]。
[0013] 优选地,谣言检测模型包含依次连接的第一图注意力网络、第二图注意力网络、原帖子增强网络,以及全连接网络;
[0014] 第一图注意力网络包括n个单头图注意力网络,其中n的取值为大于1的自然数;
[0015] 对于单头图注意力网络而言,其具体结构为:
[0016] 第一层是特征变换层,输入N·d的文本向量矩阵,利用一个d·h的矩阵,输出一个N·h特征矩阵,其中h为隐含层向量长度,d为编码后的文本向量长度;
[0017] 第二层是注意力计算层,其输入为第一层得到的N·h矩阵和N·N用户行为关系的邻接矩阵,输出为N·N的注意力权值矩阵。
[0018] 第三层是邻接顶点特征聚合层,其将第一层N·h矩阵和第二层得到N·N的注意力权值矩阵进行矩阵乘法,以得到N·h的特征矩阵。
[0019] 优选地,对于第一图注意力网络而言,其通过将n个单头图注意力网络输出的N·h的特征矩阵进行拼接,就能得到一个N·(n*h)的特征矩阵;
[0020] 第二图注意力网络是一个单头图注意力网络,其输入为第一图注意力网络输出的N·(n*h)的特征矩阵,输出为N·h的特征矩阵。
[0021] 优选地,原帖子增强网络的具体结构为:
[0022] 第一层是拼接层,其输入为经过第二图注意力网络输出的特征矩阵,该层使用N·h的原帖子特征矩阵进行拼接,输出为经过增强后的特征矩阵,维度为N·2h;
[0023] 第二层是池化层,其输入为增强后的特征矩阵,输出为经过池化后的特征向量,维度为1·2h;
[0024] 全连接网络具体结构为:
[0025] 第一层是特征变换层,其输入为经过原帖子增强网络池化后的特征向量,该层使用2h·h维的权重矩阵,输出维度为h的特征向量。
[0026] 第二层是特征降维层,其输入为第一层输出的特征向量,该层使用h·h/2维的权重矩阵,输出为降维后的特征向量,维度为h/2。
[0027] 第三层是谣言检测结果层,其输入为第二层降维后的特征向量,该层使用h/2·2维权重矩阵,输出为谣言检测结果。
[0028] 优选地,谣言检测模型是通过以下步骤训练得到的:
[0029] (3‑1)获取谣言数据,按照8:2的比例将谣言数据划分为训练集和测试集,对训练集中每个谣言数据对应的文本进行预处理,以得到预处理后的文本,使用BERT‑Large‑Cased预训练词向量模型将预处理后的文本转换成文本向量矩阵X,根据训练集中每个谣言数据对应的用户之间的转发、评论或回复关系构建用户关系结构图,并根据该用户关系结构图构建邻接矩阵A。
[0030] (3‑2)将步骤(3‑1)得到的文本向量矩阵X和邻接矩阵A输入到第一图注意力网络中,以得到N·(n*h)的特征向量矩阵T;
[0031] (3‑3)将步骤(3‑1)得到的文本向量矩阵X和邻接矩阵A输入第一图注意力网络中第一个单头图注意力网络的特征变换层,以得到维度为N·h的特征矩阵H;
[0032] (3‑4)将步骤(3‑3)得到的特征矩阵H输入第一图注意力网络中第一个单头图注意力网络的注意力计算层,以得到每个谣言事件对应的节点之间的注意力系数;
[0033] (3‑5)对步骤(3‑4)得到的每个谣言事件对应的节点之间的注意力系数eij进行归一化处理,以得到归一化后的注意力系数αij;
[0034] (3‑6)将步骤(3‑3)得到的特征矩阵H和步骤(3‑5)归一化后的注意力系数αij输入第一图注意力网络中第一个单头图注意力网络的邻接顶点特征聚合层,以得到N·h的特征矩阵;
[0035] (3‑7)针对第一图注意力网络中剩余的n‑1个单头图注意力网络中的每一个而言,重复上述步骤(3‑3)至(3‑6),从而得到n‑1个维度为N·h的特征矩阵,将这n‑1个维度为N·h的特征矩阵与步骤(3‑6)得到的特征矩阵进行拼接,从而得到N·(n*h)的特征矩阵;
[0036] (3‑8)对步骤(3‑2)得到的特征向量矩阵T进行drop_out处理,以得到N·(n*h)的特征向量矩阵T`,其中随机失活的比例为0.5。
[0037] (3‑9)将步骤(3‑8)得到的特征向量矩阵T`和步骤(3‑1)得到的邻接矩阵A输入到第二图注意力网络中,以得到每个谣言数据的高阶表示所对应的向量矩阵W,其维度为N·h。
[0038] (3‑10)将步骤(3‑9)得到的向量矩阵W中的第一行向量w0复制n份,并沿着y轴的方向对复制的n份向量进行拼接,以得到大小为N·h的向量矩阵W0;
[0039] (3‑11)将步骤(3‑9)得到的向量矩阵W和步骤(3‑10)得到向量矩阵W0进行拼接,以获得特征向量矩阵W`,其维度为N·(2*h);
[0040] (3‑12)将步骤(3‑11)得到的特征向量矩阵W`输入全连接网络进行分类,以获得是否为谣言的概率向量p,其中概率向量P的长度为2;
[0041] (3‑13)对步骤(3‑12)得到的概率向量p先进行softmax运算以得到归一化后的概率向量p`,之后对归一化后的概率向量p`进行对数运算,以得到最后的分类标签向量y,其长度为2;
[0042] (3‑14)根据步骤(3‑13)得到的分类标签向量y计算损失函数,并利用该损失函数对谣言检测模型进行迭代训练,直到该谣言检测模型收敛为止,从而得到初步训练好的谣言检测模型。
[0043] (3‑15)使用步骤(3‑1)得到的测试集对步骤(3‑14)初步训练好的谣言检测模型进行验证,直到得到的分类精度达到最优为止,从而得到训练好的谣言检测模型。
[0044] 优选地,步骤(3‑3)的计算公式为·:
[0045] H=Wh×X
[0046] 其中Wh表示第一图注意力网络的初始权值参数矩阵,×表示矩阵乘法;步骤(3‑4)的计算公式为:
[0047] eij=a([hi||hj]),j∈Ai
[0048] 其中hi表示步骤(3‑3)得到的特征矩阵H中的第i行向量,Ai为邻接矩阵A中的第i行i向量,j∈Ai表示为邻接矩阵A中的第i行向量值为1的节点,[h||hj]表示对hi和hj进行拼接,a(.)表示把拼接后的特征通过前馈神经网络映射到实数,这样就得到任意两个节点之间的注意系数eij,其中如果Aij为0,则eij也为0,表示节点i和节点j没有转发、评论或回复关系。
[0049] 优选地,步骤(3‑5)的计算公式为:
[0050]
[0051] 其中LeakyReLU(x)为激活函数,其中a为固定常数,a∈[0,1],公式表示如下:
[0052]
[0053] exp(x)为指数函数,公式表示如下:
[0054] exp(x)=ex
[0055] 步骤(3‑6)具体为:
[0056] 首先根据以下公式获得节点特征:
[0057] h'i=σ(∑j∈Aiαijhj)
[0058] 其中σ(x)为elu激活函数,其公式表示如下:
[0059]
[0060] k为固定常数,k∈[0,1];
[0061] 然后通过将得到的h'i按行进行拼接,就能得到维度为N·h的特征矩阵。
[0062] 优选地,步骤(3‑13)中的softmax运算的公式为:
[0063]
[0064] 对数运算的公式表示如下:
[0065] yi=log e(p'i)
[0066] 步骤(3‑14)使用的损失函数Loss为:
[0067] Loss=‑(y0+y1)/2
[0068] 其中y0和y1分别表示分类标签向量y中的第一个和第二个元素。
[0069] 按照本发明的另一方面,提供了一种基于图注意力网络的社交媒体谣言检测系统,包括:
[0070] 第一模块,用于获取待检测的谣言事件,对待检测的谣言事件对应的文本进行预处理,以得到预处理后的文本,并使用BERT‑Large‑Cased预训练词向量模型将预处理后的文本转换成文本向量矩阵。
[0071] 第二模块,用于根据第一模块得到的待检测的谣言事件对应的用户之间的转发、评论或回复关系构建用户关系结构图表示为G=(V,E),并根据该用户关系结构图构建邻接矩阵,其中V表示节点集合,每个节点表示待检测的谣言事件对应的一个用户,E表示边的集合,每条边表示两个用户之间的转发、评论或回复关系。
[0072] 第三模块,用于将第一模块得到的文本向量矩阵、以及第二模块得到的邻接矩阵,输入预先训练好的谣言检测模型中,以得到最终的谣言检测结果。
[0073] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0074] 1、由于本发明采用了步骤(3‑3)到步骤(3‑7),其通过采用第一图注意力网络,动态的给邻接节点赋予相应的权值,能更好的表示每个节点的信息,聚合邻接节点特征,通过采用第二图注意力网络,能更好的提取谣言传播结构高阶特征。因此能够解决现有基于深度学习的谣言检测方法不能高效的提取谣言传播结构特征和聚合邻接节点特征,进而影响谣言检测分类准确度的技术问题;
[0075] 2、由于本发明采用了步骤(3‑10)和步骤(3‑11),其通过将原贴子的特征信息聚合到每个节点上,能更好的利用原贴子信息,因此能够解决现有基于深度学习的谣言检测方法由于远离原贴子的节点包含的有利于谣言检测的特征较少,进而影响谣言检测分类准确率的技术问题;
[0076] 3、由于本发明采用了步骤(3‑1),其使用了BERT‑Large‑Cased预训练词向量模型对谣言文本进行编码,因此能够解决现有基于深度学习的谣言检测方法由于使用传统词向量对文本进行编码不能根据语境动态调整词向量,进而影响谣言检测分类准率的技术问题;
[0077] 4、本发明的方法具有普适性,能够适用于各种情况下的谣言检测任务。

附图说明

[0078] 图1是本发明基于图注意力网络的社交媒体谣言检测方法的整体框架示意图;
[0079] 图2是本发明基于图注意力网络的社交媒体谣言检测方法的流程图;
[0080] 图3是本发明中使用的谣言检测模型的网络结构图。

具体实施方式

[0081] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0082] 本发明的基本思路在于,从三个方面提升谣言检测的效果,一方面利用第一图注意力网络动态的给谣言传播节点赋予权值,更好的聚合邻接顶点的信息,同时利用第二图注意力网络能捕获到谣言传播结构的高阶特征;另一方面,利用原帖子增强网络,聚合特征,更好的利用了原帖子的信息。最后,用BERT‑Large‑Cased预训练词向量模型对谣言事件文本进行编码,解决了一词多义的问题;
[0083] 在本发明的实验中,通过在谣言检测的数据集上测试,本发明发现在多个数据集上的谣言检测效果均有提升,以数据集PHEME2017为例,准确率约提升7%,查全率约提升9%,召回率约提升15.7%,F1值约提升12.6%。其原因在于利用BERT‑Large‑Cased预训练词向量模型对谣言事件文本进行编码,解决了一词多义的问题。利用第一图注意力网络动态的给邻接节点赋予相应的权值,能更好的表示每个节点的信息,聚合邻接节点特征。第二图注意力网络,能更好的提取谣言传播结构高阶特征。最后,利用原帖子增强网络的方法,聚合特征,更好的利用了原帖子的信息,三个方面提高谣言检测的结果。
[0084] 如图1和图2所示,本发明提供了一种基于图注意力网络的社交媒体谣言检测方法方法,包括如下步骤:
[0085] (1)获取待检测的谣言事件,对待检测的谣言事件对应的文本进行预处理,以得到预处理后的文本,并使用BERT‑Large‑Cased预训练词向量模型将预处理后的文本转换成文本向量矩阵。
[0086] 具体而言,本步骤首先是使用正则表达式对待检测的谣言事件对应的文本进行清洗(即删除一些特殊符号(例如#,@等)以及网页链接等),然后使用BERT‑Large‑Cased预训练词向量模型将清洗后的每条文本转换成1024维向量,所有文本对应的1024维向量构成文本向量矩阵。
[0087] (2)根据步骤(1)得到的待检测的谣言事件对应的用户之间的转发、评论或回复关系构建用户关系结构图表示为G=(V,E),并根据该用户关系结构图构建邻接矩阵,其中V表示节点集合,每个节点表示待检测的谣言事件对应的一个用户,E表示边的集合,每条边表示两个用户之间的转发、评论或回复关系。
[0088] 本步骤中,根据用户关系结构图构建邻接矩阵具体为:对谣言事件对应的节点进行编号(1到N,其中N为谣言事件对应的节点总数,即谣言事件对应的用户总数),然后对于其中任意两个节点i和j而言(其中i和j均∈[1,N]),如果对应的用户之间有转发、评论或回复关系,则邻接矩阵中第i行第j列的元素Aij=1,否则为0,这样就可以得到维度为N·N的邻接矩阵A。
[0089] (3)将步骤(1)得到的文本向量矩阵、以及步骤(2)得到的邻接矩阵,输入预先训练好的谣言检测模型中,以得到最终的谣言检测结果。
[0090] 如图3所示,本发明的谣言检测模型包含依次连接的第一图注意力网络、第二图注意力网络、原帖子增强网络,以及全连接网络四个部分。
[0091] 第一图注意力网络包括n个单头图注意力网络,其中n的取值为大于1的自然数,优选为5;
[0092] 对于单头图注意力网络而言,其具体结构为:
[0093] 第一层是特征变换层,输入N·d的文本向量矩阵,利用一个d·h的矩阵,输出一个N·h特征矩阵,其中h为隐含层向量长度(其大小为64),d为编码后的文本向量长度(其等于1024);
[0094] 本层通过两个矩阵相乘可以提取编码后的文本向量特征,同时降低文本向量长度提高运行速度。
[0095] 第二层是注意力计算层,其输入为第一层得到的N·h矩阵和N·N用户行为关系的邻接矩阵,输出为N·N的注意力权值矩阵。
[0096] 第三层是邻接顶点特征聚合层,其将第一层N·h矩阵和第二层得到N·N的注意力权值矩阵进行矩阵乘法,以得到N·h的特征矩阵。
[0097] 对于第一图注意力网络而言,由于每个单头图注意力网络都会得到1个N·h的特征矩阵,最终通过将n个单头图注意力网络输出的N·h的特征矩阵进行拼接,就能得到一个N·(n*h)的特征矩阵。
[0098] 第二图注意力网络是一个单头图注意力网络,其输入为第一图注意力网络输出的N·(n*h)的特征矩阵,输出为N·h的特征矩阵。
[0099] 原帖子增强网络的具体结构为:
[0100] 第一层是拼接层,其输入为经过第二图注意力网络输出的特征矩阵,该层使用N·h的原帖子特征矩阵进行拼接,输出为经过增强后的特征矩阵,维度为N·2h;
[0101] 第二层是池化层,其输入为增强后的特征矩阵,输出为经过池化后的特征向量,维度为1·2h。
[0102] 全连接网络具体结构为:
[0103] 第一层是特征变换层,其输入为经过原帖子增强网络池化后的特征向量,该层使用2h·h维的权重矩阵,输出维度为h的特征向量。
[0104] 第二层是特征降维层,其输入为第一层输出的特征向量,该层使用h·h/2维的权重矩阵,输出为降维后的特征向量,维度为h/2。
[0105] 第三层是谣言检测结果层,其输入为第二层降维后的特征向量,该层使用h/2·2维权重矩阵,输出为谣言检测结果。
[0106] 具体而言,本发明的谣言检测模型是通过以下步骤训练得到的:
[0107] (3‑1)获取谣言数据,按照8:2的比例将谣言数据划分为训练集和测试集,对训练集中每个谣言数据对应的文本进行预处理,以得到预处理后的文本,使用BERT‑Large‑Cased预训练词向量模型将预处理后的文本转换成文本向量矩阵X,根据训练集中每个谣言数据对应的用户之间的转发、评论或回复关系构建用户关系结构图,并根据该用户关系结构图构建邻接矩阵A。
[0108] 本步骤中对文本进行预处理并生成文本向量矩阵的过程和上述步骤(1)完全相同,构建邻接矩阵的过程和上述步骤(2)完全相同,在此不再赘述;
[0109] 本步骤数据的划分步骤如下:首先将所有谣言数据随机打乱,之后将所有谣言数据均匀的划分成5份,从5份数据中取任意1份作为测试集,其余4份作为训练集。
[0110] 本步骤(3‑1)的优点在于,使用BERT‑Large‑Cased预训练词向量模型对谣言事件文本进行编码,解决了一词多义的问题。
[0111] (3‑2)将步骤(3‑1)得到的文本向量矩阵X和邻接矩阵A输入到第一图注意力网络中,以得到N·(n*h)的特征向量矩阵T;
[0112] (3‑3)将步骤(3‑1)得到的文本向量矩阵X和邻接矩阵A输入第一图注意力网络中第一个单头图注意力网络的特征变换层,以得到维度为N·h的特征矩阵H;
[0113] 具体而言,本步骤的计算公式为·:
[0114] H=Wh×X
[0115] 其中Wh表示第一图注意力网络的初始权值参数矩阵,×表示矩阵乘法。
[0116] (3‑4)将步骤(3‑3)得到的特征矩阵H输入第一图注意力网络中第一个单头图注意力网络的注意力计算层,以得到每个谣言事件对应的节点之间的注意力系数;
[0117] 具体而言,本步骤的计算公式为:
[0118] eij=a([hi||hj]),j∈Ai
[0119] 其中hi表示步骤(3‑3)得到的特征矩阵H中的第i行向量,Ai为邻接矩阵A中的第i行向量,j∈Ai表示为邻接矩阵A中的第i行向量值为1的节点,[hi||hj]表示对hi和hj进行拼接,a(.)表示把拼接后的特征通过前馈神经网络映射到实数,这样就得到任意两个节点之间的注意系数eij,其中如果Aij为0,则eij也为0,表示节点i和节点j没有转发、评论或回复关系。
[0120] (3‑5)对步骤(3‑4)得到的每个谣言事件对应的节点之间的注意力系数eij进行归一化处理,以得到归一化后的注意力系数αij;
[0121] 具体而言,本步骤的计算公式为:
[0122]
[0123] 其中LeakyReLU(x)为激活函数,其中a为固定常数,a∈[0,1],公式表示如下:
[0124]
[0125] exp(x)为指数函数,公式表示如下:
[0126] exp(x)=ex
[0127] 通过上述公式就能得到归一化后注意力系数αij。
[0128] (3‑6)将步骤(3‑3)得到的特征矩阵H和步骤(3‑5)归一化后的注意力系数αij输入第一图注意力网络中第一个单头图注意力网络的邻接顶点特征聚合层,以得到N·h的特征矩阵;
[0129] 具体而言,本步骤首先根据以下公式获得节点特征:
[0130] h'i=σ(∑j∈Aiαijhj)
[0131] 其中σ(x)为elu激活函数,其公式表示如下:
[0132]
[0133] k为固定常数,k∈[0,1],一般取值为1。
[0134] 然后通过将得到的h'i按行进行拼接,就能得到维度为N·h的特征矩阵。
[0135] (3‑7)针对第一图注意力网络中剩余的n‑1个单头图注意力网络中的每一个而言,重复上述步骤(3‑3)至(3‑6),从而得到n‑1个维度为N·h的特征矩阵,将这n‑1个维度为N·h的特征矩阵与步骤(3‑6)得到的特征矩阵进行拼接,从而得到N·(n*h)的特征矩阵;
[0136] 上述步骤(3‑1)到(3‑7)的优点在于,利用图注意力网络动态的给邻接节点赋予相应的权值,能更好的表示每个节点的信息,聚合邻接节点特征。
[0137] (3‑8)对步骤(3‑2)得到的特征向量矩阵T进行drop_out处理,以得到N·(n*h)的特征向量矩阵T`,其中随机失活的比例为0.5。
[0138] 上述步骤(3‑8)的有优点在于,能防止模型过拟合,提高模型的泛化能力。
[0139] (3‑9)将步骤(3‑8)得到的特征向量矩阵T`和步骤(3‑1)得到的邻接矩阵A输入到第二图注意力网络中,以得到每个谣言数据的高阶表示所对应的向量矩阵W,其维度为N·h。
[0140] 上述步骤(3‑9)的有优点在于,能更好的提取谣言传播结构高阶特征。
[0141] (3‑10)将步骤(3‑9)得到的向量矩阵W中的第一行向量w0复制n份,并沿着y轴的方向对复制的n份向量进行拼接,以得到大小为N·h的向量矩阵W0;
[0142] (3‑11)将步骤(3‑9)得到的向量矩阵W和步骤(3‑10)得到向量矩阵W0进行拼接,以获得特征向量矩阵W`,其维度为N·(2*h);
[0143] 上述步骤(3‑10)到(3‑11)的优点在于,利用原帖子增强网络的方法,聚合特征,能更好的利用了原帖子的信息。
[0144] (3‑12)将步骤(3‑11)得到的特征向量矩阵W`输入全连接网络进行分类,以获得是否为谣言的概率向量p,其中概率向量P的长度为2;
[0145] (3‑13)对步骤(3‑12)得到的概率向量p先进行softmax运算以得到归一化后的概率向量p`,之后对归一化后的概率向量p`进行对数运算,以得到最后的分类标签向量y,其长度为2;
[0146] 具体而言,本步骤softmax运算的公式为:
[0147]
[0148] 对数运算的公式表示如下:
[0149] yi=log e(p'i)
[0150] (3‑14)根据步骤(3‑13)得到的分类标签向量y计算损失函数,并利用该损失函数对谣言检测模型进行迭代训练,直到该谣言检测模型收敛为止,从而得到初步训练好的谣言检测模型。
[0151] 本步骤使用的损失函数Loss为:
[0152] Loss=‑(y0+y1)/2
[0153] 其中y0和y1分别表示分类标签向量y中的第一个和第二个元素。
[0154] (3‑15)使用步骤(3‑1)得到的测试集对步骤(3‑14)初步训练好的谣言检测模型进行验证,直到得到的分类精度达到最优为止,从而得到训练好的谣言检测模型。
[0155] 实验结果
[0156] 本发明的实验环境:在Ubuntu 18.04操作系统下,CPU为Intel(R)Core(TM)i9‑7900X,GPU为2块NVIDIA 1080Ti 12GB,内存为64GB DDR4,采用Pytorch编程实现本发明的算法。具体设置如下:batch size大小为256,初始学习率为1e‑3,正则化权重1e‑4。
[0157] 为了说明本发明方法的有效性以及对于分类效果的提升,在多个数据集上进行了测试,以PHEME2017数据集为例,该数据集的统计信息如下表1,将本发明得到的测试结果与当前常用的方法进行对比,评估结果如下表2:
[0158] 表1
[0159]
[0160] 表2
[0161]
[0162] 根据上表2记载的在PHEME2017数据集下的实验结果,可以看到本发明中提出的基于图注意力网络的社交媒体谣言检测方法,在准确率、查准率、召回率、F1值的四个指标上都优于现有的方法。
[0163] 本发明提出的基于图注意力网络的社交媒体谣言检测方法,一方面利用第一图注意力网络动态的给邻接节点赋予相应的权值,能更好的表示每个节点的信息,聚合邻接节点特征。第二图注意力网络,能更好的提取谣言传播结构高阶特征。另一方面利用原帖子增强网络的方法,聚合特征,更好的利用了原帖子的信息。最后用BERT‑Large‑Cased预训练词向量模型对谣言事件文本进行编码,解决了一词多义的问题。
[0164] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。