【医学嵌入模型】中文医疗文本处理大模型 PCL-MedBERT

中文医疗文本处理大模型 PCL-MedBERT

    • 提出背景
      • 对ELECTRA限制的深入分析
      • eHealth的创新方法
      • 实体识别
      • 关系抽取
    • 总结

 


最近再做医学项目,需要从文本中抽取医学概念和关系,通用模型的抽取效果还可以。

但还想找医学嵌入模型,能够更准确地从文本中识别出医学实体(如病症、药物、治疗方法等)并理解实体间的关系(如疾病与症状之间的关系)。

提出背景

论文:https://arxiv.org/pdf/2110.07244v1.pdf

代码:https://github.com/trueto/medbert

本文介绍了eHealth,一个新的中文生物医学预训练语言模型,旨在解决中文生物医学领域缺乏高质量、公开可用的预训练模型的问题。

通过采用一个创新的自监督学习框架,该模型实现了在令牌级别和序列级别对生物医学文本的深入理解。

该框架包括一个用于生成损坏输入的生成器和一个通过多层次文本鉴别进行训练的鉴别器,使得eHealth能够在不依赖外部知识的情况下,仅通过文本本身学习语言语义。

这个框架有两个主要部分:一个生成器和一个鉴别器。

生成器的工作就像是在一个完整的句子中故意搞乱一些词语,而鉴别器的任务就是找出这些被搞乱的词语,并尝试修正它们。

  • 生成器:它创建测试题目,通过对原始文本中的词语或句子进行随机修改,生成“损坏”的输入。这就像是给文本加上谜题,让模型去解决。
  • 鉴别器:它尝试解决这个谜题,通过识别出哪些部分是被搞乱的,并且尽可能找出正确的原始形式。在这个过程中,鉴别器通过两个层面进行学习:一是找出单个词语(令牌级别)哪里不对劲,二是整个句子(序列级别)的结构是否有问题。

通过这种方式,eHealth模型可以更深入地理解文本的含义,因为它不仅学会了识别单个词语的正确与否,还学会了理解整个句子或文本段落的大致意图和结构,而且它不需要任何额外的信息或知识库,完全依赖于它所分析的文本本身来学习。

这种方法让eHealth能够有效地理解并处理生物医学领域的中文文本。

 
在11项中文生物医学语言理解任务上的测试结果显示,eHealth一致性地超越了同等规模的现有模型,包括那些专门针对生物医学领域或通用领域的模型。

在6.5亿字符中文临床自然语言文本语料上基于BERT模型,预训练获得了MedBERT模型。

本工作的主要贡献在于提出了一种新的预训练算法,并验证了其在生物医学领域内的有效性,同时展示了该算法的通用性,为将来将此类方法扩展到其他领域提供了可能。

 

近年来,预训练语言模型(PLMs)已在自然语言处理(NLP)领域取得显著成功。这些模型,如BERT和其变种,通过在大规模的未标注文本上进行自监督学习来训练,学会了理解和生成语言。

这些文本主要来自一般领域,比如Wikipedia、新闻稿和网页内容。通过这种方法,PLMs能够捕获广泛的语言特征和模式,为各种NLP任务提供强大的基础。

尽管PLMs在一般领域取得了巨大成功,但在生物医学等专业领域内,直接应用这些一般领域的PLMs并不总是有效的。

这是因为专业领域具有独特的词汇、术语和语言结构,这些在一般领域的文本中很少或根本没有出现。

因此,为了在这些专业领域内达到最佳性能,研究人员开始构建专门的PLMs。然而,面临着两个主要挑战:

  • 效率低下: 传统的掩码语言模型(MLM)方法在训练时只能从每次输入中的15%被掩码的令牌中学习,导致高计算成本。

  • 缺乏专业领域的PLMs:尤其是中文生物医学领域,缺乏高质量、公开可用的PLMs,部分现有模型需要依赖额外、通常不公开的专业知识,限制了其应用范围。

为了解决上述挑战,研究人员提出了新的方法和技术:

  • ELECTRA:通过一个新颖的预训练框架,ELECTRA引入了替换令牌检测(RTD)任务,其中一些令牌被随机替换,模型必须预测每个令牌是否被替换。这使得模型能够从所有输入令牌中学习,而不仅仅是被掩码的部分,显著提高了训练效率。
  • 多令牌选择(MTS)和序列级信号:为了让模型捕获更丰富的语言信息和更好地理解语言结构,研究人员提出使用MTS和结合序列级信号的方法。MTS是RTD的泛化,要求模型从可能的候选中选择原始令牌,而序列级信号(如下一句预测等)则帮助模型理解文本之间更复杂的关系。

