NLP之中文命名实体识别

article/2025/9/19 5:56:18

在MUC-6中首次使用了命名实体(named entity)这一术语,由于当时关注的焦点是信息抽取(information extraction)问题,即从报章等非结构化文本中抽取关于公司活动和国防相关活动的结构化信息,而人名、地名、组织机构名、时间和数字表达(包括时间、日期、货币量和百分数等)是结构化信息的关键内容。

命名实体识别(Named EntitiesRecognition,NER),就是识别这些实体指称的边界和类别。主要关注人名、地名和组织机构名这三类专有名词的识别方法。

一、方法概述

和自然语言处理研究的其他任务一样,早期的命名实体识别方法大都是基于规则的。系统的实现代价较高,而且其可移植性受到一定的限制。

自20世纪90年代后期以来,尤其是进入21世纪以后,基于大规模语料库的统计方法逐渐成为自然语言处理的主流,一大批机器学习方法被成功地应用于自然语言处理的各个方面。根据使用的机器学习方法的不同,我们可以粗略地将基于机器学习的命名实体识别方法划分为如下四种:有监督的学习方法、半监督的学习方法、无监督的学习方法、混合方法。下表对这些方法进行了简要归纳。

 二、命名实体识别方法

1.基于CRF的命名实体识别方法 

McCallum等2003年最先将条件随机场(CRF)模型用于命名实体识别。由于该方法简便易行,而且可以获得较好的性能,因此受到业界青睐,已被广泛地应用于人名、地名和组织机构等各种类型命名实体的识别,并在具体应用中不断得到改进,可以说是命名实体识别中最成功的方法。 

基于CRF的命名实体识别与前面介绍的基于字的汉语分词方法的原理一样,就是把命名实体识别过程看作一个序列标注问题。其基本思路是(以汉语为例):将给定的文本首先进行分词处理,然后对人名、简单地名和简单的组织机构名进行识别,最后识别复合地名和复合组织机构名。

所谓的简单地名是指地名中不嵌套包含其他地名,如地名:北京市、大不列颠、北爱尔兰、中关村等,而“北京市海淀区中关村东路95号”、“大不列颠及北爱尔兰联合王国”、“也门民主人民共和国”则为复合地名。同样,简单的组织机构名中也不嵌套包括其他组织机构名,如北京大学、卫生部、联合国等,而“欧洲中央银行”、“中华人民共和国卫生部”、“联合国世界粮食计划署”均为复合组织机构名。

基于CRF的命名实体识别方法属于有监督的学习方法,因此,需要利用已标注的大规模语料对CRF模型的参数进行训练。北京大学计算语言学研究所标注的现代汉语多级加工语料库被众多研究者用于汉语命名实体识别的模型训练。

在训练阶段,首先需要将分词语料的标记符号转化成用于命名实体序列标注的标记,如用PNB表示人名的起始用字,PNI表示名字的内部用字。类似地,用LOCB表示地名的起始用字,LOCI表示地名的内部用字;ORGB表示组织机构的起始用字,ORGI表示组织机构的内部用字。用OUT统一表示该字或词不属于某个实体。

接下来要做的事情是确定特征模板。特征模板一般采用当前位置的前后n(n≥1)个位置上的字(或词、字母、数字、标点等,不妨统称为“字串”)及其标记表示,即以当前位置的前后n个位置范围内的字串及其标记作为观察窗口:(…w-n/tag-n,…,w-1/tag-1w0/tag0,w1/tag1,…,wn/tagn,…)。考虑到,如果窗口开得较大时,算法的执行效率会太低,而且模板的通用性较差,但窗口太小时,所涵盖的信息量又太少,不足以确定当前位置上字串的标记,因此,一般情况下将n值取为2~3,即以当前位置上前后2~3个位置上的字串及其标记作为构成特征模型的符号。

由于不同的命名实体一般出现在不同的上下文语境中,因此,对于不同的命名实体识别一般采用不同的特征模板。例如,在识别汉语文本中的人名时,考虑到不同国家的人名构成特点有明显的不同,一般将人名划分为不同的类型:中国人名、日本人名、俄罗斯人名、欧美人名等。同时,考虑到出现在人名左右两边的字串对于确定人名的边界有一定的帮助作用,如某些称谓、某些动词和标点等,因此,某些总结出来的“指界词”(左指界词或右指界词)也可以作为特征。

特征函数确定以后,剩下的工作就是训练CRF模型参数λ。

