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的原因。

相关推荐
腾视科技1 天前
让安全驾驶有“AI”相伴|腾视科技DMS视频监控一体机,守护每一次出行
人工智能·科技·安全
桃子叔叔1 天前
从0到1讲解大模型中的关键步骤(一)分词、词性标注、命名实体识别
人工智能·大模型·多模态
ARM+FPGA+AI工业主板定制专家1 天前
【JETSON+FPGA+GMSL】实测分享 | 如何实现激光雷达与摄像头高精度时间同步?
人工智能·数码相机·机器学习·fpga开发·机器人·自动驾驶
Nina_7171 天前
Google提示词白皮书总结(2)
人工智能·python
fakerth1 天前
【OpenHarmony】AI引擎模块架构
人工智能·架构·openharmony
综合热讯1 天前
湖南粒界教育科技有限公司:专注影视技能培养,AI辅助教学提升学员就业竞争力
人工智能·科技
ImAlex1 天前
实测PaddleOCR-VL:文心4.5最强衍生模型如何重构文档处理效率
人工智能·aigc
武子康1 天前
AI-调查研究-105-具身智能 机器人学习数据采集:从示范视频到状态-动作对的流程解析
人工智能·深度学习·机器学习·ai·系统架构·机器人·具身智能
算力魔方AIPC1 天前
Spec-Kit+Copilot打造AI规格驱动开发
人工智能·驱动开发·copilot
拓端研究室1 天前
视频讲解|Python遗传算法GA在车辆路径规划VRP数据优化中的应用
开发语言·人工智能·r语言