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

源码: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

你可能感兴趣的:(代码实现,自然语言处理,python)