0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自然语言基础技术之命名实体识别相对全面的介绍

8g3K_AI_Thinker 来源:lp 2019-04-17 10:12 次阅读

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

01

定义

先来看看维基百科上的定义:Named-entity recognition (NER) (also known as entity identification, entity chunking and entity extraction) is a subtask of information extraction that seeks to locate and classify named entity mentions in unstructured text into pre-defined categories such as the person names, organizations, locations, medical codes, time expressions, quantities, monetary values, percentages, etc.

命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。简单的讲,就是识别自然文本中的实体指称的边界和类别。

02

发展历史

命名实体识别这个术语首次出现在 MUC-6(Message Understanding Conferences),这个会议关注的主要问题是信息抽取(Information Extraction),第六届 MUC 除了信息抽取评测任务还开设了新评测任务即命名实体识别任务。

除此之外,其他相关的评测会议包括CoNLL(Conference on Computational Natural Language Learning)、ACE(Automatic Content Extraction)和IEER(Information Extraction-Entity Recognition Evaluation)等。

在MUC-6之前,大家主要是关注人名、地名和组织机构名这三类专业名词的识别。自MUC-6起,后面有很多研究对类别进行了更细致的划分,比如地名被进一步细化为城市、州和国家,也有人将人名进一步细分为政治家、艺人等小类。

此外,一些评测还扩大了专业名词的范围,比如CoNLL某年组织的评测中包含了产品名的识别。一些研究也涉及电影名、书名、项目名、研究领域名称、电子邮件地址、电话号码以及生物信息学领域的专有名词(如蛋白质、DNA、RNA等)。甚至有一些工作不限定“实体”的类型,而是将其当做开放域的命名实体识别和分类。

03

常见方法

早期的命名实体识别方法基本都是基于规则的。之后由于基于大规模的语料库的统计方法在自然语言处理各个方面取得不错的效果之后,一大批机器学习的方法也出现在命名实体类识别任务。宗成庆老师在统计自然语言处理一书粗略的将这些基于机器学习的命名实体识别方法划分为以下几类:

有监督的学习方法:这一类方法需要利用大规模的已标注语料对模型进行参数训练。目前常用的模型或方法包括隐马尔可夫模型、语言模型、最大熵模型、支持向量机、决策树和条件随机场等。值得一提的是,基于条件随机场的方法是命名实体识别中最成功的方法。

半监督的学习方法:这一类方法利用标注的小数据集(种子数据)自举学习。

无监督的学习方法:这一类方法利用词汇资源(如 WordNet)等进行上下文聚类。

混合方法:几种模型相结合或利用统计方法和人工总结的知识库。

值得一提的是,由于深度学习在自然语言的广泛应用,基于深度学习的命名实体识别方法也展现出不错的效果,此类方法基本还是把命名实体识别当做序列标注任务来做,比较经典的方法是 LSTM+CRF、BiLSTM+CRF。

04

相关数据集

1. CCKS2017 开放的中文的电子病例测评相关的数据。

评测任务一:

https://biendata.com/competition/CCKS2017_1/

评测任务二:

https://biendata.com/competition/CCKS2017_2/

2. CCKS2018 开放的音乐领域的实体识别任务。

评测任务:

https://biendata.com/competition/CCKS2018_2/

3. (CoNLL 2002)Annotated Corpus for Named Entity Recognition。

地址:

https://www.kaggle.com/abhinavwalia95/entity-annotated-corpus

4. NLPCC2018 开放的任务型对话系统中的口语理解评测。

地址:

http://tcci.ccf.org.cn/conference/2018/taskdata.php

5. 一家公司提供的数据集,包含人名、地名、机构名、专有名词。

下载地址:

https://bosonnlp.com/dev/resource

05

工具推荐

1. Stanford NER

斯坦福大学开发的基于条件随机场的命名实体识别系统,该系统参数是基于 CoNLL、MUC-6、MUC-7 和 ACE 命名实体语料训练出来的。

地址:

https://nlp.stanford.edu/software/CRF-NER.shtml

Python 实现的 Github 地址:

https://github.com/Lynten/stanford-corenlp

2 .MALLET

麻省大学开发的一个统计自然语言处理的开源包,其序列标注工具的应用中能够实现命名实体识别。

官方地址:

http://mallet.cs.umass.edu/

3. Hanlp

HanLP 是一系列模型与算法组成的 NLP 工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用。支持命名实体识别。

Github 地址:

https://github.com/hankcs/pyhanlp

官网:

http://hanlp.linrunsoft.com/

4. NLTK

NLTK 是一个高效的 Python 构建的平台,用来处理人类自然语言数据。

Github 地址:

https://github.com/nltk/nltk

官网:

http://www.nltk.org/

5. SpaCy

工业级的自然语言处理工具,遗憾的是不支持中文。

Gihub 地址:

https://github.com/explosion/spaCy

官网:https://spacy.io/

6. Crfsuite

可以载入自己的数据集去训练 CRF 实体识别模型。

文档地址:

https://sklearn-crfsuite.readthedocs.io/en/latest/?badge=latest

代码已上传:

https://github.com/yuquanle/StudyForNLP/blob/master/NLPbasic/NER.ipynb

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8122

    浏览量

    130550
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24349
  • 自然语言处理

    关注

    1

    文章

    509

    浏览量

    13101

原文标题:一文读懂命名实体识别

文章出处:【微信号:AI_Thinker,微信公众号:人工智能头条】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    python自然语言

    最近,python自然语言是越来越火了,那么什么是自然语言自然语言(Natural Language )广纳了众多技术,对自然或人类
    发表于 05-02 13:50

    自然语言处理技术介绍

    ,包括:分词、词性标注、句法分析、命名实体识别,以及信息抽取领域的实体关系抽取等。2.1.分词分词是自然语言处理技术的基础构成之一,并且是其
    发表于 09-27 09:57

    NLPIR语义分析是对自然语言处理的完美理解

    ,融合了网络精准采集、自然语言理解、文本挖掘和语义搜索的研究成果,并针对互联网内容处理的全技术链条的共享开发平台。包括大数据完整的技术链条:网络采集、正文提取、中英文分词、词性标注、实体
    发表于 10-19 11:34

    hanlp汉语自然语言处理入门基础知识介绍

    人工智能。自然语言处理涉及的几个层次:作为输入一共有两个来源,语音与文本。所以第一级是语音识别和OCR或分词(事实上,跳过分词虽然理所当然地不能做句法分析,但字符级也可以直接做不少应用)。接下来是形态学
    发表于 01-02 14:43

    HanLP分词命名实体提取详解

    名、地名等都称之为实体。在工程领域,招投标文件里的这些实体信息至关重要。利用自然语言处理技术从形式各异的文件中提取出这些实体,能有效提高工作
    发表于 01-11 14:32

    基于结构化感知机的词性标注与命名实体识别框架

    `上周就关于《结构化感知机标注框架的内容》已经分享了一篇《分词工具Hanlp基于感知机的中文分词框架》,本篇接上一篇内容,继续分享词性标注与命名实体识别框架的内容。词性标注训练词性标注是分词后紧接着
    发表于 04-08 14:57

    HanLP-命名实体识别总结

    的中国人名自动识别研究》,大家可以百度一下看看 地名识别 理论指导文章为:《基于层叠隐马尔可夫模型的中文命名实体识别》 机构名识别 机构名的
    发表于 07-31 13:11

    【推荐体验】腾讯云自然语言处理

    `相信大家对NLP自然语言处理的技术都不陌生,它是计算机科学领域和AI领域中的一个分支,它与计算机和人类之间使用自然语言进行交互密切相关,而NLP的最终目标是使计算机能够像人类一样理解语言
    发表于 10-09 15:28

    自然语言处理的未登录词识别

    自然语言处理——76 未登录词识别
    发表于 10-23 17:00

    什么是自然语言处理?

    识别出我们正确说的话。 我们使用免费服务将在线遇到的外语短语翻译成英语, 有时它们可以为我们提供准确的翻译。 尽管自然语言处理取得了长足的进步,但仍有很大的改进空间。[理...
    发表于 07-23 10:22

    什么是自然语言处理

    什么是自然语言处理?自然语言处理任务有哪些?自然语言处理的方法是什么?
    发表于 09-08 06:51

    思必驰中文命名实体识别任务助力AI落地应用

    数据集基于清华大学开源的文本分类数据集THUCTC[2],选出部分进行细粒度命名实体标注。原数据来源于Sina News RSS[3]。这项测评是中文自然语言处理领域的大规模赛事,有众多知名企业同台竞技
    的头像 发表于 02-22 18:27 1664次阅读

    命名实体识别的迁移学习相关研究分析

    命名实体识别(NER)是自然语言处理的核心应用任务之一。传统和深度命名实体识别方法严重依赖于大量具有相同分布的标注训练数据,模型可移植性差。
    发表于 04-02 15:15 8次下载
    <b class='flag-5'>命名实体</b><b class='flag-5'>识别</b>的迁移学习相关研究分析

    基于字语言模型的中文命名实体识别系统

    而造成的数据稀缺问题,以及传统字向量不能解决的一字多义问題,文中使用在大规模无监督数据上预训练的基于上下文相关的字向量,即利用语言模型生成上下文相关字向量以改进中文NER模型的性能。同时,为解决命名实体识别中的未登
    发表于 04-08 14:36 14次下载
    基于字<b class='flag-5'>语言</b>模型的中文<b class='flag-5'>命名实体</b><b class='flag-5'>识别</b>系统

    关于边界检测增强的中文命名实体识别

    引言 命名实体识别(Named Entity Recognition,NER)是自然语言处理领域的一个基础任务,是信息抽取等许多任务的子任务,旨在识别非结构化文本中属于预先定义的类别的
    的头像 发表于 09-22 16:05 2730次阅读