【医学大模型】Text2MDT :从医学指南中,构建医学决策树

news2025/1/17 21:39:32

Text2MDT :从医学指南中,构建医学决策树

    • 提出背景
    • Text2MDT 逻辑
    • Text2MDT 实现
    • 框架
      • 管道化框架
      • 端到端框架
    • 效果

 


提出背景

论文:https://arxiv.org/pdf/2401.02034.pdf

代码:https://github.com/michael-wzhu/text2dt

 

假设我们有一本医学指南,其中包含关于诊断和治疗某种疾病的指导。

首先,通过标准化和结构化的方法,我们定义出哪些文本片段表示条件判断(例如,病人年龄超过60岁),哪些表示决策(例如,使用药物A治疗)。

然后,使用构建的Text2MDT基准数据集训练NLP模型,使其能够从类似的医学文本中自动识别和提取这些条件判断和决策。

最终,通过应用预训练模型和特定的算法流程,从文本中抽取出的信息被转化成一个结构化的MDT,明确显示了从条件判断到最终决策的完整路径。

在这里插入图片描述
这张图展示的是一个医学决策树(MDT),用于辅助医学决策过程。

是根据某个癫痫临床指南中的内容构建的。

决策树的每个节点代表一个临床决策点,其中包含条件(橙色菱形)和决策节点(蓝色矩形)。

图决策树是这样的:

  1. 最顶部的框包含了一个临床指南建议:对于普通强直-阵挛发作的患者,首选药物是丙戊酸(Valproic acid)。如果丙戊酸不适合,可以使用拉莫三嗪(Lamotrigine)或苯巴比妥(Phenobarbital)。如果患者还有肌阵挛发作或疑似有儿童肌阵挛发作,则不适合使用拉莫三嗪。

  2. 在决策树的左侧,如果患者对丙戊酸适应(“Yes”),则继续向下走,如果不适应(“No”),则考虑其他药物。

  3. 在左侧分支中,如果患者对丙戊酸适应且有其他指定条件(在图中以"null"表示),则选择使用丙戊酸。

  4. 在右侧分支中,首先判断患者是否有肌阵挛发作,如果没有(“No”),则选择使用苯巴比妥;如果有(“Yes”),则进一步判断是否是儿童肌阵挛发作,是的话(“Yes”),避免使用拉莫三嗪,否则(“No”),使用苯巴比妥或拉莫三嗪。

这种决策树是临床决策支持系统中的一个工具,可以帮助医生根据患者具体情况作出更加精确的药物选择。英文翻译已在图中的括号中提供。

 

Text2MDT 逻辑

问题:如何从非结构化的医学文本中提取结构化的知识,并构建医学决策树(MDTs)。

解法:Text2MDT 逻辑(从文本到医学决策树的自动化提取)

在这里插入图片描述
文本输入: 表示任务的起始点,输入的是医学文本。

三元组提取: 从文本中提取出主体、关系、客体组成的三元组信息。

节点分组: 根据三元组和逻辑关系(如AND、OR)将提取的信息分组到不同的节点。

树组装: 将节点按照逻辑关系组装成一个完整的决策树。

 

特征1 (节点角色识别):识别决策树中的节点角色,区分条件节点(表示为菱形)和决策节点(表示为矩形)。

首先,我们识别出文本中描述病人状态的部分,这将构成条件节点;然后识别出治疗方案的部分,这将构成决策节点。

为什么需要节点角色识别?

因为医学决策树需要区分条件和决策,这是逻辑流程中的关键部分。

特征2 (三元组提取):从医学文本中提取三元组,每个三元组由主体(sub)、关系(rel)、客体(obj)组成,用于描述医学内容。

从这些部分中提取三元组。例如,如果文本说“如果患者对药物A过敏,使用药物B”,我们将提取三元组(患者,对…过敏,药物A)和(使用,药物,药物B)。

为什么需要三元组提取?

因为决策树的每个节点都基于一组特定的医学事实,这些事实最好以结构化的数据表示,例如三元组。

特征3 (逻辑关系理解):确定节点内三元组之间的逻辑关系,可能是AND、OR或NULL(不存在明确关系)。

确定三元组之间的逻辑关系。在这个例子中,因为药物B的使用取决于对药物A的过敏反应,我们可能会标记这个关系为条件关系(IF-THEN)。

为什么需要理解逻辑关系?

因为医学决策是基于一系列逻辑关系,正确理解这些关系对于构建准确的决策树至关重要。

