实体抽取(命名实体识别)调研报告


一.介绍

实体抽取也就是命名实体识别(Named Entity Recognition ) ,简称为NER,命名实体识别是是自然语言处理(NLP)中一项最基础的工作,它的任务就是识别出文本当中特定意义的实体,MCU将其分为三大类:时间类(TIMEX),实体类(EMAMEX)和数字类(NUMEX),三大类又被分为七小类(Location, Person, Organization, Money, Percent, Date, Time),比如实践类包含人名,地名,机构名三类,时间类包含日期和时间两类,数字类包含货币和百分比两类。当然我们也可以自己定义一个新的实体类别

二.命名实体识别发展的历史

在命名实体识别方面的研究,国外开始的比较早,而国内起步则比较晚。
在1991年的IEEE人工智能应用会议上,RAU首次发表了有关抽取和识别的文章,其主要采用基于手工编写规则的方法2。在MCU-6正式将命名实体识别引入,作为一项基本的任务之后,随后一系列的国际重要会议都将命名实体识别作为一项指定的任务,在最早的一批会议中,如MCU-7会议评测的系统,大多数都是基于手工编写规则的方法。随着慢慢地发展,在CoNNLL-2003会议上,所有的参赛者都是使用的基于统计的机器学习方法。近年来,深度学习发展十分迅速。深度学习的方法在NER任务中野得到了运用,比如RNN-CRF,CNN-CRF以及最近比较流行的BiLSTM-CRF。命名实体识别在各个领域发挥着重要的作用。

三.NER的实现方法及其优劣

从NER的发展历史来看,我们大致可以将其方法做出以下分类:

(1)基于规则和字典的方法

基于规则与字典的方法是命名实体识别任务中最古老的方法。利用手工编写的规则,提取特征,比如关键词,指示词,位置词等,收集特征词,并且给每一个规则都赋予一个权值,当规则冲突的时候,选择权值最高的规则进行命名实体类型。由于是最早的命名实体方法,所以它的限制也很大,当提取规则比较适合的时候,它的优越性是很大的。但是手工编写规则需要专业的语言学家,并且需要大量的时间,也容易出错。不同的领域需要不同的规则,移植性很差。

(2)基于统计的传统的机器学习方法

传统的机器学习方法主要包括以下各种模型:隐马尔可夫模型(HMM),支持向量机(SVM),最大熵(ME),条件随机场(CRF)等。
首先是隐马尔可夫模型(HMM)而言,因为它的训练时间短,识别速度要快,所以比较适用于短文本命名实体识别,但是正确率略逊于其他模型。
对于最大熵(ME)来说,通用性比较强,但是时间花费比较长。
对于支持向量机(SVM)来说,正确率相较于HMM要高一些,但是速度要慢一些。
对于条件随机场(CRF)来说,它的优点是,它的框架是所有模型当中最为灵活的。但是同样存在训练时间过长的缺点。

(3)基于深度学习的方法

这是一种混合方法。因为最近几年词嵌入方法的提出和深度学习飞速发展,我们可以利用神经网络来处理自然语言处理问题,利用神经网络来提取特征。将原本如CRF等模型与深度学习神经网络结合起来。比如LSTM-CRF,BiLSTM+CRF,BiLSTM+CNN+CRF等。基于深度学习的混合NER方法是目前的主流方法。速度够快,准确率也高。

目前几种实现命名实体识别的标准库介绍

实现命名实体识别的标准库有很多。其中最著名的要属Stanford NER和NLTK。Stanford NER与NTLK不同。它是由java实现的基于条件随机(CRF)的一个NER实现工具。而NLTK是一个python,它提供了一系列的NLP的语料库和算法API.

四.NER的评估的标准

评价一个NER的任务是否准确要从两个方面来看。首先是实体的边界是否判别正确,另外一个是实体的类型是否被正确标记。所以可能会出现以下几种错误,不能正确识别实体,实体边界正确而类型错误和实体类型正确而边界错误等。所以只有当实体边界和类型都被该NER方法正确识别的时,才能认为命名实体识别任务的正确性。所以有以下公式可以用来评估一个NER任务的好坏。

TP: NER能正确识别的实体
FP: NER能识别实体但是边界或者类型错误
FN: 未被NER所识别的实体
准确率:Precision=TP/(TP+FP)
召回率:Recall=TP/(TP+FN)
F1: F1=2PrecisionRecall/(Precision+Recall)
特别地:如果在Precision和Recall有相对权重时,有如下F1:
F1=(a2+1)*Precision*Recall/(a2 *Precision+Recall)

其中a代表Recall和Precision的权重。根据公式我们显然可以看出当a>1时,Precision更重要,a<1时。Recall更重要,a=1时,两者一样重要。

对于单实体识别任务来说只要求一个F1就能对于这个NER进行评估,然而在大多数情况先都是多实体识别任务。有两种方法可以对多实体识别进行评估。一种是求宏平均F值:分别求出每一个实体相应的F1,再整体求出平局值。另一种是求微平均F值:将每个实体的个体视为平等的,对于整体求出F1。

五.NER难点未来发展的方向

NER虽然是自然语言处理当中基础性,关键性的问题,由于英文的天然优势,在命名实体识别领域,大部分外国的学者都认为他们已经很好地解决了英文命名实体识别的任务。而中文相对于英文来说,无论在分词上,还是在实体的复杂度上,都给中文命名实体识别带来了很大的困扰。前文我们说到,要从两个方面来看一个NER任务的正确性,即实体边界是否被准确判别和实体类型是否被准确识别,所以中文的命名实体识别存在以下几点方面的障碍:
(1)分词的困难,中文不像英文一样带有空格一类的显示边界的标识,所以分词比较困难。
(2)中文的实体结构比较复杂,存在各种嵌套,缩略形式。
(3)不同场景下相同词语语义的变化影响实体识别的准确率
(4)受多元文化的冲击,现代汉语的发展十分迅速,各种外来词的加入,音译词的混杂,都有对命名实体识别造成十分大的障碍。等等。

Reference

[1]Named Entity Recognition Approaches
Alireza Mansouri, Lilly Suriani Affendey, Ali Mamat
[2]Named Entity Recognition
Vijay Krishnan and Vignesh Ganapathy {vijayk , vignesh}@cs.stanford.edu
December 16, 2005


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM