# QASystem
知识图谱构建,自动问答,基于kg的自动问答。以疾病为中心的一定规模医药领域知识图谱,并以该知识图谱完成自动问答与分析服务。
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万实体关系的知识图谱。 本项目将包括以下两部分的内容:
基于垂直网站数据的医药知识图谱构建
基于医药知识图谱的自动问答
项目最终效果
话不多少,直接上图。以下两图是实际问答运行过程中的截图: image
image
项目运行方式
1、配置要求:要求配置neo4j数据库及相应的python依赖包。neo4j数据库用户名密码记住,并修改相应文件。
2、知识图谱数据导入:python build_medicalgraph.py,导入的数据较多,估计需要几个小时。
3、启动问答:python chat_graph.py
以下介绍详细方案
一、医疗知识图谱构建
1.1 业务驱动的知识图谱构建框架
image
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
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
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 疾病描述 糖尿病
问答结果展示
用户:乳腺癌的症状有哪些?
小勇: 乳腺癌的症状包括:乳腺癌的远处转移;胸痛;乳头溢液;乳头破碎;肝肿大;泌乳障碍;乳头内陷;乳房肿块;剧痛
******************************************************************************************
用户:最近老流鼻涕怎么办?
小勇: 症状流鼻涕可能染上的疾病有:枯草热;副流行性感冒;急性上呼吸道感染;硫化氢中毒;小儿衣原体肺炎;风寒感冒;慢性额窦炎;鼻源性头痛;人禽流行性感冒;小儿流行性喘憋性肺炎;病毒性感冒;慢性鼻炎;风热犯肺;感冒;顿呛;小儿急性上呼吸道感染;嗜酸细胞增多性非变态反应性鼻炎;干酪性鼻窦炎;下呼吸道感染;麻疹
******************************************************************************************
用户:为什么有的人会失眠?
小勇: 失眠可能的成因有:躯体疾病和服用药物可以影响睡眠,如消化不良,头痛,背痛,关节炎,心脏病,糖尿病,哮喘,鼻窦炎,溃疡病,或服用某些影响中枢神经的药物。
由于生活方式引起睡眠问题也很常见,如饮用咖啡或茶叶,晚间饮酒,睡前进食或晚饭较晚造成满腹食物尚未消化,大量吸烟,睡前剧烈的体力活动,睡前过度的精神活动,夜班工作,白天小睡,上床时间不规律,起床时间不规律。
可能的原因有压力很大,过度忧虑,紧张或焦虑,悲伤或抑郁,生气,容易出现睡眠问题。
吵闹的睡眠环境,睡眠环境过于明亮,污染,过度拥挤。
******************************************************************************************
用户:失眠有哪些并发症?
小勇: 失眠的症状包括:心肾不交;神经性耳鸣;咽鼓管异常开放症;偏执狂;十二指肠胃反流及胆汁反流性胃炎;腋臭;黧黑斑;巨细胞动脉炎;Stargardt病;抑郁症;腔隙性脑梗死;甲状腺功能亢进伴发的精神障碍;紧张性头痛;胃下垂;心血虚;迷路震荡;口腔结核性溃疡;痰饮;游走性结节性脂膜炎;小儿脑震荡
******************************************************************************************
用户:失眠的人不要吃啥?
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
<项目介绍> 基于kg的自动问答。以疾病为中心的一定规模医药领域知识图谱,并以该知识图谱完成自动问答与分析服务python源码+文档说明 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
QASystem-master.zip (41个子文件)
QASystem-master
data
medical-traditional.json 18KB
medical.json 44.96MB
medical-new.json 44.97MB
prepare_data
max_cut.py 4KB
build_data.py 5KB
data_spider.py 6KB
.idea
dictionaries
Nieson.xml 85B
libraries
R_User_Library.xml 123B
vcs.xml 180B
misc.xml 657B
modules.xml 268B
QASystem.iml 543B
encodings.xml 135B
TestConnect.py 817B
question_parser.py 8KB
build_medicalgraph.py 11KB
img
chat2.png 553KB
qa_route.png 154KB
chat1.png 563KB
graph_summary.png 356KB
kg_route.png 169KB
chatbot_graph.py 1KB
answer_search.py 6KB
question_classifier.py 11KB
__pycache__
question_classifier.cpython-36.pyc 8KB
answer_search.cpython-36.pyc 6KB
question_parser.cpython-36.pyc 7KB
document
chat2.png 553KB
qa_route.png 154KB
刘焕勇-20181004-kg_route.pptx 36KB
chat1.png 563KB
kg_route.png 169KB
README.md 18KB
dict
food.txt 73KB
producer.txt 496KB
drug.txt 73KB
disease.txt 173KB
symptom.txt 97KB
deny.txt 227B
check.txt 70KB
department.txt 593B
共 41 条
- 1
资源评论
机智的程序员zero
- 粉丝: 1951
- 资源: 4199
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功