知识图谱

知识图谱构建(一):概述

这学期有两门大实验课,简直每天累成狗。其中一门实验要求开发一个临床路径与药物不良反应知识库。
具体要求如下:

为了解决基于药物不良相互作用的多共病(comorbidities)临床路径合并问题,首先设计多疾病临床路径不良反应查询系统:基于临床路径知识库,药物不良反应知识库,实现两个及以上疾病的临床路径特定任务节点之间的不良反应查询(输入各临床路径的节点,输出不良反应)。

并且给我们提供了两个数据源:
* 国家卫计委发布的1010个临床路径,特点:结构明晰,内容粗放,入径条件严格,入径难度大。
* NICE临床路径,特点:结构内容不够清晰,需要整理,入径条件比较宽松。

其实还是一个数据科学的问题,除了数据爬取和数据清洗之外,难点主要在于怎么从半结构化文本中提取知识结构,怎么构建知识库,怎么在Web端采用有效的方式展示知识库并进行查询。
其中的部分最难的还是在构建知识库的前后流程上,因为网上几乎找不到成体系的教程。不过,幸好功夫不负有心人,被我找到了一系列知识图谱构建的教程:(https://zhuanlan.zhihu.com/knowledgegraph
这个专栏还是讲的比较详细,但是我在实验的过程中仍然踩到了不少坑,并且在开发Web端的时候进行了不少摸索。所以决定把自己的实验过程记录下来,也为大家提供一些经验与教训。
因为实验还没有做完,所以打算一边做一边写,预计会包括几个部分:
* 从数据库到知识库的映射
* 利用protege实现推理
* 通过Jena进行查询
* 利用Django构建Web查询应用
* 如何文本中提取提取知识结构

本项目的Github地址为:https://github.com/sangyunxin/Information_System。如果博文中有不详细的地方,大家可以下载相应的源文件进行查看。
水平有限,疏漏之处,还请指正。