查看原文
其他

文本分析之网络关系

2017-04-24 大邓 大邓带你玩python

最近忙于学术,公众号更新的有点慢了,在这里给大家个歉,希望大家能继续支持我。由于学术需要,未来一段时间,我以后会有一些文本分析的脚本要出现,希望大家喜欢。


目前简单的文本分析已经满足我人物需要,所以还不会去学机器学习,任务导向是最好的学习方法。希望大家也能找点有意思任务,python下。


今天给大家带来我写好的脚本,用来分析社会网络关系。

这个图我没有用到gephi或者其他的工具,是我用python纯脚本运行出来的。简单的实现了封装,大家有兴趣可以下载下脚本,运行下。


原理知识

实验楼

《Python基于共现提取《釜山行》人物关系》

这篇文章写的很好(希望不要黑我,我也是觉得真心好)。我基本上借鉴了这篇文章思路写今天这个脚本,实现了自动生成关系网络图。

准备工作

一、安装matplotlib、networkx

二、解决matplotlib无法写中文问题

1、找到pythonX\lib\site-packages\matplotlib\mpl-data\fonts\ttf文件夹

2、matplotlib默认调用的为DejaVuSans.ttf字体文件,网上下载个

微软雅黑.ttf

3、将微软雅黑文件名改为DejaVuSans.ttf粘贴到ttf文件夹下即可。

请输入标题     abcdefg

脚本文件简介

你下载后脚本文件夹名为:人民的名义

其中的relationship.py就是大邓写的库(直接能调用的哦)


实现功能:

1、读入小数数据和角色词典后,对数据分词后生成角色关系数据(有向关系数据)

2、无需gephi绘图即可制作绚丽角色关系网络图。


注意:

要想图片好看点,一定要联网啊。里面我写了个爬虫,爬取一个配色网站的配色值。

         

如果你们想单机也可以画出好看的图,可以修改下代码,将代码爬虫部分改成读取本地颜色数据

请输入标题     abcdefg

使用示例

请输入标题     bcdef

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、运行

文件夹中生成了 人物关系图.pngnode_edge.txtnode_freq.txt文件。

node_edge.txt  有向图关系数据,可以后续导入gephi软件自定义制图

node_freq.txt  节点出现频率

注意:每次运行前请把人物关系图.pngnode_edge.txtnode_freq.txt文件删除掉,再运行

请输入标题     abcdefg

脚本下载地址:

https://pan.baidu.com/s/1qY13Vfm

觉得很赞

就支持大邓一下

更多内容

爬虫

  初识Python的GUI编程

  爬虫实战视频专辑

【视频】手把手教你抓美女~

 当爬虫遭遇验证码,怎么办

 知易行难

 用词云图解读“于欢案”

【视频】于欢案之网民的意见(1)?

【视频】有了selenium,小白也可以自豪的说:“去TMD的抓包、cookie”

【视频】快来get新技能--抓包+cookie,爬微博不再是梦

【视频教程】用python批量抓取简书用户信息

  爬豆瓣电影名的小案例(附视频操作)

  爬豆瓣电影名的小案例2(附视频操作)

  用Python抓取百度地图里的店名,地址和联系方式

文本分析

  python居然有情感??真的吗?? 

  自然语言处理库之snowNLP

  数说中南大学研究生感情状况及择偶观  

  用gensim库做文本相似性分析

  基于共现发现人物关系的python实现

  用python计算两文档相似度

神奇的python

 怜香惜玉,我用python帮助办公室文秘

 逆天的量化交易分析库-tushare     

 酷炫的matplotlib

 开扒皮自己微信的秘密

 8行代码实现微信聊天机器人

 使用Python登录QQ邮箱发送QQ邮件



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存