news 2026/10/15 14:00:48

DEAN双情感模型:从情感维度提升社交媒体假新闻检测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DEAN双情感模型:从情感维度提升社交媒体假新闻检测

2020年前后我读arXiv上的假新闻检测论文,大多数都淹没在回忆里了,但有一篇题目让我停留了很久——「DEAN: Learning Dual Emotion for Fake News Detection on Social Media」。早期做舆情分析的人都有一个共同感受:搞假新闻检测的团队实在太多,拼用户特征、拼传播图、拼文本语言学特征,卷得要命。DEAN这篇论文却换了一个角度:它不直接把文本内容端到端丢进分类器,而是把「情感」当作一种结构化信号,并且把情感拆成两类——发布者的情感和公众的情感——让它们像证人一样互相印证。

这个切入点在当时不算主流,但后来做社交媒体治理的人越来越意识到,假新闻在情感层面往往比真新闻更「用力」:标题更煽动、回复更情绪化、扩散过程里大众的情绪共振也更强烈。这篇文章解决的核心问题就是:如何把这类双情感信号系统性地建模,用来提升假新闻检测的效果。适合谁读?如果你做社交媒体的内容风控、舆情监测,或者你对图神经网络、多模态特征融合感兴趣,这篇论文的思路都值得认真拆一遍。

1. 为什么要用「情感」来检测假新闻

1.1 传统特征工程的瓶颈

假新闻检测最早依赖的是事实核查,也就是拿新闻内容去和知识库比对。这个思路的优点是准确率高,但代价极其昂贵,而且时效性差——等事实核查完成,谣言已经在社群里滚了几轮。于是学术界转向用特征工程:文本里有没有多个感叹号、有没有绝对化词汇、情绪词的密度、标题的长短、账号的注册时间、转发层级等等,这些特征单独看都有信号,但组合起来的效果并不稳定。

我自己的体会是,这类手工特征太容易被攻击者设计绕过。比如造谣者知道系统在查感叹号,那就把句子写得冷静克制一点;知道系统在查绝对化表达,就改用暗示性的口吻。情绪类特征尤其容易失效,因为多数系统用的是「正负情感极性」,也就是用情感词典把句子标成正面、负面或中性,但这种粗粒度的正负判断,根本分不清「愤怒」「焦虑」「激动」这些具体情绪的区别,更抓不住真假新闻在情绪曲线上的不同形态。

1.2 情感为什么是造假者最难伪装的部分

这篇论文隐含了一个非常关键的信念:情感是内容生产的副产物,造假者可以控制「说什么」,但很难完全控制「怎么说得让人信」。

真实新闻的发布者通常是机构账号或媒体,语言上偏向克制、中立;而假新闻的发布者要么是恶意营销,要么是情绪驱动的个体,他们在写作时会不自觉地暴露出强烈的情感倾向——焦虑、愤怒、兴奋。更关键的是公众反应。当一条假新闻被传播时,转发评论里往往出现大量高唤醒度情绪,比如惊讶、愤怒、恐慌;而真实新闻引发的公众情绪通常更平稳,或者更多是带有验证、质疑态度的讨论。换句话说,生产端和消费端的情感组合,可以组成一个很有区分度的指纹。

1.3 现有情感模型为什么不够用

如果只是把文本输入预训练的情感分类器,拿一个情感极性向量做特征,那这篇论文也就没有存在的必要了。实际问题是:社交媒体上的每条内容都太短,一条推文或者一条微博评论,单看情绪往往模糊不清;而新闻事件自带主题语境,同一个词在不同主题下的情感含义完全不同。比如“疫苗”这个词,在一条科普新闻和一条争议新闻里,其触发的情感浓度差很多。DEAN的做法是把情感嵌入到一个更细的维度空间里,并且让「新闻内容」和「公众评论」相互修正,相当于把单点的情感判断升级成了一种结构化推理。

2. DEAN模型的核心设计拆解

2.1 Dual Emotion里的「双情感」到底指什么

这个「Dual」是整篇论文最值钱的概念。前面提到的生产者情感(Producer Emotion)和公众情感(Consumer Emotion),放在具体场景里是这样的:

生产者情感指的是新闻正文本身携带的情感信号。比如一条假新闻说「某地发生重大事故,官方却封锁消息」,句子里的「封锁」和「重大」就携带了一种愤怒和恐慌的情绪基调。但这种基调是文本自带的,不需要看评论就能捕捉。