在ELECTRA框架中,生成器和鉴别器通过一种对抗的方式合作:生成器尝试“欺骗”鉴别器,而鉴别器则努力识别生成器的“欺骗”。

这种机制促进了模型在令牌级别上的学习,而多令牌选择(MTS)和序列级信号的引入,则进一步扩展了模型的学习范围,包括对复杂选择的处理和对整个文本结构的理解。

  • 多令牌选择(MTS):这是一种训练任务,要求模型从一系列可能的候选令牌中选择最合适的令牌来恢复原始文本。

    在ELECTRA框架中,这种方法可以被视为对鉴别器任务的扩展或改进,提供了更复杂的决策过程,因为模型不仅要识别哪些令牌被替换,还要从多个候选中选择正确的令牌。

  • 序列级信号:这类信号涉及到对整个句子或文本段落的理解,而不仅是单个令牌。通过训练模型识别句子之间的逻辑关系、预测句子顺序或进行句子级别的对比学习,可以增强模型对文本整体结构的理解。

    在ELECTRA框架中,虽然主要关注的是令牌级别的判断(由鉴别器完成),但通过引入序列级信号,可以进一步提高模型对语言结构的理解,尤其是在理解长文本或复杂文本结构时。

 
eHealth模型的开发是基于对ELECTRA存在限制的深入分析,并通过创新的方法来克服这些限制,以更好地服务于中文生物医学文本的处理。

对ELECTRA限制的深入分析

  • 令牌级别的二元分类限制: ELECTRA模型通过生成器产生的损坏输入来训练鉴别器,仅在令牌级别进行二元分类(即,判断令牌是否被正确地替换)。

    这种方法虽然有效,但主要局限于识别单个令牌的正确性,可能不足以捕捉到更复杂的语言模式,特别是在专业领域中,文本的含义往往需要更深层次的语义理解。

  • 缺乏序列级别的学习: ELECTRA主要关注单个令牌的处理,而不涉及更广泛的文本结构或序列间的关系。

    这限制了模型对于长篇文本或具有复杂结构和关系的文本的理解能力,而这在生物医学文本中尤为重要。

 


eHealth的创新方法

  • **丰富的令牌级别鉴别:**为了克服仅有的二元分类的限制,eHealth在令牌级别引入了更为丰富的鉴别任务。

    不仅判断令牌是否被替换,而且还要恢复被替换令牌的原始身份。这种方法能够提供更多的语言信息给模型,帮助模型更细致地理解语言细节和文本的语义层面。

  • 序列级别鉴别的引入: eHealth通过引入序列级别的鉴别任务来加强模型对文本整体结构的理解。

    这种方式使得模型不仅能理解单个词语,还能把握整个句子或段落中词语之间的关系,以及它们如何共同表达特定的意义或概念。

 


实体识别

在这里插入图片描述

图展示的是用于中文医学实体识别(CMEE)任务的序列标注示例。在该任务中,目标是从医学文本中识别并标注特定的实体,如症状、疾病等。

深色阴影的条目代表实际标签为1(表示该令牌是一个实体的一部分),而浅色阴影的条目代表实体标签为0(表示该令牌不是实体的一部分)。

序列标注模型通常使用BIO标注体系,其中"B"代表实体的开始,"I"代表实体内部的令牌,"O"代表非实体令牌。

如图所示,可能还会有其他前缀,比如"S"和"E",分别代表单独的实体和实体的结束。

这些标签与预训练的Transformer编码器的输出相连接,编码器输出每个令牌的上下文表示,然后通过分类器来预测每个令牌的最终标签。
 


关系抽取

在这里插入图片描述
图展示的是一个多头选择层,用于中文医学实体和关系提取(CMIE)的联合任务。

在这个任务中,模型不仅要识别文本中的实体,还要识别实体之间的关系。

深色阴影的条目表示真实标签为1(表示选择的头部和关系是正确的),而浅色阴影的条目表示真实标签为0(表示选择不正确或无关)。

实体指针和关系提取的头部基于预训练的Transformer编码器的输出。

这个多头选择层可能是用来同时捕获实体之间的多种关系。

每个关系类型都有一个头部(比如R0、R22、R30),模型会预测文本中的实体对是否属于该关系类型。
 


