论文笔记--Learning Political Polarization on Social Media Using Neural Networks

论文笔记--Learning Political Polarization on Social Media Using Neural Networks

  • 1. 文章简介
  • 2. 文章概括
  • 3. 相关工作
  • 4. 文章重点技术
    • 4.1 Collection of posts
      • 4.1.1 数据下载
      • 4.1.2 数据预处理
      • 4.1.3 统计显著性分析
    • 4.2 Classification of Posts
    • 4.3 Polarization of users
  • 5. 文章亮点
  • 6. 原文传送门

1. 文章简介

  • 标题:Learning Political Polarization on Social Media Using Neural Networks
  • 作者:LORIS BELCASTRO, RICCARDO CANTINI, FABRIZIO MAROZZO, DOMENICO TALIA AND PAOLO TRUNFIO
  • 日期:2020
  • 期刊:IEEE

2. 文章概括

  文章提出了一种基于神经网络对政治两极化观点进行分析的方法IOM-NN, 基于两组case的分析结果表明该方法相比于传统的分析方法准确率更高,得到的结果更加接近真实结果,甚至比民意调查结果更可靠。

3. 相关工作

  简单的介绍一下近年来常用的通过社交媒体来分析公共观点、预测选举结果的一些方法。现存的方法一般可分为三类:

  • Volume-based:计算各个候选人的博客/点赞/评论的数量,预测选票结果。但基于volume的方法常常受到发文数量的影响,比如某用户发文特别多,则其支持的候选人被预测的可能性会变大。IOM-NN则优化为基于用户数量的预测,从而避免了该问题。
  • Sentiment- or opinion-based: 利用NLP/文本挖掘技术尝试理解用户对某候选人或某党派的观点。IOM-NN使用了BOW词袋模型和神经网络相结合来对博文进行分类,进一步对撰写博文的博主进行分类。
  • Network-based:分析社交媒体用户的网络结构,从而可以理解公共观点的动态。

4. 文章重点技术

文章提出了IOM-NN(Iterative Opinion Mining using Neural Network)方法。主要步骤如下
IOM-NN

4.1 Collection of posts

4.1.1 数据下载

  定义 E \mathcal{E} E为不同党派 F = { f 1 , … , f n } F=\{f_1, \dots, f_n\} F={f1,,fn}之间的竞争时间。则数据收集阶段我们需要知道如下信息

  • K c o n t e x t K_{context} Kcontext表示和事件 E \mathcal{E} E相关的通用关键词集合
  • K F ⊕ = K f 1 ⊕ ∪ ⋯ ∪ K f n ⊕ K_F^\oplus = K_{f_1}^{\oplus} \cup \dots \cup K_{f_n}^{\oplus} KF=Kf1Kfn表示和各个党派相关的postive keywords(支持该党派的关键词)。
    接下来我们下载收集包含上述任一组关键词中一个或多个关键词的博客,得到数据集。

4.1.2 数据预处理

  • 将文本转化为小写,将特殊的accent字符替换为对应的普通字符
  • 取单词的stem
  • 移除停词
  • 不考虑非本国家的人发表的该国语言的博文。
    最终输出的结果为博文集合 P P P

4.1.3 统计显著性分析

  在使用数据之前,文章分析了数据集的年龄、性别和地理分布,为了确定用户是否具有代表性

4.2 Classification of Posts

  下表为文章对博文进行分类的伪代码。
