解读:Embracing Domain Differences in Fake News Cross-domain Fake News Detection using Multi-modal Data

本文章是2021AAA1 CCF-A顶会文章,使用了传播网络做虚假新闻检测,在提取特定领域和交叉领域新闻信息上有所创新。虽过去已久,但时至2024年依然有文章使用传播网络在虚假新闻检测,因此本文对于入门虚假新闻检测领域的小白来说值得一读

一、🧐基本信息

标题: Embracing Domain Differences in Fake News Cross-domain Fake News Detection using Multi-modal Data
时间: 2021-05-18
作者:


📙阅读记录:
🔹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 rRU 进行预测。(其中全集 R = R L ∪ R U R=R^L\cup R^U R=RLRU)
    该文章为了让模型尽可能学到更多领域的知识,训练时使用了三个数据集:
  • 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 COVID19 新闻

3.2 文章方法

![[Pasted image 20240204194601.png]]

文章提出的框架

1、无监督领域嵌入学习(Module A)

对于领域标签未知的新闻记录 r r r, 作者提出一种无监督、类似于聚类的方法,利用文本内容和传播网络将新闻记录 r r r 表征为一个低维向量 f d o m a i n ( r ) f_{domain}(r) fdomain(r) ,算法的步骤如下:
![[Pasted image 20240204173233.png]]

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(rc)=vcrVdeg/cCvrVdeg(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(rc1)p(rc2)p(rcc)(2)
这个挺简单的,最后 f d o m a i n ( r ) f_{domain}(r) fdomain(r) 是一个低维的向量。

实验效果:
![[Pasted image 20240204180421.png]]

以往的工作对记录都是分配一个硬性的 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 LSHbased 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 个数目的有标记的新闻集合。
![[Pasted image 20240204185640.png]]

个人猜测作者的思路:因为有标注的新闻数据是有限的,去标注数据集成本高。所以作者想在有限的预算内去完成标注一个平衡的(上图可以看出作者用LSH算法挑选的新闻分布是比较平衡的)、尽量涵盖多领域数据集以训练一个更好的模型的目标。这可能是审稿人觉得比较有价值的地方?
同时作者还认为他提出的方法比 K − M e a n s K-Means KMeans 的复杂度更低( K − M e a n s 是 O ( n 2 ) K-Means是O(n^2) KMeansO(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 RoBERTabase 预训练模型去提取, 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 实验结果:

![[Pasted image 20240204212129.png]]


四、🌟文章的亮点:

用到的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 = 样本总数

![[Pasted image 20240128222012.png]]

图来源于西瓜书

查准率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是纵坐标):
![[Pasted image 20240128232543.png]]

图来源于西瓜书

可以用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=样例总数+TPTN2×TP 这里是用到调和平均:
![[Pasted image 20240128234823.png]]

图源于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)+R1+β2)×P×R

  • 当 β = 1 时, F β F_{\beta} Fβ 度量就是常见的 F1 Score,即精确率和召回率的调和平均。
  • 当 β < 1 时,更强调精确率。
  • 当 β > 1 时,更强调召回率。

ROC曲线与AUC(面积):
TPR跟查全率公式是一样的,从原来的横坐标变到纵坐标,FPR跟查准率相比分母的 T P TP TP 变为了 T N TN TN

![[Pasted image 20240129000748.png]]

图源于西瓜书

若一个模型的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值是否足够小以至于可以拒绝原假设。它是研究者根据研究设计和研究领域的标准预先设定的。

图片来自网络,侵权即删~

  • 31
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值