python关系图谱_文本分析之制作网络关系图
最近忙于学术,公众号更新的有点慢了,在这里给大家个歉,希望大家能继续支持我。由于学术需要,未来一段时间,我以后会有一些文本分析的脚本要出现,希望大家喜欢。
目前简单的文本分析已经满足我人物需要,所以还不会去学机器学习,任务导向是最好的学习方法。希望大家也能找点有意思任务,python下。
今天给大家带来我写好的脚本,用来分析社会网络关系。
这个图我没有用到gephi或者其他的工具,是我用python纯脚本运行出来的。简单的实现了封装,大家有兴趣可以下载下脚本,运行下。
原理知识
我就简单说下原理吧,先刻画一个简单的图A
import networkx as nx
import matplotlib.pyplot as plt
#有向图
DG = nx.DiGraph()
#添加一个节点
DG.add_node('A')
#作图,设置节点名显示,节点大小,节点颜色
nx.draw(DG,with_labels=True,node_size=900,node_color = 'green')
plt.show()
双节点,有方向A-->B
#有向图
DG = nx.DiGraph()
#添加一个节点
DG.add_node('A')
DG.add_node('B')
#添加边,有方向,A-->B
DG.add_edge('A','B')
#作图,设置节点名显示,节点大小,节点颜色
nx.draw(DG,with_labels=True,node_size=900,node_color = 'green')
plt.show()
添加更多节点
import networkx as nx
import matplotlib.pyplot as plt
colors = ['red', 'green', 'blue', 'yellow']
#有向图
DG = nx.DiGraph()
#一次性添加多节点,输入的格式为列表
DG.add_nodes_from(['A', 'B', 'C', 'D'])
#添加边,数据格式为列表
DG.add_edges_from([('A', 'B'), ('A', 'C'), ('A', 'D'), ('D','A')])
#作图,设置节点名显示,节点大小,节点颜色
nx.draw(DG,with_labels=True, node_size=900, node_color = colors)
plt.show()
好了,同样的道理,咱们建立角色词典,插入节点列表,然后遍历插入有向边关系,就能做出这图
详情大家可以去看看实验楼网
《Python基于共现提取《釜山行》人物关系》
这篇文章写的很好(希望不要黑我,我也是觉得真心好)。我基本上借鉴了这篇文章思路写今天这个脚本,实现了自动生成关系网络图。
准备工作
一、安装matplotlib、networkx
二、解决matplotlib无法写中文问题
1、找到pythonX\lib\site-packages\matplotlib\mpl-data\fonts\ttf文件夹
2、matplotlib默认调用的为DejaVuSans.ttf字体文件,网上下载个
微软雅黑.ttf
3、将微软雅黑文件名改为DejaVuSans.ttf粘贴到ttf文件夹下即可。
脚本文件简介
你下载后脚本文件夹名为:人民的名义
其中的relationship.py就是大邓写的库(直接能调用的哦)
实现功能:
1、读入小数数据和角色词典后,对数据分词后生成角色关系数据(有向关系数据)
2、无需gephi绘图即可制作绚丽角色关系网络图。
注意:
1、运行脚本前,文件夹中只保留角色名单.txt 人民的名义.txt 和 relationship.py
2、要想图片好看点,一定要联网啊。里面我写了个爬虫,爬取一个配色网站的配色值。
如果你们想单机也可以画出好看的图,可以修改下代码,将代码爬虫部分改成读取本地颜色数据
使用示例
1、建好小说数据中的角色字典,格式如下
2、在文件夹中放入小说txt文件(人民的名义.txt)
3、在脚本文件夹中新建一个test.py文件
#导入relationship库中的Relationship类
from relationship import Relationship
#自定义节点词典(小说中人物角色)
dictpath = r'/Users/suosuo/Desktop/人民的名义/角色名单.txt'
#小说路径,只能是编码方式为utf-8的txt文件
datapath = r'/Users/suosuo/Desktop/人民的名义/人民的名义.txt'
#程序运行生成的角色关系图保存地址
pic = r'/Users/suosuo/Desktop/人民的名义/人物关系图.png'
Re = Relationship(dictpath, datapath)
relation = Re.relationship()
graph = Re.network_digraph(relation, pic)
4、运行
文件夹中生成了 人物关系图.png、node_edge.txt和node_freq.txt文件。
node_edge.txt 有向图关系数据,可以后续导入gephi软件自定义制图
node_freq.txt 节点出现频率
注意:每次运行前请把人物关系图.png、node_edge.txt和node_freq.txt文件删除掉,再运行
关注公众号:大邓带你玩python
文中末尾附有脚本文件下载地址
更多内容
文本分析
爬虫
神奇的python
python关系图谱_文本分析之制作网络关系图相关推荐
- python词汇网络分析_文本分析之制作网络关系图——Python
今天给大年夜家带来我一个脚本,用来分析社会收集关系. 这个图我没有效到gephi或者其他的对象,是我用python纯脚本运行出来的.简单的实现了封装,大年夜家有兴趣可以下载下脚本,运行下. 1.建好小 ...
- python绘制社会关系网络图_文本分析之制作网络关系图——Python
今天给大家带来我一个脚本,用来分析社会网络关系. 这个图我没有用到gephi或者其他的工具,是我用python纯脚本运行出来的.简单的实现了封装,大家有兴趣可以下载下脚本,运行下. 原理知识 我就简单 ...
- tableau如何生成HTML文件,用Tableau快速制作网络关系图
我以前写过一篇文章 <用Tableau制作网络关系图>,里面提到了Tableau本身不支持自动生成网络关系图,需要借助其他软件.提供Voronoi Treemap制作方法的Tristan ...
- 从知识图谱到文本:结合局部和全局图信息生成更高质量的文本
论文标题: Modeling Global and Local Node Contexts for Text Generation from Knowledge Graphs 论文作者: Leonar ...
- tableau应用实战案例(三)-如何用Tableau制作网络关系图
前言 唯一的一点点难度就在数据集的制作上,需要自己制作JSON文件,我用最简单的例子介绍: 数据生成网站: https://observablehq.com/@ladataviz/network-da ...
- mysql学生选课系统的关系模型_数据库系统原理ER模型与关系模型
数据库系统是软件的一种,数据库系统自然而然也有他自己的生命周期生存期.它的生存期从规划开始,一直到将它卸载不用了.它的中间过程很复杂,为了实现用户的想法,数据库有关人员将现实生活中的数据进行抽象,然后 ...
- 学校作业5_1字符串_文本分析与加密(头哥作业[Python])
本系列文章为同学困扰的python做出作业答案汇总,答案皆为本学生自己边学边做汇总上传的,编排不易,希望大家喜欢. 本作业所有内容均在github上有留存,每次作业github上会最先发布,CSDN上 ...
- python分类流程_文本分类指南:你真的要错过 Python 吗?
雷锋网按:本文为雷锋字幕组编译的技术博客,原标题 A Comprehensive Guide to Understand and Implement Text Classification in Py ...
- echarts做企业关系图谱_使用Echarts呈现天善用户的关系图
前一个博客:"<Python网络数据采集>读后总结 --第3章及天善用户关系分析实例"提到了怎么获取天善用户的关系数据,但没有说如何更好呈现关系图,这次介绍一下使用Ec ...
最新文章
- linux 定时重启mysql_Linux下定时自动重启apache及mysql
- 一段时间以来的SEO优化结果
- 一个人生活可以多痛快
- 为什么90%的人都抓不住暴富的机会?
- 项目出现 The superclass “javax.servlet.http.HttpServlet“ was not found on the Java Build Path 解决方法
- SELinux 案例 1
- 水晶报表中的主从表结构
- PLSQL中的RECORD小例子
- Android进程管理
- adb手机无法识别 vivo_vivo安卓adb工具
- 西门子S7-200 SMART编程软件下载
- 流量卡之家:5G手机价格没那么“邪性” 门槛降低一半
- 锐捷服务器虚拟化技术_锐捷RG-RCD6000 V2云课堂云主机
- 【igraph实例】Commmunity 识别
- [OHIF-Viewers]医疗数字阅片-医学影像-ES6箭头函数(=)
- 与鲨共舞:当AI遇见海洋杀手
- 手机玩exe游戏的模拟器_如何在手机上玩全面战争模拟器等电脑付费游戏?
- 【更新】全新的数据填报,更强的BI分析,Wyn Enterprise V3.0 Update 2 发布
- city.json 城市区域数据
- 分布式事务解决方案「手写代码」
热门文章
- 使用windows命令行查看mySQL应用的安装路径
- Angular框架里两个模块的互相依赖
- test of ui5 duplicate control id
- 使用async,await关键字进行API Access Token的获取
- 为什么有的S4系统看不到Adapt UI按钮
- WordPress Kyma plugin检测kyma连接状态的逻辑
- 得到application server上所有的logon user
- 如何快速找到settype被assign的product category
- when is One Order gt_plan_exets filled
- 关于错误Resource interpreted as Script but transferred with MIME type text_html