clf algo

  • 第一部分(1-9行)为算法的初始化过程:先尝试对每个博文进行分类(分类方法为返回一个0-1向量,表示该博文是否包含某个党派对应的关键词集合 K f ⊕ K_f^{\oplus} Kf,如果某博文属于且仅属于其中一个党派 f f f,则将博文 p p p分类到该党派,并将结果对 < p , f > <p, f> <p,f>加入到已分类的博文集合 C 0 C^0 C0。最终剩余为分类的集合记作 N 0 N^0 N0
  • 第二部分(10~21行)对分类规则和结果进行迭代的更新,每一步的更新方法类似初始化过程,区别为迭代过程中,文章会迭代地利用前面所有步骤的分类结果训练一个神经网络模型,然后通过神经网络模型对当前未分类的博文集合进行预测,得到一个概率向量,如果该向量某概率值大于给定阈值 t h th th,则将该博文分类到该党派,并将结果对加入到已分类的集合中。迭代停止条件为当前轮次有分类结果的占比大于等于某阈值(已经有足够多的分类结果),或者当前轮次有分类结果的占比小于等于某阈值(无法再通过迭代优化)。
    下图为该算法的图示
    整体分类

4.3 Polarization of users

  下图为对用户极性进行分析的伪代码:
prediction algo

  • 聚合:首先文章按照用户将上述分类结果进行聚合,得到字典 C U = ( u , P u ) C_U={(u, P_u)} CU=(u,Pu),其中 P u P_u Pu表示拥护 u u u对应的所有博文的分类结果list。
  • 过滤:接下来,对字典中的每一个结果对,文章会首先判断用户是否满足以下过滤条件,全部满足的拥护才被保留
    • 在该事件至少发文 m i n P o s t minPost minPost
    • 该拥护的博文中存在至少 2 / 3 2/3 2/3的博文是关于某个党派的
  • 分极:针对上述未被过滤的博文对,文章按照下图所示方法对用户进行分极。具体来说,文章生成一个用户 u u u对应的百分比向量,用该向量进行聚合、归一化得到最终的分极向量 S S S
    分极

5. 文章亮点

  文章提出了一种基于迭代式的神经网络进行政治极化预测的方法,该方法只需收集关键词和博文数据,便可自适应地迭代训练得到一个较为准确的分类结果。在2018意大利选举和2016美国总统竞选数据集上,该方法表现超过其它测试的算法,几乎接近真实结果。未来或可考虑通过该方法替代昂贵的民意调查来进行竞选结果预测、支持率调研等。

6. 原文传送门

Learning Political Polarization on Social Media Using Neural Networks

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/241371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC:Ajax、拦截器、文件上传、文件下载

文章目录 SpringMVC - 06一、Ajax1. 概述2. Ajax 异步加载数据1. 单个数据2. 对象 3. 实践4. 总结 二、拦截器1. 概述2. 实现3. 实践4. 总结 三、文件上传&#xff1a;Upload1. 准备工作2. 步骤3. 效果 四、文件下载&#xff1a;Download1. 步骤2. 效果3. 总结 注意&#xff1a…

mac m1芯片 pytorch安装及gpu性能测试

pytorch 使用mac的m1芯片进行模型训练。 #小结&#xff1a;在数据量小和模型参数少&#xff0c;batch_size小时&#xff0c;cpu训练更快&#xff08;原因&#xff1a;每次训练时数据需要放入GPU中&#xff0c;由于batch_size小。数据放入gpu比模型计算时间还长&#xff09; 在…

【SPI和API有什么区别】

✅什么是SPI&#xff0c;和API有什么区别 ✅典型解析&#x1f7e2;拓展知识仓&#x1f7e2;如何定义一个SPI&#x1f7e2;SPI的实现原理 ✅SPI的应用场景SpringDubbo ✅典型解析 Java 中区分 API和 SPI&#xff0c;通俗的进: API和 SPI 都是相对的概念&#xff0c;他们的差别只…

优化模型:MATLAB整数规划

一、整数规划介绍 1.1 整数规划的定义 若规划模型的所有决策变量只能取整数时&#xff0c;称为整数规划。若在线性规划模型中&#xff0c;变量限制为整数&#xff0c;则称为整数线性规划。 1.2 整数规划的分类 整数规划模型大致可分为两类&#xff1a; &#xff08;1&…

SQL进阶理论篇(二十):什么是SQL注入

文章目录 简介SQL注入的原理SQL注入的实例搭建sqli-labs注入环境实例一&#xff1a;猜测where条件判断查询语句的字段数获取当前数据库和用户信息获取MySQL中的所有数据库名称查询wucai数据库中的所有数据表查询heros数据表中的所有字段参考文献 简介 这节是纯兴趣篇了。 web…

less 查看文本时,提示may be a binary file.See it anyway?

解决办法 首先使用echo $LESSCHARSET查看less的编码 看情况设置less的编码格式(我的服务器上使用utf-8查看中文) 还要特别注意一下&#xff0c;Linux中存在的文本文件的编码一定要是utf - 8;&#xff08;这一步很关键&#xff09; 例如&#xff1a;要保证windows上传到Linux的…

Linux Shell 001-Bash简介

Linux Shell 001-Bash简介 本节关键字&#xff1a;Linux、Bash Shell、shell分类 相关指令&#xff1a;bash、sh、cat Shell的介绍 计算机只能认识&#xff08;识别&#xff09;机器语言(0和1)&#xff0c;如&#xff08;11000000 这种&#xff09;。但是&#xff0c;我们的…

力扣(leetcode)1148和1179题(MySQL)

1148.文章浏览I 题目链接&#xff1a;1148.文章浏览I 解答 # Write your MySQL query statement below select distinct author_id as id from Views where author_idviewer_id order by id;1179.重新格式化部门表 题目链接&#xff1a;1179.重新格式化部门表 解答 …

线程池构造方法的认识

线程池中构造方法的认识 文章目录 线程池中构造方法的认识corePoolSize (核心线程数)maximumPoolSize&#xff08;最大线程数&#xff09;keepAliveTime(非核心线程的空闲超时时间)TimeUnitworkQueuethreadFactoryRejectedExecutionHandler拒绝策略 标准库中提供了一个ThreadPo…

uniapp自定义头部导航怎么实现?

一、在pages.json文件里边写上自定义属性 "navigationStyle": "custom" 二、在对应的index页面写上以下&#xff1a; <view :style"{ height: headheight px, backgroundColor: #24B7FF, zIndex: 99, position: fixed, top: 0px, width: 100% …

RocketMQ实践:确保消息不丢失与顺序性的高效策略

一、使用RocketMQ如何保证消息不丢失&#xff1f; 这个是在面试时&#xff0c;关于MQ&#xff0c;面试官最喜欢问的问题。这个问题是所有MQ都需要面对的一个共性问 题。大致的解决思路都是一致的&#xff0c;但是针对不同的MQ产品又有不同的解决方案。分析这个问题要从以 下几…

汽车服务品牌网站建设的作用是什么

汽车服务涵盖多个层面&#xff0c;在保修维护这一块更是精准到了车内车外&#xff0c;无论是品牌商还是市场中各维修部&#xff0c;都能给到车辆很好的维修养护服务。如今车辆的人均拥有量已经非常高&#xff0c;也因此市场中围绕汽车相关的从业者也比较多。 首先就是拓客引流…

SpringBoot找不到或无法加载主类

1&#xff0c;bug贴图 2&#xff0c;问题说明 之所以导致这个问题是因为新建项目的时候&#xff0c;项目目录是这样的com.lab.hei.springboot.dubbo.ProviderApplication 我觉得这个目录太长了&#xff0c;所以修改了目录&#xff0c;修改后cn.alisa.springboot.dubbo.Provider…

PostGreSQL:货币类型

货币类型&#xff1a;money money类型存储固定小数精度的货币数字&#xff0c;小数的精度由数据库的lc_monetary设置决定。windows系统下&#xff0c;该配置项位于/data/postgresql.conf文件中&#xff0c;默认配置如下&#xff0c; lc_monetary Chinese (Simplified)_Chi…

C++的一些零散小知识

文章目录 1、空指针nullptr的类型为std::nullptr_t2、函数定义中&#xff0c;如果不需要使用参数的值&#xff0c;可以省略参数名3、静态成员变量在C17之后可以直接在类内定义并初始化了 1、空指针nullptr的类型为std::nullptr_t 一个毫无意义的例子&#xff1a; template<…

【Oracle】修改表结构

目录 创建示例1&#xff1a;添加一个或多个列 创建示例2&#xff1a;修改列定义 创建示例3&#xff1a; 删除一列或多列 创建示例4:重命名列 创建示例5:重命名表 创建示例1&#xff1a;添加一个或多个列 -----语法&#xff1a;将新列添加到表中 ALTER TABLE table_name A…

大模型工具_QUIVR

https://github.com/StanGirard/quivr/ 24.5K Star 1 功能 整体功能&#xff0c;想解决什么问题 实现了前后端结合的 RAG 方案。构建能直接使用的应用。提出了“第二大脑”&#xff0c;具体实现也是RAG&#xff0c;但针对不同用户不同场景支持多个“大脑”并存&#xff0c;每个…

css 三角形实现方式及快速联想记忆

css实现三角形是常见的需求&#xff0c;在此记录如下 1 边框实现 原理&#xff1a;相邻的border之间会形成一条斜线(可按此联想记忆) .triangle {width: 0;height: 0;border-left: 100px solid red;border-right: 100px solid green;border-top: 100px solid blue;border-bot…

Spring Boot实践指南

一.SpringBoot入门案例 SpringBoot是由Pivotal团队提供的全新框架&#xff0c;其设计目的是用来简化Spring应用的初始搭建以及开发过程 原生开发SpringMVC程序过程 在没有SpringBoot前&#xff1a; 1.入门案例开发步骤 &#xff08;1&#xff09;创建新模块&#xff0c;选…