本文章是2021AAA1 CCF-A顶会文章,使用了传播网络做虚假新闻检测,在提取特定领域和交叉领域新闻信息上有所创新。虽过去已久,但时至2024年依然有文章使用传播网络在虚假新闻检测,因此本文对于入门虚假新闻检测领域的小白来说值得一读
一、🧐基本信息
⚪标题: Embracing Domain Differences in Fake News Cross-domain Fake News Detection using Multi-modal Data
⚪时间: 2021-05-18
⚪作者:
- Amila SilvaThe University of Melbourne
- Ling LuoUniversity of Melbourne
- Shanika KarunasekeraThe University of Melbourne, Australia
- Christopher LeckieUniversity of Melbourne
🔵期刊: Proceedings of the AAAI Conference on Artificial Intelligence
🔵影响因子: 25.57
🙌引用数: 75
📙阅读记录:
🔹1、2024-01-28
🔹2、2024-01-31
🔹3、2024-02-04
二、📖这篇文章用什么方法解决了什么问题,实验结果如何:
这篇文章对两个问题提出解决方案:
1、对于有监督训练的多模态(e.g.,text,images,propagation network)模型来说,面对不同领域类型的新闻判断其真实性的效果是很差的。
因此作者提出一种新奇的框架,可以保留 特定领域(domain-specific) 和 交叉领域(cross-domain) 的知识。
2、面对大量未标注的新闻数据,如何 有选择地 挑选未标注的新闻进行标注以 最大化覆盖更多领域(domain)类型的新闻 也是一个挑战。
因此作者提出了一个无监督的技术去选择一系列未标记的新闻,然后再进行人工标注,以达到最小化标注成本。
三、📚文章细节剖析:(如果文章很重要的话)
3.1 Problem Statement
对于一组新闻数据 R R R ,每一条新闻纪录 r r r被表示为一个三元组 < t r , W r , G r > <t^r,W^r,G^r> <tr,Wr,Gr> ,其中 t r t^r tr 是时间戳, W r W^r Wr 是新闻的文本内容, G r G^r Gr 是在 δ t \delta t δt (文章取5个小时)时间内的传播网络,其中 G r G^r Gr 是一个有附加属性的有向图 ( V r , E r , X r ) (V^r,E^r,X^r) (Vr,Er,Xr) ,其中 V r V^r Vr 表示一个推特/转发的推特的记录(就是用户发布的一个帖子), E r E^r Er 表示节点之间的转发关系, X r X^r Xr 表示节点的一些其他属性。
文章要解决的问题包括了两个子问题:
- 在一定的预算 B B B 内有选择性地从新闻数据 R R R 中挑选 R L R_{L} RL ,对 R L R_{L} RL的标签 y r y_{r} yr 人工标注(1为假新闻)
- 利用挑选出来的
R
L
R_{L}
RL 数据训练一个高效的模型对未标注的新闻数据
r
∈
R
U
r\in R^U
r∈RU 进行预测。(其中全集
R
=
R
L
∪
R
U
R=R^L\cup R^U
R=RL∪RU)
该文章为了让模型尽可能学到更多领域的知识,训练时使用了三个数据集: - P o l i t i F a c e ( S h u e t a l . 2020 a ) PolitiFace(Shu\ et\ al.2020a) PolitiFace(Shu et al.2020a) ->政治新闻
- G o s s i p C o p ( S h u e t a l . 2020 a ) GossipCop(Shu\ et\ al.2020a) GossipCop(Shu et al.2020a) ->娱乐新闻
- C o A I D ( C u i e t a l . 2020 ) CoAID(Cui\ et\ al.2020) CoAID(Cui et al.2020) -> C O V I D − 19 COVID-19 COVID−19 新闻
3.2 文章方法
文章提出的框架
1、无监督领域嵌入学习(Module A)
对于领域标签未知的新闻记录
r
r
r, 作者提出一种无监督、类似于聚类的方法,利用文本内容和传播网络将新闻记录
r
r
r 表征为一个低维向量
f
d
o
m
a
i
n
(
r
)
f_{domain}(r)
fdomain(r) ,算法的步骤如下:
Step1:对于每条领域未知的新闻记录
r
r
r ,创建一个集合
S
r
S^r
Sr ,将其传播网络中涉及到的所有用户
U
r
U^r
Ur 和 新闻标题
W
r
W^r
Wr (tokenization后的单词)加入到集合
S
r
S^r
Sr 中;(这里图示里面的
X
r
X^r
Xr 文献里面没有提及,我认为作者想表达的应该是
W
r
W^r
Wr)
Step2:对于
S
r
S^r
Sr 中的每一对记录
(
s
1
,
s
2
)
(s_{1},s_{2})
(s1,s2) 之间创建一条边,初始化边权为1。(算法第6行,我推测这个图应该是一个无向图,重边也加1)
Step3:对于每一条记录
r
r
r 重复前两步
Step4:使用
L
o
u
v
a
i
n
(
B
l
o
n
d
e
l
e
t
a
l
.
2008
)
Louvain(Blondel\ et\ al. 2008)
Louvain(Blondel et al.2008) 算法在图中找到社区
C
C
C ,
C
C
C 是聚类出来的一系列有极高用户相关性、标题token相关性的簇(作者假设通过用户和标题可以判定一个簇属于一个domain)
Step5:对每一条记录
r
r
r ,计算
f
d
o
m
a
i
n
(
r
)
f_{domain}(r)
fdomain(r):
首先计算记录
r
r
r 属于社区
c
c
c 的概率:
p
(
r
∈
c
)
=
∑
v
∈
c
∩
r
V
d
e
g
/
∑
c
∈
C
∑
v
∈
r
V
d
e
g
(1)
p(r\in c) = \sum_{v \in c\cap r} V_{deg} / \sum_{c \in C}\sum_{v \in r} V_{deg} \tag{1}
p(r∈c)=v∈c∩r∑Vdeg/c∈C∑v∈r∑Vdeg(1)
公式解读:左边一项是该记录与某社区交集顶点的度,右边一项是在所有社区中和
r
r
r 有交集的顶点的度。
f
d
o
m
a
i
n
(
r
)
=
p
(
r
∈
c
1
)
⊕
p
(
r
∈
c
2
)
…
p
(
r
∈
c
∣
c
∣
)
(2)
f_{domain}(r)=p(r \in c_{1})\oplus p(r \in c_{2})\dots p(r \in c_{|c|}) \tag{2}
fdomain(r)=p(r∈c1)⊕p(r∈c2)…p(r∈c∣c∣)(2)
这个挺简单的,最后
f
d
o
m
a
i
n
(
r
)
f_{domain}(r)
fdomain(r) 是一个低维的向量。
实验效果:
以往的工作对记录都是分配一个硬性的 l a b e l label label,而在上图可以看到,作者的无监督方法很好地将不同领域区分开,作者认为这得益于算法充分利用了多模态(文本、传播网络等)信息,同时通过 f d o m a i n f_{domain} fdomain 嵌入的软标签向量很好地保留了与记录相关的一些领域信息(非单一领域)。
2、
L
S
H
−
b
a
s
e
d
I
n
s
t
a
n
c
e
S
e
l
e
c
t
i
o
n
LSH-based\ Instance\ Selection
LSH−based Instance Selection
这部分作者本来是放在最后一部分(实验之前写的),但我感觉这样很奇怪,因为前面说完
f
d
o
m
a
i
n
f_{domain}
fdomain 就可以直接讲这一部分了,所以我把这一部分提前讲。
本文首先用新闻所属领域
f
d
o
m
a
i
n
f_{domain}
fdomain 来表示每一个新闻,然后采用局部敏感的哈希(Locality-Sensitive Hashing ,LSH)算法来选择
R
R
R 中尽可能远的新闻。最终得到满足条件 B 个数目的有标记的新闻集合。
个人猜测作者的思路:因为有标注的新闻数据是有限的,去标注数据集成本高。所以作者想在有限的预算内去完成标注一个平衡的(上图可以看出作者用LSH算法挑选的新闻分布是比较平衡的)、尽量涵盖多领域数据集以训练一个更好的模型的目标。这可能是审稿人觉得比较有价值的地方?
同时作者还认为他提出的方法比
K
−
M
e
a
n
s
K-Means
K−Means 的复杂度更低(
K
−
M
e
a
n
s
是
O
(
n
2
)
K-Means是O(n^2)
K−Means是O(n2),作者提出的是
O
(
∣
H
∣
∣
R
∣
)
O(|H||R|)
O(∣H∣∣R∣)),但我个人认为不是很重要,因为数据的挑选只需要在训练前执行一次就可以,并不是时间花销的关键部分。
3、Domain-agnostic News Classification
首先,作者将每条记录
r
r
r 的embedding表征为文本信息(text)和传播网络(propagation network)信息:
f
i
n
p
u
t
(
r
)
=
f
t
e
x
t
(
r
)
⊕
f
n
e
t
w
o
r
k
(
r
)
(1)
f_{input}(r)= f_{text}(r)\oplus f_{network}(r) \tag{1}
finput(r)=ftext(r)⊕fnetwork(r)(1)
其中
f
t
e
x
t
(
r
)
f_{text}(r)
ftext(r) 作者采用了
R
o
B
E
R
T
a
−
b
a
s
e
RoBERTa-base
RoBERTa−base 预训练模型去提取,
f
n
e
t
w
o
r
k
(
r
)
f_{network}(r)
fnetwork(r) 作者采用了无监督技术
(
S
i
l
v
a
e
t
a
l
.
2020
)
(Silva\ et\ al. 2020)
(Silva et al.2020)
然后将
f
i
n
p
u
t
(
r
)
f_{input}(r)
finput(r) 映射到两个子空间:
f
s
p
e
c
i
f
i
c
(
r
)
=
f
i
n
p
u
t
(
r
)
→
R
d
(2)
f_{specific}(r)=f_{input}(r)\to R^d\tag{2} \\
fspecific(r)=finput(r)→Rd(2)
f
s
h
a
r
e
d
(
r
)
=
f
i
n
p
u
t
(
r
)
→
R
d
(3)
f_{shared}(r)=f_{input}(r)\to R^d \tag{3}
fshared(r)=finput(r)→Rd(3)
由此重构出新闻的真假标签和输入表示:
y
r
ˉ
=
g
p
r
e
d
(
f
s
p
e
c
i
f
i
c
(
r
)
⊕
f
s
h
a
r
e
d
(
r
)
)
(4)
\bar{y^r}=g_{pred}(f_{specific}(r)\oplus f_{shared}(r)) \tag{4}
yrˉ=gpred(fspecific(r)⊕fshared(r))(4)
f
i
n
p
u
t
(
r
)
ˉ
=
g
r
e
c
o
n
(
f
s
p
e
c
i
f
i
c
(
r
)
⊕
f
s
h
a
r
e
d
(
r
)
)
(5)
\bar{f_{input}(r)} = g_{recon}(f_{specific}(r)\oplus f_{shared}(r)) \tag{5}
finput(r)ˉ=grecon(fspecific(r)⊕fshared(r))(5)
L
p
r
e
d
=
B
C
E
(
y
r
,
y
r
ˉ
)
(6)
L_{pred} = BCE(y^r,\bar{y^r}) \tag{6}
Lpred=BCE(yr,yrˉ)(6)
L
r
e
c
o
n
=
∥
f
i
n
p
u
t
(
r
)
−
f
i
n
p
u
t
(
r
)
ˉ
∥
2
(7)
L_{recon} = \|f_{input}(r)-\bar{f_{input}(r)}\|^2 \tag{7}
Lrecon=∥finput(r)−finput(r)ˉ∥2(7)
通过最小化KaTeX parse error: \tag works only in display equations
(
6
)
、
(
7
)
(6)、(7)
(6)、(7) 式,可以学出最优参数
(
f
s
p
e
c
i
f
i
c
(
r
)
,
f
s
h
a
r
e
d
(
r
)
,
g
p
r
e
d
,
g
r
e
c
o
n
)
(f_{specific}(r),f_{shared}(r),g_{pred},g_{recon})
(fspecific(r),fshared(r),gpred,grecon)
但是,上述并没有达到作者想要做的:学习到领域特有的信息和多领域信息
于是,作者提出:
L
s
p
e
c
i
f
i
c
=
∥
f
d
o
m
a
i
n
(
r
)
−
g
s
p
e
c
i
f
i
c
(
f
s
p
e
c
i
f
i
c
(
r
)
)
∥
2
(8)
L_{specific} = \|f_{domain}(r)-g_{specific}(f_{specific}(r))\|^2\tag{8}
Lspecific=∥fdomain(r)−gspecific(fspecific(r))∥2(8)
(
g
^
s
p
e
c
i
f
i
c
,
f
^
s
p
e
c
i
f
i
c
)
=
a
r
g
m
i
n
(
g
s
p
e
c
i
f
i
c
,
f
s
p
e
c
i
f
i
c
)
L
s
p
e
c
i
f
i
c
(9)
(\hat{g}_{specific},\hat{f}_{specific}) = argmin_{(g_{specific},f_{specific})}L_{specific}\tag{9}
(g^specific,f^specific)=argmin(gspecific,fspecific)Lspecific(9)
这里还是满抽象的,我感觉我还是没懂,我的疑惑点在于:
f
d
o
m
a
i
n
(
r
)
f_{domain}(r)
fdomain(r) 包含了记录的领域信息(某条信息或许同时有特定领域信息和多领域信息),但是仅仅想通过优化一个解码函数
g
s
p
e
c
i
f
i
c
g_{specific}
gspecific ,我认为还是很难学到特定领域信息的,下面也是如此。
对于Cross-domain就更复杂一点了,挺难懂的(网上说是GAN的思想)
L
s
h
a
r
e
d
=
∥
g
s
h
a
r
e
d
(
f
s
h
a
r
e
d
(
r
)
)
−
f
d
o
m
a
i
n
(
r
)
∥
2
(10)
L_{shared} = \|g_{shared}(f_{shared}(r))-f_{domain}(r)\|^2\tag{10}
Lshared=∥gshared(fshared(r))−fdomain(r)∥2(10)
第一条公式是一样的,第二条就有点复杂:
(
g
^
s
h
a
r
e
d
,
f
^
s
h
a
r
e
d
)
=
a
r
g
m
i
n
f
s
h
a
r
e
d
a
r
g
m
a
x
g
s
h
a
r
e
d
(
−
L
s
p
e
c
i
f
i
c
)
(11)
(\hat{g}_{shared},\hat{f}_{shared}) = argmin_{f_{shared}}argmax_{g_{shared}}(-L_{specific})\tag{11}
(g^shared,f^shared)=argminfsharedargmaxgshared(−Lspecific)(11)
g
s
h
a
r
e
d
g_{shared}
gshared 是一个解码器函数用于预测新闻的所属领域,同时训练函数
f
s
h
a
r
e
d
f_{shared}
fshared 来欺骗编码器使它无法准确预测出新闻的所属领域(就是GAN的思路,用最大最小对抗训练)。通过这种方式来学习新闻的领域无关特征,也就是跨领域的特征。
最后的损失函数:
L
f
i
n
a
l
=
L
p
r
e
d
+
λ
1
L
r
e
c
o
n
+
λ
2
L
s
p
e
c
i
f
i
c
−
λ
3
L
s
h
a
r
e
d
(12)
L_{final} = L_{pred} + \lambda_{1}L_{\mathrm{recon}} +\lambda_{2}L_{specific}-\lambda_{3}L_{shared} \tag{12}
Lfinal=Lpred+λ1Lrecon+λ2Lspecific−λ3Lshared(12)
3.3 实验结果:
四、🌟文章的亮点:
用到的GAN的思路去学习cross-domain的信息
五、🙄文章的缺陷:
1、在都用到了训练数据集的情况下,作者怎么可以认为他的模型可以很好地应对unseen的新闻呢?
2、
f
d
o
m
a
i
n
(
r
)
f_{domain}(r)
fdomain(r) 包含了记录的领域信息(某条信息或许同时有特定领域信息和多领域信息),但是仅仅想通过优化一个解码函数
g
s
p
e
c
i
f
i
c
g_{specific}
gspecific ,我感觉还是很难学到特定领域信息的
六、💡一点想法:
可以尝试用GAN去做一个假新闻生成器搞一个对抗网络?应该已经有人去做了。
七、🌐知识补充:
7.1 实验结果评估指标 #模型评估 #F1
似乎在虚假新闻检测里面用的基本都是F1-score。下面先介绍一些前置的知识:
错误率: 分类错误的样本数占总样本总数的比例
精度: 分类正确的样本数占样本总数的比例
但是只有这两个指标是不够的,它无法全面描述模型的优缺点。比如说模型的错误率高,但它有可能把本是虚假的新闻都认为了是真新闻,而把真新闻都分对了(比较极端的举例)。所以我们需要引入一些其它的性能指标去度量模型的性能。
在分类问题中,可以根据样本的真实类别与模型预测类别的组合划分为:
真正例(True positive)
假正例(False positive)
真反例(True negative)
假返利(False negative)
其中,TP + FP + TN + FN = 样本总数
图来源于西瓜书
查准率P(FPR是把分母的TP换成TN):
P
=
T
P
T
P
+
F
P
P=\frac{TP}{TP+FP}
P=TP+FPTP
**查全率(召回率)(TPR)😗***
R
=
T
P
T
P
+
F
N
R=\frac{TP}{TP+FN}
R=TP+FNTP
查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往是比较低的。简单来说你要让查准率高,你需要挑选最有把握的样本,这样难免会漏掉一些把握比较小的正样本,从而导致查全率较低。而如果为了让查全率高,会挑选比较多的正例(包含TP和FP),这样查准率就降下来了。通常只有在一些简单的任务中,才可能使查全率和查准率都很高。
在很多情况下,我们可以根据对预测器输出的分类概率设定不同的阈值,得到不同的PR值,画出P-R曲线(一般R是横坐标,P是纵坐标):
图来源于西瓜书
可以用P-R曲线的面积来判断哪个模型的性能比较好。但是这个面积不太好估算,因此出现新的指标:
平衡点(Break-Event Point 简称BEP): 它是P = R时的R的取值。 若BEP > 0.5,则在平衡点左侧位于上方的模型性能好。
但是用BEP还是过于简化,所以有了F1度量:
F
1
=
2
×
P
×
R
P
+
R
=
2
×
T
P
样例总数
+
T
P
−
T
N
F_{1}= \frac {2 \times P\times R} {P+R}=\frac {2\times TP} {样例总数+TP-TN}
F1=P+R2×P×R=样例总数+TP−TN2×TP 这里是用到调和平均:
图源于B站
又又又进一步,在一些应用中,对查全率和查准率的重视程度有所不同,因此引入加权调和平均:
F
β
=
(
1
+
β
2
)
×
P
×
R
(
β
2
×
P
)
+
R
F_{\beta}=\frac {(1+\beta^2) \times P\times R} {(\beta^2\times P)+R}
Fβ=(β2×P)+R(1+β2)×P×R
- 当 β = 1 时, F β F_{\beta} Fβ 度量就是常见的 F1 Score,即精确率和召回率的调和平均。
- 当 β < 1 时,更强调精确率。
- 当 β > 1 时,更强调召回率。
ROC曲线与AUC(面积):
TPR跟查全率公式是一样的,从原来的横坐标变到纵坐标,FPR跟查准率相比分母的
T
P
TP
TP 变为了
T
N
TN
TN
图源于西瓜书
若一个模型的ROC曲线被另一个模型的ROC曲线完全包住,则可以断言后者的性能更好。若有交叉,则算面积 A U C AUC AUC
7.2 P-value
P值(P-value)
- 定义:P值是在原假设(null hypothesis,通常表示为H0)为真的条件下,观察到的数据(或更极端情况)出现的概率。P值越小,意味着在原假设成立的情况下,观测到的数据或更极端情况的可能性越低。
- 含义:P值是一种度量,用来表示观察到的数据与原假设之间的不一致程度。如果P值非常小,小到一个预先设定的显著性水平α,我们就有理由拒绝原假设,认为数据提供了足够的证据支持备择假设(alternative hypothesis,通常表示为H1)。
- 使用:P值用于在做假设检验时评估观测结果出现的概率,从而帮助我们决定是否拒绝原假设。
显著性水平(Significance Level, α)
- 定义:显著性水平是在假设检验中,研究者愿意接受的第一类错误(拒真错误,即错误地拒绝一个真实的原假设)的最大概率。常见的显著性水平有0.05(5%)、0.01(1%)等。
- 含义:显著性水平定义了拒绝原假设的标准。如果P值小于或等于显著性水平α,我们拒绝原假设,认为结果在统计上是显著的。显著性水平是在实验或研究之前就确定的,反映了研究者对于假阳性结果的容忍度。
- 使用:显著性水平作为一个阈值,用于决定P值是否足够小以至于可以拒绝原假设。它是研究者根据研究设计和研究领域的标准预先设定的。
图片来自网络,侵权即删~