基于BERT的医学影像报告语料库构建

news2025/1/15 23:26:15

大模型时代,任何行业,任何企业的数据治理未来将会以“语料库”的自动化构建为基石。因此这一系列精选的论文还是围绕在语料库的建设以及自动化的构建。

通读该系列的文章,犹如八仙过海,百花齐放。非结构的提取无外乎关注于非结构化的对象以及对象之间的关系,进而提炼为架构化的数据进行治理。目前优质的基座模型甚多,如何准备微调的语料库样本库(如何标注)以及如何设计标注的结构则十分关键,好的设计将使得微调过的模型能够快速学会自动化标注。

在医学诊断与治疗过程中,影像学扮演着至关重要的角色。无论是揭示肿瘤病变、追踪神经系统状况、评估心血管功能,还是解析肌肉骨骼问题,放射科医师通过解读复杂且非结构化的医学影像,为临床决策提供关键信息。这些信息通常以详尽的放射学报告形式呈现,但其自由叙事的特性使得它们在进行二次利用时,如回顾性分析或临床决策支持系统构建,面临着结构化转化的挑战。如今,这一难题正因一项创新研究而得到突破性进展,本篇论文将创建了“Corpus of Annotated Medical Imaging Reports(CAMIR)”的独特资源,首次将精细事件结构与概念标准化巧妙融合,革新了医学影像报告的处理方式。

方法论

数据集:论文使用了一个现有的包含2007年至2020年间来自华盛顿大学医学系统四个医院的普通患者群体的临床数据库,其中包括1,417,586份CT报告、541,388份MRI报告和39,150份PET-CT报告。从每种成像模态中随机抽取报告:CT报告203份、MRI报告202份、PET-CT报告204份。这些报告使用神经去标识符自动进行了去标识化处理。

标注模式:CAMIR事件模式中,每个事件包括一个标识事件的触发器和描述事件的参数。下图展示了在整个注解过程中使用的BRAT快速注解工具的注解示例。

标注方式:四位医学生对CAMIR进行了标注。两两组队对357份报告进行了双重标注,另有252份报告由相同的标注员进行了单次标注。经过五轮双重标注后,标注员的水平达到了一致的交互式一致性评价(IAA)标准,随后进行了4轮单次标注。数据集中训练集、验证集和测试集的比例为70%:10%:20%。训练集中有41%为双重标注,整个验证集和测试集均为双重标注,以确保评估的可靠性。双重标注报告平均每份包含2.65±0.48个指征触发器、10.15±1.31个医学问题触发器和9.77±0.99个病变触发器,而单次标注报告平均每份包含2.14±0.26个指征触发器、9.91±2.58个医学问题触发器和8.78±1.06个病变触发器。

信息提取(IE)提取框架:为了提取CAMIR事件,研究团队考察了两种基于BERT的语言模型:(1)mSpERT和(2)增强版的PL-Marker,PL-Marker++。对于这两套系统,研究团队把事件分解为包含实体和关系的一个组,其中关系头是触发器,关系尾是参数。

mSpERT

上图显示了mSpERT架构,包括各种主体类型、主体子类型和关系输出层。这种尝试较为直接,直接使用BERT联合提取主体和关系。

输出层通过外接Adapter负责分类跨度识别以及多标签之间的关系预测。研究团队因此也利用它来预测子类型标签,mSpERT输出的最终结果可以生成CAMIR预先定义的事件结构,进而完成数据自动化的抽取。

PL-Marker++

PL-Marker是一个多阶段提取框架,第一阶段识别各种主体信息,第二阶段解析关系。为了提取CAMIR事件,研究团队引入了PL-Marker的增强版PL-Marker++。唯一的区别在于第三个分类阶段,用于带值子类型的标签。上图展示了PL-Marker++架构,其中实体类型和关系阶段与原始PL-Marker模型相同。

看到这里会比较烧脑,大白话的解释就是C阶段就是传统的PL-marker框架,主要是提取每一段文字的各种主体信息(含开始和结束位置)、主体之间的关系。因为这样的操作是并行计算,速度和效率可以得到保障。

而B阶段就是所谓的第三分类阶段,进一步将C阶段的成果再次通过Bert基座识别出对应实体的额外信息。这个过程主要是C阶段提炼的每一个实体对象插入标识符生成新的输入。再讲这个输入利用Bert CLS标记的隐藏状态输入外挂分类器,进而识别出每个主体的二级子类。最终一段文本被自动化的标注为结构化的语料库。

