1. 命名实体识别
1.1 序列标注
序列标注(Sequence Labeling)是NLP中最基础的任务之一,其应用十分广泛。它指的是对给定的序列(如文本中的单词或字符)中的每个元素进行标注,以识别出该元素在序列中的特定角色或属性。
1.2 命名实体识别
命名实体识别(Named Entity Recognition, NER)是序列标注任务中的一种,旨在从文本中识别并分类特定的实体。识别的实体通常包括人名、地名、机构名、时间、日期、货币等。这种识别在许多实际应用中非常重要,如信息提取、自动问答、机器翻译和文本摘要。
2. 利用Bert微调模型进行命名实体识别
2.1 BIO标记
BIO标记法是命名实体识别中的一种常用数据标注方案,用于标记文本中每个单词的标签,明确它是属于实体的哪部分。BIO 标记法通过B-、I- 和O三个前缀来表示命名实体的边界和结构:
B-(Begin)
:表示命名实体的开头。例如,B-PER表示人名实体的第一个单词。I-(Inside)
:表示命名实体的内部部分。例如,I-PER 表示人名实体中非首字的单词。O(Outside)
:表示这个单词不属于任何命名实体。
BIO标记方法中通常包含:PER(人名)
、ORG(组织名)
、LOC(地名)
和MISC(事件、产品、国籍、语言)
2.2 数据集介绍
这里使用NER任务中常用的数据集:CoNLL-2003,该数据集最早由 CoNLL(Conference on Computational Natural Language Learning)共享任务发布,广泛应用于自然语言处理中的 NER 任务。该数据集中训练集共14041条,验证集共3250条,测试集共3453。训练集中的数据如下:
{
"chunk_tags": [11, 12, 12, 21, 13, 11, 11, 21, 13, 11, 12, 13, 11, 21, 22, 11, 12, 17, 11, 21, 17, 11, 12, 12, 21, 22, 22, 13, 11, 0],
"id": "0",
"ner_tags": [0, 3, 4, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
"pos_tags"