大量的实验表明,在人名、地名、组织机构名三类实体中,组织机构名识别的性能最低。一般情况下,英语和汉语人名识别的F1值都可以达到90%左右,而组织机构名识别的F1值一般都在85%左右,这也反映出组织机构名是最难识别的一种命名实体。当然,对于不同领域和不同类型的文本,测试性能会有较大的差异。

2.基于多特征的命名实体识别方法

在命名实体识别中,无论采用哪一种方法,都是试图充分发现和利用实体所在的上下文特征和实体的内部特征,只不过特征的颗粒度有大(词性和角色级特征)有小(词形特征)的问题。考虑到大颗粒度特征和小颗粒度特征有互相补充的作用,应该兼顾使用的问题,提出了基于多特征相融合的汉语命名实体识别方法,该方法是在分词和词性标注的基础上进一步进行命名实体的识别,由词形上下文模型、词性上下文模型、词形实体模型和词性实体模型4个子模型组成的。其中,词形上下文模型估计在给定词形上下文语境中产生实体的概率;词性上下文模型估计在给定词性上下文语境中产生实体的概率;词形实体模型估计在给定实体类型的情况下词形串作为实体的概率;词性实体模型估计在给定实体类型的情况下词性串作为实体的概率。

1.模型描述

在基于多特征模型的命名实体识别系统中,词形包括以下几种情况:字典中任何一个字或词单独构成一类;人名(Per)、人名简称(Aper)、地名(Loc)、地名简称(Aloc)、机构名(Org)、时间词(Tim)和数量词(Num)各定义为一类。也就是说,词形语言模型中共定义了|V|+7个词形,其中,|V|表示词典的规模。由词形构成的序列称为词形序列WC。

词性采用北京大学计算语言学研究所开发的汉语文本词性标注标记集,另加上人名简称词性和地名简称词性,共47个词性标记。由词性标记构成的序列称为词性序列TC。

命名实体识别可以看作一个序列化数据的标注问题。输入是带有词性标记的词序列。

在分词和词性标注的基础上进行命名实体识别的过程就是对部分词语进行拆分、组合(确定实体边界)和重新分类(确定实体类别)的过程,最后输出一个最优的“词形/词性”序列WC*/TC*。

计算最优“词形/词性”序列WC*/TC*的方法有三种:词形特征模型、词性特征模型和混合模型。

(1)词形模型
词形特征模型根据词形序列W产生候选命名实体,用Viterbi确定最优词形序列WC*。目前的大部分系统都是从这个层面来设计命名实体识别算法的。

(2)词性模型
词性特征模型根据词性序列T产生候选命名实体,用Viterbi确定最优词性序列TC*。目前只有较少的系统使用。

(3)混合模型
词形和词性混合模型是根据词形序列W和词性序列T产生候选命名实体,一体化确定最优序列WC*/TC*,即本节将要介绍的基于多特征的识别算法。

词形和词性混合的汉语命名实体识别模型结合了词形特征模型和词性特征模型的优点,可以描述成下面式子的形式:

式子中的β是平衡因子,平衡词形特征和词性特征的权重,β>0。

模型(7-25)由四部分组成,分别称之为:词形上下文模型P(WC)、词性上下文模型P(TC)、实体词形模型P(W|WC)和实体词性模型P(T|TC)。实体词形模型和实体词性模型统称为实体模型。以下分别介绍这些模型。

2.词形和词性上下文模型

上下文模型估计在给定的上下文语境中产生实体的词形和词性概率。词形上下文模型和词性上下文模型均可采用三元语法模型近似描述:

3.实体模型

考虑到每一类命名实体都具有不同的内部特征,因此,不能用一个统一的模型刻画人名、地名和机构名等实体模型。例如,人名识别可采用基于字的三元模型,地名和机构名识别可能更适合于采用基于词的三元模型等。此外,为提高外国人名的识别性能,吴友政又把外国人名进一步划分为日本人名、欧美人名和俄罗斯人名三个子类。因为这三类人名的内部特征(主要是人名用字集)存在较大的差别,日本人名用字相对较广,具有相对明显的姓氏特征,但姓氏集合却很大,而且日本人名姓氏很多和地名重叠。俄罗斯人名常用斯、基、娃等汉字,而欧美人名常用朗、鲁、伦、曼等汉字。为计算需要,按照字或词在命名实体内部的位置,吴友政把这些字或词划分成19个子类。 

有了上述分类之后,人名、普通地名和机构名、单字地名和简称机构名分别建立相应的实体模型。

(1)人名实体模型
基于字的中国人名和外国人名的实体词形模型用下式描述:

