图谱实战 | 为什么我们需要医学知识图谱?

转载公众号 | OMAHA联盟


人工智能正在变得司空见惯。在医疗领域,医生也越来越重视人工智能所带来的疾病诊断效率和治疗价值的提升。要实现医疗人工智能,需要构建医学知识图谱以满足医疗领域对知识的应用需求。

  ◆  ◆

知识图谱是什么?

知识图谱,顾名思义,就是用图的形式将知识表示出来,其本质是通过结构化而非纯文本的方式描述事物的属性以及事物之间的关联。

知识图谱由节点和边组成,节点表示实体、概念或属性值,任何物体、地点或人都可以是一个节点;边表示实体的属性或实体间的关系,而三元组是知识图谱的基本表示形式。举个例子来说,一个节点可以是一个组织机构,比如心内科,也可以是一个疾病,比如高血压;边则描述了高血压和心内科之间的“疾病-科室”关系,(高血压,科室,心内科)就是一条简单的三元组。

3a6fd8b8f190df4e1118177703f1e8a2.png

知识图谱示例

  ◆  ◆

为什么我们需要医学知识图谱?

随着自然语言处理等技术的逐渐成熟,医学人工智能已成为推动行业发展的强劲动力。然而,要想让机器具有智能,能做到像人一样去理解和思考,就必须让机器具有知识。

在专业化程度集中的医疗领域,这些知识往往来源于经过严格的行业内审核、在行业内达成共识的内容,例如教科书、临床指南、临床路径等资料。然而,这些资料大多以非结构化的形式呈现,存在数据处理复杂,开发门槛高的问题,限制了知识能力的释放,更不用说让机器去理解和应用知识。

如果我们提前把这些资料以一种机器可读的形式整理好,让机器直接去读取,是否可行呢?

答案是可行的,以这些医学资料为基础建立医学知识图谱,可以将其中自由文本形式的内容转化为完全结构化、计算机可理解的形式,与非结构的文本数据相比,结构化的知识图谱可以一种更加清晰、准确的方式表示人类知识,便于机器读取和应用。

f9501fbbc8c333e2e185e3f38fc037eb.png

知识图谱结构化示例

  ◆  ◆

医学知识图谱应用场景

医学知识图谱的使用价值也可以从主流应用场景中一探究竟,目前医学知识图谱主要应用于语义搜索、知识问答、临床决策支持等场景中。

1. 语义搜索。传统的搜索主要为关键词搜索,这种搜索引擎对查询的处理局限于词的表面形式,缺乏知识处理能力和理解能力。知识图谱描述了事物的分类、属性和关系,具有丰富的语义信息,将其应用于语义搜索可实现准确地捕捉到用户所输入语句后面的真正搜索意图,从而更准确地返回最符合用户需求的搜索结果。

2. 知识问答。基于知识库的问答(Knowledge-Based Question Answering,KBQA)也称知识问答,主要依托于大型的知识库,将用户的自然语言问题转化成结构化查询语句,直接从知识库中导出用户所需的答案。医学知识较其他领域相比专业性更高,非专业人士很难通过自主理解一堆资源文档,来精准地找到相关问题的答案。因此,基于医学知识图谱的KBQA可以帮助患者更加快捷、便利地获得问题的答案,适用于医学知识科普、智能导诊、自诊等领域。

3. 临床决策支持。临床决策支持(Clinical Decision Support,CDS)是指运用相关的、系统的临床知识和患者基本信息及病情信息,向临床医务工作者提供加强医疗相关的决策和行动的信息,提高医疗质量和医疗服务水平。具有临床决策支持功能的系统,称为临床决策支持系统(Clinical Decision Support System,CDSS),医学知识图谱中包含丰富的医学基础知识,可以作为CDSS知识库中的重要组成部分,它为CDSS的推荐结果提供了可解释的依据,能够协助系统从辅助诊断、治疗方案推荐、合理用药检测等方面为临床医务人员提供决策支持。

