跳至内容
- 来源:ACL 2021 长文
- 机构:刘知远
- 任务:小样本 NER
- 这篇文章发布了一个数据集,做 Few-shot NER,其中实体类别分成了粗粒度(8类)和细粒度(66类),且类别分布还算均匀,长尾效应不显著,适合 Few-Shot;整体规模也是世界最大的 NER 数据集,有 18 万句子,50 万实体。
- 里面包含三个任务:
- FEW-NERD (SUP):就是普通的有监督学习任务,所有实体类型都会出现在 train/dev/test
- FEW-NERD (INTRA):train/dev/test 细粒度的实体类别不一样,而且粗粒度的实体类别也不一样
- FEW-NRTD (INTER):train/dev/test 细粒度的实体类别不一样,粗粒度是打散的
- 上面 FSL 分成两个任务是因为,粗粒度的实际上代表了某种 domain knowledge,intra 任务才更能代表 transfer learning
- 由于一句话有很多 entity type,硬选 n-way k-shot 有点困难,因此这篇文章选了 n-way k~2k-shot,也是基于贪心的算法
- 数据集的 schema 来自 FIGER,删去了时间数字相关的实体类别,又加上了比如“GPE 地址”“scholar”的粗或细的实体类型
- 抽取的是 paragraph 级别,平均长度 61.3 token,其实就是句子级(?)
- 在 FSL 的时候,dev 如果出现了 train 的 entity type, 就设成 O;test 出现 train/dev 的,也设成 O。这是符合直觉的
- 实验
- baseline:有监督学习就是 BERT+线性层,FSL 有用 BERT 表示 proto 的,和一个基于最近邻的 SOTA NNshot StructShot (发现之前写过 笔记,都忘了读过这篇文章了)
- 使用 IO 标注
- 即使是有监督学习,由于细粒度,性能也不好(f1 68.88)
- 小样本性能都好烂,这 baseline 也太低了?这是在吸引大家刷榜?
- 7.3 部分我没有看明白,一行的 error 加一起就是全部的 error 吗?似乎也不是这样。文章里说,对于 token 来说,IO 分的还不错,但是 entity 里面一个 token 错就全错了,这不行,这是巨大的挑战