其中,wwcil(1≤l≤k)表示组成人名实体wci的单字。BNe,MNei(1≤i≤k-2)和ENe分别表示实体的首字、中间字和尾字,在具体计算人名时,分别将其替换成Sur、Dgb、Dge、EBfn、EMfn和EEfn等。

由于人名的词性实体模型的训练语料很难得到,因此,为了简化起见,使用词形实体模型替代词性实体模型,但乘以一个加权因子,如下式所示:


其中,γ为小于1的加权因子,在吴友政的实验系统中取经验值0.5。

(2)地名和机构名实体模型
对于地名和机构名,其实体模型要复杂得多,这是因为地名中除了普通词汇以外,还常嵌套人名和其他地名,如“茅盾故居纪念馆”,“北京市经济技术开发区”等;组织机构名中常嵌套人名、地名和其他机构名,如“富士通(中国)有限公司”,“宋庆龄基金会”等。

基于词的嵌套地名和机构名词形实体模型可以用下面的式子描述:

其中,wwci-start和wwci-end分别是实体wci被分词程序切分出的首词和尾词;wwcil- 和wwc 分别是wcwcil的首词和尾词,它们都是按照分词模start il-end块的词形定义切分出来的最基本的词形。wcwcil(1≤l≤k)是由原分词序列组合的可能的词,假设组合后含有k个词或子实体名,即长度为k,子实体可能是人名或地名。如果子实体是人名时,将被符号PER替换,如果子实体是地名时,将用标记Loc替换。BNe为实体wci被正确切分时的首词,根据表7-8记作Boo;MNe1…MNek-2为实体wci被正确切分时中间
部分的k-2个词,根据表7-8记作Moo;ENe为实体wci被正确切分时的末尾词,根据表7-8记作Eoo。

(3)单字地名实体模型
单字地名词形实体模型和词性实体模型均可采用最大似然估计方法计算,分别运用如下算式估计:

其中,C(wi,Aloc)和C(ti,Aloc)分别是语料中wi作为单字地名和其词性ti出现的次数。C(Aloc)为训练语料中单字地名出现的次数。

(4)简称机构名实体模型
简称机构名是对机构名全称的缩略叫法。机构名简称的出现形式大致可分为连续简写、不连续简写和混合简写三种方式。

包括机构名关键词的机构名简称(如福特公司,绿得公司,新唐公司)的识别同机构名全称的识别过程是一样的,但对于那些省略了机构名关键词的简称机构名的识别则是非常困难的问题。

经过分析我们发现,简称机构名在文本中的出现基本上有以下三种形式:
①    某些简称可以作为常用词收录进词典中,如中共、北约、欧盟等
②    有些简称机构名无法被收录进词典,但该简称的全称形式在文本中出现过,如华虹NEC(全称为“上海华虹NEC电子有限公司”,且在文中已经出现过)
③    文本中直接出现省略了机构名关键词的简称机构名,如“百度”(省略了关键词“公司”)等。
对于上述形式③没有标志性关键词的情况,识别非常困难,我们暂不探讨。以下主要介绍形式①和②的处理方法。

形式①简称机构名的实体模型:简称机构名的词形和词性实体模型用最大似然估计方法计算
形式②简称机构名的词形实体模型:在真实文本中,简称可能出现在文本的前面,也可能出现在后面,为了完成这类简称机构名的识别,一般需要把命名实体识别分成两个阶段。第一阶段识别1类简称机构名和全称形式的机构名,并将其放入缓存器(cache)中,第二阶段利用第一阶段的识别结果进行简称识别。这样做一方面可以避免简称机构名的遗漏,并限制不必要的简称机构名的产生,另一方面可以方便、合理地计算简称机构名的产生概率,即简称的实体模型。

4.专家知识

在基于统计模型的命名实体识别中,最大的问题是数据稀疏严重,搜索空间太大,从而影响系统的性能和效率。因此,吴友政通过引入专家知识来限制候选实体的产生,从而达到了提高系统性能和效率的目的。这些专家知识主要包括如下几类:

1)人名识别的专家知识
这类专家知识包括:476个中国人名姓氏列表和9189个日本人名姓氏列表,用于限制中国人名和日本人名的候选词数;俄罗斯人名和欧美人名用字列表,用来限制俄罗斯人名和欧美人名的候选词数;另外,中国人名的长度最大为8个字符,外国人名则不受长度限制。

2)地名识别的专家知识
这里专家知识包括一个含607个地名关键词的列表、一个含407个单字地名的列表和一个介词、动词列表。如果当前词属于地名关键词,如“省、开发区、沙滩、瀑布”等,则触发地名识别。单字地名的候选由单字地名列表触发产生。如果前一个词包含在介词、动词列表中,如“去、到、在”等则触发地名识别。另外,地名最多包含12个汉语字符。

