论文题目:Multi-modal Knowledge-aware Event Memory Network for Social Media Rumor Detection
论文来源:MM 2019
论文链接:https://doi.org/10.1145/3343031.3350850
关键词:多模态(文本+图像+知识);谣言检测;知识图谱;记忆网络(memory network);事件(event-level);注意力机制
本文解决的是多模态的谣言检测问题。
绝大多数利用媒体内容和社交上下文的谣言检测方法,忽视了高度浓缩的文本背后的丰富知识信息。
此外,现有的谣言检测模型在未见过的事件(unseen events)上表现不佳,因为它们倾向于在可见数据上捕获到大量的与事件相关的特征,而这些特征无法迁移到新出现的事件上。
为了解决这些问题,本文提出了多模态知识感知的事件记忆网络(MKEMN),该模型利用了多模态的知识感知网络(MKN)和事件记忆网络(EMN)。
具体来说,MKN学习到了帖子的多模态表示并从真实世界的知识图谱(KG)中检索外部知识,以补充帖子短文本的语义表示,并且将概念性的知识作为补充证据,以提高谣言检测模型的性能。
EMN抽取出了事件不变(event-invariant)特征并且将它们存储到了全局记忆(global memory)中。给定一个事件表示,EMN将其作为一个查询(query)以检索记忆网络,并输出事件间共享的对应的特征。
有了EMN所提供的附加信息,我们的模型可以学习到事件的有鲁棒性的表示,并在新出现(newly emerged)的事件上表现良好。
在两个Twitter benchmark数据集上进行实验,我们的谣言检测方法超越了SOTA方法。
(1)谣言检测方法发展历程
1)Fact-checking websites
2)Supervised classifiers:根据帖子内容和用于的社交上下文,人工设计特征。
3)Deep learning models:RNN, CNN, Attention
(2)现有深度学习模型的问题及挑战
往往侧重于从相关帖子的短文本内容中推断线索,很大程度上忽略了人们在判断事件可信度时也会用到的帖子的视觉信息和背景知识。
例如,为了评估某些帖子的可信度,人们通常首先看图片,然后再阅读文本内容,意识到文本中的机构、人名等,最后给出判断。
1)挑战1
这意味着,帖子间共享了很多隐层的知识层面的连接,这些连接有利于对谣言的识别。如何获取短文本的背景知识,并合理地将文本、知识和图像数据混合,是生成谣言事件表示的关键。
2)挑战2
和其他的分类任务不同(例如 文本分类),谣言检测任务有一个独有的挑战是,模型需要从未见过的新出现事件(newly emerged events)上检测出谣言。
在真实的应用场景中,尽可能早得检测出谣言有利于及时阻止谣言的传播。因此谣言检测模型应该具有检测出未见过的事件的谣言的能力。
一般来说,社交媒体上的谣言可能会表现出某种与特定事件语义无关的高层次共享模式,这有助于从未经验证的帖子中检测谣言。
因此,学习到社交媒体谣言间可迁移的特征表示,对于新出现的谣言的检测是很重要的。
(3)作者提出
本文的目的是通过进入端到端的框架MKEMN,解决社交媒体谣言检测的上述问题。
MKEMN的主要优点有:
1)为了捕获到帖子的完整语义信息,我们提出了多模态知识感知的网络(MKN),将词嵌入、视觉嵌入、知识嵌入视为多个堆叠的通道(就像有3个通道的彩色图像一样),同时保持它们的对齐关系,以生成帖子的表示。
2)为了抽取出event-invariant特征并增强谣言检测模型的能力,我们提出了事件记忆网络(EMN),在捕获事件独立(event-independent)的隐层话题信息的整个训练过程中,建立起额外的共享记忆。
MKEMN对事件帖子进行处理,以得到多模态知识感知的表示和event-invariant特征,以形成事件表示,最终输入到深层神经网络(DNN)中以用于谣言检测。
(4)本文贡献
1)提出了多模态知识感知网络,利用了多模态的内容信息以及外部知识层次的连接,以实现准确的谣言识别;
2)提出的事件记忆网络使用了记忆网络(memory network)来衡量不同事件间的差异性,并且进一步学习到了event-invariant特征,以提高向新出现的事件上的泛化能力;
3)在两个公开的benchmark Twitter数据集上进行实验,超越了SOTA的baselines。
现有的方法主要从帖子的文本内容中抽取文本特征。
很少有方法利用到多媒体内容。
也有的方法抽取出来社交上下文特征,例如时间序列信息、传播模式(例如消息传播的图结构)。
和以往的方法不同,本文基于了一些新的特征:高度浓缩的文本背后的背景知识、不同类型的特征。
实体链接任务指的是:将文本中的实体提及(entity mentions)与知识图谱中的对应实体相匹配。
但是实体提及可能表示不同的命名实体,而一个命名实体可能有多种形式,如别名(aliases)、缩写(abbreviations)和替代拼写(alternate spellings)。
一个实体链接系统必须在本文上下文中对实体提及进行消歧,并为每个实体提及识别出映射实体。
最近的实体链接研究侧重于使用两种类型的上下文信息以用于消歧:局部信息(出现在实体提及固定大小窗口范围内的单词)、全局信息(利用指代实体的文档级别的连贯性 (coherence) )。
记忆网络(memory network)是一个递归注意力模型(recurrent attention model),利用一个外部的语言模块,用于问答和语言建模。
通常,记忆网络由两部分组成:1)an external memory;2)a controller,在记忆上进行操作,包括读和写。
记忆组件增加了模型的能力,并且提供了知识的内在表示。在外部记忆上的迭代读操作,使得记忆网络抽取出文档间共享的特征。
也有学者提出在其他任务上使用记忆网络,例如情感分类和推荐任务。这些方法通常侧重于entry-level或sentence-level的记忆,然而本文的工作解决的是全局的训练数据间共享的event-level记忆。
此外,与传统的记忆网络不同,本文将输入记忆和输出记忆视为相同的。
谣言检测任务可视为二分类问题,目的是将社交媒体上的一个声明分类成谣言和非谣言。
在谣言检测社区中,社交媒体上的声明有两种类型:1)帖子级别(post-level),以识别出单一的帖子是否是谣言;2)事件级别(event-level),对构成事件的一组帖子进行谣言检测。
上述两种类型这一概念的建立值得关注
本文的目的是在事件级别识别出一个声明是否是谣言。其中,每个声明(claim)由一组相关的帖子(reposts和评论)组成,并且每个帖子都有一个时间戳。
我们将一个事件级别的声明表示为 x = ( y , [ p 1 , p 2 , . . . , p T ] ) x = (y, [p_1, p_2, ..., p_T]) x=(y,[p1,p2,...,pT]),其中 y ∈ { 0 , 1 } y \in {\{0, 1}\} y∈{0,1}是声明的ground-truth标签, [ p 1 , p 2 , . . . , p T ] [p_1, p_2, ..., p_T] [p1,p2,...,pT]是相关的帖子的序列,每个帖子 p t p_t pt包含文本 s t s_t st和图像 v t v_t vt。事件级别的谣言检测目的是学习到一个映射: F ( X ) → { 0 , 1 } F(X)\rightarrow {\{0, 1}\} F(X)→{0,1}。
MKEMN框架如图 2所示,该模型将事件(帖子的集合)作为输入,接下来将从左到右对其进行介绍。
(1)对于每个帖子,MKN处理其文本内容、图像内容和背景知识,并将他们对齐为CNN中不同的输入通道,以将其合并到帖子的表示学习中。
(2)为了得到鲁棒的事件表示,我们使用一个事件记忆网络来抽取并储存event-invariant特征。EMN将事件向量作为查询来检索记忆网络,并输出事件间共享的相应的特征。
(3)最终的多模态知识感知表示和事件的event-invariant特征输入到DNN中,计算预测概率,以决定该事件是否是谣言。
将文本内容、视觉内容和帖子的知识信息作为输入,将其整合到帖子的表示中。如图 2所示,MKN由4部分组成:1)文本编码器;2)知识编码器;3)视觉编码器;4)最终的多模态知识感知CNN。
为给定的短文本 s s s生成文本表示。在词嵌入之后,句子 s s s将被映射为单词向量的序列 s = [ w 1 , w 2 , . . . , w n ] , w i ∈ R d w s = [w_1, w_2, ..., w_n], w_i \in \mathbb{R}^{d_w} s=[w1,w2,...,wn],wi∈Rdw。然后,将它们输入到Bi-GRU中以捕获到序列的上下文信息:
将两个方向的隐层表示拼接,得到最终的隐层表示 h t h_t ht。令每个无向的GRU隐层单元数为 d h 2 \frac{d_h}{2} 2dh,为了简化,我们将所有 h t h_t ht表示为 H ∈ R d n H \in \mathbb{R}^{d_n} H∈Rdn,其中 d h d_h dh是隐层状态的维度:
知识编码模块的目的是:从知识图谱中蒸馏出(distill)背景知识,以补充短文本帖子的语义表示。
如图 3所示,知识蒸馏由3步组成。
1)首先,从帖子 s = [ w 1 , w 2 , . . . , w n ] s = [w_1, w_2, ..., w_n] s=[w1,w2,...,wn]的文本内容中识别出知识实体;
2)然后利用实体链接技术,通过将它们与知识图谱中预定义的实体进行关联对其进行消歧;
3)对于每个识别到的实体 e ∈ E s e\in E_s e∈Es,我们从现有的知识图谱和生物分类准则(taxonomies)中得到其概念信息 C e = ( c e 1 , c e 2 , . . . , c e m ) C_e = (c^1_e, c^2_e, ..., c^m_e) Ce=(ce1,ce2,...,cem)。其中 c e i c^i_e cei是实体 e e e的第 i i i个相关的概念, m m m是实体 e e e的概念集大小。
本文将isA关系作为例子,也可以使用相似的方式使用其他的语义关联例如isPropertyOf。
给定实体 e e e的概念信息 C e C_e Ce,我们的目的是为其生成概念知识向量 k e ∈ R d k k_e\in \mathbb{R}^{d_k} ke∈Rdk。
为了减少由于概念的模糊性和知识图谱中的噪声,引入的不恰当概念的负面影响,我们提出概念注意力来衡量第 i i i个概念 c e i c^i_e cei和单词表示 h t h_t ht间的语义相似性。使用如下的形式计算注意力:
注意力网络 F \mathcal{F} F将当前单词的嵌入和相应的概念作为输入,并输出影响力权重。其中, W c ∈ R d k + d h W_c\in \mathbb{R}^{d_k + d_h} Wc∈Rdk+dh作为权重矩阵; ⊕ \oplus ⊕为拼接操作; b c b_c bc是偏置。 α t i \alpha^i_t αti表示第 i i i个概念对于单词表示 h t h_t ht的注意力权重,该值越大说明单词 w t w_t wt和第 i i i个概念的语义相似性越大。
最后,使用注意力权重来计算概念向量的加权和,得到表示概念的语义向量 k t k_t kt。对于不是实体的单词,将 k t k_t kt置为0。
视觉编码器将帖子的视觉内容作为输入,并生成帖子的加权视觉特征。
给定一个图像,我们先将该图像预处理为224224像素的,然后将其输入到19-layer VGGNet来抽取出图像特征。最后池化层的特征维度为5127*7,因为大部分情况下,单词只和输入图像中小范围的部分相关。
因此,一个图像可表示为:
其中, v ~ i \tilde{v}_i v~i是图像范围(region) i i i的特征向量, d v = 512 d_v=512 dv=512, N = 7 × 7 N=7\times 7 N=7×7是图像的范围数(the number of image regions)。
为了过滤掉噪声并且准确地识别出和当前单词高度相关的regions v ~ i ∈ R d v \tilde{v}_i \in \mathbb{R}^{d_v} v~i∈Rdv,我们使用了单词指导的视觉注意力模块。
给定单词 w t w_t wt,可根据式(2)得到特征 h t h_t ht,根据式(5)得到图像特征矩阵 v ~ \tilde{v} v~。我们将它们输入到单层的神经网络中,并经过softmax函数,以生成在图像 N N N个regions上的注意力分布:
其中, G \mathcal{G} G为注意力网络; W v ~ ∈ R d h + d v W_{\tilde{v}}\in \mathbb{R}^{d_h+d_v} Wv~∈Rdh+dv是可训练的参数; β i + t \beta^i+t βi+t是给定单词特征 h t h_t ht的图像region v ~ i \tilde{v}_i v~i的注意力概率。注意力分布 β t \beta_t βt即为对每个image region的权重,基于 β t \beta_t βt就可以得到和单词 h t h_t ht相关的新的图像向量:
在文本、知识、图像编码之后,每个单词 w t w_t wt都会和单词表示 h t ∈ R d h h_t\in \mathbb{R}^{d_h} ht∈Rdh、知识嵌入 k t ∈ R d k k_t\in \mathbb{R}^{d_k} kt∈Rdk进而视觉嵌入 v t ∈ R d v v_t\in \mathbb{R}^{d_v} vt∈Rdv相关联。
给定上述的输入,将其整合的最直接的方式是将它们连接到单词序列中,例如:
但是,这种方式会带来局限性:
1)连接策略打破了单词、相关知识和视觉数据间的联系,没有进行对齐;
2)词嵌入、知识嵌入和视觉嵌入都是使用不同方法学习得到的,将它们在同一个向量空间中进行处理显然是不合适的;
3)连接策略强迫单词、知识和视觉嵌入有相同的维度,这种设置可能不是最佳的,因为表示维度的最佳维度可能是不同的。
鉴于上述局限性,作者提出了多通道和word-knowledge-visual-aligned CNN用于结合帖子 p t p_t pt的所有信息。CNN的架构如图 2下半部分所示。
对于每个文本句子 s s s,除了使用词嵌入 h 1 : n = [ h 1 , h 2 , . . . , h n ] h_{1:n} = [h_1, h_2, ..., h_n] h1:n=[h1,h2,...,hn]作为输入,还引入了转换后的知识嵌入 H k ( k 1 : n ) = [ H k ( k 1 ) , H k ( k 2 ) , . . . , H k ( k n ) ] \mathcal{H}_k(k_{1:n}) = [\mathcal{H}_k(k_1), \mathcal{H}_k(k_2), ..., \mathcal{H}_k(k_n)] Hk(k1:n)=[Hk(k1),Hk(k2),...,Hk(kn)]和转换后的视觉嵌入 H v ( v 1 : n ) = [ H v ( v 1 ) , H v ( v 2 ) , . . . , H v ( v n ) ] \mathcal{H}_v(v_{1:n}) = [\mathcal{H}_v(v_1), \mathcal{H}_v(v_2), ..., \mathcal{H}_v(v_n)] Hv(v1:n)=[Hv(v1),Hv(v2),...,Hv(vn)]作为输入源。其中 H k , H v \mathcal{H}_k, \mathcal{H}_v Hk,Hv是连续的转换函数,可以将知识嵌入和视觉嵌入从原始空间映射到单词的空间,同时保留它们原始的空间关系。
注意,这三种输入的size是一样的,和真彩图中的多个通道类似。
在得到多通道的输入 G G G之后,使用多个卷积核( f ∈ R 3 × l × d h f\in \mathbb{R}^{3\times l\times d_h} f∈R3×l×dh, l l l表示窗口大小)抽取出句子中特定的局部模式。给定卷积核 f f f的条件下,子矩阵 G i : i + l − 1 G_{i:i+l-1} Gi:i+l−1的局部激活可写为:
其中 I \mathcal{I} I是激活函数,在feature map上使用max-over-time池化操作以选择最大的特征:
将所有的特征 r ~ f i \tilde{r}^{f_i} r~fi拼接起来作为帖子的最终表示 p t p_t pt, j j j表示卷积核的数量:
给定事件 x x x,其帖子表示列表为 [ p 1 , p 2 , . . . , p T ] [p_1, p_2, ..., p_T] [p1,p2,...,pT]。现有的谣言检测模型[1]将事件对应的帖子表示序列输入到post-level GRU,并将最后一步的隐层输出作为事件表示 x x x。下式中的 h t − 1 p h^p_{t-1} ht−1p为post-level GRU在 T − 1 T-1 T−1时间步的隐层状态。
但是这些模型在未见过的事件(unseen events)上表现欠佳,因为它们倾向于捕获可见数据中的大量事件特定(event-specific)特征,但这些特征不能迁移到新出现的事件中。
因此,本文提出事件记忆网络来抽取出事件的event-invariant特征,并将它们储存到全局记忆中。如上图所示,EMN架构主要由两部分组成:1)事件表示 x x x;2)记忆 M ∈ R d m × K M\in \mathbb{R}^{d_m\times K} M∈Rdm×K,是在整个训练过程中共享的额外记忆,其可以捕获事件内在的话题信息, d m d_m dm是每个隐层话题的向量维度, K K K是隐层话题簇的数量。
为了抽取出事件间共享的特征,将给定的事件表示 x x x作为查询,如下式所示,构建记忆查询过程:
首先,使用点积计算查询 x x x和每个隐层话题记忆间的相似度。然后将得到的结果,即 K K K个值,使用softmax函数进行归一化,以得到相似度概率 q k q_k qk。在计算得到隐层话题概率 q k q_k qk后,使用 q k q_k qk作为权重,对 M ∈ R d m × K M\in \mathbb{R}^{d_m\times K} M∈Rdm×K求和,得到event-invariant特征 Q K ∈ R d m Q_K\in \mathbb{R}^{d_m} QK∈Rdm。接着将特征向量 Q K Q_K QK和原始的编码向量 x x x进行拼接,以生成新的事件表示 X X X。
注意,如果 x x x的维度和记忆向量的维度不同,需要在 x x x后接一个附加的输出映射层,再进行和记忆的点积操作。
最后,给定记忆增强的事件表示 X X X,使用DNN D \mathcal{D} D预测该事件是否是谣言的概率:
对于一批(batch)事件 X = [ X 1 , X 2 , . . . , X J ] \mathcal{X} = [X_1, X_2, ..., X_J] X=[X1,X2,...,XJ]和它们的类别标签 y = [ y 1 , y 2 , . . . , y J ] y = [y_1, y_2, ..., y_J] y=[y1,y2,...,yJ],损失函数可写为:
(1)数据集
这两个数据集都是由Twitter中的tweets所组成。TWITTER数据集是根据发布在snopes.com上的声明进行收集的,每个声明包含了第4节中描述的tweets的序列。PHEME数据集是基于5个breaking news进行收集的,每个news包含了声明的一个集合。
根据之前的工作,我们过滤掉tweets数少于10的声明,并平衡两个类别的实例数量。
(2)对比方法
(3)实验结果
1)和现有方法的对比结果
表 1展示了和已有方法的对比结果,可以看出:
MKEMN的优越性可归因为两点:
2)消融实验
将MKEMN的变形进行对比,以说明使用EMN的有效性、使用多模态和知识的有效性。变形如下:
实验结果如表 2和表 3所示,从中可以看出:
3)记忆簇数量的有效性(Effects of the Memory Cluster Numbers)
分析有不同隐层簇数量的事件记忆网络。设隐层簇数量 K K K的范围为 [ 1 , 2 , 3 , 4 , 5 , 6 ] [1, 2, 3, 4, 5, 6] [1,2,3,4,5,6]。图 4展示了不同 K K K设置下,MKEMN的性能。
从图 4可以看出,对于TWITTER数据集 K = 3 K=3 K=3最佳,对于PHEME数据集 K = 2 K=2 K=2最佳。这可能是因为每个数据集有不同数量的主题。
特别地,PHEME数据集是通过收集和5个breaking news(charliehebdo, ferguson, germanwings-crash, ottawashooting,and sydneysiege)相关的上千个事件构成的。在PHEME数据集中有天然的内在类别,事件记忆将其捕获为3个话题簇。
TWITTER数据集有多样的内容,也就意味着事件间共享的特征是稀疏的,因此和PHEME数据集相比,EMN模块捕获到了较少的簇。
4)早期谣言检测
作者验证了模型在早期检测上的性能,具体方法是按发生时间顺序粗略地增加测试数据。结果如下图所示:
从图中可以看出:
本文提出了一个多模态的知识感知网络,利用了多模态的内容信息和额外的知识层面的连接,以实现准确的谣言识别。
此外,提出的事件记忆网络使用了记忆网络来衡量不同事件间的差异性,并进一步学习到了事件不变(共性)特征,从而提高向新出现的事件的泛化能力。
实验证明了本文MKEMN模型的有效性和鲁棒性。
未来工作:使用记忆网络捕获谣言的传播信息,以提高谣言检测的鲁棒性。
思考:
(1)本文的亮点:
1)引入了知识图谱中的知识信息。具体方法是:识别帖子文本中的实体,并将其链接到KG中的实体上,使用KG中相应实体的概念信息生成知识向量,并引入注意力机制考虑实体的不同概念对其的影响程度。
2)不同模态信息的融合较为充分。在计算知识的嵌入和视觉的嵌入时,均使用了注意力机制考虑其和文本中单词嵌入的联系,并进一步使用了CNN对三种嵌入进行了融合。
3)使用了事件记忆网络,从事件中的隐层话题入手,捕获到了事件间的共性特征。具体方法是:将融合文本、知识、视觉三种模态的嵌入输入到post-level的GRU中,得到事件表示,将该表示作为查询,通过一些操作,从事件记忆矩阵中查询出相应的事件不变特征,并拼接到原始的事件表示之后,得到新的事件表示。
(2)本文提出谣言检测任务分为两类:1)帖子级别(post-level),以识别出单一的帖子是否是谣言;2)事件级别(event-level),对构成事件的一组帖子进行谣言检测。本文解决的是post-level的任务。这种分类模式值得关注。
(3)该模型和发表在2018年KDD上的EANN模型[3]进行了对比,EANN解决的是post-level的任务,使用对抗机制捕获到了事件不变特征。本文的MKEMN模型在文章进行实验的两个数据集上,超越了EANN模型。
[1] Jing Ma, Wei Gao, Prasenjit Mitra, Sejeong Kwon, Bernard J. Jansen, Kam-Fai Wong, and Meeyoung Cha. 2016. Detecting Rumors from Microblogs with Recurrent Neural Networks. In Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence, IJCAI 2016, New York, NY, USA, 9-15 July 2016, Subbarao Kambhampati (Ed.). IJCAI/AAAI Press, 3818–3824. http://www.ijcai.org/Abstract/16/537
[2] Arkaitz Zubiaga, Maria Liakata, and Rob Procter. 2017. Exploiting Context for Rumour Detection in Social Media. In Social Informatics - 9th International Conference, SocInfo 2017, Oxford, UK, September 13-15, 2017, Proceedings, Part I (Lecture Notes in Computer Science), Giovanni Luca Ciampaglia, Afra J. Mashhadi, and Taha Yasseri (Eds.), Vol. 10539. Springer, 109–123. https://doi.org/10.1007/978-3-319-67217-5_8
[3] Yaqing Wang, Fenglong Ma, Zhiwei Jin, Ye Yuan, Guangxu Xun, Kishlay Jha, Lu Su, and Jing Gao. 2018. EANN: Event Adversarial Neural Networks for Multi-Modal Fake News Detection. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD ’18). ACM, New York, NY, USA, 849–857. https://doi.org/10.1145/3219819.3219903