基于 Twitter 的网络结构和社会群体演化

掌握从社交网络数据抽取用户关系并进行数据分析的方法。

  • 实验环境

Windows 10 操作系统、python3.6、Gephi 0.9.2

  • 实验内容

1.地震前后网络构建
根据附件 1 和附件 2 给出的推文数据,提取出用户发文时间、用户昵称、发文内容等关键字段,并根据这些信息构建地震前后的关系网络。
2.对构建好的网络进行度分析
为了对比地震对用户关系带来的影响,分别对去的英文使用者网络和日文使用者网络进行累积度分布变化统计、单独节点层面上的度变化统计并做对比分析。
3.对构建好的网络进行社区检测及对比分析
为了进一步了解地震前后的用户移动情况,请用桑基图显示在每个数据集中地震前后检测到的规模前 10 的社区中的用户移动情况并根据结果做进一步分析。
4.进一步分析
用其他方法,或在时间上进行细粒度动态网络分析

  • 实验步骤

1.构建网络

(1)首先观察json文件的结构,根据教程提供的结构图如下:
在这里插入图片描述
我们需要的是response下红框圈出的几个属性,其中nick充当的是主码的角色,不会重复。
(2)分析结束后,我们可以编写提取某一个json中我们需要的字段的代码,代码如下:
在这里插入图片描述
基本思路是对每一个post都提取出nick,name,date,content四个值,做成一个python字典,放入列表中,最后返回列表。
(3)接下来我们提取所有before和after的json数据中的信息:
在这里插入图片描述
基本思路是对各个json文件均调用一次getJson方法,然后合并所得列表。
(4)现在我们可以根据得到的数据来构造图,代码如下:
在这里插入图片描述
基本思路是对每一个用户——在图中添加其用户节点——得到被其@的用户——添加被@用户节点——添加或改变两点间边的权值
(4)得到图后,还要清理地震前后两张图的非公共节点,代码如下:
在这里插入图片描述
逻辑很简单,检测是否为非公共节点?是则删除,否则不删除。
(5)运行如下代码,就可以得到地震前后的两张图,并输出成gml文件,用于以后的图的可视化:
在这里插入图片描述
运行结果:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.度分析

(1)对网络进行基本特性:平均度、最大联通片、群聚系数进行分析,代码如下:
在这里插入图片描述
(2)个人层面度分析代码:
在这里插入图片描述
(3)累计度分析代码:
在这里插入图片描述

  • 实验结果

1.度分析结果
(1)英语使用者的基本特性分析结果:
在这里插入图片描述
日语使用者的基本特性分析结果:

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值