Advertisement

论文阅读:SMedBERT: A Knowledge-Enhanced Pre-trained Language Model with Structured Semantics for Medical

阅读量:

Reading Research Papers: SMedBERT: A Knowledge-Aware Pre-trained Language Model for Text Mining in the Domain of Medical Text Mining

来源:ACL 2021

下载地址:https://arxiv.org/pdf/2108.08983.pdf

Abstract

最近研究者们在提升预训练语言模型的语言理解能力方面取得了进展。在医学领域中丰富的背景知识资源对模型性能提升至关重要。本研究引入了SMedBERT系统,在大规模医学语料库上对其进行训练。该系统整合了基于链接实体邻居的深层语义知识。为了处理异构实体信息,在SMedBERT中提出了一种称为‘mention-neighbour’的混合注意力机制。这种方法将实体类型的语义表示注入到同质相邻实体结构中。除了将知识集成作为外部特征外,在知识图中我们建议使用链接实体的邻居作为文本提及的额外全局上下文信息,并允许它们通过共享邻居进行通信以丰富语义表示。实验结果表明,在涉及大量知识密集型任务方面SMedBERT显著优于现有的基准系统,并且在问答、问题匹配和自然语言推理等其他任务上也表现出色。

Introduction

预训练语言模型 (PLM) 在执行自我监督任务时显著地学习了上下文表示。此外,一些研究人员通过将这些 PLMs 结合高质量的人工策划知识事实来进一步促进难以从原始文本中提取的知识理解。大多数知识增强型预训练语言模型(KEPLM)会整合知识图 (KG) 中提及跨度对应的实体信息至上下文表示中。然而,这些 KEPLMs 主要依赖于 KGs 中链接实体作为辅助信息,并未充分重视与文本提及相关联的邻近结构性语义信息。

从医学领域来看,在复杂的临床应用场景中存在大量专业术语之间的关联关系和医学事实等信息资源。传统的建模方法难以满足这类复杂场景下的需求。为此我们提出了一种新的解决方案:通过分析链接实体及其周围的语义信息包括实体类型和关系等维度来构建更加丰富的知识表示体系。(如图1所示"新型冠状病毒"这一概念可能对应多种疾病如肺炎呼吸综合征等不同的病因类别)此外我们还结合了外部研究(Mikolov等人2013aPennington等人2014)中的语义增强方法并结合这些研究提出了一种新的基于多维上下文的知识融合方法由此可见这种基于邻近实体的知识融合方式能够有效提升罕见医学术语的学习效果

在这里插入图片描述

图 1:医学文本中相邻实体信息的示例。

在本文中, 我们主要介绍了 SMedBERT 这一模型. 它是基于大规模医学语料库和医学知识图谱(KG)进行预训练的 KEPLM 模型. 经过研究发现, 在医学领域首次将结构化语义知识注入语言模型的是 SMedBERT 项目. 具体而言, SMedBER T的主要贡献体现在两个核心模块上:

Mention-neighbor Hybrid Attention

通过整合节点嵌入与邻近实体类型信息至目标提及表示中, 两类注意力机制分别用于学习实体类型及其邻近关系的重要程度, 异构学习过程通过类型级注意力将同质化处理转换为异构化处理

Mention-neighbor Context Modeling

我们开发了两个新的自我监督学习-based任务以增强 mention span与相应全局context information之间的互动机制即通过掩蔽邻居建模与掩蔽提及建模两种方式来实现这一目标前者基于训练好的"目标词"提及跨度能够有效丰富"上下文"相邻实体在表示空间中的信息而后者则专注于从相邻实体中收集并整合到mask后的提及信息以实现更为精准的信息提取

Related Work

KEPLMs主要分为三种类型。(1) 实体嵌入知识增强方面,ERNIE-THU (Zhang et al., 2019) 和 KnowBERT (Peters et al., 2019) 引入了实体关联以形成异构知识特征。(2) 实体描述知识增强方面,E-BERT (Zhang et al., 2020a) 和 KEPLER (Wang et al., 2019b) 整合了额外的实体描述信息以提升语义表示能力。(3) 在TripletSentence的知识增强方面,KBERT (Liu et al., 2020b) 和 CoLAKE (Sun et al., 2020)[将三元组转化为句子表达并将其融入训练数据集进行处理]。