特征4 (条件判断映射):将条件节点中的条件判断映射到决策树的分支逻辑,即根据条件判断结果是"Yes"或"No"决定接下来的路径。

在决策树中,如果条件判断为“Yes”,我们会向左移动到决策树的下一个节点;如果为“No”,则向右。

为什么需要条件判断映射?

因为决策树的路径取决于条件判断的结果,映射这些结果对于树的结构和最终的决策路径至关重要。

特征5 (决策序列生成):生成节点的预定序列来唯一表示医学决策树。

确定节点的预定序列。

根据前面的条件和决策,我们可以构建一个节点序列,从而生成整个决策树。

为什么需要生成决策序列?

因为最终的目标是生成一个可以代表医学决策过程的结构化决策树,而这需要所有节点和路径按特定顺序排列。
 

Text2MDT 实现

Text2MDT 实现 = 特征1 + 特征2 + 特征3 + 特征4 + 特征5

特征1:预训练语言模型的应用

  • 描述:利用像BERT这样的预训练语言模型(PLMs)来处理医学NLP任务。

特征2:信息提取技术的发展

  • 描述:应用不同的模型架构,如Seq2Seq生成模型,来处理不同的细粒度信息提取任务。

特征3:医学信息提取的特殊性

  • 描述:考虑医学领域中不连续或嵌套实体的复杂性,以及条件三元组的概念。

特征4:Text2Tree任务的历史和应用

  • 描述:从给定文本中提取树结构的NLP任务,如句法分析和语义分析。

特征5:模型架构的趋势

  • 描述:从专门的模型过渡到更统一的模型架构,比如利用预训练的编码器模型来提高Text2Tree任务的性能。

 

例如,在处理一篇关于糖尿病治疗的论文时,模型首先识别出治疗方案、药物剂量和患者条件等实体。

然后,它使用Seq2Seq模型来理解这些实体如何在不同条件下相互作用,比如哪些药物是在餐前使用,哪些是餐后使用。

再接着,模型识别出特定的医学条件三元组,例如,某种药物可能只适用于2型糖尿病患者。

最后,所有这些信息被整合成一个决策树,其中每个节点根据患者的具体情况指导特定的医疗行为。

例如,根节点可能是“患者是否有心脏疾病的病史”,如果答案是肯定的,那么下一个节点可能是“是否应该减少某种药物的剂量”。

而如果答案是否定的,下一个节点可能是“是否可以使用标准剂量”。

这个统一的模型框架可以自动化地从医学文本中提取这些决策点,并构建成一个有助于医生和病人理解和遵循的决策树。

通过这种方式,Text2MDT任务可以帮助将大量的非结构化医学知识转化为结构化的、可操作的决策支持工具。

 


框架

Text2MDT任务的模型化方法被拆解为两个主要框架:

  • 管道化(pipelined)框架
  • 端到端(end-to-end)框架

由于没有现有的神经网络方法能直接处理这个新颖的任务,作者提出了两种方法群体:

  • (a) 管道化方法:将Text2MDT任务分解为三个子任务,并利用现有的方法来完成这些子任务。

  • (b) 端到端方法:这是一个具有挑战性的方法,不能由基于编码器的模型处理。研究中利用了最新的开源大型语言模型(LLM)和思路链提示方法(chain-of-thought prompting)来应对端到端方法。

管道化框架

管道化框架将Text2MDT任务分为三个主要步骤:

  1. 三元组提取:

    • 使用统一的三元组提取模型(TEModel)从医学文本中提取代表决策或条件的三元组。
    • 三元组由实体对和它们之间的关系组成,关系类型由之前提到的表格定义。
  2. 节点分组:

    • 将提取出的三元组根据逻辑关系分组成不同的节点,这些节点将成为MDT的主要组成部分。
    • 使用节点分组双仿射模型(NG-Biaffine)来实现这一步骤。
  3. 树组装:

    • 组装节点以构建医学决策树,涉及为每个节点分配角色(条件或决策)以及确定节点间的连接。
    • 树组装也可以看作是实体类型分类和关系提取的联合任务。

端到端框架

端到端框架考虑使用生成性语言模型来一次性完成整个Text2MDT任务。这种方法的关键特点包括:

  1. 直接生成:

    • 询问语言模型(LM)直接根据文本输入生成整个MDT。
  2. COT风格生成:

    • 鉴于任务的复杂性,考虑了不同的COT风格提示和响应,例如:
      • COT-Generation-1: 按照管道框架的步骤,让LM首先生成三元组,然后进行节点分组,最后组装树。
      • COT-Generation-2: 将任务分解为更细粒度的子任务,如先生成实体,然后三元组,接着节点分配和角色,最后整个树。
      • COT-Generation-3: 要求LM首先提取三元组,然后生成整个MDT。
      • COT-Generation-4: 进一步分解三元组提取子任务,让LM先提取实体,然后生成三元组,最后生成整个MDT。

