【医学嵌入模型】中文医疗文本处理大模型 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.rhkb.cn/news/293561.html

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

相关文章

【题解】—— LeetCode一周小结13

【题解】—— 每日一道题目栏 上接:【题解】—— LeetCode一周小结12 25.零钱兑换 II 题目链接:518. 零钱兑换 II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合…

SpringMVC设置全局异常处理器

文章目录 背景分析使用ControllerAdvice(RestControllerAdvice)ExceptionHandler实现全局异常全局异常处理-多个处理器匹配顺序存在一个类中存在不同的类中 对于过滤器和拦截器中的异常,有两种思路可以考虑 背景 在项目中我们有需求做一个全…

什么是HTTP? HTTP 和 HTTPS 的区别?

文章目录 一、HTTP二、HTTPS三、区别参考文献 一、HTTP HTTP (HyperText Transfer Protocol),即超文本运输协议,是实现网络通信的一种规范 在计算机和网络世界有,存在不同的协议,如广播协议、寻址协议、路由协议等等… 而HTTP是…

【Blockchain】GameFi | NFT

Blockchain GameFiGameFi顶级项目TheSandbox:Decentraland:Axie Infinity: NFTNFT是如何工作的同质化和非同质化区块链协议NFT铸币 GameFi GameFi是游戏和金融的组合,它涉及区块链游戏,对玩家提供经济激励&#xff0c…

Linux——进程管理

目录 作业和进程的概念 程序与进程的关系 查看进程信息——ps,top ps命令 top命令 设置进程的优先级——nice,renice nice命令 renice命令 查看进程信息——pgrep,pstree pgrep命令 pstree命令 切换进程——jobs,bg&a…

mybatis 一对多的连接查询

4.1 嵌套查询 vs 连接查询sql不同:连接查询:涉及多表连接, 当出现重复列时 需要对重复的列进行 列的重命名嵌套查询: 就是单表查询参与的mapper文件不同:连接查询: 在一个mapper文件中 配置即可嵌套查询: 需要 在 association或collection 中 通过 select 调用 另外的mapper…

蓝桥杯算法题-正则问题

问题描述 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式。 小明想求出这个正则表达式能接受的最长字符串的长度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是 6。 输入格式 一个由 x()| 组成的正则表达式。…

MySQL事务与锁

什么是事务 事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 事务的4大特性: 原子性(Atomicity)一致性(Consistent)隔离性(lso…

Python 用pygame简简单单实现一个打砖块

# -*- coding: utf-8 -*- # # # Copyright (C) 2024 , Inc. All Rights Reserved # # # Time : 2024/3/30 14:34 # Author : 赫凯 # Email : hekaiiii163.com # File : ballgame.py # Software: PyCharm import math import randomimport pygame import sys#…

Linux 个人笔记之三剑客 grep sed awk

文章目录 零、预一、grep 文本过滤工具基础篇实战篇 二、sed 字符流编辑器基础篇实战篇 三、awk 文本处理工具基础篇实战篇 四、附xargsuniq & sort基础篇实战篇 cut 零、预 bash 的命令行展开 {} $ echo file_{1..4} file_1 file_2 file_3 file_4$ echo file_{a..d} file_…

【项目技术介绍篇】若依管理系统功能介绍

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

如何去为快消品做商业模式——循环购模式给你答案!

大家好,我是吴军,来自一家专注于软件开发与商业模式创新的公司。 我们公司的主要业务是开发商城系统,以及为客户量身打造独特的商业模式。至今,我们已经成功创造了超过两百种各具特色的商业模式。 今天,我想为大家介绍…

v3-admin-vite 改造自动路由,view页面自解释Meta

需求 v3-admin-vite是一款不错的后端管理模板,主要是pany一直都在维护,最近将后台管理也进行了升级,顺便完成一直没时间解决的小痛痒: 在不使用后端动态管理的情况下。我不希望单独维护一份路由定义,我希望页面是自解…

Git命令上传本地项目至github

记录如何创建个人仓库并上传已有代码至github in MacOS环境 0. 首先下载git 方法很多 这里就不介绍了 1. Github Create a new repository 先在github上创建一个空仓库,用于一会儿链接项目文件,按照自己的需求设置name和是否private 2.push an exis…

【LeetCode】LeetCode 547. 省份数量(Java版 什么是并查集)

📝个人主页:哈__ 期待您的关注 一、题目描述 有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。 省份 是一组直…

Python爬虫-懂车帝城市销量榜单

前言 本文是该专栏的第23篇,后面会持续分享python爬虫干货知识,记得关注。 最近粉丝留言咨询某汽车平台的汽车销量榜单数据,本文笔者以懂车帝平台为例,采集对应的城市汽车销量榜单数据。 具体的详细思路以及代码实现逻辑,跟着笔者直接往下看正文详细内容。(附带完整代码…

【NLP笔记】大模型prompt推理(提问)技巧

文章目录 prompt概述推理(提问)技巧基础prompt构造技巧进阶优化技巧prompt自动优化 参考链接: Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing预训练、提示和预测:NL…

如何使用Windows电脑部署Lychee私有图床网站并实现无公网IP远程管理本地图片

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-MSVdVLkQMnY9Y2HW {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

HarmonyOS ArkTS 骨架屏加载显示(二十五)

目录 前言1、骨架屏代码显示2、代码中引用3、效果图展示 前言 所谓骨架屏,就是在页面进行耗时加载时,先展示的等待 UI, 以告知用户程序目前正在运行,稍等即可。 等待的UI大部分是 loading 转圈的弹窗,有的是自己风格的小动画。其实…

《QDebug 2024年3月》

一、Qt Widgets 问题交流 1. 二、Qt Quick 问题交流 1.Qt5 ApplicationWindow 不能使用父组件 Window 的 transientParent 属性 ApplicationWindow 使用 transientParent 报错: "ApplicationWindow.transientParent" is not available due to compone…