知识图谱系列(二):构建一个医疗知识图谱

之前我们简单介绍了怎么构建一个知识图谱,这次就来看看一个完整的构筑流程,以QASystemOnMedicalKG作为参考,主要想展示一下从最初收集非结构化的数据、到一步步处理并通过知识图谱展示的简单流程。

数据可以直接在QASystemOnMedicalKG中获得,如果想了解具体的爬虫过程可以看看这个博客的文章,我主要想快速过一遍这个流程,看看最后知识图谱是如何辅助对话系统的。

首先,我们的数据来源是寻医问药,随便打开一个疾病,可以看到基本的信息:
知识图谱系列(二):构建一个医疗知识图谱_第1张图片
需要爬取的信息包括疾病名、所属目录、症状、治疗方案等等,都可以从页面上获取,

知识图谱系列(二):构建一个医疗知识图谱_第2张图片
得到了这些信息,我们就可以构建知识图谱,思路上基本和之前一样,以上图为例,首先我们可以建一个label为disease、name为肺泡蛋白质沉淀症的node,property方面包括prevent、cure_way、cause等等,另外,对于症状、科室、检查方法等信息都建立单独的node,同时通过has_symptom、belongs_to、need_check等关联把它们和肺泡蛋白质沉淀关联起来,最终就能得到如下知识图谱:

知识图谱系列(二):构建一个医疗知识图谱_第3张图片
因为疾病之间存在并发关系,疾病之间也可以通过症状串联起来,所以最后我们利用大量的医疗数据,就能构建一个大型的医疗知识图谱。

知识图谱系列(二):构建一个医疗知识图谱_第4张图片
代码我放在了github,可以选择使用原始的medical.json构建一个完整的医疗知识图谱,也可以像我这样使用几条数据快速过一遍这个流程。

KnowledgeGraphBeginner这个项目目的是从零开始实现基于知识图谱的对话系统,会随着这个系列的文章不断更新。

你可能感兴趣的:(知识图谱,自然语言处理)