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

图灵汇官网

命名实体识别概述

命名实体识别(Named Entity Recognition,简称NER)是指从文本中识别出具有特定含义的实体。这些实体主要包括人名、地名、机构名和专有名词等。简单来说,这项技术旨在确定自然文本中实体的边界和类型。

发展历程

命名实体识别的概念首次出现在MUC-6(消息理解会议)上。这次会议主要关注信息抽取任务。MUC-6不仅包含信息抽取测试,还新增了命名实体识别任务。此外,还有CoNLL、ACE和IEER等相关的评测会议。在MUC-6之前,人们主要关注人名、地名和机构名的识别。自MUC-6以来,研究者们对实体类别进行了更详细的划分,例如地名被细分为城市、州和国家等。同时,一些评测还扩展了实体的范围,包括产品名、电影名、书名、项目名、研究领域名称、电子邮件地址、电话号码及生物信息学领域的专有名词等。此外,还有一些工作尝试将实体识别拓展到更广泛的开放领域。

常见方法

早期的命名实体识别方法多基于规则。随着基于大规模语料库的统计方法在自然语言处理中取得显著效果,许多机器学习方法也应用于命名实体识别。宗成庆教授在其著作《统计自然语言处理》中大致将这些方法分为以下几类:

  1. 有监督学习:这类方法需要大规模已标注语料进行模型训练。常用模型包括隐马尔可夫模型、语言模型、最大熵模型、支持向量机、决策树和条件随机场(CRF)等。其中,基于条件随机场的方法被认为是命名实体识别中最有效的方法。

  2. 半监督学习:这类方法利用少量标注数据(种子数据)进行自举学习。

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

  4. 混合方法:结合多种模型或使用统计方法和人工总结的知识库。

近年来,深度学习方法也被广泛应用到命名实体识别中,尤其是LSTM+CRF和BiLSTM+CRF等经典方法。

实现示例

一个基于TensorFlow实现的命名实体识别项目可以在以下链接找到:https://github.com/shiyybua/NER

相关数据集

  • CCKS2017:中国中文电子病历评测数据集,包括两个评测任务:https://biendata.com/competition/CCKS20171/ 和 https://biendata.com/competition/CCKS20172/

  • CCKS2018:音乐领域实体识别评测数据集:https://biendata.com/competition/CCKS2018_2/

  • CoNLL 2002:命名实体识别标注语料库:https://www.kaggle.com/abhinavwalia95/entity-annotated-corpus

  • NLPCC2018:任务型对话系统中的口语理解评测:http://tcci.ccf.org.cn/conference/2018/taskdata.php

  • BosonNLP:包含2000条数据的多类实体识别数据集:https://bosonnlp.com/dev/resource

命名实体识别工具

  • Stanford NER:斯坦福大学基于条件随机场的命名实体识别系统,经过CoNLL、MUC-6、MUC-7和ACE等语料库训练。相关代码可在GitHub上找到:https://github.com/Lynten/stanford-corenlp

  • MALLET:麻省大学开发的统计自然语言处理开源工具包,可用于命名实体识别。官方地址:http://mallet.cs.umass.edu/

  • HanLP:大快搜索主导的开源自然语言处理工具包,支持命名实体识别。GitHub地址:https://github.com/hankcs/pyhanlp;官网:http://hanlp.linrunsoft.com/

  • NLTK:高效Python平台,用于处理人类自然语言数据,提供实体识别接口。GitHub地址:https://github.com/nltk/nltk;官网:http://www.nltk.org/

  • spaCy:工业级自然语言处理工具。GitHub地址:https://github.com/explosion/spaCy;官网:https://spacy.io/

  • CRFsuite:可以加载自己的数据集训练实体识别模型。文档地址:https://sklearn-crfsuite.readthedocs.io/en/latest/

最新研究进展

最新的命名实体识别研究进展可参见:https://github.com/yuquanle/NLP-progress/blob/master/namedentityrecognition.md

希望以上内容对你有所帮助!更多个人学习笔记请关注:

  • 公众号:StudyForAI(小白人工智能入门学习)
  • 知乎专栏:https://www.zhihu.com/people/yuquanle/columns
本文来源: 图灵汇 文章作者: 大话区块