总结

  1. 提出背景与动机

    • 预训练语言模型(PLMs)在自然语言处理(NLP)领域取得了显著的成功,特别是BERT及其变体通过在大规模未标注文本上的自监督学习,显著推动了NLP的发展。
    • 尽管在通用领域PLMs取得了巨大成功,但直接将这些模型应用于生物医学等专业领域的效果并不总是理想的,因为专业领域具有独特的词汇、术语和语言结构,需要专门的预训练模型来处理。
  2. ELECTRA模型的限制

    • ELECTRA模型采用令牌级别的二元分类任务进行预训练,虽有效,但可能不足以捕捉更复杂的语言模式。
    • ELECTRA缺乏在序列级别进行学习的能力,限制了模型对复杂文本结构的理解。
  3. eHealth模型的创新

    • eHealth模型采用了ELECTRA的生成器-鉴别器框架,并通过引入丰富的令牌级别鉴别和序列级别鉴别的创新方法,旨在克服ELECTRA在生物医学文本处理上的限制。
    • eHealth能够在不依赖外部知识的情况下,仅通过文本本身学习语言语义,有效地理解并处理生物医学领域的中文文本。
  4. eHealth模型的实验验证

    • 在11项中文生物医学语言理解任务上的测试结果显示,eHealth一致性地超越了同等规模的现有模型,证明了其有效性和优越性。

eHealth模型的开发基于对ELECTRA存在限制的深入分析,并通过创新的方法来提升中文生物医学文本的处理能力,展现了预训练算法在生物医学领域内的有效性和通用性。

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

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

相关文章

Django 仿博客园练习

数据库搭建 部分功能介绍 【一】注册 (1)效果显示、简单简介 主要亮点 结合了layui和forms组件默认头像可以随着性别的选择发生改变自定义头像可以实时更新显示forms组件报错信息可以局部刷新显示在对应框体下面 没有直接使用layui的前端验证后端验证…

隐私计算:保护数据隐私的利器

PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 随着信息时代的发展,个人数据的收集和处理已经成为了许多行业和领域的核心活动之一。然而,随之而来的数据…

STM32的API接口的BIN文件的生成以及调用

有时候我们需要将一些 S T M 32 STM32 STM32单片机上面的 A P I API API接口生成 B I N BIN BIN文件的形式给别人进行调用,下面介绍的方法可以使得生成的 B I N BIN BIN文件尽可能的小且方便调用。这里假设我们生成 A P I API API接口 B I N BIN BIN文件的工程布局如…

Python爬虫详解:原理、常用库与实战案例

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言引言:一、爬虫原理1. HTTP请求与响应过程2. 常用爬虫技术 二、P…

每日一题(相交链表 )

欢迎大家来我们主页进行指导 LaNzikinh-CSDN博客 160. 相交链表 - 力扣(LeetCode) 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节…

华为ensp中ospf多区域管理 原理及配置命令(详解)

作者主页:点击! ENSP专栏:点击! ————前言———— OSPF 多区域的主要作用是缩小链路状态数据库和路由表的规模,减少路由更新的频率,提高网络的可扩展性,实现路由过滤和路由汇总&#xff0…

面向对象:继承

文章目录 一、什么叫继承?二、单继承三、多继承3.1多继承的各种情况3.1.1一般情况3.1.1特殊情况(菱形继承) 四、菱形继承引发的问题4.1 问题1:数据冗余4.2 问题2:二义性(无法确定到底是访问哪个) 五、虚拟继承解决菱形…

刷题之动态规划-路径问题

前言 大家好,我是jiantaoyab,开始刷动态规划的题目了,要特别注意初始化的时候给什么值。 动态规划5个步骤 状态表示 :dp数组中每一个下标对应值的含义是什么->dp[i]表示什么状态转移方程: dp[i] 等于什么1 和 2 是…

【A-013】基于SSH的共享单车管理系统/共享单车出租系统

【A-013】基于SSH的共享单车管理系统/共享单车出租系统 开发环境: Eclipse/MyEclipse、Tomcat8、Jdk1.8 数据库: MySQL 适用于: 课程设计,毕业设计,学习等等 系统介绍: 基于SSH开发的共享单车管理系统/…

开源代码分享(16)—考虑产销者的分布式储能容量配置策略(附matlab代码)

1背景介绍 随着“双碳”政策的推动与光伏技术的发展,以产销者社区为主的新型光伏消纳主体得到迅速发 展[1-2]。光伏产销者社区不仅可以降低用户的用能成本,还可以促进光伏的就地消纳[3-4]。目前,光伏产销者社区内部投资主体单一,…

springCloudAlibaba集成gateWay实战(详解)

一、初识网关? 1、网关介绍 ​ 在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的话…

《深入Linux内核架构》第3章 内存管理(5)

目录 3.5 物理内存的管理 3.5.1 伙伴系统的结构 3.5.2 避免碎片 3.5.3 初始化内存域和节点 3.5.4 分配器API 3.5.5 分配页 3.5.6 释放页 本节讲解伙伴系统。 3.5 物理内存的管理 系统初始化完毕后,bootmem分配器停用,伙伴系统运行并负责内存分配…