一、简介
在uie出来以前,小样本ner主要针对的是英文数据集,目前主流的小样本ner方法大多是基于prompt,在英文上效果好的方法,在中文上不一定适用,其主要原因可能是:
中文长实体相对英文较多,英文是按word进行切割,很多实体就是一个词;边界相对来说更清晰;
生成方法对于长实体来说更加困难。但是随着uie的出现,中文小样本ner 的效果得到了突破。
二、主流小样本ner方法
2.1、entlm
entlm该方法核心思想:抛弃模板,把ner作为语言模型任务,实体的位置预测为label word,非实体位置预测为原来的词,该方法速度较快。模型结果图如图2-1所示:
图2-1 entlm模型
论文重点在于如何构造label word:在中文数据上本实验做法与论文稍有区别,但整体沿用论文思想:下面介绍了基于中文数据的标签词构造过程;
采用领域数据构造实体词典;
基于实体词典和已有的实体识别模型对中文数据(100 000)进行远程监督,构造伪标签数据;
采用预训练的语言模型对计算lm的输出,取实体部分概率较高的top3个词;
根据伪标签数据和lm的输出结果,计算词频;由于可能出现在很多类中都出现的高频标签词,因此需要去除冲突,该做法沿用论文思想;
使用均值向量作为类别的原型,选择top6高频词的进行求平均得到均值向量;
2.2、templatener
templatener的核心思想就是采用生成模型的方法来解决ner问题,训练阶段通过构造模板,让模型学习哪些span是实体,哪些span不是实体,模板集合为:$t=[t+,t+ ...t+,t-]$,t+为xx is aentity,t-为 xx is not aentity,训练时采用目标实体作为正样本,负样本采用随机非实体进行构造,负样本的个数是正样本的1.5倍。推理阶段,原始论文中是 n-gram 的数量限制在 1 到 8 之间,作为实体候选,但是中文的实体往往过长,所以实验的时候是将,n-gram的长度限制在15以内,推理阶段就是对每个模板进行打分,选择得分最大的作为最终实体。
这篇论文在应用中的需要注意的主要有二个方面:
模板有差异,对结果影响很大,模板语言越复杂,准确率越低;
随着实体类型的增加,会导致候选实体量特别多,训练,推理时间更,尤其在句子较长的时候,可能存在效率问题,在中文数据中,某些实体可能涉及到15个字符(公司名),导致每个句子的候选span增加,线上使用困难,一条样本推理时间大概42s
图2-2 templatener抽取模型
2.3、lightner
lightner的核心思想采用生成模型进行实体识别,预训练模型采用 bart通过 prompt 指导注意力层来重新调整注意力并适应预先训练的权重, 输入一个句子,输出是:实体的序列,每个实体包括:实体 span 在输入句子中的 start index,end index ,以及实体类型 ,该方法的思想具有一定的通用性,可以用于其他信息抽取任务。
图2-3 lightner抽取模型
2.4、uie
uie(通用信息抽取框架)真正的实现其实是存在两个版本,最初是中科院联合百度发的acl2022的一篇论文,unified structure generation for universal information extraction,这个版本采用的是t5模型来进行抽取,采用的是生成模型,后来百度推出的uie信息抽取框架,采用的是span抽取方式,直接抽取实体的开始位置和结束位置,其方法和原始论文并不相同,但是大方向相同。
输入形同:uie采用的是前缀prompt的形式,采用的是schema+text的形式作为输入,文本是ner任务,所以schema为实体类别,比如:人名、地名等。
采用的训练形式相同,都是采用预训练加微调的形式
不同点:
百度uie是把ner作为抽取任务,分别预测实体开始和结束的位置,要针对schema进行多次解码,比如人名进行一次抽取,地名要进行一次抽取,以次类推,也就是一条文本要进行n次,n为schema的个数,原始uie是生成任务,一次可以生成多个schema对应的结果
百度uie是在ernie基础上进行预训练的,原始的uie是基于t5模型。
图2-4 uie抽取模型
三、实验结果
该部分主要采用主流小样本ner模型在中文数据上的实验效果。
通用数据1测试效果:
method 5-shot 10-shot 20-shot 50-shot
bert-crf - 0.56 0.66 0.74
lightner 0.21 0.42 0.57 0.73
templatener 0.24 0.44 0.51 0.61
entlm 0.46 0.54 0.56 -
从实验结果来看,其小样本ner模型在中文上的效果都不是特别理想,没有达到bert-crf的效果,一开始怀疑结果过拟了,重新换了测试集,发现bert-crf效果依旧变化不大,就是比其他的小样本学习方法好。
3.1、uie实验结果
uie部分做的实验相对较多,首先是消融实验,明确uie通用信息抽取的能力是因为预训练模型的原因,还是因为模型本身的建模方式让其效果好,其中,bertuie,采用bert作为预训练语言模型,pytorch实现,抽取方式采用uie的方式,抽取实体的开始和结束位置。
领域数据1测试结果(实体类型7类):
预训练模型 框架 f1 epoch
ernie3.0 paddle 0.71 200
uie-base paddle 0.72 100
bert pytorch 0.705 30
从本部分实验可以确定的是,预训练模型其实就是一个锦上添花的作用, uie的本身建模方式更重要也更有效。
领域数据1测试结果(实体类型7类):
5-shot 10-shot 20-shot 50-shot
bert-crf 0.697 0.75 0.82 0.85
百度uie 0.76 0.81 0.84 0.87
bertuie 0.73 0.79 0.82 0.87
t5(放宽后评价) 0.71 0.75 0.79 0.81
领域数据3测试效果(实体类型6类),20-shot实验结果:
bert-crf lightner entlm 百度uie bertuie
f1 0.69 0.57 0.58 0.72 0.69
uie在小样本下的效果相较于bert-crf之类的抽取模型要好,但是uie的速度较于bert-crf慢很多,大家可以根据需求决定用哪个模型。如果想进一步提高效果,可以针对领域数据做预训练,本人也做了预训练,效果确实有提高。
曝光!华为P10零部件透露指纹识别+双摄像头
网课带火激光电视 超9成用户因健康护眼的优势选择了海信激光电视
爱立信发布最新报告,指导制造商如何克服生产力和增速下滑
赛普拉斯公布2018年第二季度财报 总营收再创新纪录
LTE BeamHop有源天线方案
基于中文数据的标签词构造过程
用于物联网(IoT)设计的功耗优化石英晶体
奔驰M级凭什么获得美国IIHS“最高安全评定+”?
inxni导航扫地机器人评测 实用与颜值兼备
HTC Desire C官方图泄露 千元级新机
AMD新卡P12和Vega10现身,吹响反攻NV的号角!
了解单片机串行通信的原理
PoE光纤收发器是什么PoE光纤收发器的介绍和工作原理及应用说明
一种有趣的自旋输运调控机制--自旋分离器
苹果Mac和iPhone亦存在处理器缺陷 将推出补丁并不会影响性能
华为P10售价曝光,HTC蓝宝石版售价超六千,4000+没跑!
韩媒:京东方正加紧产能,力求成为苹果供应商
BLAZE 600蓝光拍照测量系统为汽车零件测量检测提供最佳解决方案
TI bq24078高电压7A大电流电池充电解决方案
博捷芯划片机在LED灯珠EMC支架中切割应用