(3)机构名识别的专家知识
机构名识别专家知识包括一个含有3129个机构名关键词的列表,用于触发产生机构名候选,即如果当前词属于该列表,则机构名识别触发。另外,还包括一组机构名模板,用于识别统计模型遗漏的嵌套命名实体。

5.模型训练

根据前面的介绍,基于多特征的汉语命名实体识别模型式(7-25)由4个参数组成,在吴友政(2006)实现的系统中,这些参数使用最大似然估计从不同的训练语料中学习,其中,词性上下文模型P(TC)和词形上下文模型P(WC)是从1998年2月至1998年6月的《人民日报》标注语料中学习的;中国人名、外国人名、地名、机构名的实体词性模型和实体词形模型分别从156万、1.4万、4.4万和32万条的实体列表中训练得到的。 

尽管使用了这样大规模的训练语料,数据稀疏问题还是非常严重。为此,吴友政采用了Back-off数据平滑方法,并引入逃逸概率计算权值,如下式所示:

6.测试结果

系统性能表现主要通过准确率(precision,简记为P)、召回率(recall,简记为R)和F-测度值(F-measure,简记为F)3个指标来衡量,计算公式分别如式(7-40)、式(7-41)和式(7-42)所示:

根据模型计算式(7-25),平衡因子β是用于平衡词形特征和词性特征所发挥作用的权值,β值越大,词性特征的作用越强;否则,词形特征的作用就越强。根据吴友政(2006)的实验,β值从0到9.6变化时,系统对人名、地名和机构名称识别的准确率、召回率和F-测度值均有不同程度的上升和下降,当β值大于9.6时,人名、地名和机构名称识别的正确率、召回率和F-测度值均呈急剧下降趋势。经综合考察后,β=2.8时系统对人名、地名和机构名称识别的总体性能可达到最佳状态。

混合模型的人名、地名、机构名识别性能(F-测度值)比单独使用词形特征模型时的性能分别提高了约5.4%,1.4%,2.2%,比单独使用词性特征模型时分别提高了约0.4%,2.7%,11.1%。也就是说,结合词形和词性特征的命名实体识别模型优于使用单一特征的命名实体识别模型。

另外,实验还表明,结合了专家知识的统计模型对人名、地名和机构名的识别能力(F-测度值)与纯统计模型相比,分别提高了约14.8%,9.8%,13.8%,而且,系统的识别速度也有所提高。

上述结果表明,基于多特征模型的命名实体识别方法综合运用了词形特征和词性特征的作用,针对不同实体的结构特点,分别建立实体识别模型,并利用专家知识限制明显不合理的实体候选的产生,从而提高了识别性能和系统效率。


http://chatgpt.dhexx.cn/article/PDnie7Kw.shtml

相关文章

命名实体识别(biLSTM+crf)

本文是翻译的github这个项目的博客https://guillaumegenthial.github.io/sequence-tagging-with-tensorflow.html。 为什么要用biLSTM?为了使特征提取自动化。当使用CRF工具来进行命名实体识别时,需要自定义模板(或者使用默认的模板)。 任…

命名实体识别(NER)算法

文章目录 标注方案问题建模评价指标常用的NER方法深度学习方法(in survey)输入的分布式表示上下文编码解码器**先说MLPsoftmax和CRF**softmax 延伸至多标签解码 **RNN**Pointer Networks 实践Bert SoftmaxBert CRF 参考 之前做了NER的相关工作&#xf…

命名实体识别(NER):BiLSTM-CRF原理介绍+Pytorch_Tutorial代码解析

本文较全面的介绍了命名实体识别(NER),包括NER定义、BiLSTM-CRF模型、Pytorch代码实现,未来将继续完善本文,以求涵盖NER众多方面。 文章目录 命名实体识别任务(NER)定义BiLSTM-CRF模型模型输入L…

命名实体识别代码阅读

中文命名实体识别 BERT中文任务实战 18分钟快速实战_哔哩哔哩_bilibili 注意注释 from transformers import AutoTokenizer import time # 时间start time.time() #加载分词器 tokenizer AutoTokenizer.from_pretrained(hfl/rbt6) #中文bertprint(tokenizer)#分词测试&am…

命名实体识别详解

1.命名实体识别定义 例如: 2.常用开源的中英文NER工具 这些工具的缺点是:只提供通用型的实体类别如 人名,地方,组织,时间等,对于特定领域,可能很难提取出你需要的实体。 2.1 代码实践 代码来…

