python代码画人物_用Python+Gephi画《人民的名义》人物关系图

本文介绍如何利用Python和jieba分词提取《人民的名义》人物,并建立角色关系图,通过Gephi进行展示。通过自定义字典提高人名识别准确性,分析剧本中人物两两联系的紧密程度,最终生成节点和边的文件并用Gephi进行美化展示。
摘要由CSDN通过智能技术生成

理一下画关系图的步骤:

首先,要找到《人民的名义》的台词(或剧本),可以使用UTF8编码的txt文件。

其次,要提取剧中的角色,这里我们使用jieba分词模块来提取文本中的角色名,得到图的“节点”

然后,为再剧本中每一段中出现的若干个角色,两两之间建立一条“边”,根据两两角色一同出现频度,来决定边的“权值”

最后,根据上面的信息,使用Gephi来图

可以先定义三个变量

# names : 保存人物,键为人物名称,值为该人物在全文中出现的次数

# relationship : 保存人物关系的有向边,键为有向边的起点,值为一个字典 edge ,edge 的键为有向边的终点,值是有向边的权值,

# 代表两个人物之间联系的紧密程度

# lineNames : 缓存变量,保存对每一段分词得到当前段中出现的人物名称

names = {}

relationships = {}

lineNames = []

1.提取角色(节点)

jieba分词中对人名的识别不够准确,比如,可能会把“明白”、“文明”这样的词识别为人名,针对这个问题,可以建立用户自定义字典,以提高《人民的名义》中人名的识别准确率。

可以在网上查找角色表,写入一个txt文件。如下是一个自定义字典的示例,每行第一个代表字典中的词,第二个代表频数,第三个代表词性。

侯亮平 100 nr

沙瑞金 100 nr

李达康 100 nr

高育良 100 nr

祁同伟 100 nr

陆亦可 100 nr

高小琴 100 nr

吴慧芬 100 nr

刘新建 100 nr

陈岩石 100 nr

季昌明 100 nr

赵瑞龙 100 nr

郑西坡 100 nr

钟小艾 100 nr

赵东来 100 nr

蔡成功 100 nr

欧阳菁 100 nr

丁义珍 100 nr

程度 100 nr

陈海 100 nr

郑胜利 100 nr

王文革 100 nr

田国富 100 nr

赵德汉 100 nr

易学习 100 nr

梁璐 100 nr

孙连成 100 nr

肖钢玉 100 nr

林华华 100 nr

jieba.load_userdict("RoleTable.txt")

在分词后判断一个词是否为人名,可以用下面两个条件筛选,满足条件的可以人为不是人名

1) 该词词性不为

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值