序列标注一般采用两种模式BIO和BIOES
标签说明
标签方案中通常都使用一些简短的英文字符[串]来编码。
标签是打在token上的。
对于英文,token可以是一个单词(e.g. awesome),也可以是一个字符(e.g. a)。
对于中文,token可以是一个词语(分词后的结果),也可以是单个汉字字符。
为便于说明,以下都将token试作等同于字符。
标签列表如下:
B,即Begin,表示开始
I,即Intermediate,表示中间
E,即End,表示结尾
S,即Single,表示单个字符
O,即Other,表示其他,用于标记无关字符
常见标签方案
基于上面的标签列表,通过选择该列表的子集,可以得到不同的标签方案。同样的标签列表,不同的使用方法,也可以得到不同的标签方案。
以前的较为流行的标签方案有如下几种:
IOB1: 标签I用于文本块中的字符,标签O用于文本块之外的字符,标签B用于在该文本块前面接续则一个同类型的文本块情况下的第一个字符。
IOB2: 每个文本块都以标签B开始,除此之外,跟IOB1一样。
IOE1: 标签I用于独立文本块中,标签E仅用于同类型文本块连续的情况,假如有两个同类型的文本块,那么标签E会被打在第一个文本块的最后一个字符。
IOE2: 每个文本块都以标签E结尾,无论该文本块有多少个字符,除此之外,跟IOE1一样。
START/END (也叫SBEIO、IOBES): 包含了全部的5种标签,文本块由单个字符组成的时候,使用S标签来表示,由一个以上的字符组成时,首字符总是使用B标签,尾字符总是使用E标签,中间的字符使用I标签。
IO: 只使用I和O标签,显然,如果文本中有连续的同种类型实体的文本块,使用该标签方案不能够区分这种情况。
其中最常用的是IOB2、IOBS、IOBES。
现在的常用标签方案
IOB 标注法
IOB 标注法, 是 CoNLL 2003 采用的标注法, I 表示 inside, O 表示 Outside, B 表示 Begin。而标注的 label是 I-XXX 的, 表示这个字符, 在 XXX类命名实体的内部(inside)。B用于标记一个命名实体的开始。
比如:
Tom B-PER
hanks I-PER
is O
my O
name O
BIOES
这是在 IOB方法上,扩展出的一个更复杂,但更完备的标注方法。其中 B表示这个词处于一个实体的开始(Begin), I 表示内部(inside), O 表示外部(outside), E 表示这个词处于一个实体的结束为止, S 表示,这个词是自己就可以组成一个实体(Single)
BIOES 是目前最通用的命名实体标注方法。