扒了人物关系图谱才明白,《冰与火之歌》为何是个好故事? | 互联网数据资讯网
当你看冰火的时候,你在看什么?
作为一个《冰与火之歌》的资深迷弟,看到如今的冰火电视剧完全脱离书本进度,在第七季里更是抛弃了原作诡谲多变的气质,开始转向画风浮躁、强调血脉喷张效果的好莱坞大片风格,这让我一个原著党深感不满。
在起初追剧的时候,平心而论,我对其中华丽的战争场面、香艳镜头(此处“少儿不宜”)以及高傲的中世纪骑士文化最感兴趣。但随着剧集的发展,我的重心逐渐转向了其中形象丰满的人物身上。他们隐秘的复杂感情、斗智斗勇的角逐、诡谲多变的选择以及背后神奇的魔幻设定,都让我心旷神怡。遂从剧党倒戈书党,弃暗投明。
( 图片说明:宏大的战争场景是冰火这部戏最大看点之一,囧雪复活后的这场私生子大战,高度还原了中世纪步兵、骑兵、弩手配合作战的史实,令人窒息的逼真程度令人惊叹不已。)
电视剧在前五季其实是忠于原著的,但是到了第七季,夜王突变奥运会标枪选手;原最强谋略家小指头堕落为北境第一大混子;囧雪和姑姑突然被爱情撞了一下腰;维斯特洛大陆上到处都是“任意门”…….
(图片说明:由于受电视剧长度的限制,在第七季的冰火中,编剧为了火速推进剧情,抛弃了大量的伏笔和细节,导致bug无数。Instagram等社交网络出现了大量网友自制表情包,讽刺剧组的这种省事儿的做法。图为讽刺囧雪的叔叔班扬史塔克,在第七季第六集莫名其妙地出现然后又牺牲的桥段。图片来源:Instagram @thronesmemes)
对于HBO这种做法,我除了在社交网络上发帖讽刺以外,却也不禁扪心自问:在编剧们已经放弃观众智商的情况下,我为什么还要追剧呢?想来想去,答案只有一个:《冰与火之歌》讲述了一个好故事。因为在看冰火的时候,我并不只是看打仗、香艳、CG的镜头,更吸引我的是这一整个充满血和肉的史诗故事。
那么问题来了,冰火作为一个公认的“好故事”,它的秘诀究竟在哪里呢?
尤瓦尔·赫拉利在《人类简史》中说:人类在演化中获得的讲故事(即描述虚构事物)的能力,是他们称霸世界的关键。人类天生爱听故事,而故事的核心则源于人本身。我认为冰火作为一个好故事,关键就在于其塑造的一个个真实可感的人物形象。所以,我决定从人物入手,分析一下冰火的故事套路,为自己下次吹水“打下坚实的理论基础”。
先亮出我的结论。要写一个好惊奇故事,冰火告诉你,要遵循三原则:
- 让“主角”意想不到地死亡
- 给“配角”连珠成线地加戏
- 让“阵营”有理有据地反转
本文我主要从文本数据挖掘入手,使用了“社交网络分析”的模型和方法(具体操作细节见附录1说明),代码用R实现。数据源为已出版的五本英文《冰与火之歌》小说。
“哎哟我去,主角领便当了!”
当我们刚开始看冰火的时候,相信很多人都和我一样,以为狼家的Edd Stark是这个电视剧的主角,结果到第一季末尾,“哎呦我去”!咔嚓,被抹了脖子。
然后Edd的大儿子Robb领兵起义,揭开了五王之战的帷幕。我以为:“啊,原来子承父业,Robb才是真主角!”结果到了第三季末尾,“哎哟我去!”咔嚓,狼少主带着媳妇、老娘,一起被抹了脖子。
然后,一路上各色“主角”不是被抹脖子,就是在被抹脖子的路上。“主角便化当”成为了这个剧开始超神的最大利器。
不过,这只是读者们的直观感受而已。这里面有两个问题:第一,你们以为的主角真的是主角么?第二,大部分故事中,主角有光环的设定是有道理的,因为故事线一般都在主角身上,一旦主角人物死了,故事就没载体继续了。那为什么冰火敢这么“抹主角脖子”呢(想想看,如果工藤新一当初在娱乐场被一棒子敲死了,柯南估计连载不了十几年吧)?
Edd和Robb当然不是真主角。
我统计了已出版的五本书的英文原文,检索了所有出现人物的名字(附录2)。如果两个人物的名字一起出现在14个单词以内,我就认为人物A和人物B有了一次交集,就会在他们之间连一条线(附录3)。然后依据这些人物关系绘制了下面这张《冰与火之歌》社交网络图:
(图片说明:点的大小代表角色的点度,即出现频次;颜色代表walktrap聚类的结果;线的粗细代表联系的紧密程度,颜色与聚类方式一致。聚类问题将在本文第三部分具体讲述。)
这张图可以清晰地看出原著系列的主要角色。囧雪Jon和小恶魔Tyrion,Stannis,Robb,Robert,Jamie,Cersi的圆圈都很大,而且关系网络密集。相比之下,Robb和Edd就比较小了,而且与他们相似大小的角色还有辣么多,显然他们并不是真主角。
这里面还有一个有趣的点是三眼乌鸦Bran。虽然他的圆圈不大,但是与他相连的关系线都很粗,说明Bran的故事线非常集中在某几个人身上,非常呼应他的特殊使命角色。
我们再进一步细化一下主角们之间的人物关系。我用了社交网络分析中最简单计算中心度(Centrality)的方法对主要角色们进行了对比。点度(Degree)表示对于某一个角色A,有多少角色和他有距离为1的直接联系;亲密度(Closeness)表示对于某一个角色A,他与所有角色联系的最短路径的均值;连接度(Betweenness)表示对于角色A,有多少对其他角色的联系必须通过它才能传达。得出的结果如下:
(图片说明:对106个所选角色进行中心性(Centrality)计算,然后对计算结果进行标准化处理,得出排名前20的角色名单。)
对比这三个主要指标,这么看,Jon和Tyrion已经把其他人远远甩在身后。虽然在看书的时候,我也已经隐约猜到,但是从数据看,还是更加深了我的判断——他们才是真主角啊!(附录4:咦,龙母Daenerys怎么排名这么靠后?) 狼爸、狼少主、鹿国王等人虽然排名也很靠前,但是与他们相似的角色还有很多。所以你们就安心的领便当吧。
既然狼爸Edd他们不是真主角,为什么我们还会对他们的死感到惊讶呢?
这也许与老马丁的写作方法有关。冰火采用的是POV视角写法,每个章节都是以一个角色的视角来叙述的,而Edd是第一本书的最主要叙事者,占了18.5%的篇幅,很容易让人误以为他是主角。
“龙套哥,这里有个主角,你来客串一下”
不过,虽然不是主角,但是Edd好歹也是主要角色之一啊,怎么敢说砍就砍呢?
这就涉及到了第二个原则:给配角们连珠成线地加戏。
让我们挑一个我最爱的配角看一下——美人Brienne。
(图片说明:与Brienne有关的社交人物关系图)
Brienne是剧中骑士精神的典型代表,可以说是黄金配角了。作为一个配角,你可以从图中看出他的人物关系是多么复杂,与狼家、鹿家、狮家都有联系(期待与詹姆的爱情戏)。在电视剧里,他与其他配角猎狗、野人托蒙德等的对手戏也让人津津乐道。
另外,敢砍主要角色,马丁老爷子依托的是庞大复杂的人物线——少你一个根本不影响叙事。比如说,我们去掉上面那张图里的已经抹脖子的角色,看看这张关系图有什么变化。
(图片说明:把已知死亡角色删去后的社交网络图)
答案是变化不大,即使去掉了这些最主要的连线,整个社交网络仍然是一个整体,整个冰火的人物关系网络还是清晰、密集、复杂的。更重要的是,我么能更清楚地看到谁可能是真正的核心人物了(囧雪?小恶魔?)。
所以回到我们刚开始提到的主配角问题:看到这儿,我想你也明白了:虽然凡人必有一死,但是死的确实都是“凡人”啊。
另外,只有网铺的够大,才能在制造“惊吓”的同时不影响主线叙事。然后,让所有的配角也形象丰满、散发光彩,是这个故事好看的又一重要原因。
“我以前没的选,现在我想做个好人”
最后一个原则:让“各阵营”有理有据的反转。分阵营、反转永远是观众最喜欢看的戏码之一。阵营能够有效梳理庞杂的人物关系,制造足够有冲击力的戏剧矛盾;人物的反转则可以丰富角色形象,从多方面的减轻文艺作品中角色脸谱化问题。
来看看冰火是怎么做的。
在我们最开始的全角色社交关系网络里,共有106个角色节点,1254条人物联系,65024层关系链条。网络直径Diameter为4,密度Density为0.225(附录5)。从整体来看,这是一个不错的社交网络,说人话,就是这个网络连通度发达,但是内部仍然有分离的可能,并不是浑然一体。所以,接下来,我们就用Walktrap算法对网络进行聚类(附录6),聚类的结果如下图所示:
( 图片说明:Walktrap算法将106个角色主要分成了5类,modurality为0.38,分别用不同的颜色标出。)
在聚类的结果中,可以看到角色们基本按照剧情发生的地理位置被归类。以囧雪为代表的守夜人故事线(黄色);狼少主、小剥皮代表的北境故事线(紫色);布兰代表的长城之外故事线(蓝色);龙妈代表的海外故事线(橙色);以及最大最密集的小恶魔、瑟后、詹姆、三傻、斯坦尼斯为代表的君临故事线(绿色)。
冰火对于分阵营的套路是一个典型的分总模式。在最大聚类里(绿色),几乎聚集了狼、狮、鹿、龙等各大家族的核心人物,还包括小指头、瓦里斯公公等独立角色。所以君临故事线是冰火各色门派博弈的主战场, 各阵营的冲突在这里集中地发生。同时,围绕君临,还有其他四个其他阵营。
至于角色的反转,如果再把上图加一个时间维度,则角色反转的效果就更加清晰了。(附录7)例如小恶魔的俄狄浦斯式转变。由于时间原因,这一部分就不再详述,大家可以代入一下猎狗、詹姆的经历感受之。尤其是当你看到第七季詹姆单骑屠龙的镜头,人们感叹他骑士精神的冲锋时,已经忘记他也曾经犯下一手将布兰摔残的罪。如今他想做个“好人”,那当然是选择原谅詹姆啦。
“野鸡版”剧透预警—— 冰火大结局
百闻不如一见,百说不如一练。鉴于我用视角网络分析的结果,我秉承老马丁的写作套路,提前为大家草拟的一份“大结局”。
我预测,在剧集结尾,长城轰然倒塌,异鬼大举入侵。所有维斯特洛的城市居民开始抗击异鬼,最后退守君临,进行君临保卫战。君临融合所有家族和角色,各家族暂时放下成见,一致攘外,暂停安内(聚拢阵营,对外反转)。
(图片说明:HBO已经放出了最终季的海报,图中夜王骑着龙爬上了长城。异鬼最终突破长城大举入侵的情节,应该已经不难预测了。)
在战斗过程中,黄金配角山姆通过科学研究,发现异鬼重要弱点,在最后关头引导囧雪、小恶魔和龙妈等人类对抗异鬼的主力军,最后艰难地取得胜利。(配角的故事线要发挥重要作用)
但胜利的代价是如此之大,以至于他们最终全部力战而亡(没错,全都要领便当,因为反正要完结了,当然更需要意想不到地死亡了!)。
人类虽然最终击退了异鬼,但是内部的纷争再起。各大家族又开始为了权力而无休止地争斗。绿先知布兰在洞悉了这一切后,终于看透:不论时间过多久,人类总会重复犯下相同的错误,这是一个终极西西弗斯困局。人类始终无法相互理解,能让他们停止争斗的方法就只有一个,那就是适时再次从外部施加压力,让一切从头再来。
于是他用魔法重新筑起长城,然后,自己走出长城之外,将龙晶插入了自己的心脏,变身成为新的夜王。
“凛冬将至。”
(感谢东莞熊女士对本文的技术支持)
附录
- 社交网络分析(Social Network Analysis)是指基于信息学、数学、社会学、管理学、心理学等多学科的融合理论和方法,为理解人类各种社交关系的形成、行为特点分析以及信息传播的规律提供的一种可计算的分析方法。社交网络(或社会网络)的概念在1954年由J. A. Barnes最先提出。
- 在分词统计人物关系时,我手动修改了两个参数:第一是人物代号,例如Tyrion在剧中还经常被称作小恶魔(Imp)、侏儒(halfman)等,我将其统一为官方名称,统一的标准参考冰火维基;第二是边缘人物,在全书中有全名的角色过多,我手动删除了其中关系数过小的人物,最后保留了106个核心人物。
- 统计人物关系的方法来自于Andrew.J.Beveridge教授,他是玛卡莱斯特学院(Macalester College)数学系副教授。2016年的时候他与他的学生Jie Shan就用网络科学分析了《冰与火之歌》的人物关系(Network Of Throne),但是数据样本仅仅是第三卷A Storm of Swords。我增加了样本量,将统计范围扩大到了已出版的全部5卷。Andrew教授用的是15个单词的标准。我统计了全书文字,发现全书平均句长约为14个单词,于是将范围修改为14。
- 从主观感觉来说,龙妈Daenerys确实是书中最重要的角色之一。但是数据的统计结果并没有显示出来。主要原因是龙妈常年在维斯特洛大陆以外的地区活动,与主要角色们的交集过少,所以在统计中不算显眼。使用Pagerank算法的话可以有效减少地域的影响,但是本文没有更深入探讨。
- Density网络密度,即刻画网络中节点之间联系的密集程度,数学意义为网络中实际存在的边数与可容纳的边数上限的比值。
- Walktrap算法是一种随机游走算法,基本的聚类思想是:从一个顶点向下一个顶点移动时,以相等的概率来选择当前顶点的一个邻居作为下一个顶点。
- 由于时间有限,就没有添加时间维度的分析。Teradata数据网站的作者们在这方面做了一些研究,他们以冰火中大事件为时间节点,进行了时间序列的相关分析。虽然主题是预测角色死亡,但是方法值得借鉴。
- 本文数据处理和分析部分使用了R和python完成,涉及到的主要package是igraph。为了避免重叠效果,最后社交网络制图用gephi呈现。更多的分析过程、数据、代码,已经保存在github中,欢迎一起探索研究。