NER综述
一、NER任务分类
NER任务分成三大类
flat ner:传统的NER,实体之间彼此不重合;
nested ner:嵌套NER,实体之间存在部分重合甚至完全嵌套的情况;
discontinous ner:非连续NER,单个实体由多个不连续的文本片段组成;
二、标注模式
NER的标注模式(tagging schema)有BIO和BMES两种。
第一种:
"B-ORG":组织或公司(organization)
"I-ORG":组织或公司
"B-PER":人名(person)
"I-PER":人名.
"O":其他非实体(other)
"B-LOC":地名(location)
"I-LOC":地名
第二种:
定义 全称 备注
B Begin 实体片段的开始
I Intermediate 实体片段的中间
E End 实体片段的结束
S Single 单个字的实体
O Other/Outside 其他不属于任何实体的字符(包括标点等)
三、相关算法
算法1、lattice系列: FLAT:Lattice+transformer
FLAT来自于复旦大学邱锡鹏老师团队,发表于ACL2020,在当时刷新了中文NER任务的新SOTA。FLAT的基本思想来源于Lattice-LSTM,Lattice-LSTM采取的RNN结构无法捕捉长距离依赖,同时引入词汇信息是有损的,同时动态的Lattice结构也不能充分进行GPU并行。
相关实验表明,FLAT 有效的原因是:新的相对位置 encoding 有利于定位实体 span,而引入词汇的 word embedding 有利于实体 type 的分类。
为解决计算效率低下、引入词汇信息有损的这两个问题,FLAT基于Transformer结构进行了两大改进:
改进1:Flat-Lattice Transformer,无损引入词汇信息
FLAT设计了一种巧妙position encoding来融合Lattice 结构,具体地情况如上图所示,对于每一个字符和词汇都构建两个head position encoding 和tail position encoding,这种方式可以重构原有的Lattice结构。
改进2:相对位置编码,让Transformer适用NER任务
参考:
https://mp.weixin.qq.com/s?src=11×tamp=1660127164&ver=3974&signature=cIWWfB7WXzMytQZ4A09eCmghT2Cl3MqFgQ89YCCuv-9d9N8Hc3w8xVcoXrDyOIWSEq7lpGs9KJgWnU5-AtRssnNvTP3stN8oU8b*6auB5mSQB-nQMAWl1sA-RBw61E&new=1