公众情感则是指这条新闻下面用户评论、转发里体现出的群体情感。当用户转发一条假新闻时,他们往往会在转发语里加上自己的态度,比如「太可怕了」「这种事居然没人管」,这些话语里面藏的不是理性判断,而是情绪共振。公众情感比生产者情感更难伪造,因为它来自多个独立用户,是一种分布式信号。

2.2 Valence与Arousal:为什么是两个维度而不是一个情感分类标签

论文在建模情感时没有用大家熟悉的「正负极性」分类,而是用了两个心理学上公认的连续维度:Valence(效价)和Arousal(唤醒度)。效价反映情感的正负程度,从消极到积极;唤醒度反映情感的强度,从平静到兴奋。这两个维度分开来看,效果比传统的正负分类好得多。

原因在于,假新闻检测真正有区分度的并不是「负面」本身,而是「负面且高唤醒」。恐慌和愤怒都是负面情绪,但它们的传播动力完全不同;而某些真实新闻也可能有很强的负面情感,比如灾难报道,但这类报道的唤醒度和假新闻通常还是有差异的。用一个维度很难说清楚,两个维度组合起来就成了一个二维情感空间,每条文本都可以在这个空间里映射成一个点,模型后续学到的就是这些点的分布特征。

2.3 整体网络结构:一个从GCN逐步升级的框架

从论文的自述来看,DEAN的骨干网络采用的是图神经网络,具体来说是对新闻传播树建模,在传播树上用节点之间的情感一致性来辅助分类。结构大致可以拆成四层:

第一层是文本编码器,把新闻正文和每条评论分别编码成向量。这部分可以用LSTM,也可以用CNN,论文里用的还是当时经典的文本编码方式,换成BERT这类预训练模型也不会破坏整体框架。

第二层是情感分别建模,也就是把新闻正文的特征单独走一条分支,提取生产者情感特征;把评论序列的特征走另一条分支,提取公众情感特征。两条分支都会输出各自的Valence、Arousal向量。

第三层是交互融合,这也是DEAN最花心思的地方。生产者情感和公众情感不能只是简单拼接,而是要在传播图的节点上做交互。论文的思路是,让新闻根节点的情感特征沿着传播路径逐步影响评论节点,反过来评论节点的情感聚合也在影响根节点的情感表示。这种双向传播机制,相当于在模拟一条新闻从发布到发酵的过程中,双方情绪互相感染、放大或削弱的动态过程。

第四层是分类输出,把融合后的情感向量和基本的文本语义向量拼接,最后接一个全连接层和Softmax输出假新闻概率。

这种双分支加交互的设计,确实比单纯把情感特征拼进去要合理。因为如果一个模型里只有生产者情感,那它本质上还是在做文本分类;只有把公众情感引入,模型才真正利用到了「社会反应」这一层信息。

3. 数据集构造与实验结果解读

3.1 两个数据集上的测试设计

从论文的实验设计来看,DEAN选用了两种语言的公开数据集进行验证:一个是英文Twitter上围绕媒体的新闻帖,另一个是中文微博上的消息及其评论。这两个数据集都包含了完整的转发结构、评论文本以及人工标注的真假标签。

纸面上看,Twitter数据集和微博数据集的差异其实很有挑战性。英文和中文在情感表达方式上不同,中文的情绪词更加含蓄,英文的高唤醒情绪更容易通过句式和标点体现;两个平台的传播结构也不同,Twitter的转发链更容易形成树状结构,而微博的转发往往带有评论和超话这种聚合型传播。一个模型能在两种语言环境里都取得一致提升,它才有说服力。

我尤其关注论文里对情感标签的构造说明——Valence和Arousal的值不是凭空标注的,而是通过情感分析工具先给每条文本一个初始值,再用传播树上的结构信息做平滑。这种做法有一个工程上的好处:它把情感标签从离散的符号变成了连续的数值,而连续数值是可以直接在Graph结构上做消息传递的。

3.2 对比实验里最能说明问题的那一组

实验部分最有价值的是消融研究。把完整DEAN模型拆开来看:去掉公众情感分支、去掉生产者情感分支、去掉Valence只保留Arousal、或者去掉Arousal只保留Valence,逐一验证各组件对最终检测效果的贡献。

