备注好友:
方向-学校/公司-姓名/昵称
【AIGC 先锋科技】交流群
命名实体识别(NER)是自然语言处理(NLP)中的一个基本问题。然而,从扩展文本(如主页)中提取较长的实体跨度(例如奖项)的任务却很少被研究。
当前的NER方法主要分为两类:基于跨度的方法和基于生成的方法。基于跨度的方法需要列举所有可能的 Token 对跨度,然后对每个跨度进行分类,导致大量的冗余计算和过度的GPU内存使用。相比之下,基于生成的方法涉及 Prompt 或微调大语言模型(LLMs)以适应下游NER任务。
然而,这些方法在准确生成较长的跨度方面存在困难,并且通常需要大量的时间成本才能进行有效的微调。
为了解决这些挑战,本文提出了一种轻量级的基于跨度的NER方法,称为SeNER,该方法结合了双向箭头注意力机制和[CLS] Token 上的LogNScaling,以有效地嵌入长文本,并包含了一种新颖的双向滑动窗口加形注意力(BiSPA)机制,显著减少了冗余的候选 Token 对跨度,并同时模拟 Token 对跨度之间的相互作用。
广泛的实验表明,作者的方法在三个长NER数据集上实现了最先进的提取准确率,并且能够以GPU内存友好的方式从长文本中提取实体。
命名实体识别(NER)是信息抽取(IE)领域的一项基础任务,旨在识别表示特定类型实体的跨度。它是关系抽取(Miwa和Bansal,2016年)、知识图谱构建(Xu等人,2017年)和问答系统(Molla、Van Zaanen和Smith,2006年)等众多下游任务的基础。
这些作者贡献相同。
图1:从作者个人主页中提取实体/属性的一个示例,其中“工作经验”是一个较长的实体块,“奖项”是一个较长的实体。
尽管已有广泛的研究,现有的命名实体识别(NER)研究很少关注从长文本中提取命名实体,这在现实世界中是一个常见的场景,例如从主页中提取作者属性和在学术论文中识别“方法”和“问题”。例如,在图1中,“工作经验”是一个较长的实体块,而“奖项”也是一个长实体,这对NER任务提出了更大的挑战。作者还扩展了NER方法的输入长度,以提取学术论文中的短实体,如图2a所示,这表明较长的输入长度有助于更精确地提取实体,因为可以感知到更长的上下文。
传统的处理方法将命名实体识别(NER)任务视为序列标注任务,为每个 Token 分配一个标签,例如BIOES格式。然而,这些方法在识别嵌套实体方面存在不足。为了解决这一问题,后续的研究通常采用基于区间的方法(如Su等人2022年;Yan等人2023b),该方法考虑所有可能的 Token 对区间,并对每个区间进行分类。这些方法在基于句子的NER任务上取得了令人满意的准确率,但由于基于 Token 对区间张量的
计算复杂度,导致大量冗余计算和GPU内存使用,因此它们在识别跨句的实体块或从长文本中提取实体方面存在困难。
近期,大语言模型(LLMs)在自然语言理解和生成任务的一系列领域展现出卓越的性能(赵等,2023年)。然而,LLMs在信息提取任务上的表现仍然不足,与这些任务不太匹配(齐等,2024年)。在ScholarXL数据集(张等,2024年)上,通过 Prompt GPT-4o(阿奇亚姆等,2023年)来提取作者属性,作者提供了(a)对于作者的模型SeNER而言,输入长度对在SciREX数据集上的提取性能的影响(
)。
(b)基于跨度方法和基于生成方法的模型参数与Scholar-XL数据集上的F1分数对比。
5个相似演示仅实现了21.87%的F1分数,如图2b所示。将大语言模型(LLM)微调以从长文本中提取实体也是可行的(Sainz等人,2023年;Qi等人,2024年),但与基于跨度的方法相比,它在训练和推理过程中会带来显著的时间成本,且无法保证高精度。
因此,作者的目标是以一种GPU内存友好的方式从长文本中识别命名实体,同时不降低准确性。鉴于这些限制,作者提出了SeNER,一种轻量级的基于跨度的方法,用于从长文本中提取实体。SeNER的主要思想是减少长文本编码和提取过程中的冗余计算。SeNER提出了两个核心组件,这两个组件在现有的基于跨度的命名实体识别方法中具有优势。
为了有效地对长文本进行编码,作者采用了双向箭头注意力机制,该机制同时编码局部和全局上下文。为了克服不同长度输入文本的熵不稳定问题,作者在[CLS] Token 上应用LogN-Scaling(苏,2021),以保持注意力分数的熵稳定。为了减少基于跨度的不必要计算以及 Token 对跨度之间的模型交互,作者提出了一种新型的双向滑动窗口加注意力(BiSPA)机制,以高效地计算关注跨度上的水平和垂直注意力。
为了提高作者模型的鲁棒性和泛化能力,作者在训练过程中采用了全词 Mask 策略(Cui等人,2021)和LoRA技术(Hu等人,2021)。在三个数据集上进行的广泛实验结果突显了作者提出方法的优越性。
SeNER在保持相对较小的模型参数的同时,实现了最先进的准确率,如图2b所示。此外,在相同的硬件和配置下,作者的模型能够处理比之前的高级基于跨度命名实体识别(NER)方法长6倍的文本。
命名实体识别(NER)方法通常分为基于跨度的方法、基于生成的方法以及其他方法。
基于Span的方法将命名实体识别(NER)任务重新定义为一种基于 Token 对的Span分类任务。他们根据起始和结束位置识别Span,列出句子中所有可能的候选Span,并执行分类。大多数现有方法侧重于获取高质量的Span表示和建模Span之间的交互。CNNNER(Yan等人,2023a)利用卷积神经网络(CNNs)来模拟 Token 对Span张量中的空间关系。
UTC-IE(Yan等人,2023b)在CNN-NER的基础上,进一步结合了轴感知交互,并使用加号形状的自注意力机制对 Token 对Span张量进行建模。
这些方法提供了并行提取、简单解码,以及处理嵌套实体识别的优势,因而得到了广泛的应用和优异的性能。然而,计算所有Span表示以及聚合 Token 对Span之间的交互需要大量的计算资源,这限制了它们在处理长文本时的有效性。
基于生成的方法以端到端的方式从文本中提取实体,生成的序列可以是文本(Lu等人,2022年;Jiang等人,2024年)、实体指针(Yan等人,2021年)或代码(Sainz等人,2023年)。
随着大语言模型(LLMs)的兴起,这些方法凭借其泛化能力,仅需少量示例即可取得良好的性能。一些方法通过使用强大的LLMs、高质量数据、多样化的提取任务和全面的前置知识来增强一般提取能力。GoLLIE(Sainz等人,2023年)通过诸如类别顺序打乱、类别丢弃、指南释义、代表性候选采样和类别名称 Mask 等策略确保遵循标注指南。
ADELIE(Qi等人,2024年)在高质量对齐语料库上执行指令微调,并使用直接偏好优化(DPO)目标进一步优化。然而,与基于跨度的方法相比,这些方法通常需要大量的计算资源,并且可能在从长文本生成准确的较长实体时表现不佳。指令构建和示例使用可以压缩输入文本长度,导致文本利用率低。
此外,自回归生成可能导致长解码时间。
除了两种主要范式外,还存在几种其他类型的方法。一些方法(Ma和Hovy,2016;Yan等人,2019;Strakova、Straka和Hajic,2019)将命名实体识别任务建模为序列标注任务。
然而,这些方法在处理嵌套实体时遇到了困难。一些方法(Li等人,2019;Tan等人,2021;Shen等人,2022)使用两个独立的多层感知器(MLP)分别预测实体的起始和结束位置,这可能导致将实体视为独立模块而引起的错误。一些方法(Lou、Yang和Tu,2022;Yang和Tu,2022)采用超图来表示跨度,但它们的解码过程比较复杂。
在本节中,作者介绍了从长文本中进行命名实体识别的问题表述。
问题一:长文本中的命名实体识别(长NER)。给定一段长文本输入,目标是从文本中提取不同类型的命名实体或实体块,并标注其在文本中的起始和结束位置。请注意,在作者这个问题中,输入文本的长度可能超过1000个 Token ,实体长度可能超过100个 Token 。
以学者画像为例,“出生地”是一种实体,而“工作经历”通常以涉及多个段落的实体块形式出现。
如前所述,传统的命名实体识别(NER)方法主要分为两大类:基于跨度(span-based)和基于生成(generation-based)。对于长文本中的NER,基于跨度的方法需要模拟token-pair跨度之间的交互,这会带来大量的GPU内存和计算负担。相比之下,基于生成的方法,通常基于大语言模型(LLMs),在准确生成较长的实体跨度方面较为困难。
针对这些局限性,作者提出了一种轻量级的基于span的命名实体识别模型SeNER,该模型能高效地编码长输入文本并建模token对span的交互。首先,作者采用预训练语言模型(PLM)并结合箭头注意力机制,以高效地编码长输入文本。为了缓解因输入长度变化而产生的熵不稳定问题,作者对[CLS] Token 应用了LogN-Scaling(苏2021)。接着,作者利用双亲和模型(Dozat和Manning 2017)获取每个token对span的隐藏表示。然后,作者提出了token对span交互模块,其中作者提出了一种新颖的BiSPA机制,以显著减少冗余的候选token对,并同时建模token对之间的交互。最后,作者介绍了训练策略和预测方法。作者的模型概述如图3所示。
图3:SeNER模型的概述。
图4:箭头注意力、全注意力以及滑动窗口注意力的示意图。
给定一段文本,作者将其输入到预训练语言模型中,以获得其上下文向量表示。
在本文中,
表示一个属于
的矩阵,其中
是输入长度,
是预训练语言模型(PLM)的输出维度。
传统的命名实体识别(NER)方法使用具有全双向注意力的预训练语言模型(PLMs),这导致了在处理长文本时GPU内存占用大和计算量大的问题。此外,对于长文本来说,全注意力机制往往是多余的,因为远距离的 Token 通常在语义上是不相关的。鉴于此,一个直接的想法是采用滑动窗口注意力(SWA)(Beltagy、Peters和Cohan 2020;Zaheer等人2020),它采用一个固定的窗口,比如
,使得每个 Token 关注其左侧的
个 Token 和右侧的
个 Token 。然而,SWA忽略了全局上下文,这影响了Transformer层获取整个输入文本全面理解的能力。
为此,作者提出了一种箭头注意力机制,其中[CLS] Token 使用全局注意力,而其他 Token 则使用局部滑动窗口注意力,如图4所示。箭头注意力在全局和局部注意力之间取得平衡。与全注意力所需的计算复杂度O(
)相比,箭头注意力仅需
。此外,[CLS] Token 捕获的全局信息补充了SWA的知识,增强了每个 Token 的表示,并减轻了由于固定感受野引起的信息损失。因此,[CLS] Token 充当了一个注意力汇聚点(Xiao等,2023),平衡了全局和局部上下文的权重。
然而,文本长度的变化可能导致[CLS] Token 的熵不稳定,此时注意力分数的尺度可能会发生显著变化。针对这一点,作者在[CLS] Token 上采用了对数归一化缩放(LogNScaling)技术以稳定注意力分数的熵。具体来说,LogN-Scaling的定义如下:
在本文中,
表示缩放注意力,
是第
个Transformer层的隐藏表示,而
是投影矩阵。
请注意,LogN-Scaling在大语言模型(LLMs)中常用于长度外推,并应用于所有输入 Token 。在这里,作者仅对[CLS] Token 应用LogN-Scaling,以提高作者模型的不稳定性和鲁棒性。
随后,隐藏表示
被输入到双向亲和力模型中,以提取每个候选跨度(span)的特征。
在本文中,
和
分别代表多层感知器,
为隐藏的起始/结束嵌入,
和
分别表示权重矩阵,
为偏置项,而
是Biaffine模型输出维度。符号
表示拼接操作。
,称为 Token 跨度张量,表示每个候选跨度隐藏表示。例如,
表示
的特征。
请注意,token-pair span 张量
考虑了每个可能的候选跨度。然而,对于长输入文本,考虑每个候选跨度是不必要的,尤其是对于极长的跨度。此外,张量
占用的 GPU 内存会随着输入长度
的增加而呈平方增长。鉴于这种情况,作者提出仅保留长度不超过
的跨度隐藏特征,如图5所示。因此,
被压缩为
。
先前的研究(Yan 等,2023a,b)表明,对token对之间的交互进行建模,如加号形状和局部交互,将是有益的。加号形状注意力机制在水平方向和垂直方向上应用自注意力机制。然而,由于原始水平或垂直维度被破坏,加号形状注意力不能直接在压缩的隐藏特征张量
上执行。因此,作者提出了一种新颖的双向滑动窗口加注意力(BiSPA)机制,以在压缩的
上执行加号形状注意力。
图5:BiSPA机制中 Token 对跨度张量的转换图。
具体来说,作者首先在
上计算水平自注意力,如图5的上方中间所示。接着,作者提出了一种转换方法,将左上角的矩阵
转换成中间下方的矩阵
,然后基于
计算垂直自注意力。最后,作者将水平和垂直的注意力矩阵拼接起来,并输入到MLP中,以聚合正形感知信息。值得注意的是,BiSPA机制的计算复杂度从
降低到
,显著优化了训练效率。
在本文中,
均属于
空间,
是经过水平/垂直自注意力机制后的中间表示,而
是经过双向序列标注处理(BiSPA)机制后的 Token 对跨度特征。
BiSPA机制赋予了模型感知水平和垂直方向的能力。作者进一步使用两种位置嵌入来增强 Token 对之间的距离感和 Token 对所在区域(Yan等人,2023b)。(1)旋转位置嵌入(RoPE)(Su等人,2024)编码 Token 对之间的相对距离,用于水平和垂直的自注意力。(2)矩阵位置嵌入表示
中的每个条目是原始的上三角还是下三角,这有助于BiSPA机制之后的
和
。之后,作者在
上使用3×3的卷积神经网络来模拟 Token 对跨度之间的局部交互。
属于
空间,并恢复为平方尺寸,其中
为激活函数。
作者将包含BiSPA机制和卷积模块的模块命名为BiSPA Transformer块。BiSPA Transformer块将被反复使用以确保成对 Token 之间的充分交互。
作者采用MLP层将最终BiSPA Transformer块的输出转换为输出分数。作者使用二元交叉熵作为损失函数。
候选实体的得分由
表示,其中
代表实体类型的数量。
为了提升作者模型的鲁棒性和泛化能力,作者在训练过程中采用了整词 Mask 策略(Cui等,2021年),并利用LoRA技术(Hu等,2021年)训练PLM参数。
在预测过程中,作者的模型采用上三角和下三角值的平均值作为最终的预测得分,具体如下:
所有满足
的文本跨度将被输出。如果多个候选跨度的边界发生冲突,将选择预测分数最高的跨度。
作者对三个命名实体识别(NER)数据集进行了实验:ScholarXL(张等,2024年)、SciREX(贾因等,2020年)和Profiling-07(唐、张、姚,2007年;唐等,2008年)。所有数据集的统计数据详见表1。如表1所示,这三个数据集的输入长度和实体长度均长于传统命名实体识别数据集,这带来了更大的挑战。
作者将作者的模型与几种近期提出的命名实体识别(NER)方法进行了比较:
基于跨度的方法:CNN-NER(杨等,2023a):这是一种基于跨度的方法,它利用卷积神经网络(CNN)来建模跨度之间的局部空间相关性。UTC-IE(杨等,2023b):在基于 Token 对的跨度张量上,使用带加号的形状自注意力机制来模拟轴感知交互,并在其上通过CNN实现局部交互。
其他方法:DiffusionNER(沈等,2023年):将命名实体识别任务表述为一个边界去噪扩散过程,从而从噪声跨度中生成命名实体。
基于生成的方法:UIE(Lu等,2022年):通过结构化提取语言统一编码不同的提取结构,自适应地生成目标提取,并通过一个大规模的预训练文本到结构模型捕捉常见的实体识别能力。InstructUIE(Wang等,2023b):利用自然语言指令和指令微调来指导大语言模型进行实体识别任务。GOLLIE(Sainz等,2023年):基于Code-Llama(Roziere等,2023年)并微调基础模型以遵循特定的标注指南。
ADELIE(Qi等,2024年):构建高质量指令微调数据集,并使用监督微调(SFT)随后进行直接偏好优化(DPO)。ToNER(Jiang等,2024年):首先使用实体类型匹配模型来发现最可能在句子中出现的实体类型,然后添加多个二元分类任务以微调生成模型中的编码器。GPT-4o(Achiam等,2023年):使用gpt-4o-2024-08-06 API,采用5次上下文学习的方法来提升性能。Claude-3.5(Anthropic,2024年):使用claude-3-5-sonnet-20241022 API,同样采用5次上下文学习。
所有实验均在8张卡的80G Nvidia A100服务器上运行。整个文本用于Scholar-XL数据集,而其他两个数据集则采用滑动窗口方法截断至5120,这是由于GPU内存限制所做出的权衡。在预测时,文本片段的预测结果被映射到原始文本的起始/结束位置。超参数是基于验证集上的F1分数进行选择的。
对于每个实验,作者使用不同的随机种子运行3次,并报告平均结果。作者选择DeBERTa-V3-large(He, Gao, 和 Chen 2023)作为基于span的方法和DiffusionNER的PLM。作者使用AdamW(Loshchilov, Hutter 等人 2017)优化器,权重衰减为
。箭头注意力机制和BiSPA机制的单边窗口大小均设置为128。作者仅在自注意力机制中的
和
矩阵上使用低秩适应性,秩为8。
作者报告了所有属性的微观F1分数。一个实体只有在实体类型和实体跨度都被正确预测的情况下才被认为是正确的。精确度(P)是正确预测的跨度与预测跨度的比例,而召回率(R)是正确预测的跨度与真实实体跨度的比例。
表2展示了三种数据集上不同命名实体识别(NER)方法的全面比较。总体而言,基于跨度的方法(CNN-NER、UTC-IE以及作者的模型SeNER)在NER方法中表现更佳。
基于生成的方法通过使用生成损失来微调基础模型以适应长序列命名实体识别任务,但表现不佳。UIE优于InstructUIE,这可能是因为UIE定义了一种适合长序列命名实体识别问题的结构化提取语言,而不仅仅是进行指令微调。GOLLIE和ADELIE的表现相似,但在Profiling07数据集上有所不同,这可能是由于该数据集因包含大量空数据而被分割和细化,从而导致GOLLIE对这些空样本过拟合。ToNER的表现不令人满意,可能是因为两阶段框架导致错误传播,以及使用小型语言模型进行生成限制了其潜力。GPT-4o和Claude-3.5-sonnet的效果较差,这表明专有模型 Prompt 在长文本命名实体识别任务上的表现不佳。
基于跨度识别的命名实体识别方法(如CNN-NER、UTC-IE和SeNER)在性能上优于其他类型的命名实体识别方法,包括扩散NER。扩散NER是一种基于扩散的方法,可以从固定数量的高斯噪声中恢复实体的边界,但很难从长文本中恢复较长的实体。CNN-NER模型通过卷积神经网络实现细粒度的跨度交互,达到可观的提取性能。UTC-IE通过在 Token 对跨度张量上引入加号形状的注意力机制,进一步提升了CNN-NER的性能,并在CNN-NER之上实现了持续的超越。
作者的模型SeNER表现出显著提升或与最佳 Baseline 相当,这表明通过在PLM编码器中的[CLS]设计箭头注意力以及LogN-Scaling,以及在对token-pair span张量上的BiSPA机制,作者的模型能够在不降低提取精度的前提下节省计算和内存资源。此外,更长且注意力更集中的文本能够有效帮助模型更详细地理解文本的语义信息,并提取相应的实体。
表3展示了作者模型中每个组件有效性的依据。移除箭头注意力或BiSPA机制会导致模型在Scholar-XL上的性能下降,以及在SciREX和Profiling-O7上的内存溢出(OOM)错误。这表明这两个模块有效地减少了显式内存的使用,使模型能够处理更长的文本,从而提高了整体性能。具体来说,BiSPA通过减少负样本显著降低了计算和内存占用。相比之下,箭头注意力在Scholar-XL数据集上对短文本内存使用的降低能力有限。用滑动窗口注意力(SWA)替代箭头注意力会导致性能显著下降,突显了对[CLS] Token 施加注意力分数以吸收全局上下文信息的必要性。添加LogNScaling可以持续提高性能,从而增强模型稳定性和鲁棒性。虽然移除LoRA不会导致OOM错误,但所有数据集上的F1分数都有一定程度下降,这表明LoRA能够有效减少训练参数并防止过拟合。全词 Mask (WWM)增加了输入文本的多样性,从而提高了模型的泛化能力。
图6:不同实体类型在Scholar-XL数据集上的表现(%)。实体的平均长度按顺时针方向从性别到工作经验(最高教育:最高教育水平,教育经验:教育经验,工作经验:工作经验)递增。
在本小节中,作者专注于比较作者的方法与基于跨度的方法(CNN-NER和UTC-IE)以及基于大语言模型的方法(InstructUIE、GOLLIE和ADELIE)在处理不同长度和类型的实体时的性能。
图6展示了在Scholar-XL数据集上的结果,实体类型的平均长度从“性别”顺时针增加到“工作经验”。利用LLM强大的能力,生成式方法在提取“性别”和“出生地”类型时取得了优异的性能。然而,对于其他类型的实体,基于跨度的方法表现出持续的优势。作者的模型SeNER在大多数实体类型上优于CNN-NER和UTC-IE,尤其是在较长的实体类型上取得了显著提升。具体来说,对于“社会服务”这一类型,作者的方法相较于CNN-NER提高了6.38%,相较于UTC-IE提高了4.14%。SeNER在“教育经历”和“工作经验”类型上的性能略逊于领先者,这表明作者模型中的近似策略不可避免地会丢失一些信息,尤其是在非常长的实体上。
表2:主要结果(%)结果以底线标注。
表3:三个长文本命名实体识别数据集的消融研究。Mem代表内存使用量(GB),SWA表示滑动窗口注意力,WwM是全词 Mask 。
作者研究了在单个Nvidia A100上使用批大小为1对每种NER方法进行训练所支持的最大输入长度,如图7所示。基于生成的模型通常采用各种轻量级策略,如量化、FlashAttention(Dao等人,2022年)和Zero Redundancy Optimizer(ZeRO)(Rajbhandari等人,2020年),使得GOLLIE和ADELIE等模型能够处理长文本。相比之下,基于跨度的方法需要建模token-pair跨度张量,从而导致支持较短的输入长度。作者的方法SeNER在CNN-NER和UTC-IE上表现出显著的改进,分别支持3倍和6倍的输入长度。
图7展示了基于跨度方法和基于LLM方法的推理时间。可以观察到,基于LLM的方法的推理时间比基于跨度方法长10倍。作者的方法SeNER在推理时间上与CNN-NER相当,同时实现了显著更高的提取精度。与UTCIE相比,SeNER可节省20%的推理时间,并能够编码更长的输入文本,同时仍保持最先进的提取精度。
图7:蓝色 Pillar 图:不同方法的输入长度最大值比较(k)。橙色 Pillar 图:不同方法的推理时间比较(秒)。两者均在最长的SciREX数据集上执行。
在本文中,作者探讨了从长文本中提取实体的问题,这是在命名实体识别(NER)领域相对较少研究的领域。当前的基于跨度或基于生成的NER方法面临着计算效率低下、跨度枚举中内存开销大,以及文本生成中的不准确性和时间成本等问题。为了解决这些挑战,作者提出了SeNER,这是一种轻量级的基于跨度的方法,它具有双向箭头注意力机制和LogN-缩放,以实现有效的长文本嵌入。
此外,作者还提出了一种双向滑动窗口加形状注意力(BiSPA)机制,该机制显著减少了冗余的候选 Token 对跨度,并建模了它们之间的交互。
大量实验表明,SeNER在三个NER数据集上提取实体时实现了最先进的准确率,同时保持了GPU内存效率。作者在箭头注意力和BiSPA机制方面的创新有望推进信息提取任务未来研究的发展。
参考
[1]. Small Language Model Makes an Effective Long Text Extractor .