前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >剧透预警!外国小哥用AI绘出美剧《巫师》网络图,还顺手发了篇论文

剧透预警!外国小哥用AI绘出美剧《巫师》网络图,还顺手发了篇论文

作者头像
新智元
发布于 2022-03-04 06:16:17
发布于 2022-03-04 06:16:17
5040
举报
文章被收录于专栏:新智元新智元


新智元报道  

编辑:桃子 拉燕

【新智元导读】《巫师》第二季,还没搞清人物关系?外国小哥Milán Janosov近日发了一篇论文专门研究这部剧。他通过AI对原著系列中的7本书进行梳理后,绘出了一张完美人物关系图。

一口气刷完《巫师》,人物情节乱如麻。

外国小哥Milán Janosov直接用AI对人物社交关系网络梳理了一遍。下面2个节点中的连线,代表在小说中的5句话里同时出现的人物。 一个Geralt以为中心,另一个以Ciri为中心。

是不是看过后,只能用豁然开朗来形容。

追剧最高境界:写论文

在国内,大家听闻《猎魔人》的故事便是由波兰作家Andrzej Sapkowski编写的奇幻小说The Witcher。这本书共包含3部短篇小说集、5部长篇小说,还有1篇前传。

要说这部奇幻著作的影响力,不亚于《权力的游戏》,甚至还有的一拼。它先被做成了名声赫赫的《巫师》系列游戏,还被翻拍成了一部Netflix(网飞)电视剧。其实早在游戏发售前,《巫师》小说在欧洲销量就已超过500万册,还曾被波兰总理用作国礼送给奥巴马。作者本人「安大爷」也拿到了奇幻文学界最高奖项「世界奇幻大奖」。

2019年12月,《巫师》第一季上线就迎来了流量高峰。目前,《巫师》已经更新到了第二季。2021年12月17日正式播出后,仅在首周就吸引了全球用户22亿分钟的观看时间。

为了帮助广大网友理清人物关系脉络,Datopolis首席科学家Milán Janosov专门为此写了一篇论文A Network Map of The Witcher。他绘制了一个可视化网络图,概述了这部奇幻著作中的故事情节和人物关系。

论文地址:https://arxiv.org/pdf/2202.00235.pdfMilán Janosov表示,「当我迷上了Netflix拍的《巫师》剧集后,我在去年早些时候决定开始读原著,其故事情节把我深深吸引了进去。这和几年前看《权力的游戏》的经历有点相似,为了从中获得更多信息,便激发起了我做研究的兴趣。」

如何研究?

Milán Janosov研究的第一步是收集数据,用于网络地图的构建。一开始,他收集的对象只有Netflix剧集中的字幕,但他很快发现只有字幕是远远不够的。于是他就开始着手分析全系列原书的文本。

因此,作者选择将《巫师》系列中7本短篇/长篇小说作为主要的数据来源,总共大约2500页,超过100万字,这几本书分别是:《白狼崛起》(The Last Wish)《宿命之剑》(The Sword of Destiny)《精灵之血》(The Blood of Elves)《轻蔑时代》(The Time of Contempt)《火之洗礼》(The Baptism of Fire)《雨燕之塔》(The Tower of the Swallow)《湖中女士》(The Lady of the Lake)

图中前7本此外,Janosov还从《巫师》维基网站上收集了每本书中的角色列表,列出了这些书中690个有名字的角色。其中《宿命之剑》(The Sword of Destiny) 是人数最少的一本,共有117个人物。《湖中女士》(The Lady of the Lake) 人物最多,有200人。数据有了,接下来就是怎么做出这个社交网络图了。

Janosov写了个程序检索书里出现的所有句子,只要句子里出现角色的名字,就给记下来。这就可以让他知道任意两个角色之间的关系远近。如果在同一部分的文本里经常同时出现两个角色,那么就可以推断出他们的关系比较近,反之亦然。Janosov表示,「结果表明,出现距离上的相近性很好地反映了两个角色之间的关系。他们有没有相遇,有没有在同一个情节里同时出现,等等。」

「巫师」网络图

温馨提示:这部分有剧透。在社交图中,角色用一个一个的节点来表示,节点的大小和角色的度中心性(degree centrality)相关,而节点的颜色则表示角色所属的网络社区。两个节点之间的连线,和这2个角色在小说中5句话的范围内同时出现的次数,是相关且成比例的。其中,最重要的50个角色做上了标记。

网络节点链接的次数与小说中两个人物被提及的次数成正比红色代表网飞改编《巫师》第一季的剧集中出现的人物,灰色代表书中有却没有出现在电视剧中的角色。不难看出,这个网络包含两个主要的社区: 一个以Ciri为中心,另一个以Geralt为中心。一方面,你可以从这个图表中读到,Geralt周围都是他的旅伴Dandelion (Jaskier) ,Regis,Milva和Cahir,他们一直在执行营救任务寻找Ciri。这是在电视剧前两季中完全消失的故事情节。

