基于知识图谱的《红楼梦》人物关系可视化及问答系统的实现

源码:https://github.com/chizhu/KGQA_HLM

在实现这个问答系统的过程中,遇到了很多坑,在这里分享下自己的经验。

以下是github中给出的步骤。

  • 0.安装所需的库 执行pip install -r requirement.txt
  • 1.先下载好neo4j图数据库,并配好环境(注意neo4j需要jdk11)。修改neo_db目录下的配置文件config.py,设置图数据库的账号和密码。
  • 2.切换到neo_db目录下,执行python create_graph.py 建立知识图谱
  • 3.去 这里 下载好ltp模型。ltp简介
  • 4.在KGQA目录下,修改ltp.py里的ltp模型文件的存放目录
  • 5.运行python app.py,浏览器打开localhost:5000即可查看

步骤0:

遇到了py2neo的安装问题,本人是python3.8版本。需要找适合的wheel文件进行安装,pip之类的安装都会有问题,vc++14的问题等,用wheel文件安装,不需要安装vs2015。

安装wheel文件时,只需要cd到该文件路径下,直接pip安装

哈工大pyltp库安装的踩坑经历—windows10+python3.8_czwhit的博客-CSDN博客_哈工大pyltp

python3.6和3.7参考以下链接

pyltp 安装教程_闲于说的博客-CSDN博客_pyltp安装

py2neo还会有版本问题,建议安装3.4.0的版本。新的版本有些规则有修改。

py2neo V3的版本有 NodeSelector 函数

py2neo V4版本改为了 NodeMatcher 函数

creat_graph.py文件中要把NodeSelector改为NodeMatcher

参考以下博客:

ImportError: cannot import name 'NodeSelector' from 'py2neo'_总角之宴的博客-CSDN博客

步骤1:

设置图数据库的账号和密码这里,新版、旧版py2neo有所不同,如下:

//旧版Connection profiles示例(3.4.0版本)
from py2neo import *
graph = Graph('http://localhost:7474/',username='neo4j',password='123456')
 
//py2neo 2021.1版本的Connection profiles示例
from py2neo import *
graph = Graph("http://localhost:7474", auth=("neo4j", "123456"))

关于使用Py2neo连接Neo4j图数据库出现“ValueError: The following settings are not supported”报错的解决方案_JW.FFF的博客-CSDN博客

步骤2: 

UnicodeDecodeError: 'gbk' codec can't decode byte报错

将with open(file) as f: 改成 with open(file, ‘r’, encoding=‘utf-8’) as f:即可

with open("C:/Users/PC/Desktop/KGQA_HLM-master/raw_data/relation.txt",'r',encoding='utf-8') as f:

关于UnicodeDecodeError: 'gbk' codec can't decode byte的解决办法_marselha的博客-CSDN博客

步骤4:

下载好文件之后,注意要修改ltp.py中的路径。

LTP_DATA_DIR = 'F:\BaiduNetdiskDownload\ltp_data_v3.4.0\ltp_data_v3.4.0'  # ltp模型目录的路径

步骤5:

在运行app.py之前,要先运行图数据库neo4j:打开命令提示符面板,输入neo4j.bat console

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
你好!对于基于知识图谱的《红楼梦人物关系可视化的毕业设计,你可以考虑以下步骤: 1. 数据收集:首先,你需要收集《红楼梦》中的人物信息和他们之间的关系。这可以包括人物姓名、职位、家族关系等。你可以通过阅读小说、参考相关资料或者使用现有的数据集来获取这些信息。 2. 知识图谱构建:根据收集到的人物信息和关系,你可以使用图数据库或者其他图谱构建工具来构建一个《红楼梦》的人物知识图谱。你可以将每个人物表示为节点,关系表示为边,并且为每个节点和边添加相应的属性。 3. 数据处理与分析:在构建完知识图谱后,你可以进行数据处理和分析。这可以包括对节点和边进行属性抽取、数据清洗和数据预处理等步骤。你还可以使用图算法来发现人物之间的重要关系或者社区结构。 4. 可视化设计:一旦你完成了数据处理和分析,接下来就是将知识图谱可视化。你可以选择使用一些图形库或者可视化工具来设计一个直观、易于理解的人物关系可视化界面。这可以包括节点和边的图形表示、交互功能以及其他可视化元素。 5. 用户交互与展示:最后,你可以为用户提供一个交互式的界面,让他们能够浏览和探索《红楼梦》中的人物关系。你可以添加搜索功能、过滤功能或者其他交互操作,以提供更好的用户体验。 以上是一个基本的步骤框架,你可以根据自己的兴趣和需求进行具体的实现。希望对你的毕业设计有所帮助!如果有任何其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值