# QASystemOnMedicalGraph
该项目是基于医疗领域知识图谱的问答系统。实现比较简单。
从无到有搭建一个医疗领域知识图谱(知识图谱规模较小),并基于此知识图谱搭建问答系统实现自动问题解析和回答。
本文参考:[https://github.com/AndersonHJB/QASystemOnMedicalGraph](https://github.com/AndersonHJB/QASystemOnMedicalGraph)
# 项目效果 #
以下两张图是系统实际运行效果:
![系统运行效果图](./README.assets/效果图.png)
# 项目运行方式
运行环境:Python3
数据库:neo4j
预训练词向量:[https://github.com/Embedding/Chinese-Word-Vectors](https://github.com/Embedding/Chinese-Word-Vectors)
或 [https://pan.baidu.com/s/14JP1gD7hcmsWdSpTvA3vKA](https://pan.baidu.com/s/14JP1gD7hcmsWdSpTvA3vKA)
1、搭建知识图谱:python build_grapy.py。大概几个小时,耐心等待。
2、启动问答测试:python kbqa_test.py
# 医疗知识图谱
数据源:39健康网。包括15项信息,其中7类实体,约3.7万实体,21万实体关系。
**本系统的知识图谱结构如下:**
![知识图谱结构](./README.assets/知识图谱.png)
**1.1 知识图谱实体类型**
| 实体类型 | 中文含义 | 实体数量 | 举例 |
| ------------ | -------- | -------- | ---------------------- |
| Disease | 疾病 | 14336 | 乙肝,癫痫 |
| Alias | 别名 | 8877 | 小儿褐黄病综合征,广疮 |
| Symptom | 症状 | 5622 | 手足烦热,四肢麻木 |
| Part | 发病部位 | 82 | 手部,上肢 |
| Department | 所属科室 | 82 | 感染科,外科 |
| Complication | 并发症 | 3201 | 落枕,流感 |
| Drug | 药品 | 4625 | 西黄胶囊,司帕沙星 |
| Total | 总计 | 36825 | |
**1.2 知识图谱实体关系类型**
| 实体关系类型 | 中文含义 | 关系数量 | 举例 |
| ---------------- | ---------- | -------- | ---------------------------- |
| ALIAS_IS | 别名是 | 52578 | 癫痫 别名是 羊角风 |
| HAS_SYMPTOM | 症状有 | 62105 | 乙肝 症状有 肝功能异常 |
| PART_IS | 发病部位是 | 26660 | 乙肝 发病部位是 肝 |
| DEPARTMENT_IS | 所属科室是 | 33867 | 乙肝 所属科室是 传染科 |
| HAS_COMPLICATION | 并发症有 | 25183 | 乙肝 并发症有 肝硬化 |
| HAS_DRUG | 可用药品 | 35914 | 乙肝 可用药品 恩替卡韦分散片 |
| TOTAL | 总计 | 210018 | 约210018对关系 |
**1.3 知识图谱疾病属性**
| 疾病属性 | 中文含义 | 举例 |
| --------- | -------- | ------------------ |
| age | 发病人群 | 老人,小孩 |
| insurance | 是否医保 | 医保 |
| infection | 是否传染 | 有传染性 |
| checklist | 检查项目 | 肝功能检查 |
| treatment | 治疗方法 | 药物治疗、心理治疗 |
| period | 治愈周期 | 一周 |
| rate | 治愈率 | 0.1% |
| money | 费用 | 1000-2000元 |
# 问题意图识别
基于特征词分类的方法来识别用户查询意图
| 意图类型 | 中文含义 | 举例 |
| ---------------- | ---------------- | ------------------ |
| query_disease | 查询疾病 | 肝肿大是什么病 |
| query_symptom | 查询症状 | 慢性乙肝有什么表现 |
| query_cureway | 查询治疗方案 | 肚子一直痛怎么办 |
| query_checklist | 查询检查项目 | 乙肝需要做哪些检查 |
| query_department | 查询所属科室 | 乙肝去哪个科 |
| query_rate | 查询治愈率 | 乙肝能治好吗 |
| query_period | 查询治愈周期 | 乙肝多久能治好 |
| disease_describe | 查询疾病所以属性 | 慢性咽炎 |
# 总结
1、本项目构建简单,通过本项目能了解KBQA的工作流程。
2、本次通过手工标记210条意图分类训练数据,并采用朴素贝叶斯算法训练得到意图分类模型。其最佳测试效果的F1值达到了96.68%。选用NB的原因是通过与SVM训练效果比较后决定的。
3、不足之处:
- 训练数据还是太少,且对问题进行标注时易受主观意见影响。意图类别还是太少,本系统得到分类模型只能预测出上面设定的7类意图。(修改于2019.02.26)
- 对于问题句子中有多个意图的情况只能预测出一类,今后有时间再训练多标签模型吧。(最近在写论文,没时间)。
- 知识图谱太小了,对于许多问题都检索不出答案。今后可以爬取其它的健康网站数据或者利用命名实体识别和关系抽取技术从医学文献中抽取出实体与关系,以此来扩充知识图谱。
- 在本项目中采用了预训练的词向量来找近似词。由于该词向量特别大,加载非常耗时,因此影响了整个系统的效率。这个可能是因为电脑配置太低的原因吧。
- 没有实现推理的功能,后续将采用多轮对话的方式来理解用户的查询意图。同时将对检索出的结果进行排序,可靠度高的排在前面。
希望各位不吝赐教,任何建议请联系我。
邮箱:[aiyuechuang@gmail.com](aiyuechuang@gmail.com)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
知识图谱是一种结构化的知识表达形式,它以图形的方式组织和存储了大量实体(如人、地点、事件等)及其相互关系。在知识图谱中,实体作为节点,实体之间的各种语义关联则通过边进行连接,形成了一个庞大的数据网络。 知识图谱的核心价值在于其能够精确、直观地表示复杂世界中的知识,并支持高效的知识查询与推理。例如,在搜索引擎中,知识图谱可以提升搜索结果的相关性和准确性,为用户提供直接的答案而非仅仅是网页链接。同时,知识图谱还能支撑高级的人工智能应用,比如问答系统、推荐系统、决策支持等领域。 构建知识图谱的过程通常包括数据抽取、知识融合、实体识别、关系抽取等多个步骤,涉及到自然语言处理、机器学习、数据库技术等多种技术手段。知识图谱的不断完善有助于实现从海量信息中挖掘深层次、有价值的知识,从而推动人工智能向着更加理解人类世界的智慧方向发展。 总之,知识图谱是一个大规模、多领域、多源异构知识集成的载体,是实现智能化信息系统的基础工具和关键基础设施,对于提升信息检索质量、推动智能应用研发具有重要作用。
资源推荐
资源详情
资源评论
收起资源包目录
该项目是基于医疗领域知识图谱的问答系统。实现比较简单。.zip (19个子文件)
SJT-code
.DS_Store 6KB
kbqa_test.py 947B
search_answer.py 14KB
data
symptom_vocab.txt 100KB
disease_vocab.txt 190KB
complications_vocab.txt 57KB
alias_vocab.txt 189KB
stop_words.utf8 9KB
disease.csv 3.51MB
vocab.txt 437KB
entity_extractor.py 15KB
build_graph.py 8KB
img
效果图.png 27KB
知识图谱.png 53KB
README.assets
效果图.png 27KB
知识图谱.png 53KB
model
intent_reg_model.m 187KB
tfidf_model.m 49KB
README.md 5KB
共 19 条
- 1
资源评论
JJJ69
- 粉丝: 6318
- 资源: 5920
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于JavaScript的es旅游酒店搜索网项目设计源码
- 基于Markdown标准的极致体验Thinker-md编辑器设计源码
- 基于Go语言的homehub家庭设备控制中枢设计源码
- 基于Java和MySql的快递信息管理系统设计源码
- 基于Java语言的Mysecret项目设计源码
- 基于HTML/CSS的初学前端天猫官网仿制设计源码
- 基于C#和JavaScript的YcJVectorMap ASP.NET MVC地图设计源码
- 基于C#语言的草原灾害服务API设计源码
- 基于百度地图API的轨迹绘制、坐标拾取及多标注点信息窗口设计源码
- 基于Flink Rest API开发的flink-admin Web控制台设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功