三十二、命名实体识别概述
一、命名实体识别概述
1.1 命名实体识别的概念
命名实体识别(Named Entity Recognition,NER)就是从一段自然语言的文本中找出相关实体,并标注其位置及类型。所谓的命名实体一般指的是文本中具有特定意义或者指代性强的实体,通常包括人名、地名、机构名、日期时间和专有名词等。下图给出了NER具体的示例,示例中的命名实体用特殊的颜色表示,比如地名、日期和时间。
目前,NER的研究主要分为工业界和学术界,两者的侧重点不同。在学术界中,NER一般包括3大类(实体类,时间类,数字类)和7小类(人名、地名、组织机构名、时间、日期、货币、百分比);在工业界中,NER模型通常只要识别出人名、地名、组织机构名、日期时间即可,一些系统还会给出专有名词结果(比如缩写、会议名、产品名等)。另外,在一些应用场景下会给出特定领域内的实体,如书名、歌曲名、期刊名等。
1.2 NER的标注方法
通常情况下,进行NER需要对每个字进行标注,中文为单个字,英文为单词,并按照空格分割。下图给出了标注实体的标签类型及其释义。
其中标签类型I和M都可以表示实体的中间,在实际的案例中,选用哪种标注方式都可以。NER中常见的标注方法以下几种:
-
三位序列标注法(BIO)
在BIO标注方法中,B表示实体的开始,I表是实体的中间或结尾,O不属于任何类型的实体。假设我们有这样一个句子:“张三出生于中国河南。”我们使用BIO的标注方法可以表示为如下形式。
其中B-PER表示人名的开始,I-PER表示人名的中间或结尾,而B-NS表示地名的开始,I-NS表示地名的中间或结尾。
-
四位序列标注法(BIEO)
在BIEO标注方法中,B表示实体的开始,I表是实体的中间,E表是实体的结尾,O不属于任何类型的实体。对上述的句子使用BIEO的标注方法可以表示为:
其中B-PER表示人名的开始,I-PER表示人名的中间,E-PER表示人名的结尾,而B-NS表示地名的开始,I-NS表示地名的中间,E-NS表示人名的结尾。在上述的标注方法中,同样也可以使用M代替I表示实体中间,我们将这种标注方法称为BMO或BMEO。
二、HMM模型命名实体识别的原理和步骤
2.1 HMM模型的概念和原理
隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。一个包含N个状态的HMM模型可以由参数λ=(N, M, π, A, B)进行描述, 其中:
- N:表示状态的集合,在词性标注中,可以表示为每个词对应的词性标注;
- M:表示观察值的有限集合,每个句子对应的单词;
- π:初始状态概率矩阵,句子中每一个词的先验概率;
- A:状态转移概率矩阵,一个词性转移到下一个词性的概率;
- B:观测概率矩阵,在某个词性标注下,生成某个单词的概率。
HMM模型包含两部分,一是马尔可夫链,由参数A描述,它利用一组与概率分布相联系的状态转移的统计对应关系,这个过程产生的输出为状态序列。如下图所示的状态1到状态6的产生的序列。
二是一个随机过程,描述状态与观察值之间的统计关系,用观察到的序列来描述隐含的状态,由参数B描述,其产生的输出为观察值序列 O=(O1,O2,…,O6) 。
2.2 NER的HMM模型
NER的任务是根据输入的文本,预测文本中包含的实体,同样属于解码问题。因此,我们详细介绍解码问题。已知模型参数 λ=(π, A, B)和观测序列 O=(O1,O2,…,OT) ,对于给定的观测序列,能够使条件概率P(O|λ)最大的的状态序列I=(i1,i2,…,iT)。即给定观测序列,求最有可能的对应的状态序列,即如下公式所示。
在NER的任务中,我们可以将观测序列O理解为输入的文本, 状态序列I为句子对应的标注序列,即输入文本对应的实体标注。