Datawhale 知识图谱组队学习 之 Task 2 基于医疗知识图谱的问答系统操作介绍
*
– 一、引言
– 二、运行环境
– 三、搭建知识图谱
– 四、启动问答测试
– 五、代码目录介绍
– 六、医疗知识图谱实体信息
– 七、问题意图识别
– 参考资料
一、引言
- 该项目主要分为两部分:
- 第一部分:搭建知识图谱。该部分的具体讲解将在Datawhale 知识图谱组队学习 之 Task 3 Neo4j图数据库导入数据进行介绍;
- 第二部分:启动问答测试。构建一个简单的基于 知识图谱 的对话系统,该部分的具体讲解将在Datawhale 知识图谱组队学习 之 Task 4 用户输入->知识库的查询语句 和Datawhale 知识图谱组队学习 之 Task 5 Neo4j 图数据库查询 进行分别介绍;
- 本节的核心目标是 从 全局对项目的运行过程进行介绍和讲解;学习者能够跑通整个项目。
二、运行环境
- python3.0及以上
- neo4j 3.5.0及以上
- jdk 1.8.0
三、搭建知识图谱
运行该过程,请确保已经安装好 neo4j 和 jdk
安装过程请参照:JDK+NEO4J安装及配置—–记录
运行 以下命令:
python build_graph.py
注:由于数据量比较大,所以该过程需要运行几个小时
运行介绍之后,打开浏览器进入网址:http://localhost:7474/browser/,可以看到我们导入的数据的知识图谱,如下:
图 1 知识图谱 展示图
; 四、启动问答测试
运行 以下命令:
python kbqa_test.py
运行结果如下图所示:
五、代码目录介绍
- data:存放数据
- img:存放readme里的图片
- model:存放训练好的tfidf模型和意图识别模型
- build_graph.py:构建图,详见task03
- entity_extractor.py:抽取问句中的实体和识别意图,详见task04
- search_answer.py:根据不同的实体和意图构造cypher查询语句,查询图数据库并返回答案,详见task05
六、医疗知识图谱实体信息
数据源:39健康网。包括15项信息,其中7类实体,约3.7万实体,21万实体关系。
1 知识图谱实体类型
实体类型中文含义实体数量举例Disease疾病14336乙肝,癫痫Alias别名8877小儿褐黄病综合征,广疮Symptom症状5622手足烦热,四肢麻木Part发病部位82手部,上肢Department所属科室82感染科,外科Complication并发症3201落枕,流感Drug药品4625西黄胶囊,司帕沙星Total总计36825
2 知识图谱实体关系类型
实体关系类型中文含义关系数量举例ALIAS_IS别名是52578癫痫 别名是 羊角风HAS_SYMPTOM症状有62105乙肝 症状有 肝功能异常PART_IS发病部位是26660乙肝 发病部位是 肝DEPARTMENT_IS所属科室是33867乙肝 所属科室是 传染科HAS_COMPLICATION并发症有25183乙肝 并发症有 肝硬化HAS_DRUG可用药品35914乙肝 可用药品 恩替卡韦分散片TOTAL总计210018约210018对关系
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查询疾病所以属性慢性咽炎
参考资料
Original: https://blog.csdn.net/Rock_y/article/details/112468249
Author: Rock_y
Title: Task 2 基于医疗知识图谱的问答系统操作介绍
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/594911/
转载文章受原作者版权保护。转载请注明原作者出处!