随着技术和行业的发展,目前知识图谱也被应用于辅助药物研发、公共卫生事件的预警场景中。

1. 药物研发。近年来,人工智能辅助药物研发逐渐成为研究的热点。知识图谱可应用于药物研发的知识的聚类分析,帮助提出新的可以被验证的假说,从而加速药物研发的过程,降低研发成本。

2. 公关卫生事件应对。在流行病学调查和疫情发生事件的分析和预警等公共卫生事件场景中,知识图谱采用图存储数据的理念可以起到非常大的帮助。例如,利用知识图谱的形式可以直观地表示流行病调查中的人员分布、人员活动轨迹、发病时间等信息,基于图展示出的信息可以更方便的用于病例之间相关性的分析,更快地分析和梳理出感染源头。

  ◆  ◆

构建医学知识图谱的难点在哪?

医学知识主要具有术语多样化、知识分散、质量参差不齐、知识复杂等特点,这些特点也为医学知识图谱的构建、应用带来一定挑战。

1.术语多样化。医学术语是医学专业领域中一般概念的词语指称,广泛分布在医疗记录、医学文献和医学教科书等信息资源中。目前我国还未建立规范、统一的医学术语标准,这也就使得相关从业者在不同场景下使用医学术语较为随意,最终导致同一个医学概念存在多种术语表达方式的现象普遍存在。此外,外文翻译导致的错别字等问题,也是导致术语多样性的原因。

2.知识分散。以疾病为例,目前为止没有任何一个知识源可以涵盖针对某一疾病的所有知识。产生这一现象的主要原因有两个:一个是医学知识更新迭代迅速,新知识无法快速地在原知识源上更新;另一个是不同的机构由于发布目的不同,导致所发布的知识源通常仅包含某些特定维度的知识。

3.知识复杂。医学是经验性总结的科学,主要分为基础医学、临床医学以及预防医学三大类学科。三大类学科各自分工研究复杂的人体问题,相应的知识也是复杂多变。单从医学概念上就能看出医学知识的复杂性,一个医学概念往往存在多个上位概念和下位概念。以肺炎为例,肺炎不仅有肺组织炎症和肺实变两个上位概念,还有新生儿肺炎、间质性肺炎和支气管肺炎等多个下位概念,如下图所示。

852143e71143e3f06f9bc25445757b97.png

肺炎的多个上位概念和下位概念

将复杂的医学知识完整的、清晰地表达出来,可以使计算机在辅助人类开展医疗活动过程中显得更加智能,让用户获得更加全面的医学知识。

4.质量参差不齐。众多的医学知识来源势必会导致知识质量参差不齐。临床路径、临床指南和医学教科书等资源的权威性较高,且临床指南会标识证据等级,相应的医学知识质量高、可信度高。一些互联网开放平台上的知识由于维护者身份和审核等原因,其权威性通常有争议。

以上这些特点也一定程度上加大了医学知识图谱构建、应用的难度在此背景下,OMAHA以满足行业内对数字化医学知识的底层共性需求为切入点,自主构建中文医学知识图谱——“汇知”医学知识图谱(简称“汇知”图谱)。围绕疾病、药品、检验检查、手术操作四大领域,选取临床指南、临床路径、医学教材、药品说明书和中国药典等权威、高质量的医学知识作为知识源,采用“机器+人工”的方式抽取基础医学知识形成高质量的知识图谱,为精准的医学知识智能化和应用提供基础。

目前,汇知”图谱已发布疾病知识图谱和药品知识图谱,共计约12万实体,96万三元组。

疾病知识图谱

疾病知识图谱以疾病为中心,主要构建疾病与检验检查、手术操作和药品之间的关系。疾病知识图谱共建立心血管系统疾病、神经系统疾病、消化系统疾病等17个疾病细分领域知识图谱,描述疾病的临床表现、科室、相关检查、治疗方式、症状、治疗药物、并发症等110+关系,为人工智能技术在不同疾病领域的辅助诊疗、风险预测等场景应用提供更全面的知识支撑。累计发布7.5万实体,37.0万三元组,其中53%的实体与“七巧板”医学术语集建立了映射。

