AI预测权游大结局:龙妈万岁三傻会死,项目已开源
以下文章来源于新智元 ,作者新智元
本文转载自“新智元(AI_era)”
《权力的游戏》最终季今日开播。
粉丝和媒体们对第八季剧情分析一直没断过,大众都是靠自己的想象力来给出可能的剧情,而一群参加慕尼黑工业大学(TUM)计算机科学研讨会的学生不同,他们用机器学习预测了权力的游戏主要人物的发展,最简单粗暴的结果是预测谁会死亡。
算法显示:
龙妈(Daenerys Targaryen)幸存的机率最高,死亡率仅0.9%;
龙妈的国王之手小恶魔(Tyrion Lannister)也只有2.5%的死亡率;
最有可能死亡的角色包括:
雇佣兵波隆(Bronn)成为最可能凉凉的角色,死亡几率高达93.5%,紧随其后是瑟曦的贴身侍卫“魔山”Gregor Clegane,死亡几率80.3%。而斯塔克家族里面的“三傻”Sansa Stark死亡率也高达73.3%,弟弟布兰(Bran Stark)紧随其后。
更多预测结果:
https://got.show/statistics
这群来自慕尼黑科技大学(TUM)和Rostlab的权游狂热粉丝,爬取了A Wiki of Ice and Fire、Fandom Game of Thrones Wiki等网站的公用信息,使用JavaScript编写机器学习算法来预测权游角色的死亡率。
该项目由Guy Yachdav(Shupperz数据科学主观)和Christian Dallago(TUM生物-计算机科学博士、科学研究员)主导,最初开始于慕尼黑大学在2016年举办的一次JS技术研讨会。
Guy Yachdav
Christian Dallago
在当时的研讨会上,近40个学生完成了包括数据库和API搭建、数据分析、网站设计和搭建、绘制地图、以及整合等任务。今年他们对数据库、API、数据分析以及网页前端都进行了更新,非常炫酷。
项目地址:
https://got.show/
实现过程
目前该项目由四个团队开发:团队1从Wiki来源收集数据;团队2和团队3使用机器学习方法进行预测;团队4负责网站和集成。
最后,2个团队负责持续整合各个项目,剩下2个团队将所有内容组合到最初的got.show的web app中。
类似算法应用于金融和医疗
该项目使用的寿命分析预测存活率的技术,类似于研究治疗和并发症对癌症患者的影响的科学研究。关于生存机会算法的工作是慕尼黑技术大学计算机科学系每学期举办的JavaScript研讨会的一部分。在课程中,学生将学习如何设计、开发和部署智能计算机系统。
首席导师Guy Yachdav博士说:“虽然预测权力游戏人物生存机会的任务依赖于从幻想世界中获取的数据,但在现实世界中使用完全相同的人工智能技术并且对我们的日常生活产生重大影响。“
Github开源
由于对结果非常满意,他们直接将项目开源了,放在Rostlab的Github仓库里,共有8个repo:
JS16_ProjectA
链接地址:
https://github.com/Rostlab/JS16_ProjectA
在这个项目中,将通过由来自多个资源的数据集成到一个中央数据库,为系统打下基础。该数据库将为其他项目开发的应用程序和可视化工具提供服务。
JS16_ProjectF
链接地址:
https://github.com/Rostlab/JS16_ProjectF
在这个项目中,将为GoT数据分析和可视化系统构建一个Web门户。该网站将在Project E集成团队的帮助下,将集成所有在project B-D创建的APP。
JS16_ProjectC_Group10
链接地址:
https://github.com/Rostlab/JS16_ProjectC_Group10
著名的GoT世界是非常广阔的,遍布维斯特洛,埃索斯和索托里三大洲。 原著《冰与火之歌》的读者将从君临到七国的边界,并进一步穿越狭窄的海域。 书中提到的两千多个字符与GoT世界中的多个地标相关联。 您的任务是找到角色位置关联,并将这些关联放在交互式GoT地图上。
这样的工具将帮助我们弄清楚Gregor “the hound” Clegane在他的旅行中去了哪些地方以及这些旅行如何与Tarth Breanne的旅行相吻合。
JS16_ProjectD_Group5
链接地址:
https://github.com/Rostlab/JS16_ProjectD_Group5
Joffrey Baratheon是电视史上最厌恶的角色之一。 事实上,人们在Twitter上还庆祝他在电视剧中的死亡。我们很有兴趣通过分析推文中提到的字符来了解更多关于人们对不同GoT角色的感受。这个包提供了一些函数,这些函数将返回有关“权力的游戏”中人物推文的有趣数据。
JS16_ProjectB_Group6
链接地址:
https://github.com/Rostlab/JS16_ProjectB_Group6
《权力的游戏》中的角色总是有被淘汰的危险。这项任务的挑战是要看看被淘汰的角色还有多大的风险。这个项目的目标是根据角色的死亡概率百分比(PLOD)对其进行排序。您将使用机器学习方法分配一个PLOD。
JS16_ProjectE
链接地址:
https://github.com/Rostlab/JS16_ProjectE
在这个项目中,将把项目B,C和D中开发的所有应用程序放入Project F中开发的网站中。在这个项目中,您将从每个项目存储库中提取代码,使用一组依赖项进行编译并打包 应用程序,以便可以从项目F中开发的网站轻松调用它们。
JS16_ProjectD_Group4
链接地址:
https://github.com/Rostlab/JS16_ProjectD_Group4
Joffrey Baratheon是电视史上最厌恶的角色之一。 事实上,人们在Twitter上还庆祝他在电视剧中的死亡。我们很有兴趣通过分析推文中提到的字符来了解更多关于人们对不同GoT角色的感受。这个包提供了一些函数,这些函数将返回有关“权力的游戏”中人物推文的有趣数据。
JS16_ProjectB_Group7
链接地址:
https://github.com/Rostlab/JS16_ProjectB_Group7
《权力的游戏》中的角色总是有被淘汰的危险。这项任务的挑战是要看看被淘汰的角色还有多大的风险。这个项目的目标是根据角色的死亡概率百分比(PLOD)对其进行排序。您将使用机器学习方法分配一个PLOD。
API及文档
API及文档地址:
https://api.got.show/doc/
API分为影视剧API和小说API。影视剧API包括动物、年龄、刺杀、坏人、战役、城市、角色、城堡、剧集、事件、家族、领地、城镇;小说API包括年龄、城市、角色、角色路径、角色出生地、大陆、文化、事件、家族和领地。值得注意的是,目前API只提供了GET方式,POST会在稍后提供。
模型示例
NPM包
除此之外,团队还提供了4个NPM包,分别是:
1. 粉丝倾力制作最评论、最完整的权游互动地图包got map:
https://www.npmjs.com/package/gotmap
2. 适用于具有可视化功能的权游角色包gotsentimental:
https://www.npmjs.com/package/ gotsentimental
3. 权游特定的Twitter情绪分析工具gotdailysentiment:
https://www.npmjs.com/package/gotdailysentiment
4. 1946个角色的死亡率预测gotplod:
https://www.npmjs.com/package/gotplod
对于《冰与火之歌》小说的老读者来说,等原著马丁更新简直太痛苦了。网络上也充斥着大量的冰火和权游的同人小说,而其中最特别的,要数早在2017年有人利用人工智能撰写的权游同人小说。
当时,权游和冰火的死忠、全栈软件工程师Zack Thoutt刚刚完成了Udacity上的人工智能和深度学习课程。于是利用自己学到的知识训练了一个RNN,来预测当时拖更的第六部小说剧情。
当时他用AI写出了五章,里面的剧情有些逆天:
詹姆斯杀死了瑟曦、雪诺骑上了龙,太监瓦里斯杀了龙妈,AI还创建了一个名为Greenbeard的新角色……
由于马丁的原著有大约32000个独特单词,额外的形容词以及虚构的位置和标题对网络而言更加复杂,因此使得训练网络变得更加困难。
另外,马丁的五部小说的文本实际上也是一个相对较小的数据集,用于训练RNN不太够。Thoutt说,一个更理想的来源是一本100倍于该系列大小的书,但有一本儿童的书本词汇量。
现在,Thoutt的小说已经写完了5章,大家可以去阅读。
章节地址:
https://github.com/zackthoutt/got-book-6/tree/master/generated-book-v1
更多精彩文章:
《柳叶刀》子刊:精准确定肿瘤大小,新型AI识别方式远胜传统人工检测!
大家关注的公众号越来越多,找不到“药明康德AI”怎么办?简单四步,将“药明康德AI”设置为星标公众号,问题即可解决。
点“好看”,分享AI健康新动态