摘要

社会网络是一个由人,以及人与人之间各种各样关系构成的巨大网络;其核心价值在于分析关系数据。

本文将社会网络分析应用在虚构的戏剧作品上,利用统计方法,从17部漫威电影宇宙的剧本中提取共现关系,构建424位人物角色组成的网络,并分析各角色重要性;运用社会网络分析方法研究角色网络性质与结构;使用Gephi,一个开源的可视化网络软件,绘制角色网络。

结果表明,角色网络中平均每个人物与超过六个角色有过言语交流;平均聚类系数较大,人物角色间相识程度高;平均路径长度较小,平均通过三个角色就能够认识任何一个陌生角色;模块化程度高,角色间有着较强的网络社区结构。网络拓扑参数证明漫威角色网络明显不同于随机生成的网络,具有“小世界”特性。其度分布符合幂律分布,体现了 “无尺度”特性。

最后,使用三种基于节点相邻点的方法来预测链路,分别是Common Neighbors (CN)指标,Adamic Adar (AA)指标和Cannistraci-Alanis-Ravasi (CAR)指标;发现AA指标预测的结果有最高的召回率。

关键词:社会网络分析;网络结构;网络可视化;Gephi

Abstract

A social network is constituted with individuals and various relationships between them.

With statistical methods, this paper applies social network analysis (SNA) techniques to fictional drama production. We extract co-occurrence relationship from the scripts of 17 Marvel cinema universe (MCU) movies, and analyzes 424 individual characters and their relationships in these films using SNA methods. We visualize the MCU character network with Gephi, an open source graph viz platform.

It has been revealed that every character spoke to about six other characters in the network; the average clustering coefficient is large, and the network has a high degree of acquaintance; the mean path length is small, and on average, everything else in the network are three steps away from each other. The network topology parameters prove that the MCU network is obviously different from a randomly generated one, reflecting the characteristic of a “small world” model. The degree distribution conforms to a power-law distribution, reflecting the characteristic of a “scale free” model.

Also, we applied three algorithms to make link predictions. Common Neighbors (CN), Adamic Adar (AA), and Cannistraci-Alanis-Ravasi (CAR) are link prediction algorithms based on node neighborhoods. According to the recall rate, CAR method demonstrates the best performance.

Key words: Social network analysis; Network structure; Graph visualization; Gephi

引言

漫威电影宇宙(Marvel Cinematic Universe,缩写为MCU),是由漫威影业(Marvel Studios)基于漫威漫画中的超级英雄角色独立创作的架空系列电影。从2008年第一部MCU电影《钢铁侠》(Iron Man)登上大荧幕起,过去的九年中,共有17部超级英雄电影上映,深受广大影迷喜爱,全球总票房突破 120亿美元

惊人的票房成绩离不开优秀的剧本和充满魅力的角色。编剧们在MCU中塑造了众多为影迷津津乐道的人物形象,例如靠机械战甲横扫一方的钢铁侠托尼·史塔克(Tony Stark),因为意外被冰封七十年的美国队长史蒂夫·罗杰斯(Steve Rogers),来自北欧神话的雷神托尔·奥丁森(Thor Odinson)等等。在之前的17部电影中有将近40位超级英雄登场,附带影片中的其他配角,一百多个角色共同构成了一张巨大的角色网络。

本文通过分析这17部电影中的角色社会网络结构,探究虚构的角色网络与真实的社会网络间的异同;角色网络是否具有随机模型特性,“小世界”特性,或者无尺度网络特性;并且利用链路预测的方法预测未来主要人物关系的发展。

选题背景

社会网络( Social Network) 是一群人的集合,集合中的每一个人都和集合中的另一些人认识。[1] 它由两个要素组成 ,第一是节点 ,第二是节点之间的关系。这种关系可以是单向的也可以是双向的。我们能基于公司、学校、甚至整个社会建立相应的社会网络模型。

社交网络分析(Social Network Analysis)分析社交网络内部成员之间的关系和相互作用,发现他们组织内部的结构、特征、行为模式和人格特征[2]。它给人们提供了一种可计算的分析方法,去理解各色社交关系的行程、行为模式以及信息传播规律。社会网络分析在社会学、经济学、以及其他科学中有着重要的地位。它自身无法作为一个研究领域单独存在,但是能作为一种研究方法去研究其他领域的问题。与传统社会研究不同,社会网络分析并不注重个体性质,而是将关注点集中在个体间的关系以及互动上。

