什么是用于创建自定义 NER 命名实体识别的 BIO 标签?

数据挖掘 nlp 命名实体识别
2021-10-15 01:40:24

我想创建自定义命名实体识别 (NER),但我对 BIO 标签是什么感到困惑。谁能解释一下创建NER的步骤以及这个B、I、O标签。

2个回答

这很容易。您需要使用 B(开始)、I(内部)和 E(结束)来标记短语。例如,您想将“美国”标记为一个国家/地区的名称。您将标记喜欢:

United(B_Country) States(I_Country) of(I_Country) America(E_Country)

在同一文本中,如果您找到“伊朗伊斯兰共和国”,您将标记喜欢:

Islamic(B_Country) Republic(I_Country) of(I_Country) Iran(E_Country)

此外,您将标记“英国”喜欢:

United(B_Country) Kingdom(E_Country)

因此,对于标签集中的每个标签,您将在标记中拥有三个标签,即 B_LabelName、I_LabelName 和 E_LabelName。

请注意,在某些标记系统中,也使用 from I_LabelName 而不是 E_LabelName。

现在,什么是“O”?在某些情况下,短语的所有部分不在标签中,而是在短语的中间,我们需要说它在标签之外(“O”)。例如,在文本分析中,我们要从国名中取出“of”。因此,我们将标记“美利坚合众国”,如下所示:

United(B_Country) States(I_Country) of(O_Country) America(E_Country/I_Country)

BIO 标记:用于在计算语言学中的分块任务中标记标记的通用标记格式。BIO / IOB 格式(内部、外部、开始的缩写)是一种常见的标记格式,用于在计算语言学中的分块任务中标记标记(例如命名实体识别)。标签前的 B- 前缀表示标签是块的开始,标签前的 I- 前缀表示标签在块内。只有当一个标签后面跟着一个相同类型的标签,它们之间没有 O 标记时,才使用 B- 标签。O 标记表示令牌不属于任何实体/块。

您可以使用 flair 库 ( https://github.com/flairNLP/flair ) 来学习您自己的自定义 NER 模型,这在文献中也称为序列标记。参考:https ://medium.com/thecyphy/training-custom-ner-model-using-flair-df1f9ea9c762