本文提出了一种新的端到端图神经模型CompareNet,该模型通过实体将新闻与知识库(KB)进行比较,用于虚假新闻检测。考虑到假新闻检测是与话题相关的,也加入了话题来丰富新闻表现。具体来说,为每个包含主题和实体的新闻构造一个有向异构文档图,然后通过精心设计的实体比较网络将上下文实体表示与相应的基于KB的实体表示进行比较,以捕获新闻内容和KB之间的一致性。
目录
Fake News Detection
假新闻检测可以大致分为两类:Social-based Fake News Detection以及Content-based Fake News Detection。
- Social-based Fake News Detection。包括stance-based and propagation-based的方法两种。前者利用用户的意见来推断新闻的真实性,后者基于一个基本假设,即一个新闻事件的可信度与相关社交媒体帖子的可信度高度相关。
- Content-based Fake News Detection。一些基于深度学习的方法。
Proposed CompareNet
Directed Heterogeneous Document Graph
首先,为了在假新闻检测中利用外部知识(维基百科),需要构建一个基于文档、实体、主题的异构图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E),如下所示。
- 文档节点。首先将新闻文档分割为一组句子,因为来自一个新闻,所以任意两个句子之间都存在双向边。然后,使用LSTM得到句子的特征 x s ∈ R M x_s\in R^M xs∈RM。
- 主题节点。使用LDA主题模型对所有的文档进行主题挖掘,得到主题集合 T T T。之后,选择概率最大的 P P P个主题作为当前文档的主题节点。主题的特征使用one-hot向量表示。
- 实体节点。实体节点使用开源的实体识别和链接工具TAGME,并将识别出来的实体链接到维基百科的开放性实体上。如果一个句子 s s s包含一个实体 e e e,构建一个从句子到实体 e e e的单向有向边,以便只允许信息从句子传播到实体。这样就可以避免将真实的实体知识直接整合到新闻表征中,从而误导对假新闻的检测。实体的特征通过对知识库使用TransE方法得到,这个在后文还会细说。
Heterogeneous Graph Convolution
之后,在构建的假新闻的异构图上进行卷积。卷积的过程依赖于不同的边的类型
τ
\tau
τ:
其中,
B
τ
∈
R
V
×
V
τ
\Beta_{\tau} \in R^{V×V_{\tau}}
Bτ∈RV×Vτ是有待学习的最关键参数,代表不同类型邻居的注意力。其行表示所有节点,列表示类型
τ
\tau
τ的邻居。
B
τ
\Beta_{\tau}
Bτ需要根据不同类型的节点对学习:
其中
v
v
v是注意力的向量,
α
τ
\alpha_{\tau}
ατ是每一个类别内部的注意力,而与之向对应的,
B
τ
\Beta_{\tau}
Bτ是区别类别之间的注意力。而
α
\alpha
α也遵循着下述计算方式:
其中,
h
τ
h_{\tau}
hτ是类型
τ
\tau
τ的所有邻居特征的加权和:
A
^
\hat{A}
A^则是标准化的邻接矩阵。
经过了上述层层套娃的过程,不同类型的节点表示就可以有效地学习到了。
Entity Comparison Network
有了新闻里的节点的嵌入,下一步就需要与知识库中的标准实体进行比较。实体(三元组)使用TransE方法进行嵌入,得到
e
s
e_s
es;而数据库中的实体还有一些描述文本,则使用LSTM进行表示为
e
d
e_d
ed。接下来,使用门机制
g
e
g_e
ge将这两个节点的有用信息融合在一起:
之后,在新闻文档和知识库之间执行实体对实体的比较,以捕获新闻内容和知识库之间的语义一致性。比较方法如下:
W
e
∈
R
N
×
M
W_e\in R^{N×M}
We∈RN×M,为了测量嵌入的贴近度和相关性,将比较函数设计为:
W
a
∈
R
N
×
2
N
W_a\in R^{N×2N}
Wa∈RN×2N。最终,在比较实体
A
=
[
a
1
,
.
.
.
,
a
n
]
A=[a_1,..., a_n]
A=[a1,...,an],以及新闻中的实体
E
=
e
1
,
.
.
.
e
n
E={e_1,... e_n}
E=e1,...en之间应用最大池化方法,得到经过比较的向量
C
∈
R
N
C\in R^N
C∈RN。
总体的模型架构如下:
Model Training
最终,新闻的表示为异构图文档节点的表示与比较实体特征的拼接:
损失函数则很常见了:
实验
数据集:
模型效果,比Bert还好一些:
消融实验:
主题数量
P
P
P探究: