Bootstrap

踩坑经过——QABasedOnMedicaKG的使用过程


本项目是:中科院软件所刘焕勇老师在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万实体关系的知识图谱。

本项目将包括以下两部分的内容:

  1. 基于垂直网站数据的医药知识图谱构建
  2. 基于医药知识图谱的自动问答

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

;