基于医疗知识图谱的问答系统思路分析

知识图谱在问答系统、语义搜索等领域得到了越来越多的应用,是目前人工智能领域的热点研究问题。笔者对中国科学院软件研究所刘焕勇老师的项目QABasedOnMedicaKnowledgeGraph(github链接:https://github.com/liuhuanyong/QASystemOnMedicalKG)进行了较为系统的梳理,受益匪浅,遂将项目整体思路与大家分享。

一、项目主体结构

该项目分为知识图谱的构建、基于知识图谱的问答两部分,build_medicalgraph.py构建图谱、chatbot_graph.py启动问题系统,项目中的文件层次结构如下:

	├── E:\QASystemOnMedicalKG
		├── data
			├── medical.json
		├── dict
			├── check.txt
			├── deny.txt
			├── department.txt
			├── disease.txt
			├── drug.txt
			├── food.txt
			├── producer.txt
			├── symptom.txt
		├── prepare_data
			├── build_data.py
			├── data_spider.py
			├── disease.txt
			├── first_name.txt
			├── first_name_spider.py
			├── max_cut.py
		├── answer_search.py
		├── build_medicalgraph.py
		├── chatbot_graph.py
		├── question_classifier.py
		├── question_parser.py
		├── README.md

二、知识图谱构建

(一)爬取以疾病为核心的医疗数据,数据量大,普通个人计算机爬取数据程序运行时间需耗时一天,需将爬取数据导入非关系型数据库mongodb,见脚本data_spider.py。下图是爬取的原始数据在mongodb中的存储形式。
爬取的原始数据在mongodb中的存储形式
(二)对爬取的数据进行清洗,整理成“节点:属性”的可直接导入图形数据库neo4j的字典形式,并将清洗后的数据导入mongodb,见脚本build_data.py。(因数据清洗需要的first_name.txt文件遗失,笔者通过分析build_data.py代码,在原项目爬虫程序部分进行适当增删,编

  • 6
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值