README.MD

    基于知识图谱的医疗诊断知识问答系统

    号外,我开通了一个知识星球,在里面我将提供一下服务:

    • 上传项目里所有涉及到的代码、数据、模型
    • 回答每一个球员的项目相关问题,即使再简单的基础问题
    • 解决你在运行项目代码时的 BUG 问题
    • 一些在学习NLP算法时遇到的一些困恼
    • 校招及初级社招简历中的算法项目的润色指导
    • 后续的NLP基础课程的一切答疑(课程目录大纲在最后)
    imang

    环境

    • python >= 3.6
    • pyahocorasick==1.4.2
    • requests==2.25.1
    • gevent==1.4.0
    • jieba==0.42.1
    • six==1.15.0
    • gensim==3.8.3
    • matplotlib==3.1.3
    • Flask==1.1.1
    • numpy==1.16.0
    • bert4keras==0.9.1
    • tensorflow==1.14.0
    • Keras==2.3.1
    • py2neo==2020.1.1
    • tqdm==4.42.1
    • pandas==1.0.1
    • termcolor==1.1.0
    • itchat==1.3.10
    • ahocorasick==0.9
    • flask_compress==1.9.0
    • flask_cors==3.0.10
    • flask_json==0.3.4
    • GPUtil==1.4.0
    • pyzmq==22.0.3
    • scikit_learn==0.24.1

    效果展示

    为能最简化使用该系统,不需要繁杂的部署各种七七八八的东西,当前版本使用的itchat将问答功能集成到微信做演示,这需要你的微信能登入网页微信才能使用itchat;另外对话上下文并没有使用Redis之类的数据库实时存储到内存里,而是使用json文件的存、读进行的。

    能够回答哪些疾病相关知识,可以参考这个疾病实体字典里的疾病;另外目前并没有实现实体链指的功能(因为没有相关的开源数据集),因此现在只支持“疾病”实体的完整、准确输入的解析。

    imang imang imang

    完整演示视频

    如何运行demo代码

    1. 下载意图识别模型文件

    由于该模型是使用bert训练的,比较大,因此我上传到百度网盘了,有需要的可以自己去下载,然后将其放到目录KBQA-for-Diagnosis\nlu\bert_intent_recognition\checkpoint下。

    下载地址

    链接:https://pan.baidu.com/s/1HYB3RwfDs_JcreuEYH51Tw 提取码:b3cd 复制这段内容后打开百度网盘手机App,操作更方便哦

    下载roberta预训练模型 从哈工大官方github下载,点这里,下载RBT3,Chinese 版本(貌似是这个,反正是一个三层的简单版);或者直接点这里用讯飞云下载

    下载好后解压放在项目路径下,然后在bert意图识别文件夹的 app.py代码里改一下预训练模型的路径。

    1. 启动neo4j

    打开cmd ,进入安装目录,输入neo4j.bat console就行;如果是Linux系统,你可以输入./neo4j start后台启动

    C:\Users\wangle>d:
    
    D:\>cd D:\neo4j-chs-community-4.2.2-windows\bin
    
    D:\neo4j-chs-community-4.2.2-windows\bin>neo4j.bat console
    Java HotSpot(TM) 64-Bit Server VM warning: Option UseBiasedLocking was deprecated in version 15.0 and will likely be removed in a future release.
    2021-05-30 03:27:00.749+0000 INFO  Starting...
    2021-05-30 03:27:02.126+0000 INFO  ======== Neo4j 4.2.2 ========
    2021-05-30 03:27:03.404+0000 INFO  Performing postInitialization step for component 'security-users' with version 2 and status CURRENT
    2021-05-30 03:27:03.405+0000 INFO  Updating the initial password in component 'security-users'
    2021-05-30 03:27:03.617+0000 INFO  Bolt enabled on localhost:7687.
    2021-05-30 03:27:04.194+0000 INFO  Remote interface available at http://localhost:7474/
    2021-05-30 03:27:04.194+0000 INFO  Started.
    1. 启动意图识别和槽位填充服务

    依次双击run_intent_recog_service.batrun_ner_service.bat 两个 bat 文件,打开后不要关闭;如果你是Linux系统,请将其改成 shell 脚本 然后运行。

    1. 启动itchat

    打开一个新的cmd,进入项目文件夹路劲,输入:

    python itchat_app.py

    之后微信扫描二维码就可以在微信里做问答了。

    imang

    提示以下信息表明登入成功,如果报错,说明你的微信不能登入网页微信,可以换一个注册时间有7/8年的微信试试

    Login successfully as 你的微信账号
    Start auto replying.

    后期计划

    系列视频持续更新中……,后期代码也将一并上传(第一版demo已全部上传)

    当前实现的是最小演示版本,后期会加上Redis、elasticsearch、tf-serving等技术栈,如果有前端配合的话也可以将问答服务发布成后端接口,这样就可以做工程化部署了。

    点击这里观看视频

    本项目系列视频大纲如下,最后可能会有细微差别,影响不大

    imang imang

    项目简介

    当前项目暂无项目简介

    发行版本

    当前项目没有发行版本

    贡献者 1

    开发语言

    • Python 98.0 %
    • Perl 2.0 %
    • Batchfile 0.0 %
    • Shell 0.0 %