python人物关系抽取_Python学习笔记(2) Python提取《釜山行》人物关系
项目原理:
实验基于简单共现关系,编写 Python 代码从纯文本中提取出人物关系网络,并用Gephi
将生成的网络可视化。下面介绍共现网络的基本原理。(共现网络简单的英文介绍)
共现网络的基本原理:
实体间的共现是是一种基于统计信息的提取,关系密切的人物往往会在文中的多段连续出现,通过文中以出现的实体(人名),计算不同实体共同出现的比率和次数,设定一个阈值,大于该阈值认为实体间存在某种联系。
准备:
环境 windows Python3.6
jephi软件
代码:
# -*- coding: utf-8 -*-import
os, sys
importjieba, codecs, math
importjieba.posseg aspseg
names ={} # 姓名字典relationships ={} # 关系字典lineNames =[] # 每段内人物关系# count namesjieba.load_userdict("D:\\ResearchContent\\Exercise_Programm\\PythonExercise\\Python\\dict.txt")
# 加载字典with
codecs.open("D:\\ResearchContent\\Exercise_Programm\\PythonExercise\\Python\\fushan.txt", "r", "utf8") asf
:for
line inf.readlines()
:
poss =pseg.cut(line)
# 分词并返回该词词性
lineNames.append([])
# 为新读入的一段添加人物名称列表for
w inposs
:if
w.flag
!="nr"orlen
(w.word)
<2:continue# 当分词长度小于2或该词词性不为nr时认为该词不为人名
lineNames[
-1
].append(w.word)
# 为当前段的环境增加一个人物if
names.get(w.word)
is None:
names[w.word] =
0
relationships[w.word] ={}
names[w.word]
+=1
# 该人物出现次数加 1
# explore relationshipsfor
line inlineNames:
# 对于每一段for
name1 inline
:for
name2 inline:
# 每段中的任意两个人if
name1 ==name2:
continueif
relationships[name1].get(name2) is None:
# 若两人尚未同时出现则新建项
relationships[name1][name2]=
1else:
relationships[name1][name2] =relationships[name1][name2]
+1
# 两人共同出现次数加 1
# outputwith
codecs.open("busan_node.txt", "w", "gbk") asf
:
f.write("Id Label Weight\r\n")
forname, times innames.items()
:
f.write(name
+" "+
name
+" "+str
(times)
+"
\r\n")
withcodecs.open("busan_edge.txt", "w", "gbk") asf
:
f.write("Source Target Weight\r\n")
forname, edges inrelationships.items()
:for
v, w inedges.items()
:if
w
>3:
f.write(name
+" "+
v
+" "+str
(w)
+"
\r\n")
参考:
修改2
python人物关系抽取_Python学习笔记(2) Python提取《釜山行》人物关系相关推荐
- python绘制热力地图_Python学习笔记:Python做热力地图
输入win+R然后输入cmd回车,出现DOS界面 命令行上输入:pip install folium,然后如果出现successfully的话则代表你安装成功. 数据我已经上传百度云,大家只要设置好环 ...
- python __name__怎么使用_python学习笔记26(python中__name__的使用)
在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以import它给其他客户使用,这两种情况不一样. 1. 如果模块是被导入 ...
- python的基本数据结构_Python学习笔记——基本数据结构
列表list List是python的一个内置动态数组对象,它的基本使用方式如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] print 'I ...
- python的基本数据结构_python学习笔记-基本数据结构
Python 学习笔记-1 写在最前面,因为组内小伙伴要走,生信团队由原来的7个人,慢慢的变的只有我一个人了,需要紧急突击下python,因为有python的流程要交接维护 python 基本情况 代 ...
- python编辑器文字放大_python学习笔记000
写在最前面 其实想学习编程很久了,以前也陆陆续续学习过一段时间的编程,但总是半途而废,经过我长达三秒钟的思考,总结出以下两个方面的原因: 1.没有学习的压力.因为我不是程序员,编程不是我吃饭的家伙,会 ...
- [转载] python numpy 子数组_Python学习笔记3:Numpy入门
参考链接: Python中的numpy.logaddexp2 参考<Python:数据科学手册>一书,仅作个人学习及记录使用,若有侵权,请联系后台删除. 1 理解Python中的数据类型 ...
- python 异步加载_Python学习笔记4——爬取异步加载数据
一.什么是异步加载? 在之前的学习笔记中,爬取的网页是需要手动翻页的网址,但是一些网站是通过自动加载翻页的,如knewone网页.浏览knewone的官网就能发现,当下拉到网页最下端时,网站会自动加载 ...
- python查看方法作用_python学习笔记1,新手小白也能看得懂
这是酸菜在风变编程上学习python时积累的学习笔记,希望能帮到同样也在学习中的小伙伴.持续更新~ 第0关 Print()函数 (1)不带引号:让计算机读懂括号里的内容,打印最终的结果 例:print ...
- python 坐标轴 单位刻度_Python学习笔记(matplotlib篇)--坐标轴刻度
python学习笔记--坐标轴刻度 所用的库及环境: ide:pycharm python环境:python3.7 matplotlib: matplotlib 1.11 numpy: nump ...
- python创建实例属性_Python学习笔记__6.5章 实例属性和类属性
# 这是学习廖雪峰老师python教程的学习笔记 1.概览 1.1.实例绑定属性 class Student(object): def __init__(self, name): self.name ...
最新文章
- 6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
- c语言基础习题下载,C语言基础题目
- eip协议通信_3月免费公开课伺服、通信等课程重磅发布,火热报名中
- Ajax操作的四个步骤
- iOS SDK:iOS调试技巧
- 2017.12.18
- 农用地包括哪些地类_土地地类一览表
- Git仓库只拷贝代码-不拷贝提交记录-不拷贝其他分支
- 广告智能定向技术lookalike
- 再见,Python!你好,Go语言\n\n
- Mysql常用的存储引擎
- 计算机学数字电子基础知识,什么是数字电路?新手如何快速学习数字电路基础?...
- X射线检测系统技术行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 360 自动 html 极速模式,用Meta标签代码让360双核浏览器默认极速模式打开网站不是兼容模式(顺带解决很多兼容性问题)...
- 关于程序员清明节假期延长至七天的通知
- 1428D - Bouncing Boomerangs(思维+构造+贪心)
- vs2016 程序在vs2019 运行,显示无法找到 Intel C++ Compiler XE14.0解决方案
- Apache服务器配置参数的全面说明(所有参数)
- 卸载 windows 2003 自带 .NET Framework (dotnetfx cleanup tool)
- Pytorch-Lightning--Tuner
热门文章
- 【多线程】解决SpringBoot热部署时layering-cache线程池被Tomcat Graceful shutdown,重新赋值方法区中 StatsServi
- chrome浏览器添加crx插件
- zipFile 压缩文件夹 C#
- creator pvr etc
- C语言解数独(含源码) 2020/8/19
- On the Sentence Embeddings from Pre-trained Language Models
- 第十五章 友元、异常和其他
- 本机电脑清除DNS缓存+浏览器清除DNS缓存
- antd modal层级混乱
- 加密流量分类-论文2:Deep Packet: A Novel Approach For Encrypted Traffic Classification Using Deep Learning