序列标注的几种方案

引入

对于实体识别, 关键词提取, 词性标注等等序列标注任务, 如果使用以下的简单的标注方案:

  • 对于关键词提取任务, 将关键词对应的每个字标注为I, 其他所有标注为O

  • 对于实体识别:

    • 如果只识别一种实体, 将实体对应的每个字标注为I, 其他所有标注为O

    • 如果同时识别多种实体, 对于每种实体使用单独的标签类别进行标注, 其他的标注为O

如果采用以上的标注方案, 在结果上就将每个字孤立起来了. 实际上标注任务, 字与字之间有着密切的关系, 如果将字分开, 独立考虑, 将会很大的降低模型的质量.

常用的序列任务标注方案有以下几种.

BIO

每个元素被标注为三种:

  • B: 元素为某片段的第一个元素, 例如标注中文人名NR, B-NR表示人名的第一个字

  • I: 元素为某片段的中间元素, 即除第一个元素外的任意位置的元素. I-NR可以标注在人名中除第一字的任意位置

  • O: 非特殊片段中的元素. 对于人名标注任务, 即为非人名的其他字

另外, 如果序列标注任务同时识别多种特殊片段, 如同时识别人名NR和地名NS, 就会有B-NRB-NS这样的存在.

具体来说, 对于实体识别任务, 如果同时识别两种实体, 在采用BIO标注体系时, 每种实体对应着两种标注, 再加上不属于这两种实体的标注O, 共需要使用5中标注标签.

BMSE

BMSE标注体系也称为BIOES标注体系, 两者是完全等价的. 这种体系是BIO的升级版, 标注更细致. 以实体识别为例:

  • B: 实体的第一个元素(字)

  • M / I: 实体的中间元素

  • E: 实体的最后一个元素

  • S: 单元素(字)成实体

  • O: 不属于实体的一部分

这样的标注体系更详细, 但同时标注时需要花费更多的功夫.

与BIO相同, 同时对多种实体进行标注时, 每种实体都对应着自己的BMSE, 最终标注的总类别数量与实体的种类成正比.

参考资料

最后更新于

这有帮助吗?