鱼羊 发自 纽凹非寺
量子位 报道 | 公众号 QbitAI
“我每次觉得一个人是主角,他就死了!”
永远不知道谁会下一个领便当的《权力的游戏》迎来了最终季。就在昨天,在全球粉丝的热切期盼下,HBO播出了《权力的游戏》第八季第一集,这首冰与火之歌终于奏响终章了。
“凡人皆有一死”,道理我都懂,但主角到底是谁?大概每一个权游粉都想抱住马丁老爷子的大腿求大(keng)神(wang)给个准话。
其实想要知道这个答案,或许机器学习还更靠谱一些。AI都窥见了哪些机密?此处红灯警告:以下内容是机器学习分析出来的,但内含剧透!内含剧透!内含剧透!
龙妈非中心,囧雪是主角
虽然小说还坑着,但《权力的游戏》剧集已隐隐透出三龙之势,权游粉中目前最主流的观点,就是丹妮莉丝、琼恩、提利昂为龙的三个头。
但机器学习似乎不太认同这个观点。
有个名叫 Peter Vesterberg 的小哥哥用机器学习的方法对《冰与火之歌》系列小说进行了文本分析。可以看到,龙妈的戏份到了第五部《魔龙的狂舞》才有了显著提升。而在第四部《群鸦的盛宴》当中,虽然三人都没有POV章节,但囧雪和小恶魔在别人的视角里戏份还挺多。
Peter还进一步对人物之间的关系进行了挖掘。
很显然,AI认定囧雪就是主角中的主角,毕竟啥也不懂还能死而复生,凭着一脸正直就撑到了最终季,在维斯特洛大陆实属不易。
其次是兰尼斯特两兄弟提利昂和詹姆。狮家的粉丝这回可开心了,虽然家有猪队友,拦不住两兄弟实力优秀啊。
至于龙妈,榜单上甚至没有她的名字。
AI从百万字文本当中窥见了故事的发展脉络,不过,这也可能是马丁老贼在诱敌深入,坑人不见血这招,怕是AI也轻易躲不过。
波隆登死亡榜第一名
Winter is coming,异鬼大军来袭,下一份便当发给谁,或许比谁是主角更让粉丝揪心。
慕尼黑工业大学(TUM)的权游粉丝们用机器学习预测了最终季人物的死亡可能性。
不幸登上榜首的竟然是深谙生存法则的波隆。佣兵波隆凭借跟兰尼斯特两兄弟的互动人气一路飙升,对阵龙妈一役弯弓射大龙的表现可谓吸粉无数,更不用说他舍身救詹姆给观众带来的震撼。
这位能登上维斯特洛毒舌TOP榜的黑水河爵士在AI眼里死亡可能性高达93.5%,让人不经担忧要是没有了波隆,谁还能胜任骑士吐槽第一人的角色呢?
而史塔克家族似乎要继续担纲最惨家族一角,开局没多久就家破人亡的狼家又有两位上榜。“群狼生,孤狼死”,这可让囧雪这个大主角怎么活。
除了死亡榜,还有生存榜。
对比狼家,狮家简直是AI真爱。继主角认定之后,AI又表示,小恶魔和詹姆都最不可能狗带。看来狼家在这场狮狼大战中是全面落败了呀。
看了这些分析,可能有人会质疑,AI可别是张口就来。那么AI到底是怎么得出这些结论的呢?
数据分析+网络理论,找出真主角
在谁是真主角的分析当中,Peter主要使用了三种方法来对《冰与火之歌》进行数据分析:
- 通过测量词汇多样性来评价词汇的丰富度
- 故事主线的人物足迹和词频分析
- 运用网络理论计算角色的重要性
文本处理是由Python来实现的。NLTK用于自然语言处理,Seaborn实现可视化,Networkx进行网络计算。
人物足迹和词频分析
《冰与火之歌》的章节是通过不同的视角(POV)呈现的,选择主要的POV角色名,就可以绘制出单词分散图,从而了解到这些名字都在小说中的哪个部分出现过。
而词频分析则为《冰与火之歌》正名,冰与火的主题词可不是【和谐】和【和谐】,这是一个围绕着“死亡”(1690次提及)、“血(缘)”(1629次提及)和“爱”(703次提及)的故事。
网络理论
对于《冰与火之歌》这样拥有两千多个出场人物的巨著来说,人物之间的相互关系推动着故事的发展。
Peter引入了网络理论来描述角色之间的关联性。
以这个句子为例,Eddard(奈德·史塔克)和Jon(琼恩·雪诺)之间隔着4个单词,因此在故事里他们是“相近”的。
两个名字越相近且越频繁地出现在一起,就可以假设在故事中他们彼此交织,构成一组名称对。
使用一个包含25个单词的窗口并计算此窗口中所有名称对共同出现的次数,就能得到这组名称对的“权重”。
引入网络理论,判断一个角色与其他角色的关联性主要用到了四个关键概念:
- 度中心性——与该节点直接连接的节点占节点总数的比例
- 接近中心性——对于一个结点而言,它距离其它结点越近,那么它的中心度越高
- 中介中心性——量化该节点充当其他两个节点之间最短路径的桥梁的次数
- 特征向量中心性——一个节点的重要性既取决于其邻居节点的数量,也取决于其邻居节点的重要性
鉴于作者倾向于以稳定的速度杀死关键人物,Peter认为中介中心性更有参考价值,它能衡量杀死一个人物的难度。
可以看到网络理论认为龙妈处在边缘位置,重要性不仅不如囧雪和小恶魔,甚至连二丫也没比过。
机器学习实力预测死亡率
慕尼黑工业大学(TUM)的团队则是双管齐下,用两种方法来预测角色的死亡概率。
一个方法是从冰与火之歌和权力的游戏的维基百科中提取角色特征数据集,使用pymc3封装的MCMC方法来训练BAYESEAN生存分析模型。
另一个方法是在Python的Keras框架下训练神经网络。比起BAYESEAN生存分析模型,神经网络能够囊括更多“意外”死亡。
具体的训练方法他们写在了这个项目的官网中,而权游里每一个角色的死亡百分比也都可以在官网中查询到。想知道自己关注的角色会不会活到最后,熬夜追剧的同时,不妨也看一看机器学习的结论吧~
传送门
TUM:
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态