药品知识图谱

药品知识图谱以药品为中心,构建药品与疾病、检验检查、手术操作之间的关系。截至目前,药品知识图谱覆盖3.0万种药品(通用名),累计发布4.5万实体,60.0万三元组,其中56%的实体与“七巧板”医学术语集建立了映射。已发布关系类型包括医保支付类型、剂型、适应证、适用人群、禁忌证、禁忌人群等。

“汇知”医学知识图谱已在HiTA知识服务平台(hita.omaha.org.cn)面向OMAHA会员服务机构用户开放下载数据包,如果您还不是OMAHA会员服务机构用户,可在HiTA知识服务平台【OMAHA知识库-样例数据下载】界面下载样例数据进行了解。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

858c2315f215f954ab82a0e5420fcfb6.png

点击阅读原文,进入 OpenKG 网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Cloud构建微服务架构(三)断路器

在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延…

测试集涨点猛如虎,推上线无收益?算法新手翻车原因盘点!

文 | 杨旭东知乎在推荐算法领域,时常会出现模型离线评测效果好,比如AUC、准召等指标大涨,但上线后业务指标效果不佳,甚至下降的情况,比如线上CTR或CVR下跌。本文尝试列举一些常见的原因,为大家排查问题提供…

LeetCode 1348. 推文计数(哈希map+set)