对于本文要研究的角色社会网络关系而言,节点就是出场的各个角色 ,而角色与角色之间的关系则根据是否有共同出场的片段进行定义,两个角色出现在同一个片段中则认为有关系,反之,则没关系;两个节点合作的片段数目越多,关系就越强。虽然人物之间的交流是有向的,但由于本文是通过共现出场的片段定义人物间关系,所以漫威人物关系网是无向网络。

人们对于社会关系的认识经历了一个漫长的变化。1959年Paul Erdős和Alfréd Rényi率先提出了随机网络模型(Erdős–Rényi model)[3],他们认为社会网络中节点(人)的数目是固定的,每个节点(人)都和其他节点(人)有相同的概率建立连接。

紧接着,在二十世纪六十年代, Stanley Milgram提出了 “六度分离”理论。根据该理论,最多通过五个人就能够认识任何一个陌生人。为了证明这个理论,米尔格伦做过一次连锁信实验,实验表示只需要6步就可以联系任何两个互不相识的美国人。Duncan Watts和Steven Strogatz的“小世界”网络模型(Small world)[4]很好地解释了这个现象,他们发现有些网络同时拥有类似规则网络的较大聚类系数,和随机网络的较小平均最短路径,他们称这些网络为“小世界”网络。仔细研究网络,他们发现少数点占有了大多数连结,因此导致了看似自相矛盾的网络特性。在真实社会中,也是因为少数善于交际的人才保证了“六度分离”的成立。

到了1999年,Albert-László Barabási[5]在研究互联网的结构时发现只有极少数页面拥有极多的链接,这些页面数量仅占到总量的万分之一,而大多数页面只有不到四个链接。在研究节点的度分布后,Barabási发现度分布服从幂律分布,他将这一特性称为无尺度网络特性。

将社会网络分析应用在艺术作品上并不是一个新鲜的话题。早在1974年,Jacob L. Moreno[6]就开始研究角色A与角色B在舞台上共同出场的时间;同时离场的频率。南京大学的一位网友利用Hadoop分析15部金庸小说中的人物,并利用Gephi进行可视化[7]。一些学者则希望了解文学作品中的角色网络与现实网络的差别。莎士比亚的十部戏剧作品就被证明具有小世界网络属性,非常贴近现实网络[8];伊利亚特和贝奥武夫作为英雄史诗,被证明具有小世界网络属性以及无尺度网络属性[9]。

数据分析

本文从原始的漫威系列电影剧本中,提取出人物的共现关系,挖掘一个完整的人物关系网,并对这个关系网做处理,挖掘出主角并对人物进行聚类。

主要使用R语言中的dplyr、stringr、reshape2三个R包实现对原始文本处理提取并清理相关信息,依据共现关系构建漫威角色关系图,利用igraph包对人物关系图进行网络中心度分析;在此基础上使用Gephi[24]进行网络可视化。

共现分析是从一定规模的数据中提取感兴趣有意义的内容。电影有不同的场景片段组成,本文假设如果两个角色在同一个场景中同时出现,则这两位角色就互相认识,共同出现的场景越多,则共现关系越紧密,邻接矩阵中对应的值越大,两个节点之间的边越牢固稳定。

本文利用中心性、居间性和PageRank值三个指标来衡量各个角色在网络中的重要程度;利用平均聚类系数、平均路径长度以及模块性指标衡量不同网络模型间的差异,探究虚构的角色网络与真实的社会网络间的异同。

本文采用的网络数据采集方法主要来源于剑桥大学的Evelina Gabasov博士对于 星球大战 的角色社会网络结构分析。

观察剧本结构,提取角色共现关系

首先,需要找到这17部漫威电影的剧本。由于迪士尼影业没有公开所有电影的相关剧本,所以本文的数据主要来自三个渠道:官方剧本(3部)、网友整理(10部)、自行摘录(4部)。本文在wikia[25]上找到了热心网友整理的相关剧本。网友整理的剧本主要包含了角色、对话以及相关的场景转换。

图表 四-1《美国队长1》剧本截图

图表 四-1《美国队长1》剧本截图

图表 四-1是《美国队长1》的剧本截图,截图中涵盖了三个场景。[]中的内容表示场景转换。冒号前是角色姓名,冒号后是对话。很容易发现本文可以使用[]作为场景划分的标志,以此分割场景。 这个例子中的共现关系可以简单地表示为:

图表 四 2 《美国队长1》剧本截图中的共现关系

图表 四 2 《美国队长1》剧本截图中的共现关系

按照此方法可以使用R语言的igraph包快速总结出整部《美国队长1》的人物关系结构图。

图表 四 3 《美国队长1》的人物关系结构图

图表 四 3 《美国队长1》的人物关系结构图

利用Gephi分析网络