管道化框架通过逐步处理每个任务的子部分,逐渐建立起决策树的结构。

而端到端框架则利用生成性语言模型的能力,一次性或通过COT风格的逐步推理生成完整的决策树。

这两种框架各有优势:管道化框架的模块化设计使问题变得更容易管理和优化,而端到端框架更直接和效率高,但需要更复杂的数据处理和训练过程。

 

效果

Ground Truth(实际情况)、Prediction(预测):
在这里插入图片描述

临床指南提及患有鼻咽炎的患者通常会使用的药物,包括治疗鼻塞、发烧时常用的药物,如布洛芬、对乙酰氨基酚等。

  • Ground Truth中提及了正确的药物和情况,包括使用药物治疗鼻塞的情况。
  • Prediction部分出现错误,它没有预测出应使用的药物,比如未能预测布洛芬和对乙酰氨基酚。

在这里插入图片描述
临床指南提及对于低钠血症且年龄超过65岁的男性患者,不建议使用去氨加压素。

  • Ground Truth正确识别了患者的基本情况以及不应该使用去氨加压素的指南。
  • Prediction部分未能正确预测不应使用去氨加压素,而是错误地将其作为治疗药物。

目前系统的局限性包括:

  • 节点的逻辑表达受限,仅限于“和”和“或”逻辑关系,而在更复杂的情况下,可能需要多种逻辑关系的组合。
  • 树的表现力有限,当前的决策树在达到一个决策点后就终止,但实际场景应该是一个连续判断和决策的过程。
  • 文本长度有限,当前方法仅旨在提取一个段落的医学文本,而实际上,医学知识可能需要基于多个部分或章节。

COT-Generation-3 尽管是一个有前途的方法,但它在三元组提取阶段仍有提升空间,特别是在处理复杂的医学知识时。

  • COT-Generation-3可能是一个特定版本的Chain of Thought生成模型,而Text2MDT是它试图解决的任务。

该研究表明,虽然Text2MDT模型在处理某些任务上取得了进展,但还存在局限性和改进空间。

未来的工作将需要解决逻辑表达的多样性、决策树的连续性以及处理更长文本的能力,以便更准确地从复杂医学文本中提取MDT。

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

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

相关文章

使用Sora部署实时音视频通信应用实战项目

一、项目概述 本项目将构建一个在线教学平台,实现教师与学生之间的实时音视频通信。平台将提供教师上传课件、发起授课邀请,学生加入课堂、实时互动等功能。通过使用Sora,我们将确保音视频通信的稳定、流畅和低延迟。 目录 一、项目概述 二…

并发编程线程安全之同步锁Synchronized

