NIL的命名实体识别-长实体的问题
NER任务中,如果某一类实体span比较长(⽐如医疗NER中的⼿术名称是很长的),直接采取CRF解码可能会导致很多连续的实体span断裂,出现破键的问题,面对这个问题,我们应该怎么解决呢?笔者尝试着归纳了以下方法:
1、规则修正
将手术名内的名称转化为符号,比如 胃部分切除术->部位+动作+术,然后后期利用规则合并。
场景:专有名次为–胃部分切除术、胆囊切除术、腰椎管减压术。
方法:在训练ner模型时,可以将一类专业名词改写成一个符号表示,然后后期利用规则合并。
具体操作:
胃部分、胆囊、腰椎管…是身体某一部位,可用符号表示;
切除,减压…是一组动作,可用符号表示;
把专业名词拆分成 部位+动作+术 的形式,然后后期利用规则合并。
转化后:
xx胃部分切除术xx,标注:[OOBIIOO]
2、指针网络
引入指针网络+CRF构建多任务学习。指针网络会更容易捕捉较长的span,不过指针网络的收敛是较慢的,可以对CRF和指针网络设置不同学习率,或者设置不同的loss权重