文章目录
- 项目介绍
- 部署步骤
- 项目运行
项目介绍
github
地址:https://github.com/chizhu/KGQA_HLM?tab=readme-ov-file
基于知识图谱的《红楼梦》人物关系可视化:应该是重庆邮电大学林智敏同学的毕业设计,在学习知识图谱的过程中参考使用。
文件树:
app.py
是整个系统的主入口templates
文件夹是HTML
的页面
|-index.html
欢迎界面
|-search.html
搜索人物关系页面
|-all_relation.html
所有人物关系页面
|-KGQA.html
人物关系问答页面static
文件夹存放css
和js
,是页面的样式和效果的文件raw_data
文件夹是存在数据处理后的三元组文件neo_db
文件夹是知识图谱构建模块
|-config.py
配置参数
|-create_graph.py
创建知识图谱,图数据库的建立
|-query_graph.py
知识图谱的查询
KGQA
文件夹是问答系统模块
|-ltp.py
分词、词性标注、命名实体识别spider
文件夹是爬虫模块
|-get_*.py
是之前爬取人物资料的代码,已经产生好images
和json
可以不用再执行
|-show_profile.py
是调用人物资料和图谱展示在前端的代码
部署步骤
- 安装所需的库 执行
pip install -r requirement.txt
- 先下载好
neo4j
图数据库,并配好环境(注意neo4j
需要jdk8
)。修改neo_db
目录下的配置文件config.py
,设置图数据库的账号和密码。
neo4j
教程:neo4j下载安装最新教程 2024.02
- 切换到
neo_db
目录下,执行python create_graph.py
建立知识图谱
- 下载好
ltp
模型。
ltp
介绍:LTP/pyltp安装和使用教程
- 在
KGQA
目录下,修改ltp.py
里的ltp
模型文件的存放目录
LTP_DATA_DIR = 'e:/ltp_data_v3.4.0' # ltp模型目录的路径
- 运行
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 -