这个世界上只有两种人,看「权游」(权利的游戏)的,和不看「权游」的。
你们心心念的权游终于迎来了最终季,狼家史塔克的家训「Winter is coming」终终终终终于是应验了,人类与异鬼的战争一触即发。各个主要角色的生死存亡你猜得到吗?
![0ae16dd21334033d427fd44a1399b155.png](https://i-blog.csdnimg.cn/blog_migrate/7f912b51673baaf911a7ac81b444683e.jpeg)
▲这个深刻诠释「凡人皆有一死」的热剧,扑朔迷离的剧情让观众对终局望眼欲穿
难道只能在一集集看完之后,才能知道你们牵挂的二丫会不会幸存,色后又会不会被二丫手刃?
面对这份煎熬,总有人按捺不住。比如,热爱代码的程序员们,就用算法分析权游里的故事,预测了角色的生存概率,以及谁最有可能登上铁王座。
有趣的是,不同的算法和团队,预测的结果大相径庭。比如慕尼黑工业大学(TUM)团队的算法,预测最终龙妈登上了铁王座;而另一种算法下,龙妈没能活过寒冬。
另外,还有一种神奇的「算法」是:Men all die.
所以,哪家预测的结果准确?各家都有各家的依据,看看他们都怎么做的。
01 机器学习预测龙妈要活到最后
TUM 的学生在计算机科学研讨会上做了一个有趣大胆的尝试:用数据科学和机器学习的方法,去预测权游中角色最后的存活机会。在「权力的游戏」第八季上映之前,算法就预测出各个角色的命运。
![623f5606fc2b6ff84342c6ca7ee0a341.png](https://i-blog.csdnimg.cn/blog_migrate/d7720ebc4e5770c1e7b05d19517b3319.jpeg)
▲左:生存率排行榜,右:死亡率排行榜
这份结论中,龙妈存活的几率最高( 99% ),她的国王之手小恶魔也有 97% 的存活率。难道是龙妈最后统领了各大家族?而狡猾又善于自保的波隆以 93.5% 位居死亡顺序的首位。
这个结果从哪儿得来?
TUM 团队的分析数据是从《冰与火之歌》的书中,权游的台词里,以及粉丝圈在维基百科上的内容搜集而来。用于预测的信息包括:角色所属的家族,是否已婚,以及他们的盟友等情况。
他们提取了数百个角色的特征数据集,梳理了故事中角色的信息。除了诸如性别和地位等数据外,还考虑了元数据信息:比如某人是主要角色还是次要角色,以及他们在维基百科等渠道中被引用的频率。
通过这些数据,利用算法分析,揭示出了关于权游中死亡率的一些趋势,例如男性比女性更危险(男性死亡率 22%, 而女性为 11% )。
在预测趋势的同时,为了对每个角色的命运进行预测,团队使用了两个单独的模型:第一种是贝叶斯推断方法,使用 pymc3 封装的 MCMC 方法来训练贝叶斯生存分析模型;第二个涉及机器学习和神经网络,在 Python 的 Keras 框架下进行。
![2b79d9ee3abeb4eb674a50d74a87ac3f.png](https://i-blog.csdnimg.cn/blog_migrate/0f9696f1c7c035f6488bbc2692d8e203.jpeg)
▲铁王座还是死亡,到底谁说了算
学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料、视频
他们的工作或许会有些效果。早在 2016 年,在第 6 季播出之前,TUM 同一课程的学生就创建了一个算法,准确预测了囧诺的复活。
02 利用文本分析:龙妈要狗带?
你要相信,有同样好奇心的人,肯定不止一位。
另一位数据科学家 Peter Vesterberg 通过对原著小说的文本分析,去预测最终季的剧情走向。
Peter 认为剧情的走向是人物间的关系所支撑的,通过分析了《冰与火之歌》已经出版的五本书,使用网络理论计算出角色间的相互关系,用可视化的方式呈现出来,综合人物的重要性判断最后的存活几率。
他用一个点来代表人物,根据冰火故事中的文本,利用词性标注,相似度度量等方法,定义了角色之间的「接近」程度,越接近和越频繁地出现两个名字,他们的联系就越多。
判断一个角色与其他角色的关联性的方法,主要用了四个关键概念:
- 度中心性——与该节点直接连接的节点占节点总数的比例;
- 接近中心性——对于一个结点而言,距离其它结点越近,那么它的中心度越高 ;
- 中介中心性——量化该节点充当其他两个节点之间最短路径的桥梁的次数 ;
- 特征向量中心性——一个节点的重要性既取决于其相邻节点的数量,也取决于其相邻节点的重要性。
通过这些概念的分析,得到关系值的「权重」数字。最终得到一份关于人物关系的图谱,线条的粗细表示了人物联系的紧密程度,最后的结点大小代表了角色的重要性。这份重要性指标也显示了会被作者「除去」的可能。
![f163707aeae7f3af704c71d7f223dcc7.png](https://i-blog.csdnimg.cn/blog_migrate/81d066af4dc11478bfcb42f805cf89a7.jpeg)
具体的指标排名如下:
![6ef7de68b3eaeeb45da3d03eafb2484d.png](https://i-blog.csdnimg.cn/blog_migrate/1659bc56f07f1b4b6f1cb57dc3811bbc.jpeg)
▲四个分析指标的具体排名数值,囧诺( Jon )都是领跑
在这样的分析下,囧诺毫无疑问是最重要的角色,难道这个生于龙家,长于狼家的疑似 RMB 玩家,最终会登上铁王座?重要程度紧随其后的,是智力担当小恶魔和弑君者詹姆。
从网络理论的角度来看,龙妈丹妮莉丝似乎是前期撒币太多,后期估计是金币不够,只是处在关系网的边缘,看来大概率是要凉了。
03 预测不只是为了娱乐,更是拥有现实意义
对于结果迥异的不同算法,到底哪个更胜一筹,我们不得而知,也许只有在大结局到来时候,才能知晓。但他们使用的方法,都不只是闹着玩,而是拥有实际的利用价值。
TUM 开发的生存几率算法,来自于一个严肃的学习项目。他们设立这项课程的主要的目的,是帮助学生将学习如何设计,开发和部署智能计算机系统。
该项目的首席导师 Guy Yachdav 博士说:「虽然预测权力游戏人物生存机会,依赖于从幻想世界中获取的数据,但在现实世界中,使用完全相同的人工智能技术,也会对我们的日常生活产生重大影响。」
![1dbc1e12a4d4773fb7e1d9f96e0320c3.png](https://i-blog.csdnimg.cn/blog_migrate/8f879031e149e75ebd1c24413f36c861.jpeg)
▲Guy Yachdav 博士在 TED 演讲中介绍预测算法能够解决现实世界中的问题
负责 TUM 信息学系生物信息学主任的 Burkhard Rost 教授说:「激情与教学的结合是创造新工具的绝佳方式。在 TUM 的课程中,我们找到了这种有趣的方式,去教学生如何使用这项技术。」
目前,在现实世界中,类似的算法可用于医学和金融,例如使用综合信息分析预测健康情况 。这种技术类似于分析研究治疗方法或并发症对癌症患者的影响。
而对于数据学家 Peter 所做的事情,除了分析角色的存活,还从数字的角度去分析了「冰与火之歌」小说的各种书写规律,用数据去解析一本小说的元素。
也许,掌握这一模式之后,未来小说家和编剧就可以使用人工智能快速地生成新内容,这样就不会眼睁睁看着马丁大大一直补不上的坑了。
04 想预测「复联」最后活下来的英雄吗?
热闹的 4 月,似乎又是一个落幕的季节,除了权游最终季,复仇者联盟也要在下周三迎来大结局,想必很多人还没从灭霸那个响指中缓过来,那个非要安静看落日的狠人,就那么随机毁灭了一半的宇宙。
这个任性的死亡速度,估计 AI 也无法预测出来了。但是,如果你还是好奇心太重,想自己动手试一试的话,那么 TUM 团队的项目开源地址在此:
https://api.got.show/doc/
但其实,不需要 AI 预测,复联 4 应该也是一个最优结局,毕竟奇异博士类似穷举法,或者说试错法之类的操作,把希望留给复联世界:他用时间宝石尝试了 14000605 种可能后,选择了唯一会胜利的那条。
![659374f7d39a4949e0c731c6f7e210b0.png](https://i-blog.csdnimg.cn/blog_migrate/8e3840f3cd827edacb49f45a18500622.jpeg)
奇异博士的这种精神,用来写代码的话估计也是极好的。
05 百科知识
- 词性标注 Part-of-Speech Tagging
词性标注(POS tagging ) 是将对句子中的词语进行分类标注的过程。是依据字词在句法结构或语言形态上承担的成分,通过词性分类赋予每个词的词性标记的过程。
也就是要确定句子中每个词是名词、动词、形容词或其他词性的过程,又称词类标注或者简称标注。
词性标注是自然语言处理中的一项基础任务,在语音识别、信息检索及自然语言处理的许多领域都有应用。
- 词性标注实现的方法
可以分为基于规则和基于统计的方法,主要有:
(1)基于最大熵的词性标注
(2)基于统计最大概率输出词性
(3)基于 HMM 的词性标注
- 词性标注的应用
(1)句法分析预处理
(2)词汇获取预处理
(3)信息抽取预处理