2025-11-19T20:19:14.203751

Hybrid Multi-stage Decoding for Few-shot NER with Entity-aware Contrastive Learning

Liu, Wang, Liu et al.
Few-shot named entity recognition can identify new types of named entities based on a few labeled examples. Previous methods employing token-level or span-level metric learning suffer from the computational burden and a large number of negative sample spans. In this paper, we propose the Hybrid Multi-stage Decoding for Few-shot NER with Entity-aware Contrastive Learning (MsFNER), which splits the general NER into two stages: entity-span detection and entity classification. There are 3 processes for introducing MsFNER: training, finetuning, and inference. In the training process, we train and get the best entity-span detection model and the entity classification model separately on the source domain using meta-learning, where we create a contrastive learning module to enhance entity representations for entity classification. During finetuning, we finetune the both models on the support dataset of target domain. In the inference process, for the unlabeled data, we first detect the entity-spans, then the entity-spans are jointly determined by the entity classification model and the KNN. We conduct experiments on the open FewNERD dataset and the results demonstrate the advance of MsFNER.
academic

Hybrid Multi-stage Decoding for Few-shot NER with Entity-aware Contrastive Learning

基本信息

  • 论文ID: 2404.06970
  • 标题: Hybrid Multi-stage Decoding for Few-shot NER with Entity-aware Contrastive Learning
  • 作者: Congying Liu, Gaosheng Wang, Peipei Liu, Xingyuan Wei, Hongsong Zhu
  • 分类: cs.CL
  • 发表时间: 2024年4月 (arXiv预印本)
  • 论文链接: https://arxiv.org/abs/2404.06970

摘要

Few-shot named entity recognition can identify new types of named entities based on a few labeled examples. Previous methods employing token-level or span-level metric learning suffer from the computational burden and a large number of negative sample spans. In this paper, we propose the Hybrid Multi-stage Decoding for Few-shot NER with Entity-aware Contrastive Learning (MsFNER), which splits the general NER into two stages: entity-span detection and entity classification. There are 3 processes for introducing MsFNER: training, finetuning, and inference. In the training process, we train and get the best entity-span detection model and the entity classification model separately on the source domain using meta-learning, where we create a contrastive learning module to enhance entity representations for entity classification. During finetuning, we finetune the both models on the support dataset of target domain. In the inference process, for the unlabeled data, we first detect the entity-spans, then the entity-spans are jointly determined by the entity classification model and the KNN. We conduct experiments on the open FewNERD dataset and the results demonstrate the advance of MsFNER.

研究背景与动机

问题定义

Few-shot命名实体识别(Few-shot NER)旨在基于少量标注样本快速识别新类型的命名实体。这一任务对于适应动态变化的现实应用场景具有重要意义,特别是在需要模型快速适应新数据或环境变化的情况下。

现有方法的局限性

  1. Token级别方法:虽然基于token与原型或支持集token距离的方法简单直观,但存在计算成本高、无法保持实体token语义完整性的问题,容易受到非实体标记的干扰。
  2. Span级别方法:虽然能通过评估整个span来缓解token级方法的部分问题,但枚举所有可能span会导致O(N²)的复杂度,并增加大量负样本的噪声。

研究动机

作者希望解决两个核心问题:

  1. 如何提高few-shot NER识别效率,通过增强实体与非实体间的语义差异来确定有效的实体span
  2. 如何改进实体span分类,通过控制和协调不同实体类型的语义距离,使同类实体语义表示更接近,异类实体更远离

核心贡献

  1. 提出了MsFNER框架:将传统NER任务分解为实体span检测和实体分类两个阶段,有效降低计算复杂度并减少负样本影响
  2. 设计了实体感知对比学习模块:增强实体表示学习,提升同类实体的一致性并拉大不同类实体间的距离
  3. 构建了混合推理机制:结合实体分类模型和KNN方法进行联合预测,提升分类准确性
  4. 取得了SOTA性能:在FewNERD和FewAPTER数据集上显著超越现有方法,并与ChatGPT进行了全面比较

方法详解

任务定义

Few-shot NER任务定义为:模型首先在源域数据集Dsource=(Ssource,Qsource)D_{source} = (S_{source}, Q_{source})上训练,然后迁移到目标域数据集Dtarget=(Starget,Qtarget)D_{target} = (S_{target}, Q_{target})进行推理。其中StargetS_{target}为支持集,包含N个实体类型(N-way),每个类型有K个标注样例(K-shot);QtargetQ_{target}为查询集,包含与支持集相同的实体类型。

