首页 文章 精选 留言 我的

精选列表

搜索[代码可视化],共10000篇文章
优秀的个人博客,低调大师

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

今天辰哥来教大家从一本小说/名著里面**提取出人名**,并对**人名之间的关系**进行统计(同一段里面人名两两出现),根据人名之间的关系进行**绘制关系图**--**gephi** **核心知识点**: 1. 提取文本中人名 2. 统计文本中人物之间的关系 3. 绘制网络关系图 先看一下**效果**: ![](https://oscimg.oschina.net/oscnet/d83a94e4-8b4e-4d63-b025-2c9be2d098fa.png) # 01 jieba小例子 在开始分析《**斗罗大陆**》小说之前,先来一个小例子让大家对jieba库的使用有个印象。 ![](https://oscimg.oschina.net/oscnet/1ff9fe0b-5745-4f37-967d-d3a89655d309.png) ![](https://oscimg.oschina.net/oscnet/ce9f548c-9adf-4fb3-8f48-6908003ecdcd.png) **说明:** ![](https://oscimg.oschina.net/oscnet/9b2ba7bd-dddb-49af-b3c0-3024040526fe.png) 可以看到文本内容结果jieba库分词之后,可以获取每一个的词性。咱们这里需要获取人名,只需要挑选出**nr**的词性,并统计每个词的次数。 ![](https://oscimg.oschina.net/oscnet/3460c653-e866-44f2-a50e-ebc3b9808fae.png) ![](https://oscimg.oschina.net/oscnet/eed0e233-0b30-45a6-8b08-84b65fc3f7e8.png) 这里就给大家演示讲解了jieba从文本提取人名的小例子,下面以小说《**斗罗大陆**》为例,讲解如何去提取里面人物名,并建立有向图,最后绘制人物关系图。 # 02 提取人物关系 **1.制作姓名字典** ![](https://oscimg.oschina.net/oscnet/7dd63338-5a43-4b9d-a323-23f42e2d2863.png) ![](https://oscimg.oschina.net/oscnet/73ca7d44-98d8-4380-8cd2-2613781f5875.png) 部分结果如上图,通过提取小说中里面的所有名字,取出前100个并按频率从高到低写入txt。不过发现一些是不完整、无用、一个人物多名等情况。进行整理之后如下。 ![](https://oscimg.oschina.net/oscnet/2e256e4f-f24a-4271-8082-5f5b16c92d6d.png) **2.建立人物有向关系** ![](https://oscimg.oschina.net/oscnet/338a7e8c-e106-44bb-8101-f87dd248001d.png) 通过构建的人物名在每一段中两两出现的进行统计。最后建立出来,人物节点和人物之间的联系。 ![](https://oscimg.oschina.net/oscnet/5885cbb8-dcb1-4411-bdab-8870aab2d39b.png) **3.保存到csv** ![](https://oscimg.oschina.net/oscnet/ff5573aa-1e73-4f8b-bd12-25899856cf24.png) 结果如下: ![](https://oscimg.oschina.net/oscnet/12a33c9b-b1f0-4771-a722-947f32afcbe0.png) ![](https://oscimg.oschina.net/oscnet/d51633fb-6a1e-4c0c-afe3-ed70410f1346.png) # 03 人物关系网图 这里使用的是gephi进行绘制,gephi下载地址如下: ``` https://gephi.org/ ``` 下载安装之后,开始导入刚刚保存的node.csv和edge.csv数据绘制人物关系网图 **1.新建工程&导入数据** 新建工程->选择`数据资料`tab,点击`输入数字表格`,添加节点和边的`csv`数据。 ![](https://oscimg.oschina.net/oscnet/45f4c0ba-1a29-4bbc-9251-8f834bf4dd49.png) **2.调整相关的样式** ![](https://oscimg.oschina.net/oscnet/fbf23cf1-ad81-4f77-b9f3-b572c5798382.png) **3.修改字体,显示相应的标签** ![](https://oscimg.oschina.net/oscnet/6d6d5335-b4e7-44c4-ad98-78127c6d7ed4.png) **4.选择一个自动化布局的方式,预览,再调整相关参数** ![](https://oscimg.oschina.net/oscnet/1cd519d2-986e-44a5-9fb2-e2cd7a2364d3.png) **5\. 最终点击左下角导出图片** ![](https://oscimg.oschina.net/oscnet/d83a94e4-8b4e-4d63-b025-2c9be2d098fa.png) # 04 小结 本文讲解了提取文本中人名并统计文本中人物之间的关系,最后绘制网络关系图,不明白的地方可以在**下方留言**,一起交流。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册