SEE-Few: Seed, Expand and Entail for Few-shot Named Entity Recognition

原文链接:

https://aclanthology.org/2022.coling-1.224.pdf

ACL 2022

介绍

问题:

目前few-shot NER方法侧重于使用目标领域的其他数据集进行充分训练后,迁移到同领域下目标数据集,但当目标领域中没有可用数据时,这种方法就会失效。

IDEA:

因此作者提出了一个新型的多任务学习框架SEE-Few(seedexpandentail),用于解决源域没有数据的情况。其中seed和expand模块负责提供准确的spans给entail模块,entail模块将sapn分类任务视为文本蕴含任务对spans进行分类。

方法

模型的整体结构如下所示:

模型主要方法如下:

1)首先使用文本中质量较高的单字或双字词作为seed,然后对其进行expand作为候选span;

2)将span的分类问题视为文本蕴含任务,从而自然地纳入实体类型的信息。例如:"J. K. Rowling is a British author."中的"J. K. Rowling"可能时一个person类的实体或者是一个非实体,将原句作为一个前提,"J. K. Rowling is a person" "J. K.Rowling is not an entity"作为假设,如此一来实体分类问题就转换为了哪个假设为真的问题,作者认为将分类任务转化为文本蕴含任务增加了训练数据,有利于低资源的ner;

Seeding

给定一个输入文本,单词和词组的集合表示为。该模块主要是为了找到与实体重叠并可能扩展为命名实体的单词或双词,因此对于每个都要计算seed score(其为种子的分数),将分数高于阈值进行expand。

计算公式如下所示,其中表示第i个token经过bert得到的表征:

为了训练seeding model,作者构建了词组与其seed socre的数据集,seed socre的分数基于IoF来进行计算,A表示某个词组,B表示一个真实的实体span。

Expanding

expand是学习seed与其最近实体之间边界偏移的回归任务,seed的左右边界最多可偏移,即最大实体长度为2+2r,比如seed 最大可扩展为:

但如果直接使用作为的窗口大小,就没办法获取到最长span的边界信息,即的窗口大小应该大于

通过窗口内的上下文信息和本身来得到偏移,并基于该偏移得到新的span边界

最后生成用于分类的所有候选span。

Entailing

对于第i个候选sapn ,通过以下规则构建entailment pair

送入同一个encoder来获取[cls] token的表征,进行分类:

另外,在训练时,为了保证所有ground-truth实体都能被学习到,作者在span候选集C中都加入了ground-truth。

Training Objective

seed、expand模块的损失如下:

在entail 模块中,由于负样本的数量远多于正样本,作者使用了focal loss来解决样本不均衡问题(是focal loss 的focus参数):

最终的loss为:

实验

对比实验

在不同数量样本(K表示每一类别的样本个数)下进行实验(对比模型的结果是作者在同一设置下结果,即只在目标数据集上进行训练),结果如下所示:

消融实验

作者对模型的主要模块进行了实验,结果如下所示:

w/o seeding:表示移除了seeding模块,直接枚举所有的单字词和词组作为seed;

w/o expanding:直接将seed作为候选span,不再进行expand;

w/o entailing:将候选span使用一个多类别分类器进行分类;这个模块的消融实验时对模型效果影响最大的,因此可以看出在低资源ner上,使用entail任务来代替分类能够带来较好的效果。

作者对生成候选span的数量也进行了消融实验:

结论

第一次看论文看得胆战心惊的!这跟我之前的想法有点撞了,很悲伤!

整体框架还比较简单,作者通过一个在手动构建的数据集上训练好的MLP来生成span seed有点麻烦,不太优雅。不过从实验结果可以看出这种方式生成的seed效果也还不错;将span分类任务视为文本蕴含来做,也算是比较新的一个点,实验也可以看出这种方法比直接将span进行多类别分类要好很多,但是也不知道是不是few-shot的原因。

相关推荐
ONEYAC唯样6 分钟前
“在中国,为中国” 英飞凌汽车业务正式发布中国本土化战略
大数据·人工智能
mozun202012 分钟前
产业观察:哈工大机器人公司2025.4.22
大数据·人工智能·机器人·创业创新·哈尔滨·名校
-一杯为品-14 分钟前
【深度学习】#9 现代循环神经网络
人工智能·rnn·深度学习
硅谷秋水17 分钟前
ORION:通过视觉-语言指令动作生成的一个整体端到端自动驾驶框架
人工智能·深度学习·机器学习·计算机视觉·语言模型·自动驾驶
Java中文社群39 分钟前
最火向量数据库Milvus安装使用一条龙!
java·人工智能·后端
亿牛云爬虫专家1 小时前
深度学习在DOM解析中的应用:自动识别页面关键内容区块
深度学习·爬虫代理·dom·性能·代理ip·内容区块·东方财富吧
豆芽8191 小时前
强化学习(Reinforcement Learning, RL)和深度学习(Deep Learning, DL)
人工智能·深度学习·机器学习·强化学习
山北雨夜漫步1 小时前
机器学习 Day14 XGboost(极端梯度提升树)算法
人工智能·算法·机器学习
yzx9910131 小时前
集成学习实际案例
人工智能·机器学习·集成学习
CodeJourney.1 小时前
DeepSeek与WPS的动态数据可视化图表构建
数据库·人工智能·信息可视化