700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 和范闲关系最近的居然是她?用python 40行代码读懂庆余年

和范闲关系最近的居然是她?用python 40行代码读懂庆余年

时间:2020-12-13 12:41:05

相关推荐

和范闲关系最近的居然是她?用python 40行代码读懂庆余年

纸飞机编程 -12-20 15:06:18

最近庆余年很火,平时在微信群里都有朋友开始讨论剧情,连我这个没怎么看过小说的人都了解了一些剧情。

于是我在想,能不能用社交网络模型来分析下庆余年的人物关系呢?

首先我在网上下载到了小说的txt文档。

大概翻了翻,一共有11万多行,接近370万字。真是一部巨作,按照这个文字量,我不连续读个十天半个月是读不完的。

那我们还是直接上Python吧,是时候展现科技的力量了,把繁重重复的工作交给计算机来完成。

首先我们要确定究竟要用Python分析这本小说的什么内容,我的初步计划是分析其中主要人物之间的关系即可,至于分析每个人的情绪,阵营之类的可以留到以后给大家讲解。

如果需要分析人物关系,最简单的办法就是分析每一段话里人物姓名共同出现的次数。

例如:某一段内里三个人名都出现了,那么程序就会建立他们三个人之间相互的关系,因为他们之间至少是直接或者间接接触过的。类似于以下这么一个数据结构,两个人的名字加上他们共同出现的次数。

人物1,人物2,1

人物1,人物3,1

人物2,人物1,1

人物2,人物3,1

人物3,人物1,1

人物3,人物2,1

现在我们还需要一个人物名称表,因为我们只需要理清主要人物关系即可,排除掉别的干扰,于是我构建了这么一个人物名称表文件,role。

好了,现在我们开始写代码吧,应该40行代码即可分析出基本的人物关系。

执行代码之后,我们会得到类似于人物关系全红这么一个文件。

数字越大表示两个人之间的互动越多,换句话说也就是关系越亲密或者是又爱又恨?

让我们来完成最后一个环节,写一段代码输出人物关系网络来看看结果吧,不到50行代码借助pyecharts完成了图像绘制。

现在来用图表的方式看看这个小说吧。

通过这个图我们可以看到每个人名所对应的节点,节点越大表示出场次数越多,或者说是越重要。

看起来,这个图表还是能够反映事实人物关系情况的。

范闲和长公主互动955次,堪称小说互动次数最多的两人,没想到吧。

也可以看到庆帝全书跟很多人没有互动过。

换一种方式来看人物网络。

范闲,长公主,陈萍萍,五竹,若若等人果然是书中的主要人物啊!

以后我们还会用python来分析人物对话和互动情节,判断大家的悲喜好恶,以便于更加数据化的方式来理解剧情。

当然我们可以把类似的手段用到每一本小说,每一篇文章里,用计算机快速冷静的思维帮我们发觉感性思维不见得能发现的秘密,这玩意其实也可以用来破案吧?

我始终坚信,科技改变世界!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。