Gephi是一款开源免费的复杂网络分析软件。它支持多种布局算法,可以按节点属性进行渲染,并允许以xlsx格式导入边列表。本文中使用的Gephi版本为0.9.2。

边列表文件的要求如下:

第一行为属性名。属性名称可以自定义,必须包括Source,Target,Type三个属性,表示源id,目标id,是否有向。

图表 四-4 导入Gephi的邻边数据截图

图表 四-4 导入Gephi的邻边数据截图

能通过Gephi内置的函数快速便捷地了解到一些图的基本统计量。

表格 四-1 漫威电影人物关系图的基本统计量

表格 四-1 漫威电影人物关系图的基本统计量

由此可知,基于17部电影剧本提取出的数据中一共包含了424位人物角色;角色之间的关系有1332条;平均每个人物与超过六个角色有过言语交流;平均聚类系数较大,人物角色间相识程度高;平均路径长度较小,角色和任何其他陌生角色之间所间隔的人一般不会超过三个,也就是说,平均通过三个角色就能够认识任何一个陌生角色;模块化程度高,角色间有着较强的网络社区结构。

由Gephi的‘数据资料’板块能详细得到每个节点的统计量信息。

中心性指标排名前十的角色名单如下表所示,钢铁侠Tony Stark作为漫威电影宇宙的‘主心骨’领跑首位,美国队长Steve Rogers,黑寡妇Natasha Romanoff,绿巨人Bruce Banner等初代复仇者联盟成员紧随其后;James Rhodes作为Tony Stark的好友也有幸上榜。

居间性指标排名前十的角色如下表所示。排名前几位的有Tony Stark, Steve Rogers, Thor, Peter Parker, Stephen Strange, Bruce Banner, Scott Lan。他们作为拥有独立系列电影的角色,又在群像电影中出镜,起到了连接其自身单人电影人物与其他角色的桥梁,因此上榜毫不意外。

表格 四-2 中心性与居间性的Top 10角色名

表格 四-2 中心性与居间性的Top 10角色名

PageRank值排名前十的角色如下表所示。可以发现上榜角色与中心性排名前十的角色有很大的重合,因为上文中提到无向网络的PageRank值和节点的中心性比较接近。但是由于节点的中心性差异较大,所以排序略有不同。比如说James Rhodes虽然中心性排名第四,但是PageRank值却不如Bruce Banner和Peter Parker高。这可能是因为一位角色的PageRank值不仅考虑和他/她相连的角色数目,也考虑了相连角色的PageRank值大小。Rhodes虽然与很多其他角色有过交流,但是他的相邻节点的PageRank值大多数不高。

表格 四-3 PageRank值的Top 10角色

表格 四-3 PageRank值的Top 10角色

角色社会网络的社区侦测

在角色社会网络中,社区代表者一群彼此互动关系密切且有着共同立场的人物,可以理解为一类具有相同特性的角色集合。

从数学角度看,社区是一个成员间彼此紧密连接(densely connected)且与其他社区的成员连结较为稀疏(sparsely connected)的子图(subgraph),而社区侦测的目的就是自动地找出存在于一个社会网络中的所有网络社区。通常人们使用模块化程度(modularity)来衡量一个社区的好坏,也使用模块化程度判断某特定他们是否属于同一社群以及用户与其他用户之间的相关性。

在解析度为1.0的情况下,Gephi内置的模块化函数把漫威角色网络中的424位人物角色分割为16个社群。其中规模比较大的几个社群分别是

  • 社群 1(Com 1):多为《美国队长:初代复仇者》中的角色,美国队长Steve Rogers和一战时期他的战友

  • 社群 3(Com 3):角色多在《美国队长3:内战》中出场,诸如黑寡妇Natasha Romanoff,蚁人Scott Lang,反派Helmut Zemo;但也有《美国队长2:冬日战士》中首次登场的冬兵Bucky Barnes和反派Alexander Pierce

  • 社群 8(Com 8):多为《雷神》三部曲中的角色,以雷神Thor,恶作剧之神Loki为主,附带了在《雷神3:诸神黄昏》中抢镜的绿巨人Bruce Banner

  • 社群 10(Com 10):多为《钢铁侠》三部曲中的角色,有钢铁侠Tony Stark和他的好友上校James Rhodes,女友Pepper Potts

  • 社群 14(Com 14):“银河护卫队”世界中的角色,以星爵Peter Quill位中心,包含银河护卫队中的其他队友小浣熊Rocket,格鲁特Groot和反派Ego等

图表 四-5 漫威电影的社群比例图

图表 四-5 漫威电影的社群比例图

角色网络的可视化

