在Neo4j中对漫威社交网络进行初步分析-上篇

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Neo4j中对漫威社交网络进行初步分析-上篇相关的知识,希望对你有一定的参考价值。

参考技术A

本文是漫威社交网络分析序列的第二篇,上一篇文章中,我们已经将Kaggle竞赛的帖子中漫威的数据导入到Neo4j中,同时演示了如何从二分图映射到单分图。我们也使用了一个简单的模型,将任何两位英雄一起出现在漫画的次数记录下来。

为了便于理解,我们使用下面的函数来表示:

同时,也可以映射到下面这种单分图

好,先这些,导入图数据后,我们可以进行接下来的分析了。

我们已经有一个简单图模型,接下来从Hero和Comics的二分图网络(两种结点类型)开始,根据两个英雄出现在同一个漫画中的次数推导出一个单分图(只有一种结点类型)。

下面我们将在之前推导出来的单分图上进行一些分析。关于数据分析,我通常的习惯是先进行一些全局性的统计,对图有一个大概的感性的认识,然后再深入研究细节。

我们先来看一下具有相似权重的英雄分布情况。权重值指两英雄在相同漫画中一块出现的总次数。

第一眼看到这个查询语句,发现   (k.weight / 10) * 10   这样的子句出现,一定会认为这是非常傻的语句。但是如果你了解Neo4j的计算规则(两个整数相除得到仍是整数),就会明白,我们这种写法,是为了完成一个“桶”函数的功能,即把权重都分配到10倍数的桶里。这样就很容易理解下面的结果了。

  从结果中可以看出,在漫威英雄网络中,在171644个关系中,有162489个关系(点总关系数据的94%)的权重是在10以下,也就是说,大部分英雄之间只有一面之缘。

权重最大值是724,出现在“THING/BENJAMIN J. GR”(石头人)和“HUMAN TORCH/JOHNNY S”(霹雳火),这俩真是一对好基友。

尽管在漫威英雄的社交网络中,大家都是彼此认识的,但是通过权重可以看出,大部分都是很弱的联系。我大胆做两个假设:

为了验证我的假设,我先使用下面的查询语句试试。

上面显示的是一些平均指标,而我个人更喜欢看分布情况,就像我之前所使用的“桶”函数那样:

看起来我的假设好像还成,8999(71%)个英雄在漫画中出现的次数少于10次,加上前面平均每集7.5个英雄的推断,可以知道,大部漫画中可能只出现5个英雄或更少。有些漫画会有“家族聚会”的情况,这时会有超过30个英雄出现。有一集漫画叫COCI,就有110个英雄出现,应该是《超级英雄大会》那期。

我们可以使用max或min方法将权重值进行规一化处理。注意这次我们使用的   (toFloat(k1.weight) - min) / (max - min)   ,先将将k1.weight转换成浮点型,这样浮点型除以整形,得到的仍是浮点型。也就不会分组到之前的桶里了。


社交网络分析映射主题网络:从两极分化的人群到社区集群

建议直接阅读原文:

https://www.pewresearch.org/internet/2014/02/20/mapping-twitter-topic-networks-from-polarized-crowds-to-community-clusters/

以下是翻译:

在对数千张 Twitter 地图进行分析后,我们发现了六种不同类型的网络人群。

1. Twitter 对话中的两极分化人群

两极分化的人群:两极分化的讨论以两个大而密集的群体为特征,它们之间几乎没有联系。正在讨论的话题往往是高度分裂和激烈的政治话题。事实上,尽管这些群体专注于同一主题,但他们之间通常很少进行对话。Twitter 上的两极分化人群没有争论。他们在指向不同的网络资源并使用不同的主题标签时相互忽略。

为什么这很重要:它表明党派 Twitter 用户依赖于不同的信息来源。自由派链接到许多主流新闻来源,而保守派链接到一组不同的网站。

2.Twitter 对话中的拥挤人群


拥挤的人群:这些讨论的特点是高度相互关联的人,很少有孤立的参与者。许多吸引社区的会议、专业主题、兴趣小组和其他主题都采用这种密集人群形式。

为什么这很重要:这些结构显示了网络学习社区的运作方式以及社交媒体如何促进共享和相互支持。

3. Twitter 对话中的品牌集群

品牌集群:当在 Twitter 上讨论知名产品或服务或名人等热门话题时,经常会有许多断开连接的参与者的评论: 这些参与对话集群的“孤立者”位于左侧图片的左侧) . 知名品牌和其他热门话题可以吸引大量分散的 Twitter 人群,他们只发布推文,但不会相互交流。谈论品牌的人数越多,参与者相互联系的可能性就越小。提及品牌的参与者专注于一个主题,但往往不会相互联系。

