【实验目的】

命名实体一般指如下几类专有名词:中国人名、外国人译名、地名、组织机构名、数字、日期和货币数量。实现一个汉语命名实体自动识别系统。

【实验原理】

命名实体识别

命名实体识别(Named EntitiesRecognition, NER)是自然语言处理(Natural
LanguageProcessing,
NLP)的一个基础任务。其目的是识别语料中人名、地名、组织机构名等命名实体。由于这些命名实体数量不断增加,通常不可能在词典中穷尽列出,且其构成方法具有各自的一些规律性,因而,通常把对这些词的识别从词汇形态处理(如汉语切分)任务中独立处理,称为命名实体识别。

1. 基于规则和词典的方法

基于规则的方法多采用语言学专家手工构造规则模板,选用特征包括统计信息、标点符号、关键字、指示词和方向词、位置词(如尾字)、中心词等方法,以模式和字符串相匹配为主要手段,这类系统大多依赖于知识库和词典的建立。

基于规则和词典的方法是命名实体识别中最早使用的方法,一般而言,当提取的规则能比较精确地反映语言现象时,基于规则的方法性能要优于基于统计的方法。

但是这些规则往往依赖于具体语言、领域和文本风格,编制过程耗时且难以涵盖所有的语言现象,特别容易产生错误,系统可移植性不好,对于不同的系统需要语言学专家重新书写规则。基于规则的方法的另外一个缺点是代价太大,存在系统建设周期长、移植性差而且需要建立不同领域知识库作为辅助以提高系统识别能力等问题。

2. 基于统计的方法

基于统计机器学习的方法主要包括:隐马尔可夫模型(HiddenMarkovMode,HMM)、最大熵(MaxmiumEntropy,ME)、支持向量机(Support
VectorMachine,SVM)、条件随机场( ConditionalRandom Fields,CRF)等。

最大熵模型结构紧凑,具有较好的通用性,主要缺点是训练时间复杂性非常高,有时甚至导致训练代价难以承受,另外由于需要明确的归一化计算,导致开销比较大。

条件随机场为命名实体识别提供了一个特征灵活、全局最优的标注框架,但同时存在收敛速度慢、训练时间长的问题。

一般说来,最大熵和支持向量机在正确率上要比隐马尔可夫模型高一些,但是隐马尔可夫模型在训练和识别时的速度要快一些,主要是由于在利用Viterbi算法求解命名实体类别序列的效率较高。隐马尔可夫模型更适用于一些对实时性有要求以及像信息检索这样需要处理大量文本的应用,如短文本命名实体识别。

基于统计的方法对特征选取的要求较高,需要从文本中选择对该项任务有影响的各种特征,并将这些特征加入到特征向量中。依据特定命名实体识别所面临的主要困难和所表现出的特性,考虑选择能有效反映该类实体特性的特征集合。主要做法是通过对训练语料所包含的语言信息进行统计和分析,从训练语料中挖掘出特征。有关特征可以分为具体的单词特征、上下文特征、词典及词性特征、停用词特征、核心词特征以及语义特征等。

基于统计的方法对语料库的依赖也比较大,大数据时代以前可以用来建设和评估命名实体识别系统的大规模通用语料库比较少。

【实验操作】

基于HanLP实现Python的汉语命名实体自动识别系统。

使用标准CRF:

file

使用扩充词库的CRF:

file

【结果分析】

可以看出,使用扩充词库训练后的CRF进步非常明显;

CRF词法分析为命名实体识别提供了一个特征灵活、全局最优的标注框架,经过一定的模型训练,实际使用效果已经比较完美。

【参考文献】

CRF中文分词、词性标注与命名实体识别

最后修改日期: 2019年6月17日

作者

留言

Avatar photo

请问一下博主用的什么建站模板?

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。