赞
踩
命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体。一般包括3大类(实体类、时间类、数字类)和7小类(人名、地名、机构名、专有名词、时间、日期、货币和百分比)。命名实体识别是关系抽取、事件抽取、知识图谱、机器翻译、问答系统等诸多NLP任务的基础。
1、召回率 = 正确识别的实体/总的识别数量×100%
2、准确率 = 正确识别的实体/总的实体×100%
3、F-测度值 = 2×召回率×准确率/(召回率+准确率)
1、标签列表如下:
2、常用标注方法:
1、传统基于规则和词典的方法:
采用语言学专家手工构造规则模板,选用特征包括统计信息、标点符号、关键字、指示词和方向词、位置词(如尾字)、中心词等方法,以模式和字符串相匹配为主要手段,这类系统大多依赖于知识库和词典的建立。对每一个规则都赋予权值。当遇到规则冲突的时候, 选择权值最高的规则来判别命名实体的类。
2、基于统计的方法:
隐马尔可夫模型(HiddenMarkovMode,HMM)、最大熵(MaxmiumEntropy,ME)、支持向量机(Support VectorMachine,SVM)、条件随机场(ConditionalRandom Fields,CRF)等。
3、基于深度学习的方法:
RNN\CNN与CRF结合等。如下图BiLSTM+CRF:
文献 | 年份 | 方法 | conll2003 F1值 |
---|---|---|---|
[1]Neural Architectures for Named Entity Recognition | 2016.4 | BiLSTM+CRF+character | 90.94 |
[2]End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF | 2016.4 | BiLSTM+CNN+CRF+character | 91.21 |
[3]LSTM-Based NeuroCRFs for Named Entity Recognition | 2016.9 | LSTM/BiLSTM+CRF | 89.30/89.23 |
[4]Attending to Characters in Neural Sequence Labeling Models | 2016.11 | LSTM/BiLSTM+CRF | 84.09 |
[5]Fast and Accurate Entity Recognition with Iterated Dilated Convolutions | 2017.7 | IDCNN+CRF | 90.54±±0.18 |
[6]Named Entity Recognition with Gated Convolutional Neural Networks | 2017 | GCNN+CRF | 91.24 |
4、未来研究方向
使用Bert进行下游语言模型的训练,再接上游深度学习任务等。半监督学习:给出一小部分已标注的样本,对其他样本标注进行预测。
1、事件检测:地点、时间、人物是时间的几个基本构成部分,在构建事件的摘要时,可以突出相关人物、地点、单位等。在事件搜索系统中,相关的人物、时间、地点可以作为索引关键词。事件的几个构成部分之间的关系,从语义层面更详细的描述了事件。
2、信息检索:命名实体可以用来提高和改进检索系统的效果,当用户输入“重大”时,可以发现用户更想检索的是“重庆大学”,而不是其对应的形容词含义。此外,在建立倒排索引的时候,如果把命名实体切成多个单词,将会导致查询效率降低。此外,搜索引擎正在向语义理解、计算答案的方向发展。
3、语义网络:语义网络中一般包括概念和实例及其对应的关系,例如“国家”是一个概念,中国是一个实例,“中国”是一个“国家”表达实体与概念之间的关系。语义网络中的实例有很大一部分是命名实体。
4、机器翻译:命名实体的翻译常会有一些特殊翻译规则,例如中国人民翻译成英文时要使用名字的拼音来表示,有名在前姓在后的规则,而普通的词语要翻译成对应的英文单词。准确识别出文本中的命名实体,对提高机器翻译的效果有重要的意义。
5、问答系统:准确的识别出问题的各个组成部分特别重要,问题的相关领域,相关概念。目前,大部分问答系统都只能搜索答案,而不能计算答案。搜索答案进行关键词的匹配,用户根据搜索结果人工提取答案,而更加友好的方式是把答案计算好呈现给用户。问答系统中有一部分问题需要考虑到实体之间的关系,例如“美国第四十五届总统”,目前的搜索引擎会以特殊的格式返回答案“特朗普”。
当前命名实体识别只是在有限的文本类型(主要是新闻语料中)和实体类别(主要是人名、地名)中取得了效果;与其他信息检索领域相比,实体命名评测预料较小,容易产生过拟合;命名实体识别更侧重高召回率,但在信息检索领域,高准确率更重要;通用的识别多种类型的命名实体的系统性很差。主要存在以下几方面原因:
1、各类命名实体没有严格的命名规范
2、中文命名实体没有类似英文明确的单词边界及标志
3、中文分词和命名实体识别相互影响
4、网络汉语文本实体组成方式更加复杂
5、现存标注语料老旧、覆盖面低
6、命名实体歧义消歧困难
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
1、NLTK:由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集的大量公开数据集、模型上提供了全面、易用的接口,涵盖了分词。
官方地址:http://www.nltk.org/
Github地址:https://github.com/nltk/nltk
2、Stanford NER:是斯坦福大学自然语言研究小组发布的。是一个Java实现的命名实体识别(以下简称NER))程序。NER将文本中的实体按类标记出来,例如人名,公司名,地区,基因和蛋白质的名字等。
地址:http://nlp.stanford.edu/software/CRF-NER.shtml
python实现的Github地址:https://github.com/Lynten/stanford-corenlp
3、MALLET:麻省大学开发的一个统计自然语言处理的开源包,其序列标注工具的应用中能够实现命名实体识别。
官方地址:http://mallet.cs.umass.edu/
4、HanLP:是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用。支持命名实体识别。
官网:http://hanlp.linrunsoft.com/
Github地址:https://github.com/hankcs/pyhanlp
5、SpaCy:工业级的自然语言处理工具,遗憾的是不支持中文
官网:https://spacy.io/
Gihub地址:https://github.com/explosion/spaCy
6、Crfsuite:可以载入自己的数据集去训练CRF实体识别模型
网址:https://sklearn-crfsuite.readthedocs.io/en/latest/?badge=latest
Gihub地址:https://github.com/yuquanle/StudyForNLP/blob/master/NLPbasic/NER.ipynb
参考资料:
1、命名实体识别(NER)全解析:https://blog.csdn.net/qq_41853758/article/details/82933080
2、一文读懂命名实体识别:http://www.sohu.com/a/324710017_312708
3、序列标注中的几种标签方案:https://blog.csdn.net/liangjiubujiu/article/details/79710508
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。