《斗罗大陆》人物关系可视化

Posted 程序员启航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《斗罗大陆》人物关系可视化相关的知识,希望对你有一定的参考价值。

大家好,我是启航

今天来教大家从一本小说/名著里面提取出人名,并对人名之间的关系进行统计(同一段里面人名两两出现),根据人名之间的关系进行绘制关系图--gephi

核心知识点

  1. 提取文本中人名

  2. 统计文本中人物之间的关系

  3. 绘制网络关系图

 

先看一下效果

 

Image

 

01jieba小例子

 

 

在开始分析《斗罗大陆》小说之前,先来一个小例子让大家对jieba库的使用有个印象。

Image

Image

 

说明:

Image

可以看到文本内容结果jieba库分词之后,可以获取每一个的词性。咱们这里需要获取人名,只需要挑选出nr的词性,并统计每个词的次数。

Image

 

Image

 

 

这里就给大家演示讲解了jieba从文本提取人名的小例子,下面以小说《斗罗大陆》为例,讲解如何去提取里面人物名,并建立有向图,最后绘制人物关系图。

 

02提取人物关系

 

1.制作姓名字典

 

Image

Image

部分结果如上图,通过提取小说中里面的所有名字,取出前100个并按频率从高到低写入txt。不过发现一些是不完整、无用、一个人物多名等情况。进行整理之后如下。

 

Image

 

 

2.建立人物有向关系

 

Image

 

通过构建的人物名在每一段中两两出现的进行统计。最后建立出来,人物节点和人物之间的联系。

 

Image

 

3.保存到csv

 

Image

结果如下:

 

Image

 

Image

 

Image

 

03人物关系网图

这里使用的是gephi进行绘制,gephi下载地址如下:

https://gephi.org/

 

下载安装之后,开始导入刚刚保存的node.csv和edge.csv数据绘制人物关系网图

 

1.新建工程&导入数据

 

新建工程->选择数据资料tab,点击输入数字表格,添加节点和边的csv数据。

 

Image

 

2.调整相关的样式

 

Image

 

3.修改字体,显示相应的标签

 

Image

 

4.选择一个自动化布局的方式,预览,再调整相关参数

 

Image

 

 

5. 最终点击左下角导出图片

 

Image

 

 

04小结

本文讲解了提取文本中人名并统计文本中人物之间的关系,最后绘制网络关系图,不明白的地方可以在下方留言,一起交流。

在这里插入图片描述

 文章到这里就结束了,感谢你的观看

说实在的,每次在后台看到一些读者的回应都觉得很欣慰,我想把我收藏的一些编程干货贡献给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤    Python所有知识点汇总(可以弄清楚Python的所有方向和技术)

*如果你用得到的话可以直接拿走,在我的QQ技术交流群里,可以自助拿走,群号是857113825。*
在这里插入图片描述

以上是关于《斗罗大陆》人物关系可视化的主要内容,如果未能解决你的问题,请参考以下文章

清华学长用python将《斗罗大陆》人物关系可视化

斗罗大陆H5手游黄金铁三角怎么过?

以开发之名|斗罗大陆:创造一个尽情探险的开放式游戏世界

以开发之名|斗罗大陆:创造一个尽情探险的开放式游戏世界

以开发之名|斗罗大陆:创造一个尽情探险的开放式游戏世界

斗罗大陆题库