标注结果

左图给出了双重标注报告的一致性(IAA)数据。对双重标注报告中的所有触发器和参数进行评估,总体一致性得分为0.762 F1。对于触发器标注的一致性更高,指示(Indication)、病变(Lesion)和医学问题(Medical Problem)分别为0.856、0.805和0.854 F1。尺寸(Size)、尺寸趋势(Size Trend)和计数(Count)参数出现频率远低于其他参数,从而导致这些参数的一致性得分较低。特征(Characteristic)参数的语义非常多样,导致频繁的假阴性结果。

CAMIR中标注现象的分布情况。虽然成像方式的关注点可能有所不同,但大多数参数类型的标注在各成像方式间的分布相似。

两种框架的效果对比

从上图看,PL-Marker++相对于mSpERT取得了显著更高的整体性能(0.759 F1 对比 0.736 F1)。尽管mSpERT和PL-Marker++模型在提取指示和医学问题触发器和参数方面的表现相似,但PL-Marker++在提取病变触发器和除一种参数类型外的所有参数方面表现出色。PL-Marker++模型在提取病变事件的特征、尺寸和尺寸趋势参数方面分别获得了+∆0.05 F1的提升。PL-Marker++整体性能的提高可归因于通过BERT模型的所有层注入触发器和参数位置信息。

总结

CAMIR语料库凭借其独特的事件结构与概念标准化结合的设计,连接了高度专业的放射学语言与机器学习算法。使海量非结构化的影像报告得以转化为结构化数据,为科研人员、临床医生及医疗软件开发者提供了宝贵的研究素材与开发资源。

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

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

相关文章

修改 ant design tour 漫游式导航的弹窗边框样式

一 说明 应项目要求,调整ant design tour 弹窗边框的样式。tour 原本样式是有遮罩层,因此没有边框看起来也不突兀。原图如下: 但是UI设计是取消遮罩层,并设置边框样式。当 取消 了遮罩层,没有设置边框样式的图片如下&a…

STM32开发学习——使用 Cortex-M3M4M7 故障异常原因与定位(三)

STM32开发学习——使用 Cortex-M3M4M7 故障异常原因与定位(三) 文章目录 STM32开发学习——使用 Cortex-M3M4M7 故障异常原因与定位(三)文档说明:官方参考文档线上链接(可在线阅读与下载)&#…

nssctf(Web刷题)

