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

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

首先,我们的数据来源是寻医问药,随便打开一个疾病,可以看到基本的信息:

需要爬取的信息包括疾病名、所属目录、症状、治疗方案等等,都可以从页面上获取,


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


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


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

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

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

  1. 【知识图谱系列】基于互信息最大化的图谱预训练模型DGI InfoGraph

    作者:CHEONG 公众号:AI机器学习与知识图谱 研究方向:自然语言处理与知识图谱 本文介绍两篇基于互信息最大化的图谱预训练模型DGI(ICLR 2019)和InfoGraph(ICLR 2020) ...

  2. C#基础知识梳理系列二:C#的演绎大师:类型

    C#基础知识梳理系列二:C#的演绎大师:类型 摘 要 如果说C#是CLR特邀演员阵容之一,那类型class绝对是C#的演绎/演艺大师.不朽灵魂!它不仅演绎了C#的豪放,也演艺了C#的柔美.时而恢弘.时 ...

  3. 第20课:Neo4j 从入门到构建一个简单知识图谱

    Neo4j 对于大多数人来说,可能是比较陌生的.其实,Neo4j 是一个图形数据库,就像传统的关系数据库中的 Oracel 和 MySQL一样,用来持久化数据.Neo4j 是最近几年发展起来的新技术, ...

  4. python构建知识图谱_NLP第20课:Neo4j 从入门到构建一个简单知识图谱

    Neo4j 对于大多数人来说,可能是比较陌生的.其实,Neo4j 是一个图形数据库,就像传统的关系数据库中的 Oracel 和 MySQL一样,用来持久化数据.Neo4j 是最近几年发展起来的新技术, ...

  5. Neo4j 从入门到构建一个简单知识图谱

    Neo4j 对于大多数人来说,可能是比较陌生的.其实,Neo4j 是一个图形数据库,就像传统的关系数据库中的 Oracel 和 MySQL一样,用来持久化数据.Neo4j 是最近几年发展起来的新技术, ...

  6. 数据与广告系列二十六:知识迁移的Embedding应用,智能化定向的解药

    作者·黄崇远 『数据虫巢』 全文共4348字 题图ssyer.com " 效果广告后定向时代,虽有千般万难,我们一样还得解决定向智能的问题." 需要提前说明的是,这一篇会涉及到本系 ...

  7. 图数据库|如何从零到一构建一个企业股权图谱系统

    本文首发于 Nebula Graph Community 公众号 我们知道无论是监管部门.企业还是个人,都有需求去针对一个企业.法人做一些背景调查,这些调查可以是法律诉讼.公开持股.企业任职等等多种多 ...

  8. 知识体系:如何构建自己的知识体系

    目录 前言 步骤一:确定工作的应用目标 步骤二:搭建知识体系 步骤三:运用知识体系进行沉淀 实操附录 步骤一:构建能力树 步骤二:把能力树变成知识体系目录 步骤三:沉淀技能知识能力素质 Q&A ...

  9. .Net中的AOP系列之构建一个汽车租赁应用

    返回<.Net中的AOP>系列学习总目录 本篇目录 开始一个新项目 没有AOP的生活 变更的代价 使用AOP重构 本系列的源码本人已托管于Coding上:点击查看. 本系列的实验环境:VS ...

最新文章

  1. 3、Java常用关键字
  2. 【RPC服务器不可用】解决方法
  3. linux-xargs
  4. SQL 2000自定义函数调用GETDATE()报错
  5. 太赞了!用200道题彻底搞定Python数据处理!
  6. (整理)ubuntu10.10安装低版本的编译器(低版本)(gcc)(ubuntu)
  7. Mendix将升级低代码软件开发平台,发布全新数字化生态系统、行业云
  8. Java线程:线程私有变量
  9. tomcat 启动需要java环境吗?_三分钟教你Windows环境下,如何设置Tomcat随机自动启动?...
  10. VS2005无法打开网站
  11. 5.分布式服务架构:原理、设计与实战 --- 基于调用链的服务治理系统的设计与实现
  12. 时间戳与全球唯一性标识
  13. 碰运气解决LATEX中中文颜色深浅不一的问题
  14. DRM-X 4.0加密保护与Widevine DRM平台的区别
  15. SCI论文写作--科研其实远没有那么难
  16. 电脑ping手机该怎么玩(很多网友都说电脑ping不通手机)
  17. 企业业务的 WPA3 安全性为啥如此重要?
  18. 【转载】哪些域名后缀可在工信部进行备案操作
  19. 微信小程序 - 图像加载时渐隐淡入效果(image)
  20. 改变人类进程的,除了霍金,还有他的好基友们

热门文章

  1. java实现计算器的退格功能_帮忙看下这个java做的计算器为什么实现不了退格和清零功能,3q...
  2. N880e 刷机记录和一些经验
  3. MONTHS_BETWEEN函数
  4. [MYSQL]完犊子了,索引不生效了
  5. 一分钟速看:《永不止步的云上创新》——蒋江伟
  6. 使用railway部署Node项目及遇到的问题
  7. c语言函数参数缺省,C++缺省参数和函数重载
  8. 推荐的几个比较好的网站和博客
  9. Google搜索命令“site:”运算符高级使用技巧:
  10. 《The One!团队》:BETA Scrum metting1