论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

以下谣言无论是虚假信息, 谣言, 推特还是微博, 我都以微博举例, 尽管他们有些细微的差别

此论文是解决早期谣言检测中用户评论少的问题, 创新点在于创建了用户评论生成器来作为辅助手段,结合微博内容来加强谣言检测的能力。

Abstract

论文提出了带有用户评论生成器的两个等级的卷积神经网络的模型TCNN-URG。其中TCNN是用于提取微博内容的语义信息,其中包含两个等级,一个是在词语层面, 一个是用在句子层面。URG的功能是根据以往微博信息以及下方的评论信息来训练产生用户评论, 如果给出新的微博, 此生成器可以产生针对此微博的评论, 并与之从文本抽取出来的特征表示联合进行谣言检测, 结果超过了许多先前base-lines 模型。

Introduction

论文中假设了早期谣言中并没有评论, 所以构造了评论生成器来生成评论, 并作出了以下几个贡献。
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

Model

论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

图上为模型的总体框架

TCNN

此部分为图中上面部分, 主要功能是抽取文本信息的语义信息以及更深层次的信息。 论文中介绍了两个等级的卷积神经网络, 分别是词语上, 句子上两个等级。

  1. 词语上 一篇微博由许多句子进行组成, 每句话又由许多词语组成, 在英语中就是单词。那如何将进行特征表示呢。 本文是将每个句子中词语word embedding , 即通过一些语言模型向量化表示,然后将每句话所有的词语向量求平均,这样得出的向量就是这句话的向量。
    论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

  2. 句子上 在词语等级上, 得出来了每个句子的特征化表示, 但是每篇微博是由许多句子组成, 那么微博的向量化表示则是将微博中的所有句话联结起来,也就是拼接起来, 最终得出矩阵, 即为这篇微博的表示。
    论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

从1, 2 中已经得到了微博的特征表示,接下来用卷积神经网络得到此微博的深层次的表示。并将最后的向量投入到全连接层进行谣言检测, 通过目标函数来优化损失。以下为这个步骤的公式。
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

URG

论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》
图三介绍了URG模块的过程图。 此模块是利用了CVAE方法, 若以后有时间的话, 必在这方面写写博客。在这里简单介绍下CVAE, 哎, 我也只是看论文才晓得这个方法, 若有理解错误, 还请大家见谅。

VAE 是一个生成模型, 包含了译码器, 解码器和损失函数。译码器是将x 转换为 z, z为隐藏向量, 解码器则将z转化为x,最终按下方损失函数来进行优化参数。
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

而CVAE则是在VAE上加了约束条件, 无论是在译码器上, 还是在解码器上都加了个条件y.
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

由于要生成评论, 当然需要将微博内容作为输入, 所以y即TCNN所产生的微博向量。

那如何产生评论呢? 本文是用过去微博的历史信息来作为训练数据。图下为方法。
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

隐藏向量z的表示如下:
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

z的表达式可以看出, 它是一个分布,不过这些参数是训练出来的。 公式6 我的理解是,在训练时,用的数据是过去的微博历史信息, 但这个信息是包含用户评论的, 而我们在test时,是没有用户评论的。所以需要求出来的z泛化, 能够与在有评论时所生成z的值相似, 这是公式6第二部分, 第一个部分就是我们所常见的cross-entropy, 要将构建的信息评论损失降到最小。

最后将用户生成的评论与提取的微博信息向量联结起来进行谣言检测任务。下方为详细信息。
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

本文并没有提供代码,但介绍了训练过程, 如下所示。
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

Results and Analysis

本文的数据集是由作者自己建立的, 目的为了更好的检测长的文本。
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》
这是以上模型对比结果, 文中所提出来的模型表现得最优越。在图中横坐标代表训练数据的百分比。表一是在微博中进行比较,微博内容比较短,表二是在推特中,内容比较长。相对于表一, 表二中,提出来的模型, 在长文本中表现得更加优越,这也说明了,两个等级的cnn的优势性能。
论文笔记之《Neural User Response Generator: Fake News Detection with Collective User Intelligence》

上面这张表是在验证URG的性能。给定一个微博, URG生成了关于这篇微博的一些评论, 并在这些评论中选取最常见的20个单词。从表中可以看出,有许多质疑和肯定的符号或者单词, 这说明URG做为辅助信息对谣言检测有一定的提升效果。

Conclusion

与文章所做的贡献大同小异, 详情看上面贡献部分。