毕业设计:基于知识图谱的《红楼梦》人物关系可视化

news2025/1/19 2:57:32

文章目录

        • 项目介绍
        • 部署步骤
        • 项目运行

项目介绍

github地址:https://github.com/chizhu/KGQA_HLM?tab=readme-ov-file

基于知识图谱的《红楼梦》人物关系可视化:应该是重庆邮电大学林智敏同学的毕业设计,在学习知识图谱的过程中参考使用。

文件树:

  1. app.py是整个系统的主入口
  2. templates文件夹是HTML的页面
    |-index.html 欢迎界面
    |-search.html 搜索人物关系页面
    |-all_relation.html 所有人物关系页面
    |-KGQA.html 人物关系问答页面
  3. static文件夹存放cssjs,是页面的样式和效果的文件
  4. raw_data文件夹是存在数据处理后的三元组文件
  5. neo_db文件夹是知识图谱构建模块
    |-config.py 配置参数
    |-create_graph.py 创建知识图谱,图数据库的建立
    |-query_graph.py 知识图谱的查询
    KGQA文件夹是问答系统模块
    |-ltp.py 分词、词性标注、命名实体识别
  6. spider文件夹是爬虫模块
    |- get_*.py 是之前爬取人物资料的代码,已经产生好imagesjson 可以不用再执行
    |-show_profile.py 是调用人物资料和图谱展示在前端的代码
部署步骤
  1. 安装所需的库 执行pip install -r requirement.txt
  2. 先下载好neo4j图数据库,并配好环境(注意neo4j需要jdk8)。修改neo_db目录下的配置文件config.py,设置图数据库的账号和密码。
    neo4j教程:neo4j下载安装最新教程 2024.02
  3. 切换到neo_db目录下,执行python create_graph.py 建立知识图谱

在这里插入图片描述

  1. 下载好ltp模型。
    ltp介绍:LTP/pyltp安装和使用教程
  2. KGQA目录下,修改ltp.py里的ltp模型文件的存放目录
LTP_DATA_DIR = 'e:/ltp_data_v3.4.0'  # ltp模型目录的路径

在这里插入图片描述

  1. 运行python app.py,浏览器打开localhost:5000即可查看
项目运行
  • 运行app.py项目

在这里插入图片描述

  • 开启探索

在这里插入图片描述

有三个主要功能,分别是人物关系可视化中的检索人物关系、红楼梦人物关系全貌和问答系统中的人物关系问答

  • 检索人物关系-林黛玉

会通过echarts可视化展示出林黛玉有关的人物关系,应用的是neo4j知识图谱。

在这里插入图片描述

  • 红楼梦人物关系全貌

展示整个红楼梦人物关系的知识图谱。

在这里插入图片描述

  • 人物关系问答

人物关系问答涉及基于ltp的实体识别NER,关系抽取和知识图谱的搜索,爬虫的部分已经提前做好,人物信息完整,但是有部分错误。

提问:贾宝玉的奶奶的儿子的妻子是谁?

[Record({'p.Name': '贾赦', 'n.Name': '贾母', 'r.relation': '儿子', 'p.cate': '贾家荣国府', 'n.cate': '史家'}), Record({'p.Name': '贾政', 'n.Name': '贾母', 'r.relation': '儿子', 'p.cate': '贾家荣国府', 'n.cate': '史家'})]
============================================================================================================        
[Record({'p.Name': '王夫人', 'n.Name': '贾政', 'r.relation': '妻', 'p.cate': '王家', 'n.cate': '贾家荣国府'})]
============================================================================================================
127.0.0.1 - - [19/Feb/2024 16:40:54] "GET /KGQA_answer?name=贾宝玉的奶奶的儿子的妻子是谁? HTTP/1.1" 200 -

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1458311.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WebGL开发数据可视化应用

使用WebGL进行数据可视化可以创造出令人印象深刻的交互式和动态图形。以下是一些在WebGL中开发数据可视化应用时需要考虑的步骤和技术,希望对大家有所帮助。 1.选择合适的WebGL框架或库: 使用现有的WebGL框架或库,如Three.js、Babylon.js、r…

云HIS定义,云HIS系统源码,云HIS建设方法,云HIS发展机制

一、重新定义HIS: 传统HIS是基于局域网的医院信息系统,云HIS全称为基于云计算的医疗卫生信息系统(Cloud-Based Healthcare Information System),是运用云计算、大数据、物联网等新兴信息技术,按照现代医疗卫…

解决ModuleNotFoundError: No module named ‘pysqlite2‘

目录 一、问题描述: 二、问题分析: 三、问题解决: 四、参考文章: 一、问题描述: 在重新安装的anaconda环境中自建了一个新虚拟环境,再安装完jupyter后(pip install jupyter)&am…

图的遍历(广度优先遍历BFS,深度优先遍历DFS)

目录 图的遍历概念: 图的广度优先遍历(BFS): 代码实现如下: 测试如下: 注意: 图的深度优先遍历(DFS): 代码实现如下: 测试如下&#xff1…

HTML 字符实体参考清单

前言 一些字符在 HTML 中是预留的&#xff0c;拥有特殊的含义&#xff0c;比如小于号‘<’用于定义 HTML 标签的开始。如果我们希望浏览器正确地显示这些字符&#xff0c;我们必须在 HTML 源码中插入字符实体。 字符实体有三部分&#xff1a;一个和号‘&’和一个实体名…

护眼台灯哪个牌子好?揭秘多款热销护眼台灯品牌

现在不管是学生党学习阅读&#xff0c;还是办公族加班工作&#xff0c;都离不开一盏光源舒适的台灯&#xff0c;然而如今的台灯市场水实在太深的&#xff0c;各种网红、劣质产品混杂在其中&#xff0c;一不留神就踩雷了。这类低质量的台灯往往采用劣质电源&#xff0c;其电源品…