模型架构

MsFNER包含三个主要过程:

1. 训练过程(Training Process)

实体Span检测(ESD)模块

  • 将实体span检测视为序列标注任务,使用BIOES标注方案
  • 对输入句子x=(x1,x2,...,xn)x = (x_1, x_2, ..., x_n),使用BERT编码器获得上下文表示h=(h1,h2,...,hn)h = (h_1, h_2, ..., h_n)
  • 通过CRF层进行实体span检测,训练损失为:

LESD=logP(yx)L_{ESD} = -\sum \log P(y|x)

其中: P(yx)=i=1xϕi(yi1,yi,x)yi=1xϕi(yi1,yi,x)P(y|x) = \frac{\prod_{i=1}^{|x|} \phi_i(y_{i-1}, y_i, x)}{\sum_{y'} \prod_{i=1}^{|x|} \phi_i(y'_{i-1}, y'_i, x)}

  • 采用MAML元学习方法训练,包含内循环更新和外循环更新

实体分类(EC)模块

  • 对实体ek=(xf,...,xf+l)e_k = (x_f, ..., x_{f+l}),使用最大池化获得表示: e^k=max(hf,...,hf+l)\hat{e}_k = \max(h_f, ..., h_{f+l})
  • 引入实体感知对比学习,损失函数为: LCL=j1P(j)pP(j)logexp(sim(zj,zp)/τ)aA(j)exp(sim(zj,za)/τ)L_{CL} = \sum_j -\frac{1}{|P(j)|} \sum_{p \in P(j)} \log \frac{\exp(\text{sim}(z_j, z_p)/\tau)}{\sum_{a \in A(j)} \exp(\text{sim}(z_j, z_a)/\tau)}
  • 构建原型表示并进行分类: ct(S)=1StemSte^mc_t(S) = \frac{1}{|S_t|} \sum_{e_m \in S_t} \hat{e}_m

psoft(ek)=exp(d(ct(S),e^k))i=1ϕexp(d(ci(S),e^k))p_{soft}(e_k) = \frac{\exp(-d(c_t(S), \hat{e}_k))}{\sum_{i=1}^{|\phi|} \exp(-d(c_i(S), \hat{e}_k))}

2. 微调过程(Finetuning Process)

在目标域支持集StargetS_{target}上微调训练好的实体检测和分类模型,采用与训练过程相同的模式。

3. 推理过程(Inference Process)

包含四个阶段:

  1. 构建键值数据存储DknnD_{knn},键为实体表示,值为对应标签
  2. 使用实体检测模型获得实体span
  3. 将检测到的实体表示分别输入分类模型和KNN模块
  4. 联合预测:p(yek)=λpknn(yek)+(1λ)psoft(yek)p(y|e'_k) = \lambda p_{knn}(y|e'_k) + (1-\lambda) p_{soft}(y|e'_k)

技术创新点

  1. 两阶段分解策略:将NER任务分解为span检测和分类两个子任务,避免了传统方法中枚举所有可能span的复杂度问题
  2. 实体感知对比学习:专门设计的对比学习模块增强实体表示,提升同类实体的聚合度和异类实体的区分度
  3. 混合推理机制:结合参数化模型和非参数化KNN方法,充分利用支持集信息

实验设置

数据集

FewNERD数据集

  • 包含8个粗粒度和66个细粒度实体类型
  • 评估FewNERD-INTRA和FewNERD-INTER两种设置
  • 采用N-way K~2K-shot采样方法构建任务

FewAPTER数据集

  • 基于网络安全威胁情报数据集APTER构建
  • 将原始37个实体类型整合为21类,共28,250个实体
  • 按照7:7:7比例划分训练/验证/测试集
  • 构建4-way 1-shot、4-way 3-shot、6-way 1-shot、6-way 3-shot四种设置

评价指标

使用F1分数作为主要评价指标,并报告标准差。

对比方法

  • ProtoBERT:基于BERT隐藏状态相似度的token级方法
  • CONTAINER:采用token级对比学习的方法
  • NNShot/StructShot:基于最近邻算法的方法
  • ESD:span级匹配方法
  • MAML-ProtoNet:结合MAML和原型网络的元学习方法
  • BDCP:边界判别和相关性净化方法
  • ChatGPT:大语言模型基线

实现细节

  • 编码器:BERT-base
  • 优化器:AdamW,学习率3e-5
  • 批大小:32,最大序列长度:128
  • KNN中K=10,λ=0.1
  • 训练1000步,在验证集上选择最佳模型

实验结果

主要结果

FewNERD数据集

  • 在FewNERD-INTRA上平均F1提升2.65%
  • 在FewNERD-INTER上平均F1提升4.44%
  • 相比之前最佳方法MAML-ProtoNet取得显著改进

FewAPTER数据集

  • 平均F1分数提升11.42%
  • 在大多数设置下超越ChatGPT

与ChatGPT对比

  • 在FewNERD上整体超越ChatGPT
  • 在FewAPTER上略逊于ChatGPT,但推理速度显著更快

消融实验

  1. 移除对比学习模块
    • FewNERD上平均下降0.905%
    • FewAPTER上平均下降0.745%
  2. 移除KNN模块
    • FewNERD上平均下降0.524%
    • FewAPTER上平均下降0.635%

结果表明两个模块都对性能有积极贡献。

效率分析

MsFNER的推理时间显著快于ChatGPT,在各种设置下都表现出更高的效率,符合奥卡姆剃刀原理。

实验发现

  1. K-shot数量影响:增加K-shot样本数能显著提升性能
  2. N-way数量影响:增加N-way会降低性能,符合直觉
  3. 领域适应性:模型在跨域任务上表现良好
  4. LLM稳定性:ChatGPT性能相对稳定,受数据和域变化影响较小

相关工作

Few-shot NER主要方向

  1. Token级方法:如ProtoBERT、CONTAINER等,基于token相似度进行预测
  2. Span级方法:如ESD等,将实体作为整体span进行处理
  3. 元学习方法:如MAML-ProtoNet,采用元学习框架快速适应新任务

本文优势

相比现有工作,MsFNER通过两阶段分解有效解决了计算复杂度和负样本问题,同时引入对比学习增强表示学习。

结论与讨论

主要结论

  1. 有效性:MsFNER在多个数据集上取得SOTA性能,证明了两阶段分解策略的有效性
  2. 效率性:相比传统span级方法显著降低计算复杂度
  3. 通用性:在不同领域和设置下都表现良好

局限性

  1. 域适应限制:在某些特定领域(如FewAPTER)的泛化能力仍有提升空间
  2. 超参数敏感性:λ等超参数需要针对不同数据集调整
  3. 计算资源:仍需要预训练的BERT模型作为基础

未来方向

  1. 更强的域适应能力:探索更好的跨域迁移方法
  2. 端到端优化:研究两阶段联合优化策略
  3. 更大规模评估:在更多领域和语言上验证方法有效性

深度评价

优点

  1. 方法创新性强:两阶段分解策略新颖,有效解决现有方法的核心问题
  2. 技术设计合理:实体感知对比学习和混合推理机制设计巧妙
  3. 实验充分:在多个数据集上进行全面评估,包括与LLM的对比
  4. 分析深入:提供了详细的消融实验和效率分析

不足

  1. 理论分析不足:缺乏对方法有效性的理论解释
  2. 计算复杂度分析:虽然声称降低复杂度,但缺乏定量分析
  3. 错误分析缺失:没有深入分析模型失败案例

影响力

  1. 学术贡献:为few-shot NER提供了新的解决思路
  2. 实用价值:方法简单有效,易于实现和部署
  3. 可复现性:提供了详细的实现细节和超参数设置

适用场景

  1. 资源受限环境:相比大语言模型更适合计算资源有限的场景
  2. 快速部署需求:能够快速适应新的实体类型
  3. 特定域应用:在垂直领域如网络安全等有良好应用前景

参考文献

论文引用了相关领域的重要工作,包括:

  • Few-shot学习基础方法(Prototypical Networks, MAML)
  • 命名实体识别经典方法(BERT-based approaches)
  • 对比学习相关工作(Supervised Contrastive Learning)
  • Few-shot NER专门方法(ProtoBERT, ESD, MAML-ProtoNet等)

总体评价:这是一篇技术扎实、实验充分的优秀论文。作者提出的两阶段分解策略有效解决了现有方法的关键问题,在多个数据集上取得了显著的性能提升。方法设计合理,实用价值高,为few-shot NER领域提供了有价值的贡献。