UMLS-KGI-BERT: Data-Centric Knowledge Integration in Transformers
for Biomedical Entity Recognition
UMLS-KGI-BERT:用于生物医学实体识别的转换器中以数据为中心的知识集成
问题
在生物医学领域,如何将结构化领域知识有效地整合到神经语言模型中,以提高模型在生物医学自然语言处理任务(特别是命名实体识别任务)上的性能,是当前研究面临的主要问题。
挑战
- 缺乏通用且可广泛接受的将知识图谱信息注入语言模型的方法,难以在不同问题设置、模型和训练语料库间迁移。
- 现有研究多集中于英语语料库,其他语言(尤其是资源较少的语言)以及多语言模型中知识图谱集成技术的实用性和可迁移性有待探索。
创新点
- 提出一种以数据为中心的方法,在语言建模范式中制定基于知识图谱的学习目标(如三元组分类、实体 / 链接预测),并实现了使用 UMLS 知识库与掩码语言预训练并行训练 Transformer 的框架。
- 通过简单的交叉熵分类损失将 UMLS 信息融入 BERT 模型,同时平衡其与标准掩码语言预训练的过程,无需复杂架构调整即可提升模型性能。
贡献
- 提出了 UMLS-KGI 框架,为训练 BERT 模型提供了一种新的数据增强方式,提高了模型在生物医学实体识别任务上的性能。
- 发布了基于该框架训练的单语和多语模型权重(UMLS-KGI-BERT),以及用于创建自定义文本数据集和利用 UMLS 知识库训练 BERT 风格语言模型的 Python 库(bertify_umls),为临床自然语言处理研究社区提供了资源和工具。
提出的方法
- 数据集构建
- 从 UMLS 知识图谱的三元组()生成训练序列,考虑术语、CUIs 和语义组三个粒度级别。对于实体和,使用 “首选术语” 字符串表示,在同义词关系中随机选择其他相关术语。引入特殊标记表示关系类型。
- 【
在构建训练数据集时,从 UMLS 知识图谱中生成训练序列,通过对术语、CUIs(概念唯一标识符)和语义组这三个不同层次的信息进行处理,以丰富训练数据对生物医学知识的表达,从而使模型能够从多个角度学习生物医学领域的知识,具体理解如下:
术语层面:术语是对概念实体的字符串描述。在生成训练序列时,对于知识图谱三元组中的实体和,通常会使用与它们相关联的 “首选术语” 字符串来表示。这意味着模型在训练过程中,直接接触到的是具体的医学术语,这些术语是医学知识在文本层面的最直接体现,帮助模型学习医学术语的语义和用法,以及它们在不同语境中的含义。例如,对于疾病名称、药物名称等具体的术语,模型可以学习到它们在文本中的常见表达方式,以及与其他术语之间的关系。
CUIs 层面:CUIs 作为知识图谱中节点的基本意义表示单位,提供了一种标准化的、更抽象的概念表示方式。每个概念都有其对应的 CUI,即使同一个概念可能有多个不同的术语表示,但它们共享同一个 CUI。在生成训练序列时,以 CUIs 为基础来组织数据,使得模型能够在更抽象的层面上理解概念之间的关系,而不受具体术语表述差异的影响。这种方式有助于模型学习到概念的本质特征,以及不同概念在医学知识体系中的内在联系,例如,模型可以通过 CUIs 理解到不同疾病术语实际上指向的是同一个疾病概念,从而更好地整合和归纳相关知识。
语义组层面:语义组是对概念进行分类的一种方式,它将概念划分为不同的类别,如解剖结构、化学物质、疾病等。在构建训练序列时考虑语义组,能够使模型学习到不同类型概念之间的语义差异和联系,以及它们在医学领域中的特定角色和功能。例如,模型可以通过语义组信息了解到疾病概念与解剖结构概念在医学文本中的不同作用和关系模式,从而更好地把握医学知识的结构和逻辑,提高对生物医学文本的理解能力,尤其是在涉及多个不同类型概念相互关联的复杂语境中。
- 】
- 通过不同策略构建实体预测、链接预测和三元组分类任务的数据集,如实体预测通过掩码概念的标记融入掩码语言目标;链接预测通过掩码路径数据集中的关系标记,排除同义词关系;三元组分类将其制定为二元分类问题,使用两种负采样策略生成负例,并保持正负例平衡,同时对数据集进行分层采样以维持语义组比例。
- 【
在论文中,为了生成用于三元组分类任务的负例,采用了两种负采样策略,以提供对比性示例,帮助模型更好地区分真实和虚假的三元组关系,具体方法如下:
- 基于语义组差异的负采样(直接对比关系)
- 目的:为现有关系提供直接对比的示例,通过改变三元组中实体的语义组来生成负例,使模型能够学习到不同语义组实体之间不能形成有效关系的模式。
- 操作过程:从知识图谱中采样三元组,其中和属于不同的语义组。然后,构造相应的虚假三元组,要求和属于相同语义组,和属于相同语义组,但并不存在于原始知识图谱中。这样的负例可以让模型明确哪些实体组合在特定关系下是不合理的,因为它们来自不同的语义类别,不应该具有该关系。
- 基于关系类型改变的负采样(对比关系类型)
- 目的:为关系类型提供对比示例,通过改变三元组中的关系类型,同时保持实体的语义组不变,使模型能够区分不同关系类型的差异,学习到关系类型的语义特征。
- 操作过程:采样三元组,其中和属于相同的语义组。然后,通过改变关系类型来形成负训练示例,其中是与不同的关系类型。这种负例有助于模型理解在相同实体对之间,不同关系类型所代表的不同语义连接,从而更准确地对三元组关系进行分类。
-
平衡正负例
为确保训练数据的平衡,在最终用于训练的三元组分类数据集中,由 50% 的正例(即原始知识图谱中的真实三元组)、25% 由第一种负采样方法生成的负例和 25% 由第二种负采样方法生成的负例组成。这种平衡的数据集设计有助于模型在学习过程中,既不过度关注正例而忽略负例所提供的对比信息,也不会因为负例过多而导致模型难以收敛或学习到错误的模式,从而能够更有效地学习到三元组分类任务中的关系模式和语义规则。
】
- 【
- 为每个训练示例添加指示标签,使用混合目标函数训练 BERT 模型,其中为任务加权系数,各项损失对应掩码语言建模、实体预测、链接预测和三元组分类任务,均使用标准交叉熵分类损失。
- 实验设置
- 使用欧洲临床病例语料库(E3C)作为掩码语言预训练资源,在英语、法语和西班牙语上进行实验。对比不同类型模型,包括从头训练的单语和多语模型、预训练单语生物医学模型及其补充训练后的模型。
- 在九个临床实体识别任务上评估模型,采用单样本设置,使用特定超参数(如有效批量大小、学习率、权重衰减等)进行微调。
指标
- 评估指标:使用宏平均精度(Precision)、召回率(Recall)和 F1 分数(F1-score)来评估模型在各个命名实体识别任务上的性能。
模型结构
论文主要使用 BERT 编码器作为基础模型结构,通过在预训练过程中融入基于 UMLS 知识图谱的三个推理任务(实体预测、链接预测和三元组分类)来增强模型对生物医学知识的理解和表示能力。具体结构未详细提及,但强调了对标准 BERT 模型结构的调整较小,重点在于数据处理和训练目标函数的设计。
结论
- 提出的 UMLS-KGI 框架能够有效提高 BERT 模型在多种生物医学实体识别任务中的性能。
- 高质量的小规模数据集结合小规模临床文本语料库在预训练 BERT 模型时可达到与大规模语料库相当的效果,尤其对于资源较少的语言改进更为明显。
- 知识图谱集成预训练的模型在多数任务中表现最佳,KGI-BERT 变体在数据较少情况下仍具竞争力。
剩余挑战和未来工作
- 剩余挑战
- 论文评估任务范围较窄,主要局限于令牌分类任务,需扩展到更多信息提取和推理任务以全面评估预训练方法的效用。
- 仅在中高资源语言上训练模型,需在更多低资源场景下训练和评估,以验证方法对减少大规模训练语料库依赖的适用性。
- 未来工作
- 纳入更多样化的基于图的推理任务,进行更细粒度的关系类型表示,以进一步提升模型性能。
- 通过嵌入可视化和可解释性研究对 UMLS-KGI-BERT 语言表示进行内在评估,深入理解模型学习到的知识和决策过程。
数据集
- 训练数据集
- UMLS 知识图谱:使用 2022AB 版本,包含与人类生物学和医学相关的概念、唯一标识符(CUIs)和关系,经处理后用于生成实体预测、链接预测和三元组分类任务的训练数据。
- 欧洲临床病例语料库(E3C):作为掩码语言预训练的资源,为多语言临床叙事语料库,包含英语、法语和西班牙语数据,其文档数量因语言而异。
- 评估数据集
- 法语:包括 CAS(包含 CAS-POS 和 CAS-SG 任务)、ESSAIS(包含 ESSAI-POS 任务)、QUAERO-MEDLINE 等数据集,涵盖临床病例、医学文档,任务涉及医学词性标注、语义组标记分类、语义实体识别等。
- 西班牙语:PharmaCoNER 用于识别药理物质等,MEDDOCAN 用于临床文档匿名化相关的语义实体识别。
- 英语:NCBI-Disease 用于疾病提及的令牌分类,BioRED 用于生物医学实体识别(包含多种实体类型),JNLPBA04 包含多种生物医学实体标注,用于相关命名实体识别任务。每个评估数据集都有明确的训练、开发和测试集划分,以及不同数量的目标标签类别。
抽象
近年来,预训练的转换语言模型(LMs)已成为应用 NLP 的主要范式。这些模型在信息提取、问答、情感分析、文档分类等任务上取得了最先进的性能。在生物医学领域,在将这种范式适应需要整合特定领域知识以及语言统计建模的 NLP 任务方面取得了重大进展。特别是,该领域的研究集中在如何最好地构建 LM 的问题上,该问题不仅考虑了医学文本中令牌分布的模式,还考虑了 UMLS 等术语资源中包含的丰富的结构化信息。这项工作通过从 UMLS 中提取文本序列,为丰富生物医学转换器 - 编码器 LM 的语言表示提供了一个以数据为中心的范式。这允许基于图的学习目标与掩蔽语言预训练相结合。扩展预训练 LM 以及从头开始训练的实验的初步结果表明,该框架提高了多个生物医学和临床命名实体识别(NER)任务的下游性能。所有预训练模型、数据处理管道和评估脚本都将公开提供。
具体构建数据集的全部流程
- 从 UMLS 知识图谱生成初始数据
- 三元组处理:从 UMLS 知识图谱(2022AB 版本)中的三元组开始,其中和是实体,是它们之间的关系。对于实体和,首先使用 “首选术语” 字符串来表示它们。在遇到同义词关系时,会随机选择其他相关的术语来丰富表示。同时,会引入特殊标记来表示关系类型。
- 粒度考虑:在生成训练序列时,会从术语、CUIs(概念唯一标识符)和语义组三个粒度级别来考虑。在术语层面,通过上述对实体的术语表示,让模型接触具体的医学术语表述;在 CUIs 层面,利用其标准化的抽象概念表示,帮助模型理解概念本质;在语义组层面,通过语义组分类信息,使模型学习不同类型概念之间的联系和差异。
- 构建不同任务的数据集
- 实体预测(EP)数据集构建:通过掩码概念的标记将实体预测任务融入掩码语言目标(Masked Language Modeling,MLM)。具体操作是在序列中随机掩码实体的部分标记,然后让模型预测这些被掩码的标记,以此构建实体预测任务的训练数据。
- 链接预测(LP)数据集构建:在链接预测任务的数据集中,通过掩码路径数据集中的关系标记来构建数据,但是会排除同义词关系。这样做是为了让模型学习实体之间的非同义词关系路径,从而更好地理解实体之间的语义连接。
- 三元组分类(TC)数据集构建:将三元组分类任务制定为一个二元分类问题。采用两种负采样策略来生成负例,并且保持正负例的平衡。
- 基于语义组差异的负采样:从知识图谱中采样三元组,其中和属于不同的语义组。然后构造虚假三元组,要求和属于相同语义组,和属于相同语义组,但并不存在于原始知识图谱中。
- 基于关系类型改变的负采样:采样三元组,其中和属于相同的语义组。然后通过改变关系类型来形成负训练示例,其中是与不同的关系类型。
- 平衡正负例:在最终的三元组分类数据集中,由 50% 的正例(即原始知识图谱中的真实三元组)、25% 由第一种负采样方法生成的负例和 25% 由第二种负采样方法生成的负例组成。
- 分层采样:在构建数据集的过程中,还会对数据进行分层采样,以维持语义组的比例。这有助于确保不同语义组的信息在数据集中都能得到适当的体现,避免某些语义组的数据过多或过少,使模型能够均衡地学习到各个语义组相关的知识和关系。
- 添加指示标签并形成最终数据集
- 为每个训练示例添加指示标签,用于区分不同的任务类型(如实体预测、链接预测、三元组分类等)。
- 使用混合目标函数来训练 BERT 模型,其中为任务加权系数,各项损失对应掩码语言建模、实体预测、链接预测和三元组分类任务,均使用标准交叉熵分类损失。通过这种方式,将不同任务的数据集整合在一起,形成最终用于训练模型的数据集。
在论文的数据集构建过程中,并不是每个粒度都有专门独立的任务数据集,但是这三个粒度级别(术语、CUIs 和语义组)的信息在构建实体预测、链接预测和三元组分类这些任务数据集时都有所体现和利用。
- 实体预测数据集构建与粒度信息
- 在实体预测任务中,从 UMLS 知识图谱三元组生成训练序列。在表示实体和时,使用 “首选术语” 字符串(术语粒度),并且在遇到同义词关系时会随机选择其他相关术语。这种术语层面的表示直接用于构建实体被掩码后的序列,作为实体预测任务的训练数据。同时,CUIs 作为实体背后的标准化概念标识,虽然没有单独构建基于 CUIs 的实体预测数据集,但在模型学习实体的不同表示形式以及理解概念的本质过程中发挥作用。语义组信息也有助于模型从类别层面理解实体所属的范畴,从而更好地预测实体。
- 链接预测数据集构建与粒度信息
- 对于链接预测数据集,在掩码路径数据集中的关系标记(术语粒度)时排除同义词关系来构建数据。CUIs 可以在后台帮助模型理解实体之间的概念联系,因为即使术语表示不同,但相同 CUI 的实体在概念上是相同的,这种联系对于学习实体之间的非同义词关系路径很重要。语义组信息则可以帮助模型把握不同语义类别实体之间的链接倾向,例如不同语义组的实体可能具有不同的链接模式。
- 三元组分类数据集构建与粒度信息
- 在构建三元组分类数据集时,两种负采样策略都与语义组有关。基于语义组差异的负采样利用了语义组这一粒度信息,通过改变三元组中实体的语义组来生成负例。基于关系类型改变的负采样虽然主要关注关系类型(术语粒度中体现关系的部分),但实体的语义组不变,这也涉及语义组这一粒度。同时,分层采样维持语义组比例的操作也体现了语义组粒度在数据集中的重要性。CUIs 在这个过程中也有助于模型从概念层面判断三元组关系的合理性,术语层面的关系表示则直接用于构造和区分不同的三元组示例。
综上所述,这三个粒度级别是贯穿于各个任务数据集构建过程中的,相互配合来丰富数据的表示,帮助模型从不同角度学习知识图谱中的信息,而不是每个粒度都有完全独立的任务数据集。