命名实体是命名实体识别的研究主体,一般包括3大类(实体类、时间类和数字类)和7小类(人名、地名、机构名、时间、日期、货币和百分比)命名实体。 其中数量、时间、日期、货币等实体识别通常可以采用模式匹配的方式获得较好的识别效果,相比之下人名、地名、机构名较复杂,因此近年来的研究主要以这几种实体为主。
评判一个命名实体是否被正确识别包括两个方面:实体的边界是否正确;实体的类型是否标注正确。主要错误类型包括文本正确,类型可能错误;反之,文本边界错误,而其包含的主要实体词和词类标记可能正确。
中文命名实体识别,由于分词等因素的影响难度较大,其难点主要表现在如下几个方面:
(1)命名实体类型多样,数量众多,不断有新的命名实体涌现,如新的人名、地名等,难以建立大而全的姓氏库、名字库、地址库等数据库。
(2)命名实体构成结构比较复杂,并且某些类型的命名实体词的长度没有一定的限制,不同的实体有不同的结构,比如组织名存在大量的嵌套、别名、缩略词等问题,没有严格的规律可以遵循;人名中也存在比较长的少数民族人名或翻译过来的外国人名,没有统一的构词规范。因此,对这类命名实体识别的召回率相对偏低。
(3)在不同领域、场景下,命名实体的外延有差异,存在分类模糊的问题。不同命名实体之间界限不清晰,人名也经常出现在地名和组织名称中,存在大量的交叉和互相包含现象,而且部分命名实体常常容易与普通词混淆,影响识别效率。在个体户等商户中,组织名称中也存在大量的人名、地名、数字的现象,要正确标注这些命名实体类型,常常要涉及上下文语义层面的分析,这些都给命名实体的识别带来困难。
(4)在不同的文化、领域、背景下,命名实体的外延有差异。对命名实体的定界和类型确定,目前还没有形成共同遵循的严格的命名规范。
(5)命名实体识别过程常常要与中文分词、浅层语法分析等过程相结合,分词、语法分析系统的可靠性也直接决定命名实体识别的有效性,使得中文命名实体识别更加困难。
命名实体识别的主要技术方法分为:基于规则和词典的方法、基于统计的方法、二者混合的方法,基于深度学习算法,以及深度学习算法和传统的统计学习方法相结合的方法。
基于统计的学习方法有:隐马尔可夫模型(HiddenMarkovMode,HMM)、最大熵(MaxmiumEntropy,ME)、支持向量机(Support VectorMachine,SVM)、条件随机场( ConditionalRandom Fields,CRF)等。
这4种学习方法,各有优缺点;
- 最大熵模型结构紧凑,具有较好的通用性,主要缺点是训练时间复杂性非常高,有时甚至导致训练代价难以承受,另外由于需要明确的归一化计算,导致开销比较大。
- 条件随机场为命名实体识别提供了一个特征灵活、全局最优的标注框架,但同时存在收敛速度慢、训练时间长的问题。
- 隐马尔可夫模型在训练和识别时的速度要快一些,主要是由于在利用Viterbi算法求解命名实体类别序列的效率较高。
综上所述,一般说来,最大熵和支持向量机在正确率上要比隐马尔可夫模型高一些。隐马尔可夫模型更适用于一些对实时性有要求以及像信息检索这样需要处理大量文本的应用,如短文本命名实体识别。
目前,深度学习模型主要有CNN和RNN等,在命名实体识别方面,CNN模型主要能够提取文本或者句子的结构特征,而RNN模型主要是提取文本中相关命名实体长依赖的问题,所以CNN和RNN都在命名实体识别方面都有应用, 但是有些论文提出,将深度学习模型和统计学习方法结合起来能够得到更好的结果。