基于树结构递归神经网络的推特谣言检测

简介: 在谣言检测研究方面,目前很少有基于谣言传播结构的方法。一些基于核的方法用来建模传播树的结构,通过对比树的相似性可以区分谣言和非谣言,但是不能直接分类一棵树,而是需要与其他树两两对比。

论文标题:Rumor Detection on Twitter with Tree-structured Recursive Neural Networks


论文链接:https://aclanthology.org/P18-1184/


论文来源:ACL 2018


一、概述


在谣言检测研究方面,目前很少有基于谣言传播结构的方法。一些基于核的方法用来建模传播树的结构,通过对比树的相似性可以区分谣言和非谣言,但是不能直接分类一棵树,而是需要与其他树两两对比。


在本文中提出使用递归神经网络(Recursive Neural networks,RvNN)来建模和学习谣言的传播结构。RvNN本身用来学习段落或句子的语法和语义表示,与文本解析不同的是,我们模型的输入是一棵源自源推文的传播树,而不是单个句子的解析树,树的节点是一个响应的帖子而非单个词。通过沿着树形结构的递归特征学习过程,可以共同捕获帖子的内容语义及其之间的响应关系。

那么,为什么这种神经模型能更好地完成谣言检测任务呢?分析发现,推特可以通过用户分享观点、猜测和证据来“自我纠正”一些不准确的信息。举例来说,下图展示了一个假谣言和真谣言的传播树:


QQ截图20220612091813.png

                                                    example

结构不敏感的方法基本上依赖于文本中不同立场的相对比例,在这样的线索不清晰的情况下,就不能很好地发挥作用。然而,可以看到,当一个帖子否认了虚假谣言时,往往会得到支持或肯定的回复,证实了谣言的否认;相反,对真实谣言的否认往往会引发质疑或否认。这一观察结果可能暗示了一个更普遍的假设,即回复者倾向于不同意(或质疑)那些支持虚假谣言或否认真实谣言的人,同时也倾向于同意那些否认虚假谣言或支持真实谣言的人。同时,一个回复,通常是响应其直接祖先(也就是所回复的帖子)而不是直接响应源推文(即传播树的根节点)。递归网络自然地对这些结构进行建模,以学习捕获谣言指示信号,并通过递归聚合来自不同分支的信号来增强其表示。

本文采用的RvNN模型分为两种,bottom-up(BN)模型和top-down(TD)模型,通过不同方式来表示传播树结构。这种架构的重要优点是,在给定传播树的所有路径的连接和方向的情况下,可以通过递归有选择地优化节点特征。


二、方法


  1. 问题陈述

QQ图片20220611175842.png


根据方向考虑的树结构分为两种:


QQ图片20220611180107.png


  1. 标准递归神经网络

RvNN的原始版本针对句子解析二叉树,每个节点表示的计算与其直接子节点关联在一起。举例来说,下图展示了RvNN的结构,对应图左边的解析树:


QQ截图20220612091854.png

                                                RvNN


QQ截图20220611180318.png


  1. Bottom-up RvNN


自下而上模型的核心思想是通过递归访问每个节点,从底部的叶子到顶部的根,为每个子树生成特征向量,最终聚合得到顶部根节点的表示作为树的全局表示。一棵传播树及其对应的RvNN计算过程如下图(a),(b)所示:


QQ截图20220612091927.png

                                                      example


每个节点的表示是对应回复的tf-idf向量。在这里每个节点都有一个输入向量,并且节点的子节点数量不一定是相同的。在本文中选用拓展GRU作为隐层单元。使用QQ截图20220611180452.png表示节点QQ截图20220611180555.png的直接子节点集合,节点QQ截图20220611180555.png的隐状态计算过程为

QQ截图20220611180757.png


QQ截图20220611180843.png

最终使用根节点隐状态进行分类:

QQ截图20220611180927.png

  1. Top-down RvNN

Top-down RvNN旨在利用自顶向下树的结构来捕获用于对谣言进行分类的复杂传播模式,其计算过程如上图(c)所示。每个节点的表示是通过组合它自己的输入和它的父节点而不是子节点来计算的,这与Bottom-up模型不同。

QQ截图20220611180958.png

QQ截图20220611181034.png


然后对叶子节点的表示进行max-pooling得到QQ截图20220611181105.png进行分类,这可以帮助从所有传播路径中捕获最有效的指示性特性:

QQ截图20220611181135.png


我们可以推测,Top-down模型会更好。在Bottom-up的情况下最终的输出依赖于根节点的表示,并且它的信息损失比Top-down模型要大。因为在Top-down的情况下,通过不同传播路径嵌入到叶子节点的表示可以通过pooling进行整体地合并。

  1. 模型训练

采用平方损失来训练并进行L2正则化:


QQ截图20220611181339.png


QQ截图20220611181358.png是类别的数目。使用Adagrad进行训练,使用均匀分布初始化模型参数,词典大小为5000,隐层状态与embedding大小为100。


三、实验


对比了多个baseline的效果:


QQ截图20220612092002.png

                                              对比baseline


谣言的早期检测测试:


QQ截图20220612092042.png

                                                  早期检测


下面是一个被Bottom-up和Top-down模型都检测到的一个假谣言的例子:


QQ截图20220612092113.png

                                                 example



相关文章
|
2月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
|
2月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
4天前
|
机器学习/深度学习 自然语言处理 数据可视化
数据代码分享|PYTHON用NLP自然语言处理LSTM神经网络TWITTER推特灾难文本数据、词云可视化
数据代码分享|PYTHON用NLP自然语言处理LSTM神经网络TWITTER推特灾难文本数据、词云可视化
18 1
|
5天前
|
数据可视化 数据挖掘
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
12 2
|
2天前
|
机器学习/深度学习 算法 TensorFlow
TensorFlow 2keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
TensorFlow 2keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
|
5天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
15 5
|
7天前
如何检测本地网络是否稳定
如何检测本地网络是否稳定
10 0
|
13天前
|
算法 数据可视化 数据挖掘
网络社区检测(社群发现)分析女性参加社交活动和社区节点着色可视化
网络社区检测(社群发现)分析女性参加社交活动和社区节点着色可视化
13 0
|
13天前
|
机器学习/深度学习
HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
23 0
|
14天前
|
数据可视化 Python
python对网络图networkx进行社区检测和彩色绘图
python对网络图networkx进行社区检测和彩色绘图

热门文章

最新文章