金庸小说人物知识图谱构建——获取共现关系

在用命名实体识别工具提取出人名后,我们要构建一个知识图谱,还需要知道人物间的关系,而人物间的关系是基于人物共现来提取的,"共现"指的是两个人物在文章中某一部分共同出现,这个“部分”就是所谓的共现窗口的大小,可以是一个段落,也可以是一个句子,共现窗口越小,人物的共现频次可能就越高。

因此,本步骤的目的是得到人物间的共现关系,我采用的方法是用爬虫爬取免费小说网站上的数据,按章节爬取,将数据保存到数据库中。

数据来源

虽然我有本地数据,但我设定的共现窗口为一个章节,本地数据是整篇小说在一个文档中,无法区分出章节,所以我想到用爬虫到网上爬取数据。
经过一番选择,最后选定了一个免费小说网站,里面有我想要的《雪山飞狐》小说,并且是按章节来分的。

获取数据

在这里插入图片描述
爬虫代码已上传至github——代码

共现关系

将上一步骤得到的共现人名进行提取,存储到excel文件中
在这里插入图片描述
每一行表示在一个章节中共现的人物

参考文章

参考的一位大佬系列文章:
个人博客主页

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
知识图谱是一种用于描述实体之间关系的图形化知识表示方式。Python是一种功能强大的编程语言,可以用于构建知识图谱。以下是使用Python构建知识图谱的一些步骤和方法: 1. 确定实体和关系:首先需要确定知识图谱中包含哪些实体和它们之间的关系。例如,在金庸小说中,实体可以是人物、地点、事件等,它们之间的关系可以是亲戚关系、师徒关系、敌对关系等。 2. 数据收集和处理:收集和处理数据是构建知识图谱的重要步骤。可以使用Python爬虫技术从互联网上收集数据,也可以使用Python处理已有的数据。例如,可以使用Python的pandas库对数据进行清洗和处理。 3. 知识图谱建模:使用Python的图数据库neo4j可以方便地构建知识图谱。可以使用Python的py2neo库连接neo4j数据库,并使用Cypher语言创建节点和关系。例如,可以使用以下代码创建一个人物节点和一个师徒关系: ```python from py2neo import Graph, Node, Relationship # 连接neo4j数据库 graph = Graph() # 创建人物节点 person = Node("Person", name="张无忌") graph.create(person) # 创建师徒关系 master = Node("Person", name="张三丰") apprentice = person relationship = Relationship(master, "师徒", apprentice) graph.create(relationship) ``` 4. 可视化:使用Python的可视化库可以将知识图谱可视化。例如,可以使用Python的matplotlib库绘制知识图谱的节点和关系

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值