zoukankan      html  css  js  c++  java
  • Atitit NER实体命名识别(Name Entity Recognition 目录 1.1. a. NER实体命名识别(Name Entity Recognition)   1 2. NER抽

    Atitit  NER实体命名识别(Name Entity Recognition

    目录
    1.1. a. NER实体命名识别(Name Entity Recognition)      1
    2. NER抽取方法    3
    2.1. 基于规则    3
    2.2. 统计方法逐渐成为自然语言处理的主流    3
    2.3. 条件随机场(CRF)模型用于命名实体识别。    3
    2.4. 2.基于多特征的命名实体识别方法    7    5
    2.5. 4.专家知识(词典法 ,人名,地名机构名    8
    3. NER关联技术    9
    3.1. 分词    9
    3.2. 词典匹配    9
    3.3. 数字和特殊字符,一般用正则的方法匹配出来    9
    3.4. 先边界识别 然后进行类别判定    9
    3.5. 相关知识梳理(HMM, MEMM, CRF)    9
    3.6. Bootstrapping算法 利用有限的样本资料 建立目标    9
    4. NER公开数据集    10
    4.1. CoNLL  CoNLL 2003    10
    4.2. CoNLL2003中, 实体被标注为四种类型:LOC (location, 地名)ORG (organisation, 组织机构名)PER (person, 人名)MISC (miscellaneous, 其他)    10
    4.3. OntoNotes 5.0 / CoNNLL 2012 18个类别    10
    4.4. 其他公开数据集,包括NLPBA2014, Enron Emails 等等    11
    5. NER 标注方法有很多种, 这里主要介绍3种最常见。    11
    5.1. IOB 标注法    11
    5.2. BIOES BIOES 是目前最通用的命名实体标注方法。    11
    5.3. Makeup 是 OntoNotes 使用的标注方法, 思路比较简单, XML, 比如:    12
    6. 问题    12


    1.1.a. NER实体命名识别(Name Entity Recognition)  

    又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。
    般来说,命名实体识别的任务就是识别出待处理文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。
    命名实体识别(Named Entity Recognition, NER)是NLP领域一个非常非常重要的方向,比如人名、地名通用性的实体识别,还有像车型名、车款名这些垂直领域的实体,在这借着实体识别的案例整理下相关的模型以及如何结合这些模型与深度神经网络实现效果更好的NER
    狭义上,是识别出人名、地名和组织机构名这三类命名实体(时间、货币名称等构成规律明显的实体类型可以用正则等方式识别
    实体命名识别,这是一项相对比较成熟的技术,有一些现成的工具可以用来做这件事情
    括实体抽取里面有NER的方法,NER有传统的CRF的方法,有基于循环神经网络+CRF的方法,也有端到端的联合标注的抽取方法,这种方法同时输出实体和实体之间关系的三元组

    过程组成
    编辑
    通常包括两部分:(1)实体边界识别;(2) 确定实体类别(人名、地名、机构名或其他)。英语中的命名实体具有比较明显的形式标志(即实体中的每个词的第一个字母要大写),所以实体边界识别相对容易,任务的重点是确定实体的类别。和英语相比,汉语命名实体识别任务更加复杂,而且相对于实体类别标注子任务,实体边界的识别更加困难。

      难点
    编辑
    (1)汉语文本没有类似英文文本中空格之类的显式标示词的边界标示符,命名实体识别的第一步就是确定词的边界,即分词;(2)汉语分词和命名实体识别互相影响;(3)除了英语中定义的实体,外国人名译名和地名译名是存在于汉语中的两类特殊实体类型;(4)现代汉语文本,尤其是网络汉语文本,常出现中英文交替使用,这时汉语命名实体识别的任务还包括识别其中的英文命名实体;(5)不同的命名实体具有不同的内部特征,不可能用一个统一的模型来刻画所有的实体内部特征
    2.NER抽取方法
    2.1.基于规则
    和自然语言处理研究的其他任务一样,早期的命名实体识别方法大都是基于规则的。系统的实现代价较高,而且其可移植性受到一定的限制。
    2.2.统计方法逐渐成为自然语言处理的主流
    自20世纪90年代后期以来,尤其是进入21世纪以后,基于大规模语料库的统计方法逐渐成为自然语言处理的主流,一大批机器学习方法被成功地应用于自然语言处理的各个方面

    2.3.条件随机场(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.2.基于多特征的命名实体识别方法    7

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

    词性采用北京大学计算语言学研究所开发的汉语文本词性标注标记集,另加上人名简称词性和地名简称词性,共47个词性标记。由词性标记构成的序列称为词性序列TC。
    --------------------- 
     --------------------- 
    (2)地名和机构名实体模型
    对于地名和机构名,其实体模型要复杂得多,这是因为地名中除了普通词汇以外,还常嵌套人名和其他地名,如“茅盾故居纪念馆”,“北京市经济技术开发区”等;组织机构名中常嵌套人名、地名和其他机构名,如“富士通(中国)有限公司”,“宋庆龄基金会”等。
    (3)(4)简称机构名实体模型
    (4)简称机构名是对机构名全称的缩略叫法。机构名简称的出现形式大致可分为连续简写、不连续简写和混合简写三种方式。
    (5)
    (6)包括机构名关键词的机构名简称(如福特公司,绿得公司,新唐公司)的识别同机构名全称的识别过程是一样的,但对于那些省略了机构名关键词的简称机构名的识别则是非常困难的问题。
    (7)
    (8)经过分析我们发现,简称机构名在文本中的出现基本上有以下三种形式:
    (9)①    某些简称可以作为常用词收录进词典中,如中共、北约、欧盟等
    (10)②    有些简称机构名无法被收录进词典,但该简称的全称形式在文本中出现过,如华虹NEC(全称为“上海华虹NEC电子有限公司”,且在文中已经出现过)
    (11)③    文本中直接出现省略了机构名关键词的简称机构名,如“百度”(省略了关键词“公司”)等。
    (12)对于上述形式③没有标志性关键词的情况,识别非常困难,我们暂不探讨。以下主要介绍形式①和②的处理方法。
    (13)
    (14)形式①简称机构名的实体模型:简称机构名的词形和词性实体模型用最大似然估计方法计算
    (15)形式②简称机构名的词形实体模型:在真实文本中,简称可能出现在文本的前面,也可能出现在后面,为了完成这类简称机构名的识别,一般需要把命名实体识别分成两个阶段。第一阶段识别1类简称机构名和全称形式的机构名,并将其放入缓存器(cache)中,第二阶段利用第一阶段的识别结果进行简称识别。这样做一方面可以避免简称机构名的遗漏,并限制不必要的简称机构名的产生,另一方面可以方便、合理地计算简称机构名的产生概率,即简称的实体模型。
    (16)--------------------- 
    2.5.4.专家知识(词典法 ,人名,地名机构名

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

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

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

    (3)机构名识别的专家知识
    机构名识别专家知识包括一个含有3129个机构名关键词的列表,用于触发产生机构名候选,即如果当前词属于该列表,则机构名识别触发。另外,还包括一组机构名模板,用于识别统计模型遗漏的嵌套命名实体。
    --------------------- 
    3.     NER关联技术
    3.1.分词
    3.2.词典匹配
    3.3.数字和特殊字符,一般用正则的方法匹配出来
    3.4.先边界识别 然后进行类别判定

    3.5.相关知识梳理(HMM, MEMM, CRF)
    NER、分词都可以看作是序列的标注问题,而这一类问题比较传统的方法是以以马尔科夫模型(HMM)、条件随机场(CRF)为代表的概率图模型,还有最大熵隐马尔可夫模型(MEMM),这三者在之前都取得了非常不错的结果,近几年随着深度学习的兴起,深度神经网络也加入到NLP的任务中
    3.6.Bootstrapping算法 利用有限的样本资料 建立目标
    ,指的就是利用有限的样本资料经由多次重复抽样,重新建立起足以代表母体样本分布的新样本。bootstrapping的运用基于很多统计学假设,因此采样的准确性会影响假设的成立与否。
     
    Bootstrapping从字面意思翻译是拔靴法,从其内容翻译又叫自助法,是一种再抽样的统计方法。自助法的名称来源于英文短语“to pull
    oneself up by one’s bootstrap”,表示完成一件不能自然完成的事情。1977年美国Standford大学统计学教授Efron提出了一种新的增广样本的统计方法,就是Bootstrap方法,为解决小子样试验评估问题提供了很好的思路。
    1、自助法的基本思路:


    4.NER公开数据集 
    首先让我们来看看常见公开数据集
    4.1.CoNLL  CoNLL 2003
    这个数据集包括1393篇英语新闻文章和909篇德语新闻文章。英语语料库是免费的,德国语料库需要收钱(75美元)。英语语料实际上是RCV1(Reuters Corpus, Volume 1, https://trec.nist.gov/data/reuters/reuters.html), 路透社早些年公开的一些数据集。你需要填个使用申请表(包含组织和个人两种类型), 然后就可以使用了。
    4.2.CoNLL2003中, 实体被标注为四种类型:LOC (location, 地名)ORG (organisation, 组织机构名)PER (person, 人名)MISC (miscellaneous, 其他)
    4.3.OntoNotes 5.0 / CoNNLL 2012 18个类别

    OntoNotes 5.0由 1745k 英语、900k 中文和300k 阿拉伯语文本数据组成,OntoNotes 5.0的数据来源也多种多样, 有电话对话、新闻通讯社、广播新闻、广播对话和博客。
    实体被标注为【PERSON】、【ORGANIZATION】和【LOCATION】等18个类别
    4.4.其他公开数据集,包括NLPBA2014, Enron Emails 等等

    5.NER 标注方法有很多种, 这里主要介绍3种最常见。
    5.1.IOB 标注法
    IOB 标注法, 是 CoNLL 2003 采用的标注法, I 表示 inside, O 表示 Outside, B 表示 Begin。而标注的 label是 I-XXX 的, 表示这个字符, 在 XXX类命名实体的内部(inside)。B用于标记一个命名实体的开始。

    5.2.BIOES BIOES 是目前最通用的命名实体标注方法。

    这是在 IOB方法上,扩展出的一个更复杂,但更完备的标注方法。其中 B表示这个词处于一个实体的开始(Begin), I 表示内部(inside), O 表示外部(outside), E 表示这个词处于一个实体的结束为止, S 表示,这个词是自己就可以组成一个实体(Single)
    Markup
    5.3.Makeup 是 OntoNotes 使用的标注方法, 思路比较简单, XML, 比如:
    <ENAMEX TYPE=”ORG”>Disney</ENAMEX> is a global brand .
    它用标签把 命名实体框出来, 然后,在 TYPE 上, 设置相应的类型。
    当然, 还有很多其他的标注方法, 比如 IO, BMEWO 等等,感兴趣的读者可以 google一下

    6.问题
    Q:纯文本怎么进行抽取?
    A:关于抽取,我在前面讲到了有很多的方法,包括实体抽取里面有NER的方法,NER有传统的CRF的方法,有基于循环神经网络+CRF的方法,也有端到端的联合标注的抽取方法,这种方法同时输出实体和实体之间关系的三元组
     

  • 相关阅读:
    解决beego运行程序报错问题:stderr: go: github.com/astaxie/beego@v1.12.1: missing go.sum entry
    Flutter-填平菜鸟和高手之间的沟壑
    百度地图的脑残设计,附上代码,为后来的码农们...
    迅捷Flutter图片浏览软件
    青峰Flutter视频播放软件
    Element UI 自定义Validator
    在C#中如何URL编码和解码
    Postman新手入门
    安装SSDT2017
    layer.prompt 输入值为空的时候点击confirm不能继续
  • 原文地址:https://www.cnblogs.com/attilax/p/15197309.html
Copyright © 2011-2022 走看看