Rumor Detection on Social Media with Bi-Directional Graph Convolutional Networks
Rumor Detection on Social Media with Bi-Directional Graph Convolutional Networkshttps://github.com/TianBian95/BiGCN
从社交媒体上如此海量的信息中识别谣言正成为一项艰巨的挑战。
一些深度学习方法被应用于通过谣言传播的方式来发现谣言,如递归神经网络(RvNN)等。然而,这些深度学习方法只考虑了深度传播的特点,而忽略了谣言检测中广泛分散的结构。
实际上,propagation(传播)和dispersion(扩散)是谣言的两个关键特征。
作者提出一种新的双向图模型,称为双向图卷积网络(Bi-GCN),通过对谣言的自上而下和自下而上的传播进行操作,来探索这两个特性。
利用具有自上而下谣言传播有向图的GCN来学习谣言传播模式
具有相反方向的谣言扩散图,以捕获谣言扩散的结构
此外,来自消息来源的信息涉及到GCN的每一层,以增强谣言根源的影响力。
相关工作传统方法传统的检测方法主要采用用户特征、文本内容和传播模式等手工制作的特征来训练监督分类器,例如:Decision Tree、 R ...
Interpretable Rumor Detection in Microblogs by Attending to User Interactions
Interpretable Rumor Detection in Microblogs by Attending to User Interactionshttps://github.com/serenaklm/rumor_detection
通过学习区分社区对微博中真假claim的响应来解决谣言检测问题。
现有最先进的模型是基于对会话树建模的树模型。然而,在社交媒体中,发布回复的用户可能是对整个thread的回复,而不是对特定用户的回复。
提出Multi-head post-level attention模型(PLAN)来构建推文之间的远距离交互。并提出几个变体:
结构感知自注意模型(StA-PLAN),将树形结构信息合并到Transformer中
分层token和post-leve attention(StA-HiTPLAN), 通过token-level 自注意力学习句子表征
这篇工作重点是利用社区对虚假claim的响应来检测虚假索赔。这一研究领域通过将自然语言处理应用于针对claim的评论来利用社区的集体智慧。这些工作背后的关键原则是,社交媒体上的用户会分享对不准确信息的看 ...
Dice Loss for Data-imbalanced NLP Tasks
Dice Loss for Data-imbalanced NLP Tasks许多自然语言处理任务,如序列标注和机器阅读理解(MRC),都面临着严重的数据失衡问题:
负样本明显多于正样本,占据绝大多数的负例会支配模型的训练过程,导致模型倾向于负例,而测试时使用的F1指标需要每个类都能准确预测;
大量简单负例(easy-negative)使训练不堪重负。负例占绝大多数也意味着其中包含了很多简单样本,这些简单样本对于模型学习困难样本几乎没有帮助,反而会在交叉熵的作用下推动模型遗忘对困难样本的知识。
loss中最常用的交叉熵实际上是以精度为导向的,这造成了训练和测试之间的差异。在训练时,每个训练样本对目标函数的贡献相等,而在测试时,F1 score更关注正例。
本文认为这种问题是交叉熵本身的特点带来的:交叉熵“平等”地看待每一个样本,无论正负,都尽力把它们推向1(正例)或0(负例)。但实际上,对分类而言,将一个样本分类为负只需要它的概率<0.5即可,完全没有必要将它推向0。
基于这个观察,作者使用现有的Dice Loss,并提出一个基于Dice Loss的自适应损失——DSC,在训练时推 ...
Edge-augmented Graph Transformers: Global Self-attention is Enough for Graphs
Edge-augmented Graph Transformers: Global Self-attention is Enough for Graphs—do_train —do_eval —train_batch_size 64 —num_train_epochs 50 —embeddings_learning_rate 0.7e-4 —encoder_learning_rate 0.7e-4 —classifier_learning_rate 7e-4 —warmup_steps 200 —max_seq_len 132 —dropout_rate 0.15 —metric_key_for_early_stop “macro avgf1-scorelevel_2” —logging_steps 200 —patience 6 —label2freq_level_1_dir /data2/code/DaguanFengxian/bert_model/data/label2freq_level_1.json —label2freq_level_2_dir /data2/code/Da ...
Breadth First Reasoning Graph for Multi-hop Question Answering
Breadth First Reasoning Graph for Multi-hop Question Answering为了解决GNNs不必要的更新和简单的边结构阻碍直接提取准确的答案跨度,和更可解释性。
作者提出了一种新的广度优先推理图(BFR-Graph)模型,它提供了一种新的更符合推理过程的消息传递方式。
在BFR-Graph中,推理信息要求从问题结点开始,逐跳传递到下一个句子结点,直到所有的边都经过,可以有效地防止每个结点的过度平滑或不必要的多次更新。
为了引入更多的语义,我们还将推理图定义为考虑了共现关系数和句子间距离的加权图。
然后基于GNN提出了一种更直接、更易解释的方法来聚合不同粒度级别的分数。
现有GNN方法的几个问题
首先,当前的方法将所有节点(包括一些不必要的节点)一起更新到每一层中,这可能导致节点收敛到相似的值,并失去对具有更多层的GNN的识别能力。
第二,虽然GNN设计了不同类型的边,但是在没有考虑句子之间的其他关系信息的情况下,相同类型的边之间没有更细粒度的区别。
第三,现有的方法只是潜在地融合了GNN和上下文编码器的隐藏表示,而没有以直接和可解释的方式 ...
RealFormer: Transformer Likes Residual Attention
RealFormer: Transformer Likes Residual Attention提出了一个简单的基于Transformer的体系结构,创建一条“直接”路径在整个网络中传播原始注意力分数
如下图(c), 每个RealFormer层都获取前一层中所有注意力头部的原始注意力分数,并在顶部添加“残差分数”(计算方式与常规Transformers中的注意力分数相同)。
换句话说,RealFormer可以被视为向Post-LN Transformer添加一个简单的跳跃连接。不会向计算图中添加任何乘法运算,因此预期性能与之相当。
RealFormer中的AT往往更稀疏,跨层相关性更强,我们认为这可能具有一些正则化效应,可以稳定训练,有利于微调。
t
(a) 传统transformer的PostLN
(b) PreLN 论文:ON LAYER NORMALIZATION IN THE TRANSFORMER ARCHITECTURE,这种设计为每个子层增加了LN作为“预处理”步骤。
方法标准Transformer Encoder
\text{MultiHead}(Q,K,V) = ...
Centos 6无法使用yum解决办法
Centos 6无法使用yum解决办法12月后Centos 6 系统无法使用yum出现错误(文章底部看)
相信已经有一部分朋友今天连接到CentOS 6的服务器后执行yum后发现报错,那么发生了什么?
CentOS 6已经随着2020年11月的结束进入了EOL(Reaches End of Life),不过有一些老设备依然需要支持,CentOS官方也给这些还不想把CentOS 6扔进垃圾堆的用户保留了最后一个版本的镜像,只是这个镜像不会再有更新了
官方便在12月2日正式将CentOS 6相关的软件源移出了官方源,随之而来逐级镜像也会陆续将其删除。
不过有一些老设备依然需要维持在当前系统,CentOS官方也给这些还不想把CentOS 6扔进垃圾堆的用户保留了各个版本软件源的镜像,只是这个软件源不会再有更新了。
错误详情1234567[root@c8-20 ~]# yum makecacheLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfileYumRepo Error: All mirror URLs ...
从 SGD 到 AdamW 原理和代码解读
从 SGD 到 AdamW 原理和代码解读深度学习优化算法经历了 SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> Adam -> Nadam -> AdamW 这样的发展历程。
接下来用一个框架来梳理所有的优化算法。
首先定义:待优化参数:$w$ , 目标函数:$f(x)$ , 初始学习率 $\alpha$
然后,开始进行迭代优化。在每个epoch $t$:
计算目标函数关于当前参数的梯度: $g_t = ∇f(w_t)$
根据历史梯度计算一阶动量和二阶动量: $m_t = \phi(g_1,g_2,…,g_t); V_t =\psi(g_1,g_2,…,g_t)$
计算当前时刻的下降梯度: $\eta = \alpha \cdot m_t/\sqrt V_t$
根据下降梯度进行更新: $w_{t+1} = w_t -\eta_t$
步骤3、4对于各个算法几乎都是一致的,主要的差别就体现在1和2上。
也就是计算一阶动量$m_t$ 和 二阶动量$V_t$时采用不同的套路。
此外在所有优化器代码里有一些函 ...
TreeMap红黑树
TreeMap红黑树
前言
二叉查找树BST
BST存在的问题
2-3-4树
红黑树
前言除了要学会着色、旋转规则,还要了解为什么变色,为什么旋转。
五大性质的缘由
jdk的TreeMap在红黑树上做了一些优化,原版红黑树删除操作它是找的前驱节点替代原删除节点,而TreeMap源码里是用的后继节点替代原删除节点,这两种方案实际效果一样,只不过树的结构不一样,但是对应的红黑树都是平衡的。
二叉查找树(BST)定义二叉查找树,就是一颗二叉树,他的左节点比父节点小,右节点比父节点大,他的高度决定查找效率。
操作查找(红黑树通用):查找每个节点从根开始
查找值比当前大,搜右子树
查找值等于当前值,停止查找,返回
查找值比当前值小,则搜右子树
插入:要插入节点,必须先找到插入节点位置,按照搜索的流程,找到左子树或右子树为空的位置插入。
遍历(红黑树通用):前中后序遍历。
查找最小值(红黑树通用):沿着根节点的左子树一路查找,直到最后一个不为空的节点
查找最大值(红黑树通用):沿着根节点的右子树一路查找,直到最后一个不为空的节点
查找前驱节点(红黑树通用):小于当前节点的最大值
查找后继节 ...
并查集
并查集用途解决元素分组问题,管理一系列不相交的集合
操作
合并(Union):把两个不相交的集合合并为一个集合
查询(Find):查询两个元素是否在同一个集合
以一个应用场景为例应用场景(洛谷P1551) 亲戚
题目背景若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。题目描述规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。输入格式第一行:三个整数n,m,p,(n<=5000,m<=5000,p<=5000),分别表示有n个人,m个亲戚关系,询问p对亲戚关系。以下m行:每行两个数Mi,Mj,1<=Mi,Mj<=N,表示Mi和Mj具有亲戚关系。接下来p行:每行两个数Pi,Pj,询问Pi和Pj是否具有亲戚关系。输出格式P行,每行一个’Yes’或’No’。表示第i个询问的答案为“具有”或“不具有”亲戚关系。
把所有人划分到若干个不相交的集合中,每个集合里的人彼此是亲戚。为了判断两个人是否为亲戚,只需看它们是否属于 ...