一、引言
该项目主要分为两部分:(项目链接)
- 第一部分:搭建知识图谱。该部分的具体讲解将在 Datawhale 知识图谱组队学习 之 Task 3 Neo4j图数据库导入数据进行介绍;
- 第二部分:启动问答测试。构建一个简单的基于 知识图谱 的对话系统,该部分的具体讲解将在 Datawhale 知识图谱组队学习 之 Task 4 用户输入->知识库的查询语句 和 Datawhale 知识图谱组队学习 之 Task 5 Neo4j 图数据库查询 进行分别介绍;
本节的核心目标是 从 全局对项目的运行过程进行介绍和讲解;先跑通整个项目。
二、运行环境
- python3.0及以上
- neo4j 3.5.0及以上
- jdk 1.8.0
三、搭建知识图谱
运行该过程,请确保已经安装好 neo4j 和 jdk
运行 以下命令:
python build_graph.py
注:数据量较大,需要运行多个小时。
四、启动问答测试
运行 以下命令:
python kbqa_test.py
问题:ModuleNotFoundError: No module named 'ahocorasick'
解决:pip install ahocorasick -i https://pypi.tuna.tsinghua.edu.cn/simple/
问题:ImportError: cannot import name 'joblib' from 'sklearn.externals' (C:\Users\Ethan\anaconda3\lib\site-packages\sklearn\externals\__init__.py)
解决:pip uninstall joblib scikit-leran sklearn 然后 pip install Scikit-learn==0.20.4
问题:TypeError: an integer is required (got type bytes)
解决:将python3.8切换成python3.7
问题:ModuleNotFoundError: No module named 'jieba'
解决:pip install jieba
问题:NameError: name 'data_dir' is not defined
解决:在entity_extractor.py中的class EntityExtractor: 加入data_dir = os.path.join(cur_dir,'data/')
参考资料
1、QASystemOnMedicalGraph