文章目录
本项目是:中科院软件所刘焕勇老师在github上的开源项目。
PS:开头附本文章中所有下载包,包括:JDK、Neo4j、visualcppbuildtools_full.exe
链接:https://pan.baidu.com/s/1Ba_3YZyqHGbo8d90kBgEOQ
提取码:yx63
QABasedOnMedicaKnowledgeGraph项目
1. 项目背景
最近,实验室让我们做一个关于问答的项目,所以我找来一篇 中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目QABasedOnMedicaKnowledgeGraph。实现起来看看具体如何。
项目地址:https://github.com/liuhuanyong/QASystemOnMedicalKG
目前知识图谱在各个领域全面开花,如教育、医疗、司法、金融等。本项目立足医药领域,以垂直型医药网站为数据来源,以疾病为核心,构建起一个包含7类规模为4.4万的知识实体,11类规模约30万实体关系的知识图谱。
本项目将包括以下两部分的内容:
- 基于垂直网站数据的医药知识图谱构建
- 基于医药知识图谱的自动问答
2. 项目运行步骤
- 配置要求:要求配置
neo4j
数据库及相应的python
依赖包。neo4j
数据库用户名密码记住,并修改相应文件。 - 知识图谱数据导入:
python build_medicalgraph.py
,导入的数据较多,估计需要几个小时。 - 启动问答:
python chat_graph.py
3. 环境搭建——JAVE JDK、Noe4j
安装neo4j,neo4j 依赖java jdk 1.8版本以上 ,所以我们先进行JDK的安装。
3.1 JAVA JDK 环境
-
首先下载: https://www.oracle.com/java/technologies/javase-jdk8-downloads.html ,根据自己电脑版本选择对应的版本号,这里我选择:
jdk-8u251-windows-x64.exe
-
双击安装,选择安装路径,接下来根据提示安装
jre
,这里将两个文件安装到同一个目录,如下图所示:
检查是否安装成功:打开cmd
,输入命令:java -version
,若提示没有无法运行之类的话就是没安装;若出现如下界面,则是安装成功。
-
接下来配置环境变量, 其中path的目的是: 让工具在哪里都可以使用。 classpath目的: 让编译的二进制class文件统一的放到一个位置。 java-home 目的:让写路径变的相对简单一点。
-
打开环境变量配置。计算机→属性→高级系统设置→高级→环境变量,在系统变量中配置。
-
配置 JAVA_HOME。新建,变量名 JAVA_HOME,变量值,jdk 路径,我的路径是D:\Java\jdk1.8.0_251,保存。
-
配置CLASSPATH。新建,变量名 CLASSPATH,变量值 → .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(第一个分号前前面有一个点)。
-
配置Path。打开Path变量,在变量值最后加入%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin;
-
检验是否配置成功 运行
cmd
输入java -version
显示版本信息 则说明安装和配置成功。
-
3.2 安装 neo4j
-
下载: https://go.neo4j.com/download-thanks.html?edition=community&release=3.4.1&flavour=winzip (注意版本,我尝试了neo4j-community-4.0.3,结果出现了JDK不支持的情况,因此倒回neo4j-community-3.4.1的版本。)
-
解压路径:
D:\neo4j-community-3.4.1
-
配置环境变量 :
新建系统变量,变量名:NEO4J_HOME
,变量值:D:\neo4j-community-3.4.1
再修改变量path
,增加%NEO4J_HOME%\bin
-
尝试启动
以管理员身份运行控制台(
win+A+X
)在命令窗口切入到主目录
neo4j-community-3.4.1\bin
执行
neo4j.bat console
-
运行成功,此时可以打开浏览器,输入: http://localhost:7474/browser/
默认账号和密码均为:neo4j
更改密码。完成。【为了避免自己忘记密码,我在这给自己一个提示,name&birth】
运行界面如下:
-
**Noe4j安装服务到本地 **
输入命令: neo4j install-service
安装服务到本地(提示install-service中间没有空格)
开启服务:neo4j start
4. 依赖库的问题
-
ahocorasick 无法安装的问题
① 这个包改名为:pyahocorasick
所以:pip --default-timeout=10000 install pyahocorasick
② pip安装报错:error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
解决:下载visualcppbuildtools_full.exe
工具(本文开头有百度网盘链接,需要自取),安装Visual C++,第一次显示安装未完全成功且pip安装后依然出错,重新又装了一次后重新pip,成功。 -
其他的问题详见这篇博客: 基于医疗知识图谱的问答实践中遇到的问题 https://blog.csdn.net/vivian_ll/article/details/89337931
5. 项目运行
根据neo4j 安装时的端口、账户、密码配置设置设置项目配置文件:answer_search.py & build_medicalgraph.py (github下载项目时根据个人需要也可使用git)
数据导入:python build_medicalgraph.py
,导入的数据较多,可能需要好几个小时
启动问答:python chat_graph.py