[SWPUCTF 2021 新生赛]gift_F12 打开题目是一个时间页面,不过看了一会儿发现没有什么用 直接F12打开网页源代码 CtrlF搜索flag 找到了flag NSSCTF{We1c0me_t0_WLLMCTF_Th1s_1s_th3_G1ft} [第五空间 2021]签到题 NSSCTF{welcometo5space} [SWPUCTF 2021 新生赛…

MySQL备份与日志练习

1、创建对mysql数据库test1的定时备份任务,频率是每周一的2点 create database test1;crond -e0 2 * * 1 mysqldump -u root -pAdmin123 --databases test1 > /opt/test1.sql2、test1中有t1、t2、t3三张表,要求只备份t2这张表 mysqldump -u root -pA…

JAVA 中 HTTP 基本认证(Basic Authentication)

目录 服务端这么做服务端告知客户端使用 Basic Authentication 方式进行认证服务端接收并处理客户端按照 Basic Authentication 方式发送的数据 客户端这么做如果客户端是浏览器如果客户端是 RestTemplat如果客户端是 HttpClient 其它参考 服务端这么做 服务端告知客户端使用 …

2.go环境配置与开发工具选择

go 环境配置 下载安装包 官网(https://go.dev/dl/) 下载地址(国内)(https://golang.google.cn/dl/) 根据自己的操作系统选择下载即可 下载后安装 记住地址 比如: D:\work\devtool\go 配置系统环境变量 PATH 指向 go 的安装 bin 目录 比如: D:\work…

如何将Docker容器打包并在其他服务器上运行

如何将Docker容器打包并在其他服务器上运行 我会幻想很多次我们的相遇,你穿着合身的T恤,一个素色的外套,搭配一条蓝色的牛仔裤,干净的像那天空中的云朵,而我,还是一个的傻傻的少年,我们相识而笑…

代码随想录-Day17

110. 平衡二叉树 这道题中的平衡二叉树的定义是:二叉树的每个节点的左右子树的高度差的绝对值不超过 111,则二叉树是平衡二叉树。根据定义,一棵二叉树是平衡二叉树,当且仅当其所有子树也都是平衡二叉树,因此可以使用递…

WPF水流动画(使用转换器模拟逻辑门控制水流信号)

前言 在使用WPF绘制流程图并模拟水流动画时,往往既需要控制阀泵的开合,又要控制动画启停。倘若能够将阀泵的开合与动画播放建立逻辑关系,这样就能够让业务代码“专心”地去控制阀泵开关,而不需要处理界面的展示。 动画示例 说明…

2024-5-4-从0到1手写配置中心Config之基于h2的config-server

添加依赖 新建的web工程中添加h2的依赖 添加h2的配置 设置数据源和密码设置初始化sql语句打开h2的控制台 初始化语句创建一个config表,保存服务配置信息。 完成CRUD接口 controller类 mapper接口 测试 在web控制台可以看到sql已经初始化完成,crud接口…

Postman进阶功能-Mock服务与监控

大家好,前面跟大家分享一些关于 Postman 的进阶功能,当我们深入探索 Postman 的进阶功能时,Mock 服务与监控这两个重要方面便跃然眼前。 首先,Mock 服务为我们提供了一种灵活便捷的方式,让我们在某些实际接口尚未准备好…

Transformer系列专题(二)——multi-headed多头注意力机制

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、什么是multi-headed(多头注意力机制)二、multi-headed三、multi-headed结果四、堆叠多层总结 前言 在实践中,当给定相同…

四川古力科技抖音小店,创新科技点亮购物新体验

在这个数字化浪潮汹涌的时代,四川古力科技以其前瞻性的战略眼光和创新能力,闪耀于抖音小店这片电商新蓝海,开启了未来购物的新纪元。作为一家集技术研发、产品创新、市场营销于一体的科技型企业,古力科技不仅为消费者带来了前所未…

Android Studio 与 Gradle 及插件版本兼容性

Android Studio 开始新项目时,会自动创建其中部分文件,并为其填充合理的默认值。 项目文件结构布局: 一、Android Gradle 及插件作用: Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件 (AGP) 添加…

游戏行业 2024 Q1报告 | 国内同比上升7.6%,海外收入同比环比双增长,码住!

作为中国音像与数字出版协会主管的中国游戏产业研究院的战略合作伙伴,伽马数据发布了《2024年1—3月中国游戏产业季度报告》。 数据显示, 2024年1—3月,中国游戏市场实际销售收入726.38亿元,同比增长7.60%,主要受移动游…

WXML模板语法-数据绑定

1.数据绑定的基本原则 (1)在data中定义数据 (2)在WXML中使用数据 2.在data页面中定义数据:在页面对应的.js文件中,把数据定义在data对象中即可 (这里打错了 应该是数组类型的数据... 报意思啊) 3.Mustache语法的格式 把data中的…

Element Plus/vue3 无限级导航实现

在使用element plus 时,最初要使用的就是导航组件了,官网上看到的也就是写死的一级/二级导航,那么如何设计一个无限级且动态的导航呢?毋庸置疑,递归。废话不多说,直接看代码和效果: 代码&#x…

单链表oj

练习 1. 删除val节点 oj链接 这道题最先想出来的方法肯定是在遍历链表的同时删除等于val的节点,我们用第二中思路:不等于val的节点尾插,让后返回新节点。代码如下: struct ListNode* removeElements(struct ListNode* head, int val) {str…

设置height:100%不生效的原因

之前网课案例总是不屑于去看,因为总觉得太花时间,但是不可否认的是,认真去看还是会有收获的,而且常有意外收获 昨天在看实现动画效果的综合案例中,意外解决了我长久以来的一个疑问:为什么给元素设置height…

MyBatis入门——MyBatis XML配置文件(3)

目录 一、配置连接字符串和MyBatis 二、写持久层代码 1、添加 mapper 接口 2、添加 USerInfoXmlMapper.xml 3、测试类代码 三、增删改查操作 1、增(Insert) 返回自增 id 2、删(Delete) 3、改(update&#xf…