haole # QABasedOnMedicaKnowledgeGraph
self-implement of disease centered Medical graph from zero to full and sever as question answering base. 从无到有搭建一个以疾病为中心的一定规模医药领域知识图谱,并以该知识图谱完成自动问答与分析服务。
# 项目介绍
知识图谱是目前自然语言处理的一个热门方向,关于较全面的参考资料,可以查看我的ccks2018参会总结(https://github.com/liuhuanyong/CCKS2018Summary )。
与知识图谱相关的另一种形态,即事理图谱,本人在这方面也尝试性地积累了一些工作,可参考:(https://github.com/liuhuanyong/ComplexEventExtraction )
关于知识图谱概念性的介绍就不在此赘述。目前知识图谱在各个领域全面开花,如教育、医疗、司法、金融等。本项目立足医药领域,以垂直型医药网站为数据来源,以疾病为核心,构建起一个包含7类规模为4.4万的知识实体,11类规模约30万实体关系的知识图谱。
本项目将包括以下两部分的内容:
1) 基于垂直网站数据的医药知识图谱构建
2) 基于医药知识图谱的自动问答
# 项目最终效果
话不多少,直接上图。以下两图是实际问答运行过程中的截图:
![image](https://github.com/liuhuanyong/QABasedOnMedicalKnowledgeGraph/blob/master/img/chat1.png)
![image](https://github.com/liuhuanyong/QABasedOnMedicalKnowledgeGraph/blob/master/img/chat2.png)
# 项目运行方式
1、配置要求:要求配置neo4j数据库及相应的python依赖包。neo4j数据库用户名密码记住,并修改相应文件。
2、知识图谱数据导入:python build_medicalgraph.py,导入的数据较多,估计需要几个小时。
3、启动问答:python chat_graph.py
# 以下介绍详细方案
# 一、医疗知识图谱构建
# 1.1 业务驱动的知识图谱构建框架
![image](https://github.com/liuhuanyong/QABasedOnMedicalKnowledgeGraph/blob/master/img/kg_route.png)
# 1.2 脚本目录
prepare_data/datasoider.py:网络资讯采集脚本
prepare_data/datasoider.py:网络资讯采集脚本
prepare_data/max_cut.py:基于词典的最大向前/向后切分脚本
build_medicalgraph.py:知识图谱入库脚本
# 1.3 医药领域知识图谱规模
1.3.1 neo4j图数据库存储规模
![image](https://github.com/liuhuanyong/QABasedOnMedicalKnowledgeGraph/blob/master/img/graph_summary.png)
1.3.2 知识图谱实体类型
| 实体类型 | 中文含义 | 实体数量 |举例 |
| :--- | :---: | :---: | :--- |
| Check | 诊断检查项目 | 3,353| 支气管造影;关节镜检查|
| Department | 医疗科目 | 54 | 整形美容科;烧伤科|
| Disease | 疾病 | 8,807 | 血栓闭塞性脉管炎;胸降主动脉动脉瘤|
| Drug | 药品 | 3,828 | 京万红痔疮膏;布林佐胺滴眼液|
| Food | 食物 | 4,870 | 番茄冲菜牛肉丸汤;竹笋炖羊肉|
| Producer | 在售药品 | 17,201 | 通药制药青霉素V钾片;青阳醋酸地塞米松片|
| Symptom | 疾病症状 | 5,998 | 乳腺组织肥厚;脑实质深部出血|
| Total | 总计 | 44,111 | 约4.4万实体量级|
1.3.3 知识图谱实体关系类型
| 实体关系类型 | 中文含义 | 关系数量 | 举例|
| :--- | :---: | :---: | :--- |
| belongs_to | 属于 | 8,844| <妇科,属于,妇产科>|
| common_drug | 疾病常用药品 | 14,649 | <阳强,常用,甲磺酸酚妥拉明分散片>|
| do_eat |疾病宜吃食物 | 22,238| <胸椎骨折,宜吃,黑鱼>|
| drugs_of | 药品在售药品 | 17,315| <青霉素V钾片,在售,通药制药青霉素V钾片>|
| need_check | 疾病所需检查 | 39,422| <单侧肺气肿,所需检查,支气管造影>|
| no_eat | 疾病忌吃食物 | 22,247| <唇病,忌吃,杏仁>|
| recommand_drug | 疾病推荐药品 | 59,467 | <混合痔,推荐用药,京万红痔疮膏>|
| recommand_eat | 疾病推荐食谱 | 40,221 | <鞘膜积液,推荐食谱,番茄冲菜牛肉丸汤>|
| has_symptom | 疾病症状 | 5,998 | <早期乳腺癌,疾病症状,乳腺组织肥厚>|
| acompany_with | 疾病并发疾病 | 12,029 | <下肢交通静脉瓣膜关闭不全,并发疾病,血栓闭塞性脉管炎>|
| Total | 总计 | 294,149 | 约30万关系量级|
1.3.4 知识图谱属性类型
| 属性类型 | 中文含义 | 举例 |
| :--- | :---: | :---: |
| name | 疾病名称 | 喘息样支气管炎 |
| desc | 疾病简介 | 又称哮喘性支气管炎... |
| cause | 疾病病因 | 常见的有合胞病毒等...|
| prevent | 预防措施 | 注意家族与患儿自身过敏史... |
| cure_lasttime | 治疗周期 | 6-12个月 |
| cure_way | 治疗方式 | "药物治疗","支持性治疗" |
| cured_prob | 治愈概率 | 95% |
| easy_get | 疾病易感人群 | 无特定的人群 |
# 二、基于医疗知识图谱的自动问答
# 2.1 技术架构
![image](https://github.com/liuhuanyong/QABasedOnMedicalKnowledgeGraph/blob/master/img/qa_route.png)
# 2.2 脚本结构
question_classifier.py:问句类型分类脚本
question_parser.py:问句解析脚本
chatbot_graph.py:问答程序脚本
# 2.3 支持问答类型
| 问句类型 | 中文含义 | 问句举例 |
| :--- | :---: | :---: |
| disease_symptom | 疾病症状| 乳腺癌的症状有哪些? |
| symptom_disease | 已知症状找可能疾病 | 最近老流鼻涕怎么办? |
| disease_cause | 疾病病因 | 为什么有的人会失眠?|
| disease_acompany | 疾病的并发症 | 失眠有哪些并发症? |
| disease_not_food | 疾病需要忌口的食物 | 失眠的人不要吃啥? |
| disease_do_food | 疾病建议吃什么食物 | 耳鸣了吃点啥? |
| food_not_disease | 什么病最好不要吃某事物 | 哪些人最好不好吃蜂蜜? |
| food_do_disease | 食物对什么病有好处| 鹅肉有什么好处? |
| disease_drug | 啥病要吃啥药 | 肝病要吃啥药? |
| drug_disease | 药品能治啥病 | 板蓝根颗粒能治啥病? |
| disease_check | 疾病需要做什么检查 | 脑膜炎怎么才能查出来?|
| check_disease | 检查能查什么病 | 全血细胞计数能查出啥来? |
| disease_prevent | 预防措施| 怎样才能预防肾虚? |
| disease_lasttime | 治疗周期 | 感冒要多久才能好? |
| disease_cureway | 治疗方式 | 高血压要怎么治? |
| disease_cureprob | 治愈概率 | 白血病能治好吗? |
| disease_easyget | 疾病易感人群 | 什么人容易得高血压? |
| disease_desc | 疾病描述 | 糖尿病 |
# 问答结果展示
用户:乳腺癌的症状有哪些?
小勇: 乳腺癌的症状包括:乳腺癌的远处转移;胸痛;乳头溢液;乳头破碎;肝肿大;泌乳障碍;乳头内陷;乳房肿块;剧痛
******************************************************************************************
用户:最近老流鼻涕怎么办?
小勇: 症状流鼻涕可能染上的疾病有:枯草热;副流行性感冒;急性上呼吸道感染;硫化氢中毒;小儿衣原体肺炎;风寒感冒;慢性额窦炎;鼻源性头痛;人禽流行性感冒;小儿流行性喘憋性肺炎;病毒性感冒;慢性鼻炎;风热犯肺;感冒;顿呛;小儿急性上呼吸道感染;嗜酸细胞增多性非变态反应性鼻炎;干酪性鼻窦炎;下呼吸道感染;麻疹
******************************************************************************************
用户:为什么有的人会失眠?
小勇: 失眠可能的成因有:躯体疾病和服用药物可以影响睡眠,如消化不良,头痛,背痛,关节炎,心脏病,糖尿病,哮喘,鼻窦炎,溃疡病,或服用某些影响中枢神经的药物。
由于生活方式引起睡眠问题也很常见,如饮用咖啡或茶叶,晚间饮酒,睡前进食或晚饭较晚造成满腹食物尚未消化,大量吸烟,睡前剧烈的体力活动,睡前过度的精神活动,夜班工作,白天小睡,上床时间不规律,起床时间不�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Python 完整项目,可作为 Python 毕业设计,Python 课程设计,包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。可以作为课程设计,毕业设计适用。 项目都经过严格调试,确保可以运行!可以放心下载, 1. 技术组成 后台框架:Python,建议使用 3.7 或者 3.8 开发环境:pycharm 数据库可视化工具:使用 Navicat 数据库:MySql(如果有的话) 2 部署 用 pycharm 导入项目,使用 pip 下载相关依赖,设置数据库密码,然后 run 就 ok 了,如果不懂得部署的话,可以找我咨询
资源推荐
资源详情
资源评论
收起资源包目录
基于python的医疗知识图谱问答系统(Python毕业设计,附源码,数据库,教程).zip (472个子文件)
neostore.transaction.db.0 250MB
neostore.transaction.db.1 29.03MB
neostore.counts.db.a 2KB
neostore.counts.db.a 96B
neostore.propertystore.db.arrays 4MB
neostore.propertystore.db.arrays 2.16MB
auth 113B
neostore.counts.db.b 2KB
neostore.counts.db.b 832B
cypher-shell.bat 2KB
neo4j.bat 1KB
neo4j-import.bat 1023B
neo4j-shell.bat 1022B
neo4j-admin.bat 1022B
neo4j.cert 1002B
_1w1r.cfe 305B
_0.cfe 305B
_1w1r.cfs 30KB
_0.cfs 5KB
neo4j.conf 10KB
bootstrap.min.css 118KB
nifty.min.css 118KB
wiki.css 109KB
layui.css 105KB
ionicons.min.css 50KB
font-awesome.min.css 28KB
layer.css 15KB
layer.css 14KB
layui.mobile.css 11KB
nifty-demo-icons.min.css 9KB
laydate.css 9KB
datatables.bootstrap.css 7KB
laydate.css 7KB
nifty-demo.min.css 7KB
datatables.responsive.css 2KB
component.css 2KB
normalize.css 2KB
mobile.css 2KB
code.css 1KB
26707bedc25a4344bb99d7e1215825f4.css 895B
login.css 587B
font.css 512B
pace.min.css 317B
neostore.propertystore.db 14.11MB
neostore.relationshipstore.db 9.45MB
neostore.schemastore.db 4MB
neostore.relationshipgroupstore.db 4MB
neostore.nodestore.db 4MB
neostore.relationshiptypestore.db 4MB
neostore.propertystore.db 4MB
neostore.labeltokenstore.db 4MB
neostore.relationshipstore.db 4MB
neostore.nodestore.db 648KB
neostore.relationshipgroupstore.db 176KB
neostore.schemastore.db 8KB
neostore.relationshiptypestore.db 8KB
neostore.labeltokenstore.db 8KB
iconfont.eot 46KB
prunsrv-amd64.exe 107KB
prunsrv-i386.exe 85KB
failure-message 16KB
failure-message 16KB
59.gif 10KB
22.gif 10KB
24.gif 8KB
13.gif 7KB
16.gif 7KB
39.gif 6KB
64.gif 6KB
63.gif 6KB
50.gif 6KB
loading-0.gif 6KB
4.gif 6KB
1.gif 5KB
42.gif 5KB
71.gif 5KB
21.gif 5KB
20.gif 5KB
29.gif 5KB
70.gif 4KB
5.gif 4KB
17.gif 4KB
27.gif 4KB
9.gif 4KB
44.gif 4KB
11.gif 4KB
8.gif 4KB
3.gif 4KB
23.gif 4KB
34.gif 4KB
41.gif 4KB
38.gif 4KB
65.gif 3KB
32.gif 3KB
45.gif 3KB
7.gif 3KB
12.gif 3KB
26.gif 3KB
60.gif 3KB
2.gif 3KB
共 472 条
- 1
- 2
- 3
- 4
- 5
资源评论
程序猿徐师兄
- 粉丝: 646
- 资源: 2287
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功