找回密码
 立即注册
搜索

自然言语处理基础技术之命名实体辨认简介

整理一波关于命名实体辨认方面的知识,希望对大家有协助~~




命名实体辨认定义:
    百度百科定义:命名实体辨认(Named Entity Recognition,简称NER),又称作“专名辨认”,是指辨认文本中具有特定意义的实体,次要包括人名、地名、机构名、专有名词等。

    维基百科定义: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)这个术语初次出如今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等)。甚至有一些工作不限定“实体”的类型,而是将其当作开放域的命名实体辨认和分类。

常见方法:

早期的命名实体辨认方法基本都是基于规则的。之后由于基于大规模的语料库的统计方法在自然言语处理各个方面获得不错的效果之后,一大批机器学习的方法也出如今命名实体类辨认义务。宗成庆教师在统计自然言语处理一书粗略的将这些基于机器学习的命名实体辨认方法划分为以下几类:
    有监督的学习方法:这一类方法需求应用大规模的已标注语料对模型停止参数训练。目前常用的模型或方法包括隐马尔可夫模型、言语模型、最大熵模型、支持向量机、决策树和条件随机场等。值得一提的是,基于条件随机场的方法是命名实体辨认中最成功的方法。 半监督的学习方法: 这一类方法应用标注的小数据集(种子数据)自举学习。 无监督的学习方法:这一类方法应用词汇资源(如WordNet)等停止上下文聚类。 混合方法:几种模型相结合或应用统计方法和人工总结的知识库。

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

这里有一个基于tensorflow的完成:https://github.com/shiyybua/NER

一些相关的数据集:
    CCKS2017开发的中文的电子病例测评相关的数据。评测义务一:https://biendata.com/competition/CCKS2017_1/ 评测义务二:https://biendata.com/competition/CCKS2017_2/ CCKS2018开发的音乐范畴的实体辨认义务。评测义务:https://biendata.com/competition/CCKS2018_2/ (CoNLL 2002)Annotated Corpus for Named Entity Recognition。地址:https://www.kaggle.com/abhinavwalia95/entity-annotated-corpus  NLPCC2018开放的义务型对话系统中的口语了解评测。地址:http://tcci.ccf.org.cn/conference/2018/taskdata.php 一家公司提供的,2000条,网址:数据下载 - BosonNLP, 包含人名、地名、机构名、专有名词。下载地址:https://bosonnlp.com/dev/resource

命名实体辨认工具:
    Stanford NER:斯坦福大学开发的基于条件随机场的命名实体辨认系统,该系统参数是基于CoNLL、MUC-6、MUC-7和ACE命名实体语料训练出来的。 https://nlp.stanford.edu/software/CRF-NER.shtml

python完成的Github地址:https://github.com/Lynten/stanford-corenlp
    MALLET:麻省大学开发的一个统计自然言语处理的开源包,其序列标注工具的运用中可以完成命名实体辨认。

官方地址:http://mallet.cs.umass.edu/
    Hanlp:HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目的是普及自然言语处理在消费环境中的运用。支持命名实体辨认。

Github地址:https://github.com/hankcs/pyhanlp

官网:http://hanlp.linrunsoft.com/
    NLTK:NLTK是一个高效的Python构建的平台,用来处理人类自然言语数据。提供实体辨认接口。

Github地址:https://github.com/nltk/nltk

官网:http://www.nltk.org/
    spaCy:工业级的自然言语处理工具。

Gihub地址:https://github.com/explosion/spaCy

官网:https://spcay.io/
    Crfsuite:可以载入本人的数据集去训练实体辨认模型。 文档地址:https://sklearn-crfsuite.readthedocs.io/en/latest/?badge=latest

最新研讨停顿看这里:

https://github.com/yuquanle/NLP-progress/blob/master/named_entity_recognition.md

参考:

1.统计自然言语处理

更多个人学习笔记请关注:

公众号:StudyForAI(小白人工智能入门学习)

知乎专栏:https://www.zhihu.com/people/yuquanle/columns

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评2

feihu_ 2018-12-10 21:28:10 显示全部楼层
啥也不说了,大佬,给你个赞
回复

使用道具 举报

ororo 2018-12-11 11:17:34 显示全部楼层
我反手就是一个么么哒,不谢
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies