https://baijiahao.baidu.com/s?id=1566811969925699&wfr=spider&for=pc

命名实体识别(Named Entities Recognition, NER)是自然语言处理(Natural Language Processing, NLP)的一个基础任务,其目的是识别语料中人名、地名、组织机构名等命名实体,在所有涉及NLP的人工智能研究中——譬如智能客服——都是一个必须首先攻克的任务。由于这些命名实体数量不断增加,通常不可能在词典中穷尽列出,且其构成方法具有各自的一些规律性,因而,通常把对这些词的识别从词汇形态处理(如汉语切分)任务中独立处理,称为命名实体识别。

命名实体识别的研究主体一般包括3大类(实体类、时间类和数字类)和7小类(人名、地名、机构名、时间、日期、货币和百分比)命名实体。评判一个命名实体是否被正确识别包括两个方面:实体的边界是否正确;实体的类型是否标注正确。

从语言分析的全过程来看, 命名实体识别属于词法分析中未登录词识别的范畴。命名实体识别是未登录词中数量最多、识别难度最大、对分词效果影响最大的问题,同时它也是信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术必不可少的组成部分。

事件检测:地点、时间、人物是时间的几个基本构成部分,在构建事件的摘要时,可以突出相关人物、地点、单位等。在事件搜索系统中,相关的人物、时间、地点可以作为索引关键词。事件的几个构成部分之间的关系,从语义层面更详细的描述了事件。

信息检索:命名实体可以用来提高和改进检索系统的效果,当用户输入“重大”时,可以发现用户更想检索的是“重庆大学”,而不是其对应的形容词含义。此外,在建立倒排索引的时候,如果把命名实体切成多个单词,将会导致查询效率降低。此外,搜索引擎正在向语义理解、计算答案的方向发展。

语义网络:语义网络中一般包括概念和实例及其对应的关系,例如“国家”是一个概念,中国是一个实例,“中国”是一个“国家”表达实体与概念之间的关系。语义网络中的实例有很大一部分是命名实体。

机器翻译:命名实体的翻译常会有一些特殊翻译规则,例如中国人民翻译成英文时要使用名字的拼音来表示,有名在前姓在后的规则,而普通的词语要翻译成对应的英文单词。准确识别出文本中的命名实体,对提高机器翻译的效果有重要的意义。

问答系统:准确的识别出问题的各个组成部分特别重要,问题的相关领域,相关概念。目前,大部分问答系统都只能搜索答案,而不能计算答案。搜索答案进行关键词的匹配,用户根据搜索结果人工提取答案,而更加友好的方式是把答案计算好呈现给用户。问答系统中有一部分问题需要考虑到实体之间的关系,例如“美国第四十五届总统”,目前的搜索引擎会以特殊的格式返回答案“特朗普”。

命名实体识别当前并不是一个大热的研究课题,因为学术界部分认为这是一个已经解决了的问题,但是也有学者认为这个问题还没有得到很好地解决,原因主要有:命名实体识别只是在有限的文本类型(主要是新闻语料中)和实体类别(主要是人名、地名)中取得了效果;与其他信息检索领域相比,实体命名评测预料较小,容易产生过拟合;命名实体识别更侧重高召回率,但在信息检索领域,高准确率更重要;通用的识别多种类型的命名实体的系统性很差。

同时,中文的命名实体识别与英文的相比,挑战更大,目前未解决的难题更多。英语中的命名实体具有比较明显的形式标志,即实体中的每个词的第一个字母要大写,所以实体边界识别相对容易,任务的重点是确定实体的类别。和英语相比,汉语命名实体识别任务更加复杂,而且相对于实体类别标注子任务,实体边界的识别更加困难。

汉语命名实体识别的难点主要存在于:(1)汉语文本没有类似英文文本中空格之类的显式标示词的边界标示符,命名实体识别的第一步就是确定词的边界,即分词;(2)汉语分词和命名实体识别互相影响;(3)除了英语中定义的实体,外国人名译名和地名译名是存在于汉语中的两类特殊实体类型;(4)现代汉语文本,尤其是网络汉语文本,常出现中英文交替使用,这时汉语命名实体识别的任务还包括识别其中的英文命名实体;(5)不同的命名实体具有不同的内部特征,不可能用一个统一的模型来刻画所有的实体内部特征。

最后,现代汉语日新月异的发展给命名实体识别也带来了新的困难。

其一,标注语料老旧,覆盖不全。譬如说,近年来起名字的习惯用字与以往相比有很大的变化,以及各种复姓识别、国外译名、网络红人、虚拟人物和昵称的涌现。

其二,命名实体歧义严重,消歧困难。譬如下列句子:

余则成潜伏在敌后 VS 余则成潜伏在线

我和你一起唱《我和你》吧。

看完吓死你:惊悚视频,胆小勿入。

当前命名实体识别的主要技术方法分为:基于规则和词典的方法、基于统计的方法、二者混合的方法等。

1基于规则和词典的方法

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

基于规则和词典的方法是命名实体识别中最早使用的方法,它们依赖于手工规则的系统, 都使用命名实体库, 而且对每一个规则都赋予权值。当遇到规则冲突的时候, 选择权值最高的规则来判别命名实体的类型。一般而言,当提取的规则能比较精确地反映语言现象时,基于规则的方法性能要优于基于统计的方法。但是这些规则往往依赖于具体语言、领域和文本风格,编制过程耗时且难以涵盖所有的语言现象,特别容易产生错误,系统可移植性不好,对于不同的系统需要语言学专家重新书写规则。

基于规则的方法的另外一个缺点是代价太大,存在系统建设周期长、移植性差而且需要建立不同领域知识库作为辅助以提高系统识别能力等问题。

2基于统计的方法

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

在这4种学习方法中,最大熵模型结构紧凑,具有较好的通用性,主要缺点是训练时间复杂性非常高,有时甚至导致训练代价难以承受,另外由于需要明确的归一化计算,导致开销比较大。而条件随机场为命名实体识别提供了一个特征灵活、全局最优的标注框架,但同时存在收敛速度慢、训练时间长的问题。一般说来,最大熵和支持向量机在正确率上要比隐马尔可夫模型高一些,但是隐马尔可夫模型在训练和识别时的速度要快一些,主要是由于在利用Viterbi算法求解命名实体类别序列的效率较高。隐马尔可夫模型更适用于一些对实时性有要求以及像信息检索这样需要处理大量文本的应用,如短文本命名实体识别。

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

基于统计的方法对语料库的依赖也比较大,而可以用来建设和评估命名实体识别系统的大规模通用语料库又比较少,这是此种方法的又一大制约。

3混合方法

自然语言处理并不完全是一个随机过程,单独使用基于统计的方法使状态搜索空间非常庞大,必须借助规则知识提前进行过滤修剪处理。目前几乎没有单纯使用统计模型而不使用规则知识的命名实体识别系统,在很多情况下是使用混合方法,主要包括:

a.统计学习方法之间或内部层叠融合。

b. 规则、词典和机器学习方法之间的融合,其核心是融合方法技术。在基于统计的学习方法中引入部分规则,将机器学习和人工知识结合起来。

c. 将各类模型、算法结合起来,将前一级模型的结果作为下一级的训练数据,并用这些训练数据对模型进行训练,得到下一级模型。

这种方法在具体实现过程中需要考虑怎样高效地将两种方法结合起来,采用什么样的融合技术。由于命名实体识别在很大程度上依赖于分类技术,在分类方面可以采用的融合技术主要包括如Voting,XVoting,GradingVa,l Grading等。

目前解决命名实体识别问题的主导技术就是监督式学习,这项技术包括Hidden Markov

Models,Decision Trees, Maximun Entropy Models, Support Vector Machines 和Conditional Random Fields.他们都需要一个庞大的注释语料库,储存大量实体列表并根据那些具有区分能力的特征实际各种用于消除歧义的规则。

半监督式学习是最近兴起的一项技术,主要技术成为“bootstrapping",它也包括了一些监督式学习的方法,例如,都需要从一系列种子来开始学习的过程,比如一个主要是别疾病名称的系统运行之前就需要用户提供几个疾病实体的名称,然后系统就开始搜索包含这些名称的文本,并根据上下文的线索和一些其他的规则来找出相同文本中的其他疾病实例的名称。之后系统再用新找到的实体作为新的种子,重读的在文本中进行搜索的过程并寻找新的实例。通过多次的重复,可以从大量的文本中找出大量的疾病名称实体。近期进行的半监督的命名实体识别实验的结果显示,其性能和基线监督方法的性能相比具有很大竞争力。

命名实体识别近年来在多媒体索引、半监督和无监督的学习、复杂语言环境和机器翻译等方面取得大量新的研究成果。随着半监督的学习和无监督的学习方法不断被引入到这个领域, 采用未标注语料集等方法将逐步解决语料库不足的问题。在复杂语言现象(如借喻等)研究以及命名实体识别系统与机器翻译的互提高方面, 也有广阔的发展空间。命名实体识别将在更加开放的领域中, 综合各方面的发展成果, 为自然语言处理的深层次发展奠定更坚实的基础。

命名实体识别的难点与现状相关推荐

  1. 命名实体识别入门教程(必看)

    关于开发自己的命名实体识别先期思路: 虽然网上有很多相关代码,但实际如何入门材料较少,故整理下: CRF:先期可以用人民日报语料库去做,步骤如下: https://blog.csdn.net/hude ...

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

    什么是命名实体识别? 命名实体识别(Named Entity Recognition,简称NER),又称作"专名识别",是自然语言处理中的一项基础任务,应用范围非常广泛.命名实体一 ...

  3. xmlstreamexception 参数实体未进行声明_命名实体识别研究进展概述

    Future丨Intelligence丨Nutrition丨Energy 让阅读成为习惯,让灵魂拥有温度 点击关注PKUFineLab  一起进步 命名实体识别研究进展概述 命名实体识别任务旨在从自然 ...

  4. 面向新闻媒体的命名实体识别技术

    ☝点击上方蓝字,关注我们! [导读] 媒体资讯对新闻事件进行报导或评论,这些新闻事件的基本要素可以使用命名实体识别技术(NER)进行提取,如人物.机构.地点.时间.专有名词等.提取文章中的实体对于自媒 ...

  5. NLP(5) | 命名实体识别

    NLP(1) | 词向量one hot编码词向量编码思想 NLP(2) | 中文分词分词的概念分词方法分类CRFHMM分词 NLP(3)| seq to seq 模型 NLP(4) | 用词向量技术简 ...

  6. 浅谈嵌套命名实体识别(Nested NER)

    ©PaperWeekly 原创 · 作者|张成蹊 单位|北京大学硕士生 研究方向|自然语言处理 序 命名实体识别(Named Entity Recognition, 下称 NER)任务,主要目的是从一 ...

  7. 命名实体识别——日期识别

    一.命名实体识别简介 其目的是识别语料中的人名.地名.组织结构名等命名实体,由于这些命名实体在不断地更新,很难在词典中全部列出,所以就对这些词的识别在词汇形态处理任务中单独处理,也就是NER技术. 而 ...

  8. 自然语音处理(NLP)系列(四)——命名实体识别 (NER)

    命名实体识别是自然语言处理中的热点研究方向之一.在问答系统中,尤其是任务导向的问答的第一步就是命名实体识别,只有先识别出实体才能做下一步的槽填充. 什么是命名实体识别? 命名实体识别(NER),又称为 ...

  9. 【论文笔记】《基于深度学习的中文命名实体识别研究》阅读笔记

    作者及其单位:北京邮电大学,张俊遥,2019年6月,硕士论文 摘要 实验数据:来源于网络公开的新闻文本数据:用随机欠采样和过采样的方法解决分类不均衡问题:使用BIO格式的标签识别5类命名实体,标注11 ...

最新文章

  1. C语言逆序字符串数组,【C语言】利用栈将数组中字符串逆序
  2. python excel处理框架_django框架基于模板 生成 excel(xls) 文件操作示例
  3. python开发环境配置_百度资讯搜索_python开发环境配置
  4. hmm 求隐藏序列_结巴分词3--基于汉字成词能力的HMM模型识别未登录词
  5. 几种常用的优化方法梯度下降法、牛顿法、)
  6. 多位博士毕业去了三四流高校,现在怎么样了?
  7. vba校对不同工作薄中的内容
  8. json转string工具_不要再重复造轮子了,这款开源工具类库贼好使!
  9. .net中多控件共享事件处理程序的方法
  10. 地老天荒只是一个华丽的传说
  11. 日文简历 模板
  12. 嵌入式软件开发笔试面试知识点总结-ARM部分
  13. 股票中什么是总负债同比增长率,有什么作用
  14. Praat脚本-011 | 绘制元音分布图
  15. 12月6日云栖精选夜读:语音购票、刷脸进站:上海联手阿里打造全球首个AI地铁之城...
  16. 小时候玩的10款经典街机游戏,如今我们都在玩什么?
  17. Vue基础语法知识(自用,完整版)
  18. CorelDRAW2023最新版本图像设计软件
  19. python实现2000投影坐标转经纬度
  20. 快速入门开发实现订单类图片识别结果抽象解析

热门文章

  1. 足球数据采集 php,如何获取足球【赛程结果】数据
  2. 查看tomcat的线程数
  3. SimpleDateFormat类的使用
  4. 19.亿级流量电商详情页系统实战---总结
  5. 【数据分析与挖掘】数据分析学习及实践记录 | part 03-matplotlib常用统计图
  6. 生物工程毕业的他,如何成为年薪超40w的Java程序员
  7. 淘宝客如何通过闲鱼引流?淘宝客的推广方法有哪些?
  8. 注销系统的logout命令
  9. 反向代理和正向代理之间的区别
  10. Tkinter Treeview tag_configure失效问题