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

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.rhkb.cn/news/260053.html

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

相关文章

Vue-route核心知识整理

目录 1 相关理解 1.1 对 vue-router 的理解 1.2 对 SPA 应用的理解 1.3 对路由的理解 1.3.1 什么是路由? 1.3.2 路由的分类 2 几个注意点 3 路由的基本使用 4 嵌套 (多级) 路由 5 路由传参 5.1 query 方式传参 5.1.1 跳转路由并携带query参数&#xff0…

微信小程序-绑定数据并在后台获取它

如图 遍历列表的过程中需要绑定数据&#xff0c;点击时候需要绑定数据 这里是源代码 <block wx:for"{{productList}}" wx:key"productId"><view class"product-item" bindtap"handleProductClick" data-product-id"{{i…

Web3区块链游戏:创造虚拟世界的全新体验

随着区块链技术的不断发展&#xff0c;Web3区块链游戏正逐渐崭露头角&#xff0c;为玩家带来了全新的虚拟世界体验。传统游戏中的中心化结构和封闭经济体系已经被打破&#xff0c;取而代之的是去中心化的游戏环境和真实所有权的数字资产。本文将深入探讨Web3区块链游戏的特点、…

代码随想录算法训练营29期|day55 任务以及具体安排

第九章 动态规划part12 309.最佳买卖股票时机含冷冻期 class Solution {public int maxProfit(int[] prices) {//0代表持股票&#xff0c;1代表保持卖出状态&#xff0c;2代表卖出股票。3代表冷冻int[][] dp new int[prices.length][4];dp[0][0] -prices[0];for(int i 1 ; …

MySQL数据库基础(十):DQL数据查询语言

文章目录 DQL数据查询语言 一、数据集准备 二、select查询 三、简单查询 四、条件查询 1、比较查询 2、范围查询 3、逻辑查询 4、模糊查询 5、非空查询 五、排序查询 六、聚合查询 七、分组查询与having子句 1、分组查询介绍 2、group by的使用 3、group by 聚…

web基础及http协议 (二) apache

一、httpd 安装组成 http 服务基于 C/S 结构 1 .常见http 服务器程序 httpd apache&#xff0c;存在C10K&#xff08;10K connections&#xff09;问题 nginx 解决C10K问题lighttpd IIS .asp 应用程序服务器 tomcat .jsp 应用程序服务器 jetty 开源的servlet容器&#xf…

vm centos7 docker 安装 mysql 5.7.28(2024-02-18)

centos系统版本 [rootlocalhost mysql5.7]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) docker版本 拉取指定版本镜像 docker pull mysql:5.7.28 docker images 创建挂载目录&#xff08;数据存储在centos的磁盘上&#xff09; mkdir -p /app/softwa…

ElscticSearch基础操作

Es数据格式和Mysql对比 ElasticSearch index(索引) Type(类型) Documents(文档) Fields(字段) ​ MySQL Databases(数据库) Table(表) Row(行) Column(列) 倒排索引 正向索引,在Mysql中使用的索引就是正排索引,索引对应的就是直接的数据 例子: id content 1 my name is …

【JVM篇】什么是类加载器,有哪些常见的类加载器

文章目录 &#x1f354;什么是类加载器&#x1f6f8;有哪些常见的类加载器 &#x1f354;什么是类加载器 负责在类加载过程中&#xff0c;将字节码信息以流的方式获取并加载到内存当中 &#x1f6f8;有哪些常见的类加载器 启动类加载器 启动类加载器是有Hotspot虚拟机通过的类…

每日一题 力扣107 二叉树的层序遍历Ⅱ

107. 二叉树的层序遍历 II 题目描述&#xff1a; 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历&#xff09; 示例 1&#xff1a; 输入&#xff1a;root [3,9,20…

Github 2024-02-18 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-02-18统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目5PowerShell项目1Rust项目1PHP项目1Jupyter Notebook项目1TypeScript项目1 Black&#xff1a;不妥…

把Llama2封装为API服务并做一个互动网页

最近按照官方例子&#xff0c;把Llama2跑起来了测试通了&#xff0c;但是想封装成api服务&#xff0c;耗费了一些些力气 参考&#xff1a;https://github.com/facebookresearch/llama/pull/147/files 1. 准备的前提如下 按照官方如下命令&#xff0c;可以运行成功 torchrun -…

程序员必看的几部电影

目录 《我是谁&#xff1a;没有绝对安全的系统》 《模仿游戏》 《硅谷传奇》 《代码 The Code》 作为程序员&#xff0c;除了在工作中不断学习和提升技术外&#xff0c;适当地放松也是必不可少的 看电影可以是一个很好的放松方式&#xff0c;而对于程序员来说&#xff0c;…

DNS服务正反解析

1.正向解析 1.配置基本 1.1防火墙配置 二者都要关闭 setenforce 0 systemctl stop firewalld #关闭防火墙 yum install bind -y #下载bind软件 客户端可以不用下 1.2服务端配置静态ip&#xff0c; ip a 查看网卡 nmcli c modify ens33 ipv4.method manual ipv4.addresses …

HTTP特性

大家好我是苏麟 , 今天说说HTTP特性. 资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) 到目前为止&#xff0c;HTTP 常见到版本有 HTTP/1.1&#xff0c;HTTP/2.0,HTTP/3.0&#xff0c;不同版本的 HTTP 特性是不一样的。 这里先用 HTTP/1.1 版本给大家介…

算法——位运算

1. 基础位运算 位运算符是在二进制位级别上对数据进行操作的运算符。以下是一些常见的位运算符: 1. 右移运算符 (>>) 将一个数的所有二进制位向右移动指定的位数。右移运算符 >> 表示将运算符左边的操作数的所有位向右移动右边指定的位数&#xff0c;右边多余的…

如何系统地学习Python

建议系统学习Python的途径遵循理论与实践相结合的教学方法。以下是一个分阶段的学习计划&#xff1a; 阶段一&#xff1a;基础知识 理解Python的特点&#xff1a; 认识Python的历史与设计哲学。学习Python的基本语法和运行环境。 安装Python&#xff1a; 学习如何在不同操作系…

(03)Hive的相关概念——分区表、分桶表

目录 一、Hive分区表 1.1 分区表的概念 1.2 分区表的创建 1.3 分区表数据加载及查询 1.3.1 静态分区 1.3.2 动态分区 1.4 分区表的本质及使用 1.5 分区表的注意事项 1.6 多重分区表 二、Hive分桶表 2.1 分桶表的概念 2.2 分桶表的创建 2.3 分桶表的数据加载 2.4 …

OpenAI最新模型Sora到底有多强?眼见为实的真实世界即将成为过去!

文章目录 1. 写在前面2. 什么是Sora&#xff1f;3. Sora的技术原理 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a;对JS逆向感…

【MySQL】:C/C++链接

C/C链接 一.前置工作二.官方手册三.基本接口1.初始化和关闭2.进行连接3.下达命令4.获取执行结果5.释放空间 四.测试源代码 一.前置工作 进行C/C链接时我们需要第三方库&#xff0c;但实际上在我们安装MySQL时就已经安装了&#xff0c;如果没有安装下面可以再执行该命令进行更新…