红楼梦,中国古典四大名著之首,清代作家创作的章回体长篇小说,又名《石头记》《金玉缘》。此书分为120回“程本”和80回“脂本”两种版本系统。新版通行本前八十回据脂本汇校,后四十回据程本汇校,署名“曹雪芹著,无名氏续,程伟元、高鹗整理”。

红楼梦中人物众多,而且人物关系复杂,常规方法梳理起来复杂而且杂乱,非常适合基于知识图谱技术构建红楼梦人物关系。

构建知识图谱,需要进行本体构建—信息抽取——知识融合。

在红楼梦中,主要需要解决人物关系。所以本体只需要人物与人物关系,其它本体暂不考虑。

信息抽取是其中难点。由于现有很多语言处理是基于现代语言进行建模的,而 红楼梦是文言文小说,所以现有语言模型可能会不太适用,所以可以使用bert语言模型,进行二次建模来处理红楼梦实体抽取,关系抽取。其中选取deepke作为框架,利用其中ner与re作为技术手段进行建模。

DeepKE包含命名实体识别、关系抽取和属性抽取三个模块,分别是三个任务。每个模块都有自己的子模块。例如,关系抽取模块中有标准的、少样本、文档级和多模态子模块。每个子模块由三部分组成:一组可用作​tokenizer​的工具、数据加载器、训练和预测时使用编码的一种处理模块。

实体抽取
进入对于案例使用文件夹路径,cd DeepKE/example/ner/standard,然后配置该案例运行所需要的包。根据deepke文档中的案例,创建python3.8的环境:conda create -n deepke python=3.8,然后激活conda activate deepke。安装依赖包:pip install -r requirments.txt。

第二步:获取标准的样例数据,通过wget 120.27.214.45/Data/ner/standard/data.tar.gz下载,然后tar -xzvf data.tar.gz解压,数据集和参数可以分别在data文件夹和conf文件夹中自定义。Dataset需要输入的是txt文本类型数据,文件数据格式需符合以下要求:

当下茶果已撤,贾母命两个老嬷嬷带了黛玉去见两个母舅。

OOOOOOO,B-PER I-PER O O O O O O O B-PER I-PER O O O O OO

将对应的数据放到模型训练,执行python run.py即开始训练。

关系抽取

构建样本数据示例如下

"head","tail","relation","label"
"贾代善","贾源","son","子"
"娄氏","贾源","daughter_in_law_of_grandson","重孙媳妇"
"贾母","贾代善","wife","妻"
"老姨奶奶","贾代善","concubine","妾"
"贾敏","贾代善","daughter","女"
"嫣红","贾赦","concubine","妾"
"翠云","贾赦","concubine","妾"
"娇红","贾赦","concubine","妾"
"贾迎春","贾赦","daughter","女"
"赵姨娘","贾政","concubine","妾"
"周姨娘","贾政","concubine","妾"

导入到neo4j结果如下所示