1. 题目 请你实现一个能够支持以下两种方法的推文计数类 TweetCounts: recordTweet(string tweetName, int time) 记录推文发布情况:用户 tweetName 在 time(以 秒 为单位)时刻发布了一条推文。 getTweetCountsPerFrequency(s…

Spring Cloud构建微服务架构(二)服务消费者

在上一篇《Spring Cloud构建微服务架构(一)服务注册与发现》中,我们已经成功创建了“服务注册中心”,实现并注册了一个“服务提供者:COMPUTE-SERVICE”。那么我们要如何去消费服务提供者的接口内容呢? Rib…

2202年了,继续大比拼ViT、MLP、CNN结构有意义吗??

文 | 卖萌菌近日,MSRA发布了一篇题为《Transformer不比CNN强 Local Attention和动态Depth-wise卷积前世今生》的博文,再次谈论了这个老生常谈的话题。文中提到,Depth-wise CNN 和 attention 存在高度相似的结构,调参优化之后&…

Spring Cloud构建微服务架构(一)服务注册与发现

Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。 Spring Cloud包…

击败GPT3,刷新50个SOTA!谷歌全面统一NLP范式

文 | ZenMoore编 | 小轶写在前面一觉醒来,迷糊之中看到一条推特:瞬间清醒!Google 的 Yi Tay (and Mostafa) 团队提出了一个新的策略 Mixture-of-Denoisers, 统一了各大预训练范式。重新思考现在的预训练精调,我们有各种各样的预训…

剑指Offer - 面试题3. 数组中重复的数字(哈希)

1. 题目 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输…

击败GPT3,刷新50个SOTA,谷歌全面统一NLP范式?

声明:本文原创首发于公众号夕小瑶的卖萌屋。作者:ZenMoore,编辑:小轶--->【我是传送门】写在前面一觉醒来,迷糊之中看到一条推特:瞬间清醒!Google 的 Yi Tay (and Mostafa) 团队提出了一个新…

Spring Boot 2.3.0 发布

Spring Boot 2.3.0 已经发布,此版本主要更新内容包括: 依赖升级 新版本核心组件依赖升级 Spring Data NeumannSpring HATEOAS 1.1Spring Integration 5.3Spring Kafka 2.5Spring Security 5.3Spring Session Dragonfruit 三方组件依赖 Cassandra Dri…

剑指Offer - 面试题4. 二维数组中的查找(双指针)

1. 题目 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下&…

涵盖1600+任务的巨型Benchmark来了!跑个测试花一周??

文 | 兔子酱最近,benchmanking又卷出了新高度,allen AI 前段时间发布了史上最强基准测试——NATURAL-INSTRUCTIONSv2,涵盖了1600个任务、70个不同任务类型、50种不同语言,用来测试生成模型的泛化性。论文标题:Benchmar…

Spring Boot 2.x基础教程:使用MyBatis访问MySQL

之前我们已经介绍了两种在Spring Boot中访问关系型数据库的方式: 使用spring-boot-starter-jdbc使用spring-boot-starter-data-jpa 虽然Spring Data JPA在国外广泛流行,但是在国内还是MyBatis的天下。所以,今天这篇我们将具体说说如何在Spri…

剑指Offer - 面试题5. 替换空格(字符串)

1. 题目 请实现一个函数&#xff0c;把字符串 s 中的每个空格替换成"%20"。 示例 1&#xff1a; 输入&#xff1a;s "We are happy." 输出&#xff1a;"We%20are%20happy."限制&#xff1a; 0 < s 的长度 < 10000来源&#xff1a;力扣&…

信息抽取里程碑式突破!终于要大规模落地了??

文 | 卖萌酱大家好&#xff0c;我是卖萌酱。AI领域常见的工作突破有三类&#xff1a;屠爆了学术界榜单&#xff0c;成为该领域学术层面的新SOTA实现了大一统&#xff0c;用一个架构实现对该领域诸多子任务的统一建模&#xff0c;刷新建模认知将NB的学术界新SOTA变成一件人人可傻…

Spring Boot 2.x基础教程:使用 Thymeleaf开发Web页面

通过本系列教程的前几章内容&#xff08;API开发、数据访问&#xff09;。我们已经具备完成一个涵盖数据存储、提供HTTP接口的完整后端服务了。依托这些技能&#xff0c;我们已经可以配合前端开发人员&#xff0c;一起来完成一些前后端分离的Web项目&#xff0c;或是一些小程序…

《剑指Offer》解题目录(更新完毕)

题目来源于LeetCode上的《剑指Offer》&#xff0c;这里做一个目录方便大家查找。另外有本人的LeetCode解题目录、《程序员面试金典》解题目录、LintCode解题目录 可点击链接查看。updated on 2020.3.18 不懂的概念可以参考《数据结构与算法之美》学习汇总 已解决 75/75 - 简单…

信息抽取里程碑式突破!要大规模落地了?

声明&#xff1a;本文原创首发于公众号夕小瑶的卖萌屋。作者&#xff1a;卖萌酱大家好&#xff0c;我是卖萌酱。AI领域常见的工作突破有三类&#xff1a;屠爆了学术界榜单&#xff0c;成为该领域学术层面的新SOTA实现了大一统&#xff0c;用一个架构实现对该领域诸多子任务的统…

Spring Boot 2.x基础教程:使用Spring Data JPA访问MySQL

在数据访问这章的第一篇文章《Spring中使用JdbcTemplate访问数据库》 中&#xff0c;我们已经介绍了如何使用Spring Boot中最基本的jdbc模块来实现关系型数据库的数据读写操作。那么结合Web开发一章的内容&#xff0c;我们就可以利用JDBC模块与Web模块的功能&#xff0c;综合着…

剑指Offer - 面试题6. 从尾到头打印链表(栈,递归,反转链表)

文章目录1. 题目2. 解题2.1 stack解题2.2 递归2.3 反转链表1. 题目 输入一个链表的头节点&#xff0c;从尾到头反过来返回每个节点的值&#xff08;用数组返回&#xff09;。 示例 1&#xff1a; 输入&#xff1a;head [1,3,2] 输出&#xff1a;[2,3,1]限制&#xff1a; 0 &…