为了使图看起来更易懂,本文利用Gephi内置函数,基于模块结果调整节点颜色、PageRank值调整节点大小,以及使用ForceAtlas 2算法调节整张图的布局。

模块化和PageRank前文已经介绍过,在此介绍本文选择的力导向分布——ForceAtlas 2布局方式。

力导向分布主要应用于各类无向图,它的目标是减少布局中边的交叉,尽量保持边长一致;引入斥力和弹力,考虑阻尼衰减。根据力的作用,来计算节点和边的运动轨迹,并不断降低图中所含的能量,最终达到一种能量很低的状态[26]。

ForceAtlas 2作为一种力导向布局,通过模拟物理系统来空间化网络。在ForceAtlas 2布局的图中,每个节点都像充满了正电荷的粒子一样互相排斥;而图中的边则向弹簧一样相互吸引。网络中的弹力与斥力会收敛到一个平衡点,这个最终的平衡点会帮助本文解读数据。ForceAtlas 2布局仅与节点之间的边有关,与节点以及边的属性无关。这个布局的一个缺点是布局的最终形态与网络的初始状态有关,布局结果不是肯定的,可能陷入局部最优的陷阱。[27]

下图是用Gephi渲染的漫威电影宇宙角色网络。重要的节点尺寸更大,并且相互之间靠得越紧密。权重大的边则比权重小的边粗。当我们局部放大图片时,节点的标签也能清晰看到。

本文可以发现有小部分节点并没有和主要角色网络相连,比如右上角的“银河护卫队”社群。这一现象在其他文学作品中也有出现,比如说荷马史诗《伊利亚特》和雨果的《悲惨世界》[28]。尽管漫威电影宇宙出品了“钢铁侠”、“雷神”、“美国队长”等诸多情节平行发展的单人电影,因为有“复仇者联盟”作为群像电影串联剧情,所以整个角色网络并没有想象中稀疏。

漫威角色网络与小世界网络

小世界网络中只有少量的长程连接,相对于节点数量来说平均路径却很短。一般来说,小世界网络模型的特征是聚类系数C较大和平均路径长度L较小。小世界网络模型拥有的空间特征能用来区分小世界网络与其他网络模型:一个随机网络模型只会拥有较低的聚类系数,而纯粹的空间网络会有较多的长程链接,平均路径长度因而较大。

可以生成具有相同数量节点和边的随机网络,计算随机网络的聚类系数和平均路径长度,并且将之与漫威角色网络的参数做对比。如果两个网络的平均路径长度接近,但是随机网络的聚类系数小于漫威角色网络的聚类系数,则可认为漫威角色网络可能具有小世界特性。

表格 四-4 漫威角色网络与随机网络的拓扑参数对照表

表格 四-4 漫威角色网络与随机网络的拓扑参数对照表

利用igraph R包可以生成有424个节点,1332条边的随机网络,发现两个网络的平均聚类系数差异很大,但是平均路径长度却十分接近。因此漫威角色网络拥有小世界网络特性。

漫威角色网络与无标度网络

由于无标度网络的一个特性是节点的度数分布符合幂率分布,所以检验网络是否具有无标度特性的一个方法是检验其节点度分布是否符合幂律分布。

\[ P(k)=Ck^{-\gamma} \]

其中\(C\)是正则化系数,\(\gamma\)是幂律指数。由下图可以发现角色网络的度分布极度右偏。

图表 四-6 漫威角色网络的度分布

图表 四-6 漫威角色网络的度分布

对于上式做对数变换后可用线性回归的方法估计\(\alpha\)

\[ logP(k)=logC-\gamma logk \]

本文利用R语言中的igraph包对漫威电影角色网的度分布进行了估计,\(\gamma=1.7691\)。函数的估计方法是极大似然估计;同时对估计得到的幂律分布和原有度分布做Kolmogorov-Smirnov检验,\(p=.609>.05\),不能拒绝原假设,估计得到的幂律分布可能是真实分布。

图表 四-7 漫威角色网络度分布的幂律拟合

图表 四-7 漫威角色网络度分布的幂律拟合

链路预测

网络中的链路预测(Link Prediction)是指如何通过已知的网络节点以及网络结构等信息预测网络中尚未产生连边的两个节点之间产生链接的可能性[29]。这种预测既包含了对未知链接的预测,也包含了对未来链接的预测。

本文将运用节点相似性的形式来进行链路预测,通过对节点x与节点y的数对\(<x,y>\)打分得到\(s<x,y>\)来衡量节点间的相似性。可以认为相似性较高的节点比较“接近”,如果两“接近”的节点在原网络中没有邻边相连,则可认为他们可能有潜在边相连。[30]

