gephi生成网络关系图_用python分析小说人物关系——实战篇

e1e6fbb597ed53f546bcd4520565fcd8.png 点击菜单栏“粉丝福利” 拿小度,兑手机!

作者:罗炎培 来源:人工智能学习圈

65c766e77883599e8f935ee76bd96886.png

用到的工具

  • jieba

  • jieba分词,最好用的开源中文分词工具。他最主要的两个功能是分词和关键词的抽取。在这里我们需要用他的分词功能来提取文本中的人名。

  • gephi

  • gephi 是一个开源的复杂网络数据可视化软件,可用于探索数据分析、链路分析、社交网络分析、生物网络分析等。我们需要把数据处理成gephi可接受的csv格式,然后再进行绘制。

65c766e77883599e8f935ee76bd96886.png

实现流程

代码实现分为三步

1. 人物出场次数统计。

2. 人物关系统计。

3. 格式化输出。

65c766e77883599e8f935ee76bd96886.png

准备工作

准备两份字典,用于分词。

  • 文本人物字典

文本人物字典包含了文本中的大部分人名,或者说是我们关心的人物的人名。

gephi生成网络关系图_用python分析小说人物关系——实战篇_第1张图片

  • 人物别称映射字典

民国时期的散文,势必每个人会有多个称呼,在文化人中甚多。蕊生、我、兰成、胡先生指代的都是胡兰成。因此需要一个映射字典,将不同的称呼都映射到同一个人名当中。

gephi生成网络关系图_用python分析小说人物关系——实战篇_第2张图片

定义文件路径常量和初始化全局变量

gephi生成网络关系图_用python分析小说人物关系——实战篇_第3张图片

人物出场次数统计

gephi生成网络关系图_用python分析小说人物关系——实战篇_第4张图片

人物关系统计

gephi生成网络关系图_用python分析小说人物关系——实战篇_第5张图片

格式化输出

gephi生成网络关系图_用python分析小说人物关系——实战篇_第6张图片

转为csv文件后

得到结果如下所示

gephi生成网络关系图_用python分析小说人物关系——实战篇_第7张图片

接下来就可以把数据导入到gephi中生成人物关系网图了。

65c766e77883599e8f935ee76bd96886.png

gephi的使用

假如gephi下载失败,可以参考下面这个链接

https://blog.csdn.net/qq_35318838/article/details/79820923?utm_source=blogxgwz7

打开如下所示

gephi生成网络关系图_用python分析小说人物关系——实战篇_第8张图片

1. 新建工程,导入数据

1)新建工程

2)选择数据资料tab,点击输入数字表格,添加节点和边的csv数据。

gephi生成网络关系图_用python分析小说人物关系——实战篇_第9张图片gephi生成网络关系图_用python分析小说人物关系——实战篇_第10张图片

2.调整相关的样式

点击概览调整相关样式。可以通过度,权重等信息修改相关的样式。

gephi生成网络关系图_用python分析小说人物关系——实战篇_第11张图片

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

gephi生成网络关系图_用python分析小说人物关系——实战篇_第12张图片

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

gephi生成网络关系图_用python分析小说人物关系——实战篇_第13张图片

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

gephi生成网络关系图_用python分析小说人物关系——实战篇_第14张图片

参考:https://zhuanlan.zhihu.com/p/26718634

原文链接: https://zhuanlan.zhihu.com/p/141244519

gephi生成网络关系图_用python分析小说人物关系——实战篇_第15张图片

8eeae645d01de5843ffe4a5e79806e86.png 26894dcc8a5b43c7a2ac72d1e268ed9a.png dd763d9804493fb65327df60ed355f46.png ce21891c7004dfb0f3065d3d673a1a62.png 02814c631671c679a0bfa0026638d88b.png gephi生成网络关系图_用python分析小说人物关系——实战篇_第16张图片

你可能感兴趣的:(gephi生成网络关系图)