从电子病历(EMRs)构建医学知识图谱

news2024/11/24 16:30:32

从电子病历 EMRs 构建医学知识图谱

    • 提出背景
      • 传统的三元组结构
      • 本研究采用的四元组结构
      • 第四元作用
      • 第四元类型
      • 以往的方法
      • 本研究的方法
    • 大威天龙·八

 


论文:Real-world data medical knowledge graph: construction and applications

提出背景

本研究在中国一家三甲医院的大数据平台上进行,构建的医学知识图谱包含9种实体类型,共22,508个实体,并建立了579,094个四元组结构以代替传统的三元组结构。

在本研究中,通过使用中国一家三甲医院的大数据平台,我们构建了一个复杂的医学知识图谱,这个图谱不仅包含多种医学实体类型,还采用了四元组结构代替了传统的三元组结构,以提供更丰富的信息和关系表示。

传统的三元组结构

在传统的知识图谱中,糖尿病和相关实体之间的关系通常用三元组表示,例如:

  • (糖尿病, 关联症状, 多饮)
  • (糖尿病, 推荐治疗, 胰岛素注射)

这些三元组有效地表示了实体之间的二元关系。

本研究采用的四元组结构

四元组结构在三元组的基础上增加了额外的维度,可以提供更多的上下文或属性信息,使得关系描述更加详细和精确。

对于糖尿病,四元组的例子可能包括:

  • (糖尿病, 关联症状, 多饮, 频率: 高)
  • (糖尿病, 推荐治疗, 胰岛素注射, 适应症: 1型糖尿病)

在这些四元组中,第四元素提供了关于关系的额外信息,如症状出现的频率或治疗的具体适应症。

这不仅帮助医生更好地理解疾病的具体表现,也能针对不同类型的糖尿病提供更加个性化的治疗建议。

第四元作用

通过扩展传统知识图谱的结构和利用大规模数据,显著提升了医学知识图谱在处理复杂疾病如糖尿病时的细致度和实用性。

  1. (糖尿病, 关联症状, 视网膜病变, 频率: 常见)

    • 这个四元组说明视网膜病变是糖尿病的一个常见症状。
  2. (糖尿病, 推荐治疗, 代谢手术, 适应症: 2型糖尿病且药物治疗无效)

    • 这表示代谢手术是针对那些2型糖尿病患者的推荐治疗方案,尤其是在药物治疗无效的情况下。
  3. (糖尿病, 预防措施, 定期体检, 频率: 每年)

    • 这个四元组建议所有糖尿病患者每年进行定期体检,以早期发现可能的并发症。
  4. (糖尿病, 饮食建议, 低糖饮食, 适应症: 所有类型)

    • 这表示对于所有类型的糖尿病患者,推荐采取低糖饮食。

当诊断出患者有2型糖尿病且传统药物治疗效果不佳时,医生可以考虑推荐代谢手术。

对于初诊的糖尿病患者,医生可以强调定期体检的重要性,特别是检查可能的视网膜病变。

在日常管理中,医生会向所有糖尿病患者推荐低糖饮食,并根据患者的具体病情调整饮食建议。

第四元类型

在这里插入图片描述

图显示了知识图谱中用来表示事实的四元组结构。

在这个例子中,四元组由以下部分构成:

  • 主体(Subject):Type 2 diabetes mellitus(2型糖尿病)
  • 谓词(Predicate):disease_related_symptom(疾病相关症状)
  • 宾语(Object):Polydipsia(多饮)
  • 属性(Properties):包含四个属性,数量(num)、概率(probability)、特异性(specificity)和可靠性(reliability),每个属性都有其数值。

这个结构扩展了传统的三元组(SPO)结构,提供了有关特定疾病症状关系的更多详细信息,如多饮作为2型糖尿病的常见症状。

在四元组知识表示中,第四元通常是用来添加关于关系的额外信息,增加上下文或详细说明的。

 

这第四元可以是多种形式,具体取决于所要表达的信息和应用场景:

  1. 属性值:表示关系中某个方面的量化信息,如频率、强度、概率等。

    • 例:(疾病, 症状, 头痛, 频率: 常见)
  2. 时间信息:指明实体关系的时间范围或时限。

    • 例:(疾病, 治疗, 抗生素, 时间: 7天疗程)
  3. 空间或位置信息:指出实体关系发生的地点或位置。

    • 例:(手术, 地点, 医院, 地点: 肾脏外科病房)
  4. 条件或限制:提供关系有效的条件或应用的限制。

    • 例:(治疗, 疾病, 胰岛素, 条件: 空腹时使用)
  5. 来源或依据:表明某个事实或声明的来源,如研究、临床试验等。

    • 例:(治疗, 疾病, 心血管练习, 依据: 最新临床指南)
  6. 质量或评估:给出关系或实体的质量评估或状态描述。

    • 例:(症状, 疾病, 发热, 严重性: 中度)
  7. 序列或顺序:当多个实体和动作按特定顺序发生时指定顺序。

    • 例:(治疗步骤, 疾病, 化疗, 步骤: 1)
  8. 个体特征:针对特定患者群体或个体的特定信息。

    • 例:(药物, 适用对象, 青少年, 剂量: 减半)

第四元的具体内容需要根据建立知识图谱的目的和所要解决的问题精心设计,以确保它能够提供足够且有用的信息。

以往的方法

在之前的研究中,构建糖尿病相关的知识图谱通常只利用了少量的数据,比如特定的医学文献或者小规模的病例记录。

这种方法主要关注疾病和药物之间的直接关系,虽然对特定查询有帮助,但可能无法全面反映与糖尿病相关的所有医学信息。

本研究的方法

在这里插入图片描述
图展示了知识图谱中肺癌相关的实体和关系。

中心的大圆圈代表肺癌主诊断,周围的点代表与肺癌相关的各种实体,如症状、药物、检查项目等。

线条表示实体之间的关系,而不同颜色的点代表不同类型的实体。

这有助于理解如何通过知识图谱展现复杂的医学信息和相互关系,例如肺癌与某个症状或检查之间的关系。

 

本研究使用了一个大型医院的所有病历数据,这些数据不仅数量众多,而且涵盖了从症状到治疗的各种医学实体。

  1. 实体类型的扩展:本研究不仅包括了疾病和药物,还包括了症状、治疗措施、生活方式建议等更多类型的医学实体。

这使得知识图谱能更全面地支持医生做出诊断和治疗决策。

  1. 大规模数据的应用:通过分析数以百万计的病历记录,本研究能够更准确地识别出糖尿病及其相关症状和治疗方法。

这帮助医生和研究者发现更多的治疗模式和可能的病因。

  1. 系统化的构建过程:从初步的数据处理到复杂的分析,每一个步骤都使用了先进的技术来确保信息的准确性和实用性。

这一点对于处理像糖尿病这样的复杂疾病特别重要,因为它们的治疗需要长期跟踪和综合多方面的信息。

  1. 实际应用的验证:最终,这个知识图谱被用来帮助医生为糖尿病患者制定个性化的治疗方案。

它还可以用于教育患者,帮助他们更好地理解自己的健康状况和治疗选择。

本研究通过使用大规模的数据和先进的分析技术,构建了一个能够全面反映糖尿病及其相关条件的知识图谱,这在以往的研究中是很少见的。


这张图是一幅流程图,展示了如何构建医学知识图谱(Medical KG)的系统化过程。

流程分为以下几个步骤:

  1. 数据准备(Data preparation):从不同的医疗信息系统中收集数据,比如电子病历(EMR)、医院信息系统(HIS)和实验室信息系统(LIS)。

每个系统提供的数据包括诊断、检查、药物处方等。

  1. 实体识别(Entity recognition):在收集的数据中识别医学相关的实体,如症状、检验项目、疾病、药物和手术等。

  2. 实体标准化(Entity normalization):将识别出的实体规范到标准术语,以保证知识图谱中的一致性。

  3. 关系提取(Relation extraction):确定实体之间的关系,例如疾病和症状之间的关系。

  4. 属性计算(Property calculation):为图谱中的实体计算属性值,比如可能是频率、强度等。

  5. 图清洗(Graph cleaning):清理和优化图谱,删除不一致或错误的信息。

  6. 相关实体排名(Related entity ranking):在图谱中对实体进行排名,可能基于它们的重要性或相关性。

  7. 图嵌入(Graph embedding):将图谱转化为嵌入向量,这样的数学表示有助于机器学习模型更有效地处理和分析。

图中的箭头显示了数据从电子医疗记录(EMR)、医院信息系统(HIS)、和实验室信息系统(LIS)流经不同步骤直到构建出带有嵌入的医学知识图谱(Medical KG with embedding)的路径。

 


大威天龙·八

整个流程包含以下八个主要步骤,旨在从大规模电子医疗记录中构建医学知识图谱:

  1. 数据准备:集成来自电子病历系统、医院信息系统、实验室信息系统和放射学信息系统的数据。

问题:大量分散的糖尿病相关数据需要汇总和整理。

解法:集成来自EMR、HIS、LIS的数据。

  • 子解法1:收集诊断记录。
  • 子解法2:汇总药物处方数据。
  • 子解法3:整合实验室和检查结果。

原因:为了创建一个全面的糖尿病知识图谱,需要来自多个来源的详尽数据。

  1. 实体识别:使用命名实体识别技术从自由文本中识别出医学实体,如疾病、药物和症状。

问题:自由文本中含有多种糖尿病相关实体。

解法:应用NER技术识别实体。

  • 子解法:使用混合模型结合规则和学习方法识别实体。

原因:提高实体识别的准确性和覆盖面。

  1. 实体标准化:将识别出的各种术语映射到标准化的医学术语,以创建一致性的实体。

问题:不同的记录可能使用不同的术语表示同一疾病。

解法:将术语映射到标准化的医学术语。

  • 子解法:构建术语映射字典。

原因:确保知识图谱的一致性和准确性。

  1. 关系提取:建立实体间的三元组关系,特别是将疾病作为中心实体,围绕其提取相关的医学实体关系。

问题:需要明确实体间的关联。

解法:确定疾病与其他实体之间的关系。

  • 子解法:专注于疾病和其他关键实体的关系。

原因:疾病是医学知识图谱中的核心实体。

  1. 属性计算:为知识图谱中的实体和关系计算如出现次数和概率等属性。

问题:为实体和关系定义和计算属性。

解法:计算出现次数和概率。

  • 子解法:定义四元组结构以包含更多属性。

原因:属性为实体关系提供了更丰富的信息。

  1. 图清洗:去除图中的不一致或错误信息,提升知识图谱的质量。

问题:图谱中可能存在错误或不一致的信息。

解法:清除图谱中的无效信息。

  • 子解法:应用清洗算法。

原因:提升知识图谱的质量和可靠性。

  1. 相关实体排名:对图中的实体进行排名,这通常基于它们的重要性或相关性。

问题:需要确定实体的重要性。

解法:对实体进行排名。

  • 子解法:基于实体的临床相关性进行排序。

原因:帮助用户理解实体间的重要性差异。

  1. 图嵌入:将知识图谱转化为嵌入向量,以便能够通过机器学习模型进行有效处理和分析。

问题:需要将知识图谱应用于机器学习。

解法:将实体和关系转换为向量形式。

  • 子解法:应用图嵌入算法。

原因:使得图谱能够被机器学习模型有效处理。

 
以糖尿病为例,我们来看看这八个步骤是如何应用的:

  1. 数据准备:从电子医疗记录(EMR)中收集包含糖尿病的诊断、药物处方、检查和手术记录等相关数据。

  2. 实体识别:从病历文本中识别出糖尿病及其相关的实体,如“高血糖”、“口服降糖药”、“血糖检测”。

  3. 实体标准化:将各种诊断术语映射到国际疾病分类(ICD-10)的标准糖尿病代码。

  4. 关系提取:建立糖尿病实体与其它实体(如症状、药物、检查)之间的关系。比如,“糖尿病”与“口渴”、“频繁小便”建立疾病与症状的关系。

  5. 属性计算:计算糖尿病及其相关实体在患者记录中的出现频次和概率。

  6. 图清洗:清理与糖尿病不相关或错误链接的实体和关系。

  7. 相关实体排名:根据与糖尿病相关的临床重要性对实体进行排名。比如,将“视网膜病变”这一并发症排在更高的位置,因为它是糖尿病的一个重要并发症。

  8. 图嵌入:将糖尿病及其相关实体和关系转换为向量形式,以便于机器学习模型能够对其进行分析,比如预测糖尿病患者的并发症风险。

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

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

相关文章

【GD32】MQ-5液化气检测传感器

2.33 MQ-5液化气检测传感器 MQ-5气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(Sno2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为该气体浓度相对应的输出信号。…

ExpressLRS硬件实测性能分析

ExpressLRS硬件实测性能分析 1. 源由2. 远航测试3. 实验室测试3.1 芯片RSSI与实测功率差异3.2 SNR信噪比稳定3.3 140db衰减器衰减,40个频点信号稳定 4. 外场测试4.1 无屏蔽样品4.2 有屏蔽样品4.3 有屏蔽vs无屏蔽样品 5. 估算6. 总结7. 补充说明 -- 50mW视频 1. 源由…

1.3 字符设备驱动

1、字符设备驱动工作原理 2、file_operations结构体 struct file_operations { struct module *owner; //拥有该结构的模块的指针,一般为THIS_MODULES loff_t (*llseek) (struct file *, lof…

【日常记录】【CSS】生成动态气泡小球

文章目录 1、分析2、实现 1、分析 核心有两点&#xff0c;通过这两个不一样就可以实现每个小球的颜色、动画时间不一致 给每个元素都设置一个css 变量 bgc 用于控制每一个小球的颜色给每个元素都设置一个css 变量 duration 用于控制每一个小球的时间 2、实现 <!DOCTYPE ht…

java中的线程通讯和线程池,Callable任务

线程通讯&#xff1a; 在多线程中&#xff0c;某个线程进入“等待状态”时&#xff0c;需要某个线程来唤醒 等待方法&#xff1a; wait()//无线等待 wait(long 毫秒)//计时等待 注意&#xff0c;调用wait方法&#xff0c;会自动释放掉锁资源 处于wait状态只能由其他线程唤醒 唤…

信创产品适配的前因后果

“信创”的本意是指“信息技术应用创新”。这个概念最早来源于“信创工委会”&#xff08;信息技术应用创新工作委员会&#xff09;&#xff0c;一个由24家专业从事软硬件关键技术研究及应用的国内单位&#xff0c;在2016年共同发起成立的非营利性社会组织。近些年来&#xff0…

GitHub repository - commits - branches - releases - contributors

GitHub repository - commits - branches - releases - contributors 1. commits2. branches3. releases4. contributorsReferences 1. commits 在这里可以查看当前分支的提交历史。左侧的数字表示提交数。 2. branches 可以查看仓库的分支列表。左侧的数字表示当前拥有的分…

android studio 网络请求okhttp3、okgo

一、在build.gradle文件里添加 implementation com.squareup.okhttp3:okhttp:4.9.0 implementation com.squareup.okhttp3:okhttp:3.12.0 implementation com.squareup.okio:okio:1.17.4 implementation com.lzy.net:okgo:3.0.4 implementation com.alibaba:fastjson:1.2.57 i…

25、链表-环形链表

思路&#xff1a; 这道题就是判断链表中是否有环&#xff0c;首先使用集合肯定可以快速地解决&#xff0c;比如通过一个set集合遍历&#xff0c;如果遍历过程中有节点在set中已经存在那么说明存在环。 第二种方式就是通过快慢指针方式寻找环。具体思路就是一个慢指针每次直走一…

Android适配平板屏幕尺寸

一、划分手机和平板 人为判断方法: 大于6英寸的就是平板。小于6英寸的都是手机 平板尺寸&#xff1a; 6英寸、7英寸、10英寸、14英寸… Android系统支持多配置资源文件&#xff0c;我们可以追加新的资源目录到你的Android项目中。命名规范&#xff1a; 资源名字-限制符 l…

2024年MathorCup数学建模B题甲骨文智能识别中原始拓片单字自动分割与识别研究解题文档与程序

2024年第十四届MathorCup高校数学建模挑战赛 B题 甲骨文智能识别中原始拓片单字自动分割与识别研究 原题再现&#xff1a; 甲骨文是我国目前已知的最早成熟的文字系统&#xff0c;它是一种刻在龟甲或兽骨上的古老文字。甲骨文具有极其重要的研究价值&#xff0c;不仅对中国文…

Go程序设计语言 学习笔记 第十一章 测试

1949年&#xff0c;EDSAC&#xff08;第一台存储程序计算机&#xff09;的开发者莫里斯威尔克斯在他的实验室楼梯上攀登时突然领悟到一件令人震惊的事情。在《一位计算机先驱的回忆录》中&#xff0c;他回忆道&#xff1a;“我突然完全意识到&#xff0c;我余生中的很大一部分时…

2024妈妈杯mathorcup数学建模C题 物流网络分拣中心货量预测及人员排班

一、数据预处理 数据清洗是指对数据进行清洗和整理&#xff0c;包括删除无效数据、缺失值填充、异常值检测和处理等。数据转换是指对数据进行转换和变换&#xff0c;包括数据缩放、数据归一化、数据标准化等。数据整理是指对数据进行整理和归纳&#xff0c;包括数据分组、数据聚…

一文读懂Java中的WebEndpointProperties类(附Demo)

目录 前言1. 基本知识2. Demo3. 彩蛋 前言 对于Java的相关知识&#xff0c;推荐阅读&#xff1a;java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09; 1. 基本知识 Spring Boot 的配置类 WebEndpointProperties&#xff0c;用于配置 Web 端…

【python】基于pyttsx3库的字符串转音频文件

一、源码 import pyttsx3 engine pyttsx3.init() engine.setProperty(volume, 0.8) engine.setProperty(rate, 150) engine.save_to_file("Hello, World!", "output.mp3") engine.runAndWait()二、介绍 使用pyttsx3库&#xff0c;设置声音与速率&#x…

RTR3学习笔记

目录 引言第二章、图形渲染管线2.1 图形渲染管线架构概述&#xff08;1&#xff09;渲染管线的主要功能&#xff08;2&#xff09;渲染结果是由输入对象相互作用产生的&#xff08;3&#xff09;图像渲染管线的三个阶段&#xff08;4&#xff09;其他讨论 2.2 应用程序阶段&…

SpringBoo利用 MDC 机制过滤出单次请求相关的日志

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1.前言 2.MDC 是什么 3.代码实战 4.总结 1.前言 在服务出现故障时&#xff…

Composer 安装与配置

Composer 是 PHP 领域中非常重要的一个工具&#xff0c;它作为 PHP 的依赖管理工具&#xff0c;帮助开发者定义、管理、安装项目所依赖的外部库。Composer 的出现极大地简化了 PHP 项目的构建和管理过程&#xff0c;使得开发者可以更加专注于代码的编写和功能的实现。 Compose…

matlab使用教程(42)—常见的二维图像绘制方法

这个博客用于演示如何在 MATLAB 中创建曲线图、条形图、阶梯图、误差条形图、极坐标图、针状图、散点图。 1.曲线图 plot 函数用来创建 x 和 y 值的简单线图。 x 0:0.05:5; y sin(x.^2); figure plot(x,y) 运行结果&#xff1a; 线图可显示多组 x 和 y 数据。 x 0:0.05:…

气膜建筑的优势与应用—轻空间为您解答

气膜建筑作为一种利用气膜材料构建主体结构的建筑形式&#xff0c;在现代建筑领域日益受到关注。轻空间将介绍气膜建筑的优势以及其在不同领域的应用。 1. 轻便灵活&#xff1a; 气膜建筑采用轻质材料&#xff0c;相比传统建筑更为轻便&#xff0c;从而减轻了基础负荷和运输成本…