完整https://nightingaledvs.com/wp-content/uploads/2021/12/fig3_full-1.png另一方面,除了Geralt,Ciri还与Yennefer和Triss的联系最紧密。其实,小说中的大多数重要人物都已经在剧中出现了,但是仍然有一些没有提及。如下,作者列出了第一栏只显示 Netflix 剧集中的人物,第二栏则涵盖了小说中的所有人物。第二栏用红色显示了出现在小说排行榜上的人物,但在Netflix剧集中没有出现。

这意味着,一方面,接下来的几季可能会详细阐述已经开始的线索和人物发展,增加一些衍生情节,也可能会显示出与原著的一些显著差异,以不可预见的方式重新布局小说的网络。

作者介绍

论文作者Milán Janosov来自匈牙利,目前是Datapolis 的首席数据科学家,中欧大学的研究员,Maven7的资深数据科学家,以及欧盟委员会的数据科学专家。他在2020年获得了网络和数据科学的博士学位,曾在布达佩斯的罗兰大学(ELTE)和中欧大学、波士顿的巴拉巴西实验室和剑桥的贝尔实验室学习和研究。Janosov曾3次获得匈牙利共和国奖学金,在科学竞赛中多次获奖,在《自然》杂志等同行评议的期刊和会议上多次发表作品。

网络科学可以用于寻找大量没有结构可言的数据中深藏的规律,比如文本、小说、电影剧本等等。Janosov的论文是一个珍贵的例子。在读完几千页的书,或者其它文本之后,人们可以大致了解一段故事的结构是怎么样的。但记住所有的角色和情节基本就不可能了。如果让读者来画一张从故事中提取的导图,很大概率画出来的图并不准确。相对地,这件事如果交给网络科学来做,就可以用客观、量化的方法来总结一系列的书。Janosov表示,「我很惊讶也很激动,看到不同的情节可以集中在网络社区里。有那么灵光乍现的一瞬间,就是那一刻你发现所有事情都合理了。谁遇见了谁,谁和谁在一起,主要的冲突是在哪里爆发的,支线情节又是在哪里展开的,等等,全部都有迹可循,就好像在看一部侦探电影一样。」

参考资料:

https://techxplore.com/news/2022-02-scientist-network-witcher.html

https://nightingaledvs.com/a-network-map-of-the-witcher/

https://arxiv.org/abs/2202.00235

https://post.smzdm.com/p/a839d6z7/