命名实体识别(NER – Named-entity recognition) 总结

1. 什么是命名实体识别? 命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。简单的讲&#xf…

命名实体识别学习笔记

1 命名实体识别概述 1.1 定义 命名实体识别(Name Entity Recognition,NER),也称作“专名识别”,是指识别文本中具有特定意义的实体,包括人名、地名、机构名、专有名词等。 1.2 形式化定义 给定标识符集…

命名实体识别的难点与现状

https://baijiahao.baidu.com/s?id1566811969925699&wfrspider&forpc 命名实体识别(Named Entities Recognition, NER)是自然语言处理(Natural Language Processing, NLP)的一个基础任务,其目的是识别语料中人名、地名、组织机构名等命名实体&…

命名实体识别研究综述

命名实体识别研究进展综述 1 引 言 命名实体识别(Named Entity Recognition,NER)的主要任务是识别出文本中的人名、地名等专有名称和有意义的时间、日期等数量短语并加以归类[ 1]。命名实体识别技术是信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术必不可少的…

命名实体识别(基于规则-无监督学习-机器学习-深度学习)

文章目录 1 简介2 NER标注语料库3 NER工具库4 序列标注标签方案5 四类NER方法(规则-无监督学习-机器学习-深度学习)5.1 基于规则的NER5.2 基于无监督学习方法5.2 基于机器学习(含特征的有监督学习)5.3 基于深度学习方法1、输入层2…

【论文笔记】命名实体识别论文

其实实体识别这块看了挺久了的,今天就来好好聊一聊它。实体识别(Name Entity Recognition)是属于NLP任务中的序列标注问题:给定一个输入句子,要求为句子中的每一个token做实体标注(如人名、组织/机构、地名、日期等等)…

一文了解命名实体识别

导读:从1991年开始,命名实体识别逐渐开始走进人们的视野,在各评测会议的推动下,命名实体识别技术得到了极大地发展,从最初的基于规则和字典的方法,到现在热门的注意力机制、图神经网络等方法,命…

命名实体识别(NER)知识汇总

介绍 命名实体识别(Named Entity Recognition,NER)是NLP领域中一项基础的信息抽取任务,NER 是关系抽取、知识图谱、问答系统等其他诸多NLP任务的基础。NER从给定的非结构化文本中识别命名实体,并对实体分类&#xff0c…

基于深度学习的命名实体识别与关系抽取

基于深度学习的命名实体识别与关系抽取 作者:王嘉宁 QQ:851019059 Email:lygwjn126.com 个人网站:http://www.wjn1996.cn 【备注:此博文初次编辑为2018年11月23日,最新编辑为2019年10月24日】 夏栀的博…

NLP案例——命名实体识别(Named Entity Recongition)

NLP案例——命名实体识别(Named Entity Recongition) 命名实体识别是NLP里的一项很基础的任务,就是指从文本中识别出命名性指称项,为关系抽取等任务做铺垫。狭义上,是识别出人命、地名和组织机构名这三类命名实体&…

【命名实体识别(NER)】(1):命名实体识别综述

什么是命名实体识别? 命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是自然语言处理中的一项基础任务,应用范围非常广泛。命名实体一般指的是文本中具有特定意义或者指代…

一文读懂命名实体识别

本文对自然语言基础技术之命名实体识别进行了相对全面的介绍,包括定义、发展历史、常见方法、以及相关数据集,最后推荐一大波 Python 实战利器,并且包括工具的用法。 01 定义 先来看看维基百科上的定义:Named-entity recognition …

自然语言处理——命名实体识别

命名实体识别 命名实体识别(Named Entity Recognition,NER),指识别文本中具有特定意义的实体,包括人名、地名、机构名、专有名词等。 常用的方法如下。 数据集一览 数据集下载地址 提取码:s249 看一下我们的数据集,分为句子…

NLP算法-命名实体识别

命名实体识别 什么是命名实体识别?NER 研究的命名实体NER研究目前所遇到的问题命名实体识别的主要方法: 基于条件随机场的命名实体识别常用的NER模型1、Spacy NER 模型2、斯坦福命名实体识别器 中文人名识别中文姓名的构成规律姓名的上下文环境分析Hanlp…

命名实体识别(NER)综述

本文是中文信息处理课程的期末考核大作业&#xff0c;对于自然语言处理主流任务的调研报告 ———————————————— 版权声明&#xff1a;本文为CSDN博主「<Running Snail>」的原创文章&#xff0c;遵循CC 4.0 BY-SA版权协议&#xff0c;转载请附上原文出处链接…