在漫威角色网络中,如果两个角色的社交相似度较高,则这俩角色间也很有可能互相认识。在此,本文考虑了三种基于节点相邻点的方法来预测链路,分别是Common Neighbors(CN)指标,Adamic Adar(AA)指标和Cannistraci-Alanis-Ravasi (CAR)指标。

本文根据召回率(Recall)判断三种链路预测方法的好坏。召回率计算的是所有“正确被预测的链路”占所有“应该检索到的链路”的比例。它的计算公式是:

\[ Recall=\frac{True Positive}{True Positive+False Negative} \]

将原网络按照一定比例分割,一部分作为已知的网络样本预测链路,将预测结果与另一部分实际网络做比较,计算召回率。

图表 8 CN指标、AA指标、CAR指标与随机预测的结果对比

图表 8 CN指标、AA指标、CAR指标与随机预测的结果对比

根据图表可以发现,无论在什么分割比例下,CN指标、AA指标和CAR指标的预测结果都比随机预测得到的结果好;而在三种基于节点相邻点的链路预测方法中,AA的表现最好;在移除比例上,移除原网络中30%比例的链接得到的预测结果比较好。

表格 5 AA指标链路预测Top 10结果

表格 5 AA指标链路预测Top 10结果

AA指标预测的可能性最高的十条链接中,多数节点都参与拍摄过同一系列电影,归属同一个社群,但是没有一同出场的机会。这个结论侧面体现了AA指标是基于节点相邻点来预测链路的特性。

缺点与不足

台词较少的角色没能得到充分重视

由于从剧本提取角色的共现关系,所以剧本本身和对于剧本的处理方式决定了数据的质量。由于前文中定义了角色作为节点间存在边的前提是两人在同一场景内有过对话,那么在同一场景中没有说话的那些角色显然没有在网络中得到足够的重视。比如说《美国队长2:冬日战士》中扮演亦正亦邪反派的冬日战士Bucky Barnes就因为台词太少,所以中心性和PageRank值没有作为配角的猎鹰Sam Wilson高。

没有严谨地证明小世界网络就是小世界网络

至今都没有一个严谨的检验方法从统计学的角度证明一个网络属于小世界网络,本文所做的论证只是证明了角色网络可能具有小世界性。因为误差的关系,在生成随机网络时,结果也可能呈现“聚类系数较大,平均路径长度较短”的“小世界性”[33],所以还有待研究小世界网络的其他特性,以便将之与其余网络模型区分开。

结论与展望

社会网络分析有着不短的历史,从上世纪的随机网络模型开始,随着人们对于社会的理解逐渐深入,模型也越来越能反应真实社会的社交特征。近年来互联网的高速发展带动了新世纪的社会网络研究。

本文选取虚构影视剧中的角色人物作为网络研究对象并非新鲜事,莎士比亚戏剧、希腊史诗等作品都被研究人员利用社会网络分析工具量化解剖过。因为数据采集的原因,选取的是海外影视剧集,可能相对而言不那么接地气,希望之后对于中文的文本分析有了更深层次的感悟后能将中国的经典文学作品作为分析对象。

链路预测一个热门的话题,但是在操作的过程中发现,很多预测方法并没有在R语言平台中好好实现,而是在Python,Java等兄弟语言平台上有比较完善的包。希望以后有机会能将主流的链路预测方法发展到R语言平台,方便R语言用户探索这一领域。

致谢

在此特别感谢我的导师周迎春博士对于我的指导及帮助,给予我充分自由选取感兴趣的话题与领域研究,作为统计学毕业论文可能不那么“数学”,但是我写的很开心。

感谢华东师范大学2017级统计学研究生孙士清学长在我处理剧本一筹莫展时伸出的援助之手;感谢2015级本科生靳军同学与我一起熬夜讨论python的相关编程问题。

感谢剑桥大学的Evelina Gabasov博士,她对于《星球大战》系列中角色的社会网络分析启发了我选取这个题目作为本科毕业论文。

感谢父母无私帮助,支持我转专业来到统计学,鼓励我参加各类交流活动,让我在师大完成五年学业。

最后感谢迪士尼影业和漫威漫画公司,是他们在2008年另辟蹊径启动了漫威电影宇宙的计划,才让我在过去十年间欣赏了17部超级英雄大片,为MCU宇宙中的角色鼓过掌也流过泪。也要感谢十年间陪我观赏MCU电影的亲朋好友们。

“看一二三部电影,将四五六人放入心匣

这十年的旅程,经多少风吹雨打

不过是光影长河中浮沉的点滴细沙

看客都渐渐长大 故事在尘埃里风化

那海报栏中 明明是不同贴画

却又想起他”