命名实体识别(NER)综述

1. NER介绍

1.1 理论

命名实体识别(NER)是自然语言处理领域的核心技术之一,它的目标是从一段非结构化文本中识别出属于特定类别的命名实体,进而支持下游任务。例如,为了接入地图搜索服务API,查询POI信息,我们从“我要去北京市北三环西路”中,识别出市辖区类“北京市”和道路类“北三环西路”这两个实体,并作为参数值传入搜索服务API(这一步骤被称为填槽),搜索完成后可获取对应的查询结果。

1.2 常见命名实体

在公开NER语料中,命名实体类别以“时间TIME、地名LOC、人名PER、机构ORG”最为常见。

不同领域的语料可能包含不同类型的命名实体。在语料构建阶段,命名实体的设计应该结合考虑语料的来源和应用场景。例如智能导航领域,可包含如下命名实体:

表1 智能导航领域命名实体
命名实体 命名实体含义
ROAD 道路
HOTEL 酒店
DISTRICT 行政区/市辖区
ADDRESS POI地址
PARK 公园
RESTAURANT 饭店
POI_ GENERIC POI
CHARGING 充电桩/充电站
POI_TYPE POI类别

1.3 标注方案

传统的NER解决方法是序列标注,也就是为文本序列中的每个字标注其所属的命名实体类别。由于一个命名实体通常由多个字组合而成,例如”北 京 市”组成一个DISTRICT实体;并且存在两个同类别命名实体连续出现的情况,例如“北京市 海淀区”是两个DISTRICT实体,所以在实际应用时,通常采用特殊字母来帮助人们判断命名实体的开始与结束。在不同的标注方案下,特殊字母的含义不同,如下:

  • BIO标注方案

    B 表示Begin,命名实体的第一个字
    I 表示 Inside,命名实体中除了第一个字以外的其他字
    O 表示 Outside,不属于命名实体

    由此,语料就可以确定了,如下示例:

    我	O
    要	O
    去	O
    北	B-DISTRICT
    京	I-DISTRICT
    市	I-DISTRICT
    北	B-ROAD
    三	I-ROAD
    环	I-ROAD
    西	I-ROAD
    路	I-ROAD
    
    北	B-DISTRICT
    京	I-DISTRICT
    市	I-DISTRICT
    海	B-DISTRICT
    淀	I-DISTRICT
    区	I-DISTRICT
    
  • BIOES标注方案

    B 表示Begin,命名实体的第一个字
    I 表示Inside,命名实体中除了第一个字和最后一个字以外的其他字
    O 表示Outside,不属于命名实体
    E 表示End,命名实体的最后一个字
    S 表示Single,仅由一个字组成的命名实体

    由此,语料就可以确定了,如下示例:

    我	O
    要	O
    去	O
    北	B-DISTRICT
    京	I-DISTRICT
    市	E-DISTRICT
    北	B-ROAD
    三	I-ROAD
    环	I-ROAD
    西	I-ROAD
    路	E-ROAD
    
    北	B-DISTRICT
    京	I-DISTRICT
    市	E-DISTRICT
    海	B-DISTRICT
    淀	I-DISTRICT
    区	E-DISTRICT
    

1.4 数据集

本文整理了中文NER语料,以备下次接触NER任务时快速开始研究和实战,也希望能够帮助各位读者朋友减少语料准备的时间投入。

领域 语料 样本个数 实体类别示例 语料简介 数据地址
通用 MSRA 46k PER, ORG, LOC MSRA微软亚洲研究院开源命名实体识别数据 数据下载
通用 Ontonotes 15k 由英语、汉语和阿拉伯语组成,涵盖新闻、电话对话、网络日志、usenet新闻组、广播、脱口秀 数据下载
新闻 人民日报NER 23k PER, ORG, LOC 1998年人民日报的实体标注语料 数据下载
玻森Boson NER 2k company_name, product_name 由玻森中文语义开放平台提供 数据下载
微博 weibo 1890 PER.NAM, LOC.NAM 包含2013 年11 月至2014 年12月期间从微博中采样的1,890 条博文 数据下载
简历 resume 4k TITLE, NAME, CONT 随Lattice LSTM论文一同发布,从新浪财经爬取,收录了中国股市上市公司高管的简历 数据下载
新闻 CLUENER 2020 10k organization, name, position 中文细粒度命名实体识别数据集,在清华大学开源的文本分类数据集THUCTC基础上,选出部分数据进行细粒度命名实体标注,原数据来源于Sina News RSS. 数据下载
电子病历 CCKS2017-Task2 800 身体部位;疼痛 由清华大学知识工程实验室,微软亚洲研究院,北京极目云健康科技有限公司提供,数据来源于其云医院平台的真实电子病历数据 详细介绍

数据下载
音乐 CCKS2018-Task2 15k song;artist 主要来自人机对话系统中音乐领域以及非音乐领域的真实用户utterance请求记录 数据下载
口语理解 NLPCC-Task4 20k music.play, navigation.start_navigation, phone_call.make_a_phone_call 采集自一个商用的任务型对话系统的线上数据,实体所属领域包括音乐、导航、电话 数据下载

1.5 评测指标

通常,正确的命名实体识别结果,既要确保实体边界正确,也要确保实体类型正确。实体边界和分词类似,找到实体的开始和结束,如果把实体“中关村SOHO”识别为“中关村”和“SOHO”两个实体,就发生了边界错误。而实体类型是分类结果,是命名实体所属的类别,例如“中关村SOHO”的正确实体类型是POI_GENERIC。

命名实体识别任务的常用评测指标是准确率P、召回率R、F1分值。具体计算又分为micro和macro,前者是直接计算所有样本的评测指标,更常用;后者是分别计算每个类别所属样本的评测指标,再求平均值,使得样本数较少的类别的正确与否变得“重要”起来,因此更适用于类别不均衡的数据集(不均衡的命名实体识别语料很常见)。

以下以Presion的计算公式,举例说明micro和macro的不同之处:
m i c r o P = 正确数量 样本总数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunnyGJing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值