基于deepke构建红楼梦知识图谱相关推荐

  1. 【知识图谱】构建红楼梦知识图谱

    在b站看到有人用知识图谱构建红楼梦的人物关系的知识图谱,跟着做了一遍,在这里记录. 1.安装neo4j 具体见:https://blog.csdn.net/Zhouzi_heng/article/de ...

  2. 知识图谱实战:构建红楼梦知识图谱

    本文为数据集整理以及代码存放,本内容已经录制b站课程,如有需要可以前去观看,建议点赞投币- 视频内容简介,最后可以带大家确实做一个知识图谱 b站课程地址:https://www.bilibili.co ...

  3. Neo4j入门实战之红楼梦知识图谱

    参考这个视频:知识图谱实战:构建红楼梦知识图谱_哔哩哔哩_bilibili 项目概述:         采用http://www.openkg.cn/home(开放的知识图谱)中的四大名著的人物关系数 ...

  4. 【Neo4j实战】红楼梦知识图谱

    neo4j实战项目 Jupyter下载 Jupyter中建立结点 红楼梦知识图谱 代码编程 csv文件(数据集) 跟着b站博主进行了学习,终于明白了如何简单进行知识图谱的构建. B站视频链接: htt ...

  5. 基于linux上搭建红楼梦知识图谱---后续

    需要安装烧瓶,py2neo,pyltp,BS4 flask我电脑上本来就有,py2neo,bs4直接用pip安装就可以 在安装pyltp的过程中,遇见了麻烦,直接PIP,一直处于构建过程,我等了十五分 ...

  6. 2 构建红楼梦关系图谱

    1 导入相关的包 import csv import py2neo from py2neo import Graph, Node, Relationship, NodeMatcher 2 连接neo4 ...

  7. HugeGraph图数据库构建红楼梦人物关系知识图谱实例

    HugeGraph是一款易用.高效.通用的开源图数据库系统(Graph Database,GitHub项目地址), 实现了Apache TinkerPop3框架及完全兼容Gremlin查询语言, 具备 ...

  8. 论文浅尝 | DSKReG:基于关系GNN的推荐知识图谱可微抽样

    笔记整理:李爽,天津大学硕士 链接:https://dl.acm.org/doi/pdf/10.1145/3459637.3482092 动机 在信息爆炸的时代,推荐系统被广泛研究和应用,以发现用户的 ...

  9. 基于Neo4j中医方剂药材知识图谱大数据可视化分析系统的设计与开发

    基于Neo4j中医方剂药材知识图谱大数据可视化分析系统的设计与开发 设计背景 这个系统的开发初衷是笔者希望通过这个系统来学习一下Neo4j的相关技术,包括与python.java的对接.可视化等方面, ...

最新文章

  1. Ubuntu下硬盘读写时声音很响问题的解决
  2. zigbee抗干扰matlab仿真,基于Zigbee的扩频通信MATLAB仿真.doc
  3. Oracle关联更新语法(T-SQL中的update...from)
  4. IOS9.0 导航栏状态栏
  5. mac电脑php中安装swoole扩展件
  6. LeetCode 605. 种花问题
  7. Java List集合转换相关操作
  8. 2能不用cuda_洗洁精不用花钱买,自己在家2毛钱能做一大瓶,效果比买的还好!...
  9. 七步从Angular.JS菜鸟到专家(1):如何开始【转】
  10. 【转】Oracle 系统权限详细列表
  11. 安卓动画全解:补间动画(视图动画)、布局动画、属性动画、逐帧动画。动画Animation属性、Alpha属性、Scale属性、Translate属性、Rotate属性,动画集AnimationSet
  12. 设计模式-01-设计模式简介及分类
  13. 计算机应用基础李波课件,计算机应用基础
  14. UML统一建模语言是什么?
  15. qca9535 tftp32 刷机_【U-Boot】U-Boot 刷机方法大全
  16. java实习第三周总结
  17. 《深入理解java虚拟机》学习-第三章-内存分配策略
  18. 实战项目 — 爬取 校花网图片
  19. Windows 小工具软件:截屏,录音,音频转换
  20. layui模块显示收缩_修改layui的后台模板的左侧导航栏可以伸缩的方法

热门文章

  1. 用physon代码生成一个打飞机小游戏
  2. shell脚本根据不同的压缩包类型(rar和zip)分别进行解压
  3. java给xyz大小排序_java实现递归实现string xyz排序
  4. 一些嵌入式开发有用的github上的开源代码库【转载-陶孜河畔】
  5. 什么是网站监控,网站监控软件有什么用?
  6. 织梦DedeCMS子目录移动到根目录的方法
  7. 图片格式转换器有什么,怎么无损转换heic格式
  8. 【机器学习】专业人士才能看得懂的机器学习梗图大赏
  9. 手机怎么设置某一天闹钟提醒
  10. 最新《动手学习深度学习》配套课程视频、笔记、ppt等资源整理分享