PLMs in the Medical Domain

医学领域的预训练语言模型(PLM)通常可归纳为三大类。(1) BioBERT (Lee et al., 2020)、BlueBERT (Peng et al., 2019)、SCIBERT (Beltagy et al., 2019) 和 ClinicalBert (Huang et al., 2019) 均通过持续学习机制对医学领域文本进行深入训练,在这些模型中可观察到它们对PubMed摘要、PMC全文文章以及MIMIC-III临床笔记等资源的充分利用。(2) PubMedBERT (Gu et al., 2020) 则采用了一种全新的训练方法,在完全依赖PubMed数据的前提下从头开始学习权重参数,并以此来解决传统模型在处理医学领域文本时可能出现的词汇表外(OOV)问题。这种创新的训练范式不仅依赖于大量领域的数据资源支持还特别注重模型适应能力的提升。(3) 此外还有一些其他的PLM采用了基于领域自监督的任务来进行预训练工作。例如MC-BERT (Zhang et al., 2020b) 将中国医学实体及短语进行了有意识的覆盖处理以促进模型对复杂结构和概念的理解能力,并在此基础上提出了DiseaseBERT (He et al., 2020),该模型则利用医学术语及其所属类别作为标签来进行精细的预训练工作。

在本文中

The SMedBERT Model

Notion and Model Overview

在 PLM 中,我们将每个令牌 \{w_1,...,w_N\} 的隐藏特征表示 \{h_1,...,h_N\} 代表 M,在这里 N 是指输入序列的最大长度以及预训练样本总数。其中 E 是训练语料库中提及跨度 e_m 的集合。此外,在医学知识图谱中,则是由实体集 \varepsilon 和关系集 R 组成的系统结构。其中三元组 S=\{(h,r,t)|h\in \varepsilon,r\in R,t\in \varepsilon\} 表示 h 与 r 关联 t 的关系成立。通过 KG 获取从 e_m 召回的相邻实体集表示为 N_{e_m}=\{e^1_m,e^2_m,...,e^K_m\} ,其中 K 是 PEPR 算法设定的关键参数值。进一步地,在 KG 中我们定义了实体数量 Z ,而 PLM 模型中的隐藏向量维度与 KG 嵌入维度分别对应于 d_1d_2

我们的模型架构主要由图 2展示。SMedBERT主要包含三个关键组件:通过Top-K排序机制确定每次使用的K个邻居实体;Mention-neighbor混合注意力不仅旨在将结构化语义知识注入编码器层,并且还包含类型注意力、节点注意力以及门控位置注入模块;Mention-neighbor上下文建模通过掩蔽邻居建模与掩蔽mention建模两部分实现对提及实体及其关联实体的综合表示学习。

在这里插入图片描述

请看图2:SMedBERT 的模型架构概览。 图表左侧展示了我们的模型架构设计,右侧呈现了我们模型的具体细节描述。 包括混合注意力网络和mention-neighbor上下文建模预训练任务。

Top-K Entity Sorting

先前的研究表明,在PLM训练过程中采用简单的相邻实体扩展方法可能会导致知识噪声问题。为了从知识图谱中每个提及召回最相关的邻接实体集合,在扩展过程中我们引入了一种改进型的Personalized PageRank(PPR)算法以过滤掉非相关实体。该算法通过迭代计算得到各实体的得分向量V_i=(1-\alpha)A·V_{i-1}+\alpha P(其中A是一个归一化的邻接矩阵),其中α为阻尼因子,P为均匀分布的跳跃概率向量,V则代表各实体的迭代得分值向量。值得注意的是,PEPR算法特别关注于每次迭代过程中对目标提及跨度赋予更高的权重值,具体而言,它在P中赋予跨度e_m更高的跳跃概率值1,其余跨度则被赋予\frac{1}{Z}的概率值,其中Z为归一化常数项。此外,该方法还利用节点频率信息对初始得分向量进行赋值以提高算法性能

在这里插入图片描述

