BILOU标记在命名实体识别中是什么意思?

58

标题基本上概括了问题。我注意到在一些论文中,人们提到了BILOU编码方案,用于命名实体识别,而不是常见的BIO标记方案(例如Ratinov和Roth在2009年的这篇论文http://cogcomp.cs.illinois.edu/page/publication_view/199)。

从处理2003 CoNLL数据的经验来看,我知道

B stands for 'beginning' (signifies beginning of an NE)
I stands for 'inside' (signifies that the word is inside an NE)
O stands for 'outside' (signifies that the word is just a regular word outside of an NE)

虽然有人告诉我BILOU这个词代表着什么意思,

B - 'beginning'
I - 'inside'
L - 'last'
O - 'outside'
U - 'unit'

我也看到过人们提到另一个标签

E - 'end', use it concurrently with the 'last' tag
S - 'singleton', use it concurrently with the 'unit' tag

我对命名实体识别的文献还比较新,但我一直找不到一个清晰地解释这些标签的东西。我特别关注的问题是'last'和'end'标签之间的区别是什么,以及'unit'标签代表什么。


2
你能否在“我也看到人们引用另一个标签”的地方放置参考文献? - Daniel
6个回答

53

根据Clear TK中的一个问题和一个补丁,BILOU似乎代表着“多词块的首个、内部和最后一个单元令牌,以及长度为1的单元令牌和外部”(加粗表示)。例如,由括号标记的块:

(foo foo foo) (bar) no no no (bar bar)

可以使用BILOU进行编码,如下所示:

B-foo, I-foo, L-foo, U-bar, O, O, O, B-bar, L-bar

3
我有一种感觉,似乎使用BIO标签就可以传达完全相同的信息,所以这个变化看起来很奇怪。我猜切换到BILOU是为了提高机器学习算法的性能。请注意,我的翻译不包括解释或其他非翻译内容。 - GrantD71
为真,但 BILOU 边界将隐含在其中。你也可以认为只使用一个标签同样有效。通常,额外的标签可提供更多有用的信息以解释问题边缘情况。 - Nathan McCoy
仅使用一个“非输出”标签,即仅使用(I)内部和(O)外部,不足以区分后续实体,例如no (foo bar)(baz)no = O I I I O = no (foo bar baz) no - Tobias Uhmann
是的,但没有人说你只能使用IO,对吧? OP说BIO等同于BILOU。而且你的例子仍适用于BIO。我也没有看出太大的区别(关于它们应该是等价的信息)。Vladislav的实验证明了这一点。 - Marcel Braasch

15

我想分享一些比较BIO和BILOU标注方案的经验。我的实验只在一个数据集上进行,可能不太具有代表性。

我的数据集包含大约35,000个短话语(2-10个单词),并用11个不同的标签进行标注。换句话说,有11个命名实体。

使用的特征包括单词、左右2元组、1-5个字符的ngram(除了中间的字符)、形状特征等。少数实体也支持地名词典。

我将数据集洗牌并分成80/20两份:训练和测试。这个过程重复了5次,对于每个实体,我记录了精确率、召回率和F1度量值。性能是以实体级别而不是像Ratinov & Roth, 2009论文中的标记级别来衡量的。

我用CRFSuite软件训练模型。我用L-BFGS求解器,c1=0,c2=1。

首先,对于5个交叉验证结果进行的测试结果非常相似。这意味着从运行到运行的变异很小,这是好事。其次,BIO方案的表现与BILOU方案非常相似。如果有任何显著差异,可能是在精确率、召回率和F1度量值的小数点后第三或第四位。

结论:在我的实验中,BILOU方案并不比BIO方案更好(但也不更差)。


4
B = Beginning
I/M = Inside / Middle
L/E = Last / End
O = Outside
U/W/S = Unit-length / Whole / Singleton

BILOU和IOBES以及BMEWO是相同的。
Cho等人比较了不同的IO、IB、IE、IOB、IOBES等标注变体的性能。详情请参见https://www.academia.edu/12852833/Named_entity_recognition_with_multiple_segment_representations
还有一种叫做BMEWO+的方法,它在Outside标记中提供了更多关于周围词类的信息(因此称为"O plus")。详细信息请参见https://web.archive.org/web/20170805150451/https://lingpipe-blog.com/2009/10/14/coding-chunkers-as-taggers-io-bio-bmewo-and-bmewo/

2
这只是为你的标签提供更多上下文信息,说明实体的哪个部分。
 BILOU Method/Schema

 | ------|--------------------|
 | BEGIN | The first token    |
 | ------|--------------------| 
 | IN    | An inner token     |
 | ------|--------------------|
 | LAST  | The final token    |
 | ------|--------------------|
 | Unit  | A single-token     |
 | ------|--------------------|
 | Out   | A non-entity token |
 | ------|--------------------|

BIOES

一种更复杂的注释方法区分了命名实体的结尾和单个实体。此方法称为BIOES,即Begin(开始),Inside(内部),Outside(外部),End(结束),Single(单个)。


IOB(例如CoNLL 2003)

IOB(或BIO)代表Begin(开始),Inside(内部)和Outside(外部)。标记为O的单词位于命名实体之外。


有关更详细的信息,请查看以下链接

    URL : https://en.wikipedia.org/wiki/Inside%E2%80%93outside%E2%80%93beginning_(tagging)

    URL :https://towardsdatascience.com/deep-learning-for-ner-1-public-datasets-and-annotation-methods-8b1ad5e98caf

谢谢!虽然没有被接受,但我认为这是最好的答案。B、I、L = 以一种允许分离两个连续实体的方式识别实体; O = 识别非实体; U = 识别长度为1的实体(也就是B=L且没有I)。 - Guy Rapaport

1
  • B - '开始'
  • I - '内部'
  • L - '最后'
  • O - '外部/其他'
  • U - '单字节'

1

BIOBILOU相同,但有以下几点不同:

  1. BILOU中,特定的I“簇”中最后一个I标签将被转换为L。 例如:
BIO - B-foo, I-foo, I-foo, O, O, O, B-bar, I-bar
BILOU - B-foo, I-foo, L-foo, O, O, O, B-bar, L-bar

在BILOU中,任何独立的标记都会转换为一个U标记。例如:
BIO - B-foo, O, O, O, B-bar
BILOU - U-foo, O, O, O, U-bar

以下是以BIOBILOU标记表示的相同标签集合:

BIO - B-foo, I-foo, I-foo, O, O, B-bar, I-bar, O, B-bar, O
BILOU - B-foo, I-foo, L-foo, O, O, B-bar, L-bar, O, U-bar, O

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接