怎么在抖音带自己的货?带货方式和带货要求,如下所示

我是王路飞。 不管你是无货源的新手小白&#xff0c;还是有货源的厂家/供应链&#xff0c;想在抖音卖货的话&#xff0c;无非就两种方式&#xff1a;要么开店、要么开直播带货。 看似都是在抖音卖货&#xff0c;但其实这是两条不同的赛道。 这篇文章就给你们聊下想在抖音卖货…

PTA——7-31 三角形判断

7-31 三角形判断 (15分) 给定平面上任意三个点的坐标(x​1​​,y​1​​)、(x​2​​,y​2​​)、(x​3​​,y​3​​)&#xff0c;检验它们能否构成三角形。 输入格式: 输入在一行中顺序给出六个[−100,100]范围内的数字&#xff0c;即三个点的坐标x​1​​、y​1​​、x​2​…

详解-领航家政策/双2.0模式

#领航家代理政策怎么代理# ∨&#xff1a;ok1234vip 简单点说&#xff01;费率/分润和返现先不说了&#xff0c;领航家是双2.0平台&#xff0c;用户也可以参与其中拼团&#xff0c;费率随之降低能一直降至0费率&#xff0c;甚至可以赚钱&#xff0c;&#xff08;这就是拼团两人…

OpenCV人脸检测案例实战

人脸检测是一种计算机视觉技术&#xff0c;旨在识别图像或视频中的人脸。这项技术的基本内容包括使用特定的算法和模型来定位和识别人脸&#xff0c;通常涉及在图像中寻找面部特征&#xff0c;如眼睛、鼻子、嘴巴等&#xff0c;以便准确地确定人脸的位置和边界。人脸检测技术的…

构造分钟降水R01文件

格式为&#xff1a;四川省降水强度数据集 目的&#xff1a;主要练习提取降水强度&#xff0c;而创建随机的分钟降水文件。 处理&#xff1a; 雨量筒降水不需要&#xff0c;统一处理为666666。 无降水与缺测&#xff08;标志2&#xff0c;3&#xff09;增加出现概率&#xf…

.NET 9 首个预览版发布:瞄准云原生和智能应用开发

前言 前不久.NET团队发布了.NET 9 的首个预览版&#xff0c;并且分享.NET团队对 .NET 9 的初步愿景&#xff0c;该愿景将于今年年底在 .NET Conf 2024 上发布。其中最重要的关注领域是&#xff1a;云原生和智能应用开发。 云原生开发人员平台 过去几年&#xff0c;.NET团队一…

在四维轻云中,如何实现地理空间数据云管理?

四维轻云是一款轻量化的地理空间数据网页管理平台&#xff0c;支持倾斜模型(.osgb)、激光点云(.las)、正射影像(dom)和数字高程模型(dem)等多种地理空间数据的在线管理、编辑及分享&#xff0c;其他类型地理空间数据也将陆续上线。 目前&#xff0c;平台具有项目管理、数据上传…

苹果打破App Store垄断,允许第三方应用商店存在 /马斯克的Neuralink首次成功植入芯片 |魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件&#x1f525;&#xff0c;更新AIGC的最新动态&#xff0c;生成相应的魔法简报&#xff0c;节省阅读时间&#x1f47b; &#x1f525;资讯预览 苹果打破App Store垄断&#xff0c;允许第三方应用商店存在&#xff0c;但开…

关于SQL的各种Join你知道多少?

SQL中的 join&#xff0c;无外乎 inner join、outer join 以及 cross join&#xff0c;而 inner join 其实就是我们熟知的 join&#xff0c;outer join 其实就是 left outer join、right outer join 和 full outer join。 inner join 通过连接键列中的值进行匹配&#xff0c;…

深入浅出JVM(二)之运行时数据区和内存溢出异常

Java虚拟机在运行Java程序时,把所管理的内存分为多个区域, 这些区域就是运行时数据区 运行时数据区可以分为:程序计数器,Java虚拟机栈,本地方法栈,堆和方法区 程序计数器 Program Counter Register 程序记数寄存器 什么是程序计数器? 程序计数器是一块很小的内存,它可以当作…

LeetCode 0589.N 叉树的前序遍历:深度优先搜索(DFS)

【LetMeFly】589.N 叉树的前序遍历&#xff1a;深度优先搜索(DFS) 力扣题目链接&#xff1a;https://leetcode.cn/problems/n-ary-tree-preorder-traversal/ 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表…

灵活的数据权限思路

1、 前言 我一年java&#xff0c;在小公司&#xff0c;当前公司权限这块都没有成熟的方案&#xff0c;目前我知道权限分为功能权限和数据权限&#xff0c;我不知道数据权限这块大家是怎么解决的&#xff0c;但在实际项目中我遇到数据权限真的复杂&#xff0c;你永远不知道业主…

扫盲:什么是webGPU,和webGL对比哪些优点?

web端的3D图像渲染&#xff0c;大都采用webGL&#xff0c;不过其性能让大家很崩溃&#xff0c;webGPU的出现&#xff0c;让大家看到了访问加速的可能&#xff0c;本文通过对比webGPU与webGL&#xff0c;给老铁们普及一下。老铁们如有数据可视化的设计和开发需求&#xff0c;可以…

【Linux取经路】文件系统之重定向的实现原理

文章目录 一、再来理解重定向1.1 输出重定向效果演示1.2 重定向的原理1.3 dup21.4 输入重定向效果演示1.5 输入重定向代码实现 二、再来理解标准输出和标准错误2.1 同时对标准输出和标准错误进行重定向2.2 将标准输出和标准错误重定向到同一个文件 三、再看一切皆文件四、结语 …