其中T代表所有实体在语料库中的总频率次数。对于每个实体e_m来说,在给定语料库中其出现次数被定义为t_{e_m}。为了进一步分析数据特征,在对各项指标进行排序后选取前K个具有最高出现频率的实体集合N_{e_m}

Mention-neighbor Hybrid Attention

除了相邻实体的嵌入之外, SMedBERT 进一步融合了医学实体的信息类型, 并通过这些信息来提升对提取得出的 mention-span 语义的理解能力.

Neighboring Entity Type Attention

不同类型的相邻实体会产生各自独特的效果。 对于任意给定的 mention-span em,在分析其邻近关系时需考虑各实体间的相互作用机制。 具体而言,在每个提及片段中通过关注周围 entities 的特性来构建语义表征体系。 我们通过分析 adjacent entities 类型间的关系来确定注意力权重分布模式。
具体而言,在构建模型时我们引入了一种新的 attention 机制用于捕捉各 entity 类别间的关联性特征。
其中 E^\tau _m 表示与 entity m 相邻且具有相同类别 \tau 的所有 entities;而对于每个 entity m 来说 \Gamma _{ent}(m)\in \mathbb{R}^{d_2} 则代表其对应的向量表征。

其中 f_{sp} 是自注意力池 (Lin et al., 2017),用于生成 mention-span 表示 h_{e_m}\in \mathbb{R}^{d_1}(h_i,h_{i+1},...,h_j) 是 token (w_i,w_{i+1},...,w_j)在 PLM 训练的 mention-span e_m中的隐藏表示 。h^{'}_{e_m} \in \mathbb{R}^{d_2} 由 σ(·) 非线性激活函数 GELU (Hendrycks and Gimpel, 2016) 和可学习的投影矩阵 W_{be}\in\mathbb{R}^{{d_1}\times{d_2}} 获得。LN 是 LayerNorm 函数 (Ba et al., 2016)。然后,我们使用类型表示 h_\tau\in\mathbb{R}^{d_2} 和转换后的 mention-span 表示 h^{'}_{e_m} 计算每种类型的注意力权重:

在这里插入图片描述

