以疾病为中心的一定规模医药领域知识图谱的问答系统。
本项目来源于github开源项目:https://github.com/liuhuanyong/QASystemOnMedicalKG.
在我阅读这个项目时(2022-7-17),该项目的start数目大4.2k,fork达1.6k。从数据上来看,大家是比较认可该项目的。
当然,原作者也是很厉害的,是**科学院软件研究的所刘焕勇老师。
该项目从无到有搭建一个以疾病为中心的一定规模医药领域知识图谱,并以该知识图谱完成自动问答与分析服务。适合一个初学人员了解该类项目的pipline过程。
该项目立足医药领域,以垂直型医药网站为数据来源,以疾病为核心,构建起一个包含7类规模为4.4万的知识实体,11类规模约30万实体关系的知识图谱。 项目包括以下两部分的内容:
- 基于垂直网站数据的医药知识图谱构建
- 基于医药知识图谱的自动问答。
该项目的开发过程我已在CSDN书写了相关博客,感兴趣的可以前去了解: 知识图谱
环境准备:可以有选择地常见一个虚拟环境,然后安装程序运行所需要的包:pip install -r requirments.txt
知识库准备:再将知识库数据导入到neo4j数据库之前,需要根据自己的情况,在KGQAMedicine中配置相关参数, 然后执行python build_medicine_graph.py
将原项目爬取的数据导入到neo4j数据库中。
机器人启动:启动方式相对简单,直接执行python chatbot.py
即可。
总得来说,这个项目把使用知识图谱进行QA的一些流程介绍的比较清楚,但是在完成问答的过程中技术相对老旧,不过效果依然还不错。
为了能够进一步提升效果的话可以引入很多新技术。例如在问题分类环节可以引入基于深度学习的问题分类方法,在进行问题解析的时候,可以引入基于深度学习的NER实体识别方式以及进一步处进行实体对齐等,这里不作进一步展开。
除此之外,知识图谱在构建是需要结合业务需求,也就是在接到业务的时候以及对现有数据进行分析然后构建基于业务的schema,再通过自然语言处理相关技术进行知识图谱的构建。在原项目中,使用爬虫的方式进行数据爬取,其也可以使用NLP相关的基础,优化提取的数据等等。
雄关漫道真如铁,而今迈步重头越。刚入门,一个新的开始。往后和增加更多基于深度学习算法的内容到知识图谱的建设,应用等。
- 我的github:https://github.com/Htring
- 我的csdn:科皮子菊
- 我订阅号:AIAS编程有道
- 知乎:皮乾东