https://zh.wikipedia.org/wiki/%E7%8C%8E%E9%AD%94%E4%BA%BA

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SEATA 分布式事务入门DEMO
在eureka中看到如下8091端口的服务之后,即启动seata-server正常!
Isaac Zhang
2020/02/13
1.4K0
SEATA 分布式事务入门DEMO
处理分布式事务(SpringCloud Alibaba Seata)
Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
鱼找水需要时间
2023/02/16
2710
处理分布式事务(SpringCloud Alibaba Seata)
对比 5 种分布式事务方案,还是宠幸了阿里的 Seata(原理 + 实战)
好长时间没发文了,最近着实是有点忙,当爹的第 43 天,身心疲惫。这又赶上年底,公司冲 KPI 强制技术部加班到十点,晚上孩子隔两三个小时一醒,基本没睡囫囵觉的机会,天天处于迷糊的状态,孩子还时不时起一些奇奇怪怪的疹子,总让人担惊受怕的。
程序员小富
2020/12/14
1K0
seata---分布式事务处理
Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
大忽悠爱学习
2021/12/07
8520
seata---分布式事务处理
SpringCloud➕Mybatis➕Eureka➕Feign➕Seata分布式事务???
Seata(Simple Extensible Autonomous Transaction Architecture) 是 阿里开源的分布式事务中间件,以高效并且对业务 0 侵入的方式,解决微服务场景下面临的分布式事务问题。
Cheng_Blog
2022/02/25
7080
SpringCloud➕Mybatis➕Eureka➕Feign➕Seata分布式事务???
使用Seata彻底解决Spring Cloud中的分布式事务问题!
随着业务需求的变化,单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用独立的数据源,业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题没法保证。
macrozheng
2019/11/23
2.2K0
学习分布式事务Seata看这一篇就够了,建议收藏
学习Seata分布式事务看这一篇就够了 一、事务的特性 二、本地事务与分布式事务 三、分布式事务理论依据 3.1、CAP定律 3.2、BASE理论 四、Seata简介 4.1、Seata是什么 4.2、官网地址 4.3、Seata基本架构 4.4、分布式事务解决方案 4.4.1、Seata-AT模式 4.4.2、Seata-XA模式 4.4.2.1、XA模式 什么是XA协议 Seata的事务模式 4.4.2.2、Seata的XA模式 为什么要在Seata中支持XA XA的价值 4.4.2.3、项目中应用XA模式 4.4.2.4、XA模式如何切换 4.4.3、Seata-TCC事务模式 4.4.3.1、什么是TCC 4.4.3.2、Seata的TCC模式 4.4.4、Seata-Saga事务模式 4.4.4.1、基本概念 4.4.4.2、为什么需要Saga 4.4.4.3、Saga状态机 4.4.4.4、Saga状态机设计器 4.5、四种模式的对比 五、部署Seata TC服务 5.1、下载seata-server 5.2、解压修改配置 5.3、初始化数据库配置 5.4、Nacos配置中心添加配置 5.5、测试启动TC服务 六、项目集成Seata 6.1、业务背景 6.2、数据表创建 6.3、搭建基本服务 6.3.1、代码基本结构 6.3.2、pom.xml引入依赖 6.3.3、配置文件application.yml 6.3.4、创建订单接口 6.3.5、声明Feign接口 6.3.6、测试验证 6.4、使用Seata全局事务注解@GlobalTransactional 6.5、配置数据源代理 6.6、启动服务测试
小小Java开发者
2023/11/25
9.2K1
学习分布式事务Seata看这一篇就够了,建议收藏
微服务(十五)——Sentinel 高可用流量管理框架
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
不愿意做鱼的小鲸鱼
2022/09/27
1.2K0
微服务(十五)——Sentinel 高可用流量管理框架
微服务(七)——OpenFeign服务调用
官方文档:https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeign
不愿意做鱼的小鲸鱼
2022/09/26
4200
微服务(七)——OpenFeign服务调用
springCloud --- 高级篇(3)
本系列笔记涉及到的代码在GitHub上,地址:https://github.com/zsllsz/cloud
贪挽懒月
2020/06/08
1K0
springCloud --- 高级篇(3)
SpringCloud实战|SpringCloud 整合 seata1.3-保证是全网讲的最细并且一次成功的
本篇文章介绍了如何在Spring Cloud项目中引入seata,以及seata的安装过程
AI码师
2022/09/19
1K0
SpringCloud实战|SpringCloud 整合 seata1.3-保证是全网讲的最细并且一次成功的
springboot 整合 seata 分布式事务
https://gitee.com/mnzp/seata-server-1.4.2
用户10125653
2022/11/10
7010
springboot 整合 seata 分布式事务
解决分布式事务,Seata真香!
年IT寒冬,大厂都裁员或者准备裁员,作为开猿节流主要目标之一,我们更应该时刻保持竞争力。为了抱团取暖,林老师开通了《知识星球》,并邀请我阿里、快手、腾讯等的朋友加入,分享八股文、项目经验、管理经验等,帮助大家提升技能,安稳度过这个寒冬,快加入我们吧!
林老师带你学编程
2024/05/25
3800
解决分布式事务,Seata真香!
Spring Cloud 中的分布式事务,附源码《一》
在开发我的开源项目 prex 时,加入工作流,解决工作流用户与当前系统用户同步问题时,涉及到远程调用操作两个数据库所产生的事务问题,比如系统用户在增加用户同步工作流用户时,系统用户添加成功,工作流用户没有添加成功,则造成数据不一致问题,本地事务无法回滚,那么则使用分布式事务解决方案。
搜云库技术团队
2019/12/02
1.1K0
分布式事务(SeataClient)
>> @Transactional 变更为 @GlobalTransactional
问天丶天问
2024/03/07
1210
分布式事务(SeataClient)
Java学习笔记-微服务(9)-终-分布式事务Seata
在微服务中,一定存在多个数据库,那么多个数据库间如何处理分布式事务?对于分布式事务问题,有哪些解决方案?
咸鱼程序员
2025/03/09
1750
Java学习笔记-微服务(9)-终-分布式事务Seata
SpringCloud Alibaba Seata处理分布式事务
分布式之后:   单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题没法保证。
别团等shy哥发育
2023/02/25
3000
SpringCloud Alibaba Seata处理分布式事务
Spring Cloud Alibaba 系列之 Seata 分布式事务 demo
  在上一篇博客 《Spring Cloud Alibaba 系列之 Seata 介绍》 介绍了 Seata,在这一篇中我们来看看怎么使用。以一个用户购买商品的微服务示例开始,整个业务逻辑由3个微服务提供支持:仓储服务:对给定的商品扣除仓储数量。订单服务:根据采购需求创建订单。帐户服务:从用户帐户中扣除余额。
Demo_Null
2020/12/07
1.3K0
Spring Cloud Alibaba 系列之 Seata 分布式事务 demo
SpringCloud Alibaba Seata处理分布式事务
​ 单体应用被拆分成微服务应用, 原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源。
OY
2022/03/17
5200
SpringCloud Alibaba Seata处理分布式事务
SpringCloud2023中使用Seata解决分布式事务
对于分布式系统而言,需要保证分布式系统中的数据一致性,保证数据在子系统中始终保持一致,避免业务出现问题。分布式系统中对数据的操作要么一起成功,要么一起失败,必须是一个整体性的事务。
codetrend
2024/08/10
1480
推荐阅读
相关推荐
SEATA 分布式事务入门DEMO
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档