一、原子性定义 原子性的本质是互斥访问,同一时刻只有一个线程对它进行访问操作 二、原子性问题的简述 public class AutomicDemo {int count 0;public static void main(String[] args) throws InterruptedException {AutomicDemo automicDemo new AutomicDem…

洛谷C++简单题小练习day15—计算阶乘小程序(不用循环)

day15--计算阶乘小程序--2.19 习题概述 题目描述 求 n!,也就是 123⋯n。 挑战:尝试不使用循环语句(for、while)完成这个任务。 输入格式 第一行输入一个正整数 n。 输出格式 输出一个正整数,表示 n! 代码部分 …

MySQL数据库基础(十一):多表查询

文章目录 多表查询 一、交叉连接(了解) 二、内连接 1、连接查询的介绍 2、内连接查询 3、小结 三、左外连接 1、左连接查询 2、小结 四、右外连接 1、右连接查询 2、小结 多表查询 一、交叉连接(了解) 它是所有连接…

Elasticsearch:将 IT 智能和业务 KPI 与 AI 连接起来 - 房间里的大象

作者:Fermi Fang 大象寓言的智慧 在信息技术和商业领导力的交叉点,蒙眼人和大象的古老寓言提供了一个富有洞察力的类比。 这个故事起源于印度次大陆,讲述了六个蒙住眼睛的人第一次遇到大象的故事。 每个人触摸大象的不同部位 —— 侧面、象牙…

Leetcode日记 226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

Leetcode日记 226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 二叉树简介二叉树分类解题方法制作不易,感谢三连,谢谢啦 二叉树简介 二叉树(Binary Tree)是一种特殊的树形…

UE蓝图 分支(Branch)节点和源码

系列文章目录 UE蓝图 Cast节点和源码 UE蓝图 分支(Branch)节点和源码 文章目录 系列文章目录一、分支节点功能二、分支节点用法三、分支节点使用场景四、分支节点实现过程五、分支节点相关源码 一、分支节点功能 在Unreal Engine(UE)的蓝图中&#xff0…

leetcode1049:最后一块石头的重量二

解题思路: 把石头堆分割成差不多的两堆,使得两堆差值最小 dp数组的含义: dp[j]:背包容量为j的背包最大重量(价值)为dp[j] dp[j] max(dp[j],dp[j-stones[i]] stones[i]) 初始化:(dp数组的大小根据题目进行定义&a…

华为配置旁挂二层组网隧道转发示例

配置旁挂二层组网隧道转发示例 组网图形 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件扩展阅读 业务需求 企业用户通过WLAN接入网络,以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时,不影响用户的业务使用。 组网需求 AC组…

【总结】linux命令行在个人用户下添加环境变量

一,简介 在工作过程中需要将对应的路径添加到个人用户的环境变量中,本文介绍如何添加,供参考。 二,操作步骤 非常简单,只需要找到对应配置文件,将路径添加进去即可。 2.1 找到配置文件 一般为用户名下…

【无标题】力扣报错:member access within null pointer of type ‘struct ListNode‘

项目场景: 做单链表反转题目,报错:member access within null pointer of type ‘struct ListNode’ 题目链接:LINK 问题描述 我明明在初始化指针时候,已经处理了n2->next情况却依然报错 这个报错提示含义是:大概就…

react封装通用Modal弹窗组件

目录 1、【src/component/modal/hoc.js】 2、【src/component/modal/componentModal.js】 3、【src/page/projectView.js】 【说明】:后台管理的项目中会经常遇到弹窗,于是封装了一个简单的公共弹窗组件 这个公共组件不适用复杂的功能,简单的…

力扣题目训练(17)

2024年2月10日力扣题目训练 2024年2月10日力扣题目训练551. 学生出勤记录 I557. 反转字符串中的单词 III559. N 叉树的最大深度241. 为运算表达式设计优先级260. 只出现一次的数字 III126. 单词接龙 II 2024年2月10日力扣题目训练 2024年2月10日第十七天编程训练,今…

第五次作业(防御安全)

需求: 1.办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP 不能用来转换) 2.分公司设备可以通过总公司的移动链路和电信链路访问到DMZ区的http服务器 3.分公司内部的客户端可以通过公网地址访问到内部的服务…

力扣OJ题——相交链表

题目:160. 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 思路一(暴力求解): A链表的每个节点依次跟B链表中节点进行…

xshell 修改时间破解使用

文章目录 xshell 修改时间破解使用:question: 问题:point_right: 解决方案: xshell 修改时间破解使用 参考地址:博客地址 ❓ 问题 问题 ​ 当前 xshell 官方提供免费的个人版本供使用,但是在官网升级新版本后则需要进行升级之后才能使用&…

调用接口时不时出现 Error: socket hang up

项目场景: 提示:这里简述项目相关背景: 今天采用golang创建了一个http服务,准备对若干接口进行测试。 问题描述 提示:这里描述项目中遇到的问题: 在测试第一个接口时,发现采用postman调用接口…

Fisher-Yates乱序算法

乱序算法 public class Test07 {public static void main(String[] args) {//乱序算法int[] arr {1,2,3,4,5,6,7,8};//逆序遍历 且这个随机的下标不能使要交换的元素的本身for(int i arr.length-1;i>0;i--){//产生一个随机的下标与当前元素进行交换int index (int)(Math…

文件包含+文件上传漏洞(图片马绕过)

目录 一.文件包含二.文件上传三.图片马四.题目 一.文件包含 将已有的代码以文件形式包含到某个指定的代码中,从而使用其中的代码或者数据,一般是为了方便直接调用所需文件,文件包含的存在使得开发变得更加灵活和方便(若对用户输入…

【无刷电机学习】基础概念及原理入门介绍

目录 0 参考出处 1 定义 2 各种电机优势比较 2.1 有刷与无刷比较 2.2 交流与直流比较 2.3 内转子与外转子比较 2.4 低压BLDC的一些优点 3 基本原理 3.1 单相无刷电机 3.2 三相无刷电机 4 驱动方法 4.1 六步换相控制 4.2 正弦波控制 5 转子位置信息的获取 5…