其中涉及的两个矩阵 W_tW_{t^{'}} 都属于实数域空间 \mathbb{R}^{d_1 \times d_2}。 最后通过归一化所有实体类型 \tau 中的注意力分数 \alpha^{'}_\tau ,我们获得了相邻实体类型的注意力权重 \alpha_\tau

Neighboring Entity Node Attention

我们开发了一种相邻实体节点注意力机制用于识别相邻实体对目标mention span的不同层次语义信息,并以降低噪声数据为目标。通过将 mention span 表示为 h^{'}_{e_m} 和具有类型 τ 的邻近实体表示 h_{e^i_m} 来计算每个实体节点的注意力权重。

在这里插入图片描述

其中 W_qW_k 是注意力权重矩阵。

N_{e_m} 中所有相邻实体的表示聚合为 {\bar{h^{'}}}_{em}\in\mathbb{R}^{d_2}

在这里插入图片描述

我们采用 W 作为权重矩阵;其中偏置向量 b_vb_{l1} 分别用于...;来自混合注意力模块的 mention-neighbor 表示 {\bar{h^{'}}_{em}} 被计算得到。

Gated Position Infusion

采用的知识注入形式可能会影响文本对原始含义的表达。 为了更好地控制知识传播的影响范围,在此基础上我们引入了一种基于门控位置注入的新策略来实现这一目标:该策略能够有效地降低潜在的知识噪声对系统性能的影响。

在这里插入图片描述

其中 W 为权重矩阵。\hat{h}{e{mf}} 被视为跨越级别上的注入向量。通过符号' || '表示参数拼接。\tilde{h}{e{mf}} 被定义为与提及相关联的知识嵌入。我们通过以下公式计算得到输出令牌表示h_o

在这里插入图片描述

其中,W表示权重矩阵,b表示偏置,“*”表示逐元素乘法。

Mention-neighbor Context Modeling

为了深入挖掘 KG 中的结构化语义知识, 我们系统阐述了两个新颖的自监督预训练任务, 即 Masked Neighbor Modeling (MNeM) 和 Masked Mention Modeling (MMeM).

Masked Neighbor Modeling

形式上,设 r 为 mention-span e_m 与相邻实体 e^i_m 之间的关系:

在这里插入图片描述

其中 h_{mf} 是基于 token 隐含表示 (h_{if}, h_{(i+1)f}, ..., h_{jf}) 的 mention-span 隐含特征。则 h_r = \Gamma_{rel}(r) 表示为关系 r 的隐式表示。而 W_{sa} 则是一个可学习的投影矩阵。因此 MNeM 目标在于利用周围实体中的结构性语义同时保持实体间关系的知识。考虑采用带负采样的 Skip-gram 模型 (Mikolov 等人, 2013a) 对目标函数进行优化以及采用 TransR 模型计算得分

在这里插入图片描述

其中,在 LS 中,变量 w 被视为上下文 c 的核心元素。 函数 f_s 用于评估目标词与上下文之间匹配程度的能力。 在语料库里,我们把 mention-span 看作"核心词汇" ,而将 KG 中实体的关联项视为"相关情境" 。为了提供额外的整体背景信息 ,我们采用了 Sampled-Softmax 方法(参考 Jean 等人 ,2015)作为 mention-span 对应的标准评估指标:

在这里插入图片描述

其中符号 θ 代表三元组 (e_{m}, r, e_{m}^{i})。符号 \theta' 被定义为负三元组 (e_{m}, r, e_{n});实体 e_{n} 则通过附录 B 中所述方法从 Q(e_{m}^{i}) 中采样得到作为负实例。为了维持实体间关系的知识基础,则将兼容性函数定义为:

在这里插入图片描述

其中 µ 是比例因子。 假设 h_{mf}M_r+h_rh_{e^i_m}M_r 的范数都是 1,我们有:

在这里插入图片描述

可以看出 f_s 等于 f_{tr}。 其中对于每一个h_{e_n}M_r的计算都需要对所有h_{e_n}M_r进行评估操作,在这种情况下评估函数f_s的计算开销较大。 因此,在公式推导中将 f_s 的一部分进行重新表述:

在这里插入图片描述

采用该方法后,我们避免了对每个h_{e_n}进行转换计算。 最后,在抵消Jean et al., 2015所提出的负采样函数Q(e^i_m)的影响下,我们将f_s(e_m,r,e^i_m)补充为:

在这里插入图片描述

Masked Mention Modeling

与 MNeM 相比,MMeM 将相邻实体中的语义信息传递回掩码 mention e_m

在这里插入图片描述

其中 y_m 代表 e_m 的真实标注,在我们的医学语料库中,\Gamma_p 代表了 BERT 的预训练嵌入。我们的模型输出的mention-span 表示为 h_{mf}。针对样本 s,MMeM 模型的损失函数 L_{MMeM} 通过均方误差进行计算:

在这里插入图片描述

其中 M_s是样本 s 的 mention 集合。

Training Objective

在 SMedBERT 模型中,训练目标主要包括三部分:一是包含来自前期研究中提出的一种自监督损失;二是我们团队提出的基于提名人邻居关系进行上下文建模的损失项。只要能够获得高质量的医学知识图谱(KG),我们的模型就可以直接应用于不同语言环境下的医学文本预训练任务。总损失计算公式如下:

在这里插入图片描述

表示 L_{EX}等于句子顺序预测 (SOP) (Lan et al., 2020)与掩码语言建模之和。λ1和λ2被视为超参数。

Experiments

Data Source

Pre-training Data

经过预处理的预训练语料库中包含了丰富的文本段和大量离散化的token序列(约4.9 GB)。基于TransR模型(Lin等人,2015)的知识图谱嵌入学习工作于两个可靠的数据来源上:OpenKG数据库中的Symptom-In-Chinese版本以及DXYKG数据库中的相关实体集合。这两个知识图谱分别包含了约13.9万和15.3万个实体节点,并各自拥有超过一百万条三元组记录。

Task Data

我们基于 Zhang et al. (2020b) 中提出的 ChineseBLUE 框架选取了四个大规模数据集用于验证模型性能。这些数据集均来自中国医学自然语言处理领域的标准测试套件。此外,在 DXY公司提供的真实应用场景中的两个阶段(7 和 8)共设置了四个子任务进行模型验证:包括命名实体识别任务(分别对应 DXY-NER 和 CHIP-NER)、关系提取任务(涵盖 DXY-RE 和 CHIP-RE),以及问答系统相关的 WebMedQA 项目(He 等人, 2019)。

Baselines

这项工作研究中,在方法论层面我们对 SMedBERT 模型与其三种变体(即通用预训练语言模型、领域专用语言模型以及基于注入知识嵌入构建的 KEPLM 模型)展开了系统性对比分析和评估验证,并在此基础上进行预训练,并在此基础上构建了中国医学语料库上的预训练模型

Generative Pre-trained Language Models(GPT):我们采用了三个基于BERT的中文预训练语言模型(包括BERT-base, BERT-wwm和RoBERTa),这些模型的参数全部源自于(Cui et al., 2020)的研究成果。

Domain-specific language models(领域专用语言模型):因为中国医学领域的PLM数量极少,在这一领域内很少有专门针对其开发的语言模型。因此建议采用以下几种模型作为研究起点。首先介绍的是MC-BERT(张等人的研究),它通过对该医学语料库中覆盖不同粒度的术语进行遮蔽性训练实现了有效的预训练效果;此外,在本研究中我们采用了基于现有数据集的独特方法来对BERT进行微调,并命名为BioBERT-zh

我们基于医学语料库中的SOTA KEPLMs构建了两个持续预训练的基准模型作为研究基础。这些模型分别取自Zhang等人(2019)提出的ERNIE-THU以及Peters等人(2019)开发的KnowBERT。为了实现公平对比,在KEPLM架构中我们引入了其他辅助资源而不仅依赖于KG嵌入的信息,并确保所有基准KEPLM均采用了相同的KG嵌入策略进行优化。

Intrinsic Evalution

为了验证 SMedBERT 的语义嵌入表现能力, 我们设计了一个无监督的学习任务来评估其语义相似性. 具体而言, 我们从 KG 中筛选出所有具有等价关系的实体对, 将它们作为正样本集合. 在每个这样的正样本中, 我们选择其中一个实体作为查询实体, 另一个作为候选实体, 并通过采样生成负样本集合. 这些数据被组织成 D1 数据集. 此外, 在同一正样本中, 实体之间通常存在较多的共同邻居节点. 为此, 我们选择具有较高共同邻居比例的正样本组成 D2 数据集. 除此之外, 为了考察 SMedBERT 是否能更好地表征低频提及实体的语义信息, 我们将包含至少一个低频提及实体的正样本单独划分为 D3 数据集. 经统计,D1 数据集包含 359358 个样本,D2 数据集包含 272320 个样本,D3 数据集则拥有 41583 个样本.

实验结果如表 1 所示。从实验数据可以看出:(1)SMedBERT 在所有基准模型中表现最优,在数据集 D2 上取得了显著提升(精确度提升达+1.36%),这一现象主要得益于多数正对拥有较多的共同邻居;这表明SMedBERT能够有效揭示其通过整合全局语义信息来提升性能的能力。(2)在数据集 D3 中,SMedBERT较之其他模型精确度提升了约+1.01%,这一成果充分展示了我们的模型在增强低频提及表示方面的有效性

在这里插入图片描述

表格 1展示了无监督语义相似性任务的结果。其中,“med”代表在医学文献库中预先训练好的模型,“open”则表示基于开放领域数据集开发的模型。“char"与"word"分别指代输入样本中的字符和单词形式。

Results of Downstream Tasks

我们首先将模型评估的重点放在与输入文本中实体紧密联系的NER和RE任务上,并通过这一方法确保对关键实体的理解准确无误。表2详细记录了我们在医疗NER和RE任务上的具体表现数据

在这里插入图片描述

表 2:命名实体识别 (NER) 和关系提取 (RE) 任务在 F1 方面的性能。

在NER和RE任务中进行研究时会发现:(1)相较于基于开放域语料库训练的PLMs,KEPLMs借助医学语料库及知识事实体系展现出了更为优异的表现。(2)对比于两个NER基准数据集分别实现了RE任务上的提升幅度为+0.88%至+2.07%以及+0.68%至+0.92%的显著提升度,SMedBERT展现出卓越的学习能力。此外,我们还在问答(QA)、问答匹配(QM)以及非逻辑推理(NLI)等下游任务上进行了深入评估,实验结果如表3所示

在这里插入图片描述

表 3展示了问答(QA)、问题匹配(QM)以及自然语言推理(NLI)等三项任务的表现情况

通过分析 SMedBERT 在多个基准数据集上的实验结果表明,在 QA、QM 和 NLI 任务中均实现了显著提升。综合来看,在表 2 和表 3 的实验数据显示,结合领域特定知识和结构化语义信息能够显著提升了分类器性能。

Influence of Entity Hit Ratio

在本实验中,我们研究了不同实体HR下的NER和RE任务模型性能,在这些实体HR的影响下决定了样本中标识增强mention-span的比例。样本中标识跨度(mention-span)的平均数量约为40个左右。图3展示了SMEdBERT与ERNIE-med在任务上的表现(Zhang等人,2019年)。

在这里插入图片描述

图 3:SMedBERT 和 ERNIE 在 NER 和 RE 任务中的实体HR结果。

从结果中可以看出:(1)起初表现出显著提升趋势,在HR值不断增加后趋于稳定状态,并由此可看出异质知识对语言理解能力具有积极促进作用;尽管知识事实量进一步增加可能带来知识噪声积累但这种做法对模型性能并无明显改善作用(Liu et al., 2020b)。(2)相较于现有方法我们的SMedBERT模型在性能上实现了明显提升并展现出更为稳定的特性

Influence of Neighboring Entity Number

我们对 DXY-NER 和 DXY-RE 实验数据集上的模型性能进行了详细考察。通过图 4 可以直观地看出各 K 值下的模型性能表现。

在这里插入图片描述

图 4:不同 K 值对结果的影响。

在当前设定下,SMedBERT在K值通常位于10附近的不同任务中表现出色。实验证明了,在逐步增大的K值情况下(即K逐渐增大时),模型性能会经历先上升后下降的趋势。这一现象进一步揭示了注入过多相邻实体的知识可能导致负面影响。

Ablation Study

在表4中, 我们选择了三个重要的模型组件用于消融实验. 这些组件包括评估与实体密切相关的四个数据集的测试性能. 具体来说, 在消融实验中, 我们采用了相邻实体类型注意力机制, 整体混合注意力模块以及基于mention-neighbor的上下文建模策略. 其中, 两个掩码语言模型损失分别为L_{MNeM}L_{MMeM}.

在这里插入图片描述

表格 4展示了SMedBERT在四个测试数据集(即cMedQANER、DXY-NER、CHIP-RE及DXYRE)上的消融性能评估结果。鉴于篇幅有限,在此仅列出主要指标的简要分析,并采用符号简写形式分别对应这些关键指标

从结果中可以看出:(1)即使不采用其中任何一个机制(即不使用混合注意力模块、不应用实体关联机制以及不整合多模态信息),我们的模型依然能够与强基线ERNIE-med在性能上相媲美(Zhang等人, 2019)。(2)值得注意的是,在去掉这一模块后(即去掉混合注意力模块),模型性能的下降幅度最大,并且由此可推断注入丰富的相邻实体的异构知识对于提升模型效果具有重要意义。

Conclusion

在本研究中,我们采用KEPLM所提出的SMedBERT结构化语义模型,致力于解决医学文本挖掘这一特定任务。具体而言,我们通过构建异构关系提取机制,将相邻实体间的实体类型语义信息成功注入到节点注意力机制中,从而实现了对目标实体信息的有效捕捉与关注。此外,我们将实体间的局部上下文与跨实体的全局语境进行了有机结合,并基于mention-span框架下对候选实体进行mask预测;反之亦可从全局语境出发反推出局部候选实体信息,从而形成了一个相互补充的知识表示体系。实验研究表明,该方法在多项医学自然语言处理任务以及内部评估指标上均取得了显著提升效果;在此基础上,我们提出了两个重要的研究拓展方向:一是利用更远距离的邻近实体作为上下文资源以获取更深层次的知识表示;二是进一步优化中医长尾实体的语义嵌入表达能力以提升模型性能

全部评论 (0)

还没有任何评论哟~