为什么这很重要:仍然有一些机构和话题引起了大众的兴趣。很多时候,关于这些机构及其信息的 Twitter 喋喋不休并不是在相互联系的人们之间进行的。相反,他们是在传递或传递机构或个人的信息,没有额外的思想交流。

3. Twitter 对话中的社区集群


社区集群: 一些热门话题可能会发展出多个较小的群体,这些群体通常围绕几个中心形成,每个中心都有自己的受众、影响者和信息来源。这些社区集群对话看起来像具有多个活动中心的集市。全球新闻报道经常吸引许多新闻媒体的报道,每个媒体都有自己的追随者。这创建了一个中等规模的群体的集合——以及相当数量的隔离群(上图的左侧)。

为什么这很重要:一些信息源和主题引发了多次对话,每个对话都培养了自己的受众和社区。这些可以根据主题与不同受众的相关性来说明主题的不同角度,揭示对社交媒体主题的不同意见和观点。

Twitter 对话中的广播网络

广播网络: Twitter 围绕突发新闻报道以及知名媒体和专家的输出进行评论具有独特的中心和辐条结构,其中许多人重复着名新闻和媒体组织的推文。广播网络观众的成员通常只连接到中心新闻源,而不相互连接。在某些情况下,有一些紧密联系的人组成的较小的子群体——将他们视为主题群体——他们确实会相互讨论新闻。

为什么这很重要:在新的社交媒体世界中仍然有强大的议程制定者和对话发起者。拥有忠实追随者的企业和人物仍然可以对对话产生很大的影响。

Twitter 对话中的支持网络

支持网络: 大型企业的客户投诉通常由 Twitter 服务帐户处理,该帐户试图解决和管理围绕其产品和服务的客户问题。这产生了不同于广播网络模式的中心辐射结构。在支持网络结构中,集线器帐户回复许多否则断开连接的用户,从而创建向外辐射。相比之下,在广播模式中,集线器会得到许多断开连接的人的回复或转发,从而形成内部辐条。

为什么这很重要:随着政府、企业和团体越来越多地通过社交媒体提供服务和支持,支持网络结构成为评估这些机构绩效的重要基准。客户支持建议和反馈流可以使用社交媒体网络地图根据效率和覆盖范围进行衡量。

为什么以这种方式绘制社会图景很有用?
社交媒体越来越成为公民社会的家园,在那里进行知识共享、公共讨论、辩论和争议。作为新的公共广场,社交媒体对话与记录任何其他大型公共集会一样重要。Twitter 等服务中公共社交媒体讨论的网络地图可以深入了解社交媒体在我们的社会中所扮演的角色。这些地图就像一群人的航拍照片,显示了人口的粗略规模和组成。这些地图可以通过对人群参与者的实地采访进行扩充,收集他们的话和兴趣。来自网络分析和可视化的见解可以补充调查或焦点小组研究方法,并可以增强对推文等消息文本的情感分析。

与山脉的地形图一样,网络地图也可以说明景观上海拔最高的点。有些人在网络中占据的位置类似于物理景观上具有战略重要性的位置。“中心性”的网络度量可以识别讨论网络中具有影响力的位置的关键人物,突出领导对话的人。这些人创建的内容通常是这些网络中最受欢迎和最广泛重复的内容,反映了这些人在社交媒体讨论中发挥的重要作用。

虽然物理世界已经被非常详细地绘制出来,但社交媒体的格局仍然大多是未知的。然而,社交媒体制图的工具和技术正在改进,让更多的分析师能够获取社交媒体数据,对其进行分析,并为集体构建更完整的社交媒体世界地图做出贡献。对社交媒体格局的更完整地图和理解将有助于解释这些新通信技术的趋势、主题和影响。

以上是关于在Neo4j中对漫威社交网络进行初步分析-上篇的主要内容,如果未能解决你的问题,请参考以下文章

Neo4j中使用Louvain算法和标签传播算法(LPA)对漫威英雄进行社群分析

社交网络架构、C++ Clients Neo4j 数据库之间有啥关系?

建议用于收集社交网络分析的 BigData DB

理论从社交网络获取灵感,用小世界网络模型分析分子筛传递性质

数据分析 | 用python分析《三国演义》中的社交网络

社交应用的多对多关系:Mongodb 或 Neo4j 等图形数据库