结论并不意外,但很有说服力:完整的双情感模型明显优于任何单情感变体;而在两个维度之间,Arousal的贡献通常比Valence更显著。这其实就是我之前提到的观点——假新闻强在煽动性,而煽动性本质上体现在唤醒度上,而不是单纯的正负情绪上。一个极端愤怒的帖子可能是真实新闻,一个中性客观的帖子反而可能是精心包装的谣言,只看正负这个维度当然是抓不住的。

在和其他基线方法的对比上,DEAN也比那些只用文本语义特征、传播结构特征或者单一情感特征的模型要高出几个百分点。论文给的解释是:双情感建模提供了互补的证据,生产者情感能抓住文本内容层面的蹊跷,公众情感能抓住传播过程层面的异常,常规模型通常只能抓住其中一个侧面。

3.3 对实验结果的冷思考

读这篇论文的时候,我并没有全盘相信实验结果里那些漂亮的数字。有几个点值得打问号。

首先,数据集里假新闻和真新闻的比例是人工控制的,与现实场景中极低假新闻比例不一致;真实风控面对的是极度不平衡的流量,在离线数据集上表现再好,上线后锚定阈值都要重新调整。

其次,情感分析工具本身有噪声。它是在通用语料上训练的,用在特定新闻主题上难免有偏差,而论文里把工具输出的情感值当成了真实标签来训练,这个过程中噪声会被放大还是被抑制,论文里没有给出足够细致的分析。

最后,时间维度被忽略了。一条新闻发出来后的第一天和第七天,公众情感的变化趋势完全不同,假新闻的情感峰值往往出现在谣言扩散的前期。DEAN用的还是静态快照式的建模,没有真正做时序上的演化分析,这也是后续研究者可以继续推进的方向。

4. 从论文到工程实践的几点建议

4.1 情感标签获取的工程细节

如果你想把DEAN的思路复现到自己的风控系统里,第一个要面对的问题就是Valence和Arousal怎么算。我的建议是不要执着于论文当初用的情感词典方案,因为那套方案在这几年已经明显过时了,换用大模型来做情感向量会更稳。具体做法可以用大模型对每条文本输出两个数值:一个取值在[-1, 1]的效价分,一个取值在[0, 1]的唤醒分。然后不要直接把这些数值当特征送进模型,而是对它们做标准化处理,再和文本向量拼接。

这里有一个容易踩的坑:不同新闻主题的情感基线差异很大。体育新闻的唤醒度天然比财经新闻高,如果不做主题归一化,模型学到的很可能不是「假新闻的特征」而是「题材的特征」。我的做法是先把新闻按主题粗聚类,然后在每个类内部计算情感指标的相对偏移量,再作为特征给模型。这样能显著降低主题混淆带来的误差。

4.2 从论文模型到可落地的轻量化改造

DEAN用的是传播树上的GCN,这个结构在学术数据集上很好,真要上线却面临一个现实问题:并不是每条新闻都能在第一时间长出一棵完整的传播树。很多假新闻在被识别出来的时候,转发数可能还没超过几十条,树太浅,图信息不够。

所以实际工程部署时,我通常会做一个降级方案:在传播早期只用新闻文本和有限的前N条评论的情感特征,用一条轻量级的双分支网络做快速判断;只有当新闻传播深度超过某个阈值时,才切换到完整的传播树模型做精判定。两个阶段共享同一个情感特征提取层,也就是说情感表示是通用的,只是融合方式不同。这个方案在线上的延迟可以控制在十毫秒级别,而准确率相比完整模型只损失不到两个点。

另外,在线推理的时候务必给情感特征加置信度。当某条新闻只有三条评论时,公众情感特征几乎是靠噪声撑起来的,这时模型应该自动降低公众情感分支的权重。DEAN原论文里假设每条新闻都有足够的评论量,现实中远非如此,所以我们在工程化时给公众情感分支增加了一个置信度门控,这一点虽然是对原模型的改动,但它非常必要。

4.3 扩展方向:从二元真假到风险分级

最后说一个我认为有价值的扩展方向。DEAN的输出是一个真假二分类概率,但在真实业务里,更常用的其实是风险分级:确定要拦截的、疑似需要人工审核的、可以放行的。而Valence和Arousal这两个维度恰好可以辅助做分级决策——高唤醒且高负面风险的内容优先进入人工队列,低唤醒的疑似内容缓审即可。

论文的框架也可以很自然地引入到跨平台舆情监测中,把微博、微信、Twitter等平台的内容都映射成统一的情感二维向量,再对不同平台上的生产者情感和公众情感做联合建模。这种做法实际上是用情感信号做跨平台的锚点对齐。我当时在做某跨平台系统时尝试过类似的想法,统一情感空间的效果比直接用文本向量做平台迁移要好很多,因为文本向量受到平台语言风格的影响太大,而Valence和Arousal这种心理层面的维度更稳定。

4.4 复现时最容易出问题的三个细节

第一,评论的去重清洗。社交媒体上的刷屏评论会严重扭曲公众情感特征,尤其是那些机器人批量生成的重复内容。我在复现时发现,如果不做用户级的去重,仅仅几个刷屏账号就能把情感向量拉偏一个标准差。建议对评论按用户ID聚类,每个用户在一棵传播树上最多保留一条评论。

第二,传播树根节点的定位。很多公开数据集里,新闻的原始发帖人未必是真正的谣言源头,中间可能存在二次创作。如果直接把数据集给的根节点当成生产者情感的真实来源,会混入大量转发者的语气。可以把同一事件的多个根节点先做文本相似度计算,保留最早的发起节点作为根。

第三,情感分支和文本语义分支的融合时机。早期我试过在向量拼接的维度上直接把两组特征拼起来,效果一般。后来改成在注意力层面做融合,即用公众情感特征作为查询向量,去新闻内容特征里做注意力加权,相当于让「公众关心的焦点」决定「内容里哪些词更重要」。这个改动让模型的F1值提升了两个多点。如果是从零复现DEAN,我建议优先尝试这种注意力融合方式,而不要只用最简单的拼接。

我个人在实际研究中的体会是,DEAN这篇论文的代码骨架其实不难,难的是情感质量本身——如果两条分支的情感向量都不干净,再花哨的交互机制也只是在放大噪声。所以与其花大量时间调网络结构,不如先在数据标注和情感特征抽取上把功夫做足。把这层地基打好了,后面哪怕是换成Transformers、换成图注意力网络,这个双情感的思路都能持续给你带来收益。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 14:00:10

Python读取.ttf字体文件:fontTools解析cmap与name表实战

1. 字体文件不只是"文件",它是一套可编程的矢量图形数据库很多人第一次接触.ttf文件,是因为做海报、写文档时想换个好看的中文字体,或者做 PPT 时被要求"标题用某某体"。但当你开始用 Python 去读取它,你会发…

作者头像 李华
网站建设 2026/10/15 14:00:01

toolbox_calib相机标定实战:从原理到避坑的完整指南

简介:toolbox_calib 是面向 MATLAB 用户的相机标定工具箱,由 Joan Bouguet 开发,主要解决计算机视觉中相机内参、外参求解这一基础问题,适合从事三维重建、立体视觉与机器人视觉的开发者及研究者使用。资源包共 188 个文件&#x…

作者头像 李华
网站建设 2026/10/15 13:59:30

Houdini属性删除优化:大幅降低缓存与提升渲染效率

1. 项目背景与核心价值在三维动画和特效制作领域,Houdini作为行业标准的节点式 procedural 工作流程工具,其性能优化一直是资深TD(Technical Director)的核心工作内容。最近在完成一个大型流体模拟项目时,我发现场景文…

作者头像 李华
网站建设 2026/10/15 13:59:01

Python编程入门必备:搞懂动态类型与核心语法避坑指南

1. 学Python第一步:先搞清楚这门语言到底长什么样很多人在学习Python的时候,第一件事就是跑去装环境、看语法、敲“Hello World”,然后在一个月后被各种概念打懵:“变量竟然不用声明类型?”“为什么这个函数传进去之后…

作者头像 李华
网站建设 2026/10/15 13:58:56

OpenCV+CNN车牌识别实战:从图像定位到字符识别的完整工程解析

简介:面向Python初学者的车牌识别实战项目,基于OpenCV实现从图像预处理、边缘检测、形态学操作到字符分割与识别的完整流程,涵盖车牌定位与字符识别两大核心环节。资源共40个文件,压缩包大小18.93MB,包含predict.py与s…

作者头像 李华