NLP --- 命名体识别(NER)

本节将讲解命名体识别,有些核心的算法如HMM、CRF等我们前面都讲过了,所以本节更像是综述性的文章,大家可以看看宗老师的书,那里说的比较详细,这里只是简单的介绍一下命名实体识别(named entity recognition,NER)的发展历史,和当前的研究程度,大家如果对其有兴趣,请查阅相关资料,当然最新的算法我会在后面的博客中再来详细讲解,例如基于深度学习的即CNN,LSTM等,后面再说,这里简单的提一下,因此本节我们从宏观上进行了解命名体识别的来历,废话不多说,下面开始:

命名实体识别(named entity recognition,NER)

这里不打算详细介绍英语方面的命名体识别,有兴趣的请查阅相关论文,下面正式开始:

MUC-6 第一次提出命名实体识别 , 现 在在自然语言处理中已经被广泛使用。 信息抽取就是从非结构化的文本中(例如,新闻)抽取结构化的数据和特定的关系。 在定义任务的过程中人们注意到识别信息单元的名称,像人名、机构名、地名、时间等是必不可少的。识别上面所说的实体的名称, 就叫做命名实体识别。命名实体识别是信息抽取的子任务, 识别的好坏直接关系到抽取的好坏。早期的命名实体识别工作,主要识别一般的“专有名词”,包括三类名词:人名、地名、机构名。 这也是MUC-6 最早定义的任务要识别的名词 。 随着研究的进行,人们对这些名词进行更细致的划分。 对于地名,可以进行细分为:国家名、省/州、城市名、街道名等。 类似的人名可以细分为:政客、演员等。 除了识别一般的专有名词, 人们也开始关注对于特定领域的命名实体识别。 在生物医学领域,对于基因名、蛋白质名的识别已经有许多工作在开展,也取得了不错的效果。 针对社交媒体文本中存在大量的电影、 歌曲等, 识别电影名、歌曲名、邮件地址等实体。 随着研究范围的扩大,针对不同的特定问题特定领域, 越来越多的实体类型被提出。

汉语 NER 研究和 SIGHAN Bakeoff

     汉语的命名实体识别较之英语要更为复杂困难,这主要表现在汉语文本中没有表示词语边界的分隔符号,命名实体的识别效果很大程度受自动分词结果影响,而汉语自动分词的效果往往也受制于命名实体的识别。中文信息处理中类似于命名实体识别的研究,最早出现就是为了提高汉语自动分词的效果,早期的汉语命名实体识别主要关注某一类命名实体,如人名、机构名等,采用的也大多是基于规则的方法。
     最早将汉语命名实体识别作为评测任务提出的,是2003年举办的“863评测",该评测持续到2005年,汉语NER作为自动分词的子任务,只在2003年和2004年出现,评测结果中Fl值最高的只有82.38%。真正将汉语NER研究作为重要的研究领域,并组织较大规模评测会议,是从SIGHANBakeoff-2006开始的.

      SIGHAN(the special interest group for chinese language processing)也是ACL的一个专门的兴趣小组,主要研究汉语自动分词。在汉语分词中,未登录词(OOV)是影响分词效果非常重要的因素,而命名实体是未登录词中最为显著的一种,因此命名实体识别是汉语自动分词无法回避的问题。SIGHAN于2006年正式将NER问题作为其评测比赛(bakeoff)的一项任务。Bake off-2006提供了一组汉语语料(MSRA、LDC和CITYU)并借鉴CoNLL-2002的体系,定义了4类命名实体:人名、地名、机构名和地理.政治实体(GPE)到了Bakeoff-2007,减去了LDC语料,命名实体也减少为最常见的三类:人名、地名、机构名。

       在Bakeoff评测中,统计机器学习方法依然占主导,且普遍取得了较好的效果,在Bakeoff-2006、Bakeoff-2007两届评测中,名列前茅的NER系统几手都采用了CRF模型和ME模型。Bakeoff的评测得到了几个重要的发现:语料含未登录词的比例直接影响了识别效果;三类命名实体中,机构名识别最难;在训练语料上增加外在数据,对识别效果影响很大。
       SIGHAN Bakeoff-2010没有继续关注命名实体识别,而是转而关注了命名实体相关的另一项重要问题:命名实体消歧(NED)。到了SIGHAN Bakeoff-2012,命名实体识别和消歧(NERD)作为一个全新的问题,成为该届Bakeoff的评测任务。参赛的NERD系统大多分为NER和NED两部分,而CRF模型仍然是NER部分的首选。此后SIGHABakeoff未再将NER作为评测任务。

下面就介绍一下NER的主要方法,这里大家可以针对感兴趣的点进行进一步去查阅资料。

NER的主要方法

基于规则的方法

早期尤其是MUC会议前后的NER研究,人工构建有限规则,再从文本中寻找匹配这些规则的字符串,是一种主流的方法。但即便是基于规则,研究者们也试图借助机器自动地发现和生成规则,这其中最具代表性的便是Collins等提出的DL-CoTram方法,其先预定义种子规则集Decision List,再根据语料对该集合进行无监督的训练迭代得到更多的规则,最终将规则集用于命名实体的分类,该方法对命名实体三种类别(人名、地名和机构名)的分类准确率均超过了91%。类似的还有使用Bootstrappmg进行规则自动生成的方法。与此同时,也有研究者提出了规则和统十模型(ME)相结合的NER系统,并认为加人统计模型后,不使用地名词典仍然可以很好地识别出地名。可见研究者们已经意识到,虽然基于规则的方法虽然能够在特定的语料上获得较高的识别效果,但是识别效果越好,越需要大量规则的制定,而人工制定这些规则可行性太低。而试图通过制定有限的规则来识别出变化无穷的命名实体,这样的方法愈发显得笨重更不用说规则对领域知识的极度依赖,使得当领域差别很大时,制定的规则往往无法移植,不得不重新制定规则。这些固有的缺点使得研究者们转而采取新的研究思路,而此时正值机器学习在 NLP 领域兴起,NER 自然地转向了机器学习的阵营。

基于统计机器学习的方法

随着世纪交接时期机器学习在NLP领域的兴起,NER研究也逐渐转向了火热的机器学习阵营。基于统计机器学习的NER研究大体可以总结为以下几个方向:选择合适的模型和方法,进行模型和方法的改进,选择合适的特征,多种方法的综合

模型和方法的选择

基于机器学习的NER方法归根到底都是分类的方法,给定命名实体的多个类别,再使用模型对文本中的实体进行分类。但其中也可以分为两种思路,一种是先识别出文本中所有命名实体的边界,再对这些命名实体进行分类,如Collins等的CoBoost方法,其通过拼写和上下文分别训练得到两个分类器,再基于AdaBoost整合得到一个适用于无标签语料的分类器。该方法对于命名实体三种类别(人名、地名和机构名)的分类准确率均超过了91%。

另一种是序列化标注方法。对于文本中每个词可以有若干个候选的类别标签,这些标签对应于其在各类命名实体中所处的位置。此时NER的任务就是对文本中的每个词进行序列化的自动标注(其实也是分类),再将自动标注的标签进行整合,最终获得有若干个词构成的命名实体及其类别。序列化标注是目前最为有效,也是最普遍的NER方法。经典机器学习分类模型如HMM、ME、CRF和SVM都被成功地用来进行命名实体的序列化标注,且获得了较好的效果。

模型和方法的改进

机器学习在NER上获得的迅速成功并没有阻碍研究者们的研究热情,怎么样设计出识别效果更好的NER方法,一直是研究者孜孜不倦努力的目标。改进模型并提高模型的计算效率,是机器学习中最常见的研究思路,而在NER中这种思路同样可行如Zhou等提出的基于HMM的块标注器,Leaman等提出的半马尔可夫模型等。值得注意的是,模型改进研究在汉语命名实体识别研究中较为多见,这是因为经典的NER模型大多面向英语文本提出,并不直接适用于汉语,根据汉语特点调整和优化经典模型,能够更有效地识别汉语文本中的命名实体,如层叠马尔可夫方法、多层条件随机场方法等。
 
特征的选择
 另一种提高NER效果的思路是选择更好的特征表示,而这种思路在NER中更为普遍和有效。NER任务中,最常见的特征包括形态、本地(local)词汇和句法信息,形态特征有如词形、大小写、前后缀等。本地词汇特征有如前后提示词、窗口词、连接词等。最近,通过未登录词和非常规词的识别来提高NER的效果,也得到了尝试。句法特征有词性、浅层句法结构等。由于汉语的特殊性,除了词汇层面的特征外,汉字层面的特征也被充分地用来辅助提高NER的效果,如提示单字、常用尾字等。同时,由于汉语分词和NER的密切联系,有研究发现分词结果可以有效地提高汉语NER的效果。
为了提高识别的效果,各种全局(global)信息也作为特征被广泛地应用在NER中,尤其是远距离依存和上下文同指等。与此同时,各种外部知识如未标注文本旦、人名词典、地名词典等也被普遍使用来提高NER模型的性能。有研究表明,在模型不变的情况下,全局信息和外部知识确实可以显著地提高识别的效果。值得注意的是,维基百科知识是最常见且有效的外部知识,而在汉语NER中,知网作为一个汉语特有的词汇语义知识库,也被充分地应用在NER研究中。

综合的 NER 方法

在选择、改进机器学习模型,选择更好的、更多的特征表示之外,也有研究综合使用多种方法,并在NER上取得了较好的效果。比较常见的是模型的混合,如混合多个SVM、混合HMM和ME。统计和规则相结合的方法也较为多见。有研究将NER与命名实体归一化(NEN)相结合,也取得了很好的效果。

NER 的新阶段

跨语言 NER 研究

随着大数据时代的推进,越来越多大规模跨语言平行语料库的得到建立,跨语言 NER 逐渐得到了重新重视,有利用平行语料库和元数据的跨语言NER研究,也有研究提出了不需要平行语料库。有研究利用维基百科的多语言知识映射来提高跨语言NER效果,还有研究将双语词语对齐和NER相结合发现结合后的方法对双语下的词语对齐和NER都带来了显著的提高。也有研究直接使用跨语言的协同训练算法来实现跨语言命名实体的识别。

深度学习下的 NER 

近年来,源于神经网络模型的深度学习技术成为机器学习领域新的热潮。尤其是使用词向量来表示词语的方法,一方面解决了高纬度向量空间带来的数据稀疏问题,另一方面词向量本身也比人工选择的特征包含更多的语义信息,而且该方法可以从异构的文本中获取统一向量空间下的特征表示,对于NER这种典型的序列化标注问题,俨然能够带来强大的发展动力。因此,虽然NER已经不是命名实体众多相关研究领域中的热点,仍有不少学者将最新的深度学习技术使用在NER问题上,以求进一步提高NER的效果。这其中,使用词向量作为特征,是最为简单有效的方法旦而更多研究还力求借鉴和改进现有的模型和方法,如有研究借鉴LSTM在自动分词上得到的较好结果,提出一种LSTM与CRF相结合的模型,比之前的方法的F值提高了5%。Tomorl等为了证明现实世界的数据可以用来提高NER的效果,利用日本将棋比赛的解说语料库和棋局数据,训练了一个DNN+R模型,发现该模型比单纯的DNN模型效果好很多。Lample等提出了LSTM和基于转换的两种神经网络模型,同时从标注语料和未标注语料中获取特征,在四种语言上均获得了目前最好的NER效果。Bharadwaj等在LSTM神经网络上,增加了一层音素特征,在土耳其语等形态变化较复杂的语言上取得了较好的NER效果。除此之外,卷积神经网络(CNN)、混合神经网络(HNN)等深度学习方法也被成功用来解决NER问题,并取得了较好的结果。

NER 的应用

随着 NER 效果不断提高,技术逐渐成熟,如今的 NER 研究重点逐渐从模型调整等转向了实际应用。这主要得益于机器学习方法下的 NER 效果,虽然还无法达到接近 100%的正确率和召回率,但绝大对于从大规模的文本中识别出命名实体来说,已经
足以满足一定的应用需求。因此NER开始在各类学科、各领域文本中得到大量的尝试,这其中,生物医学领域中各种实体的识别的研究最为成熟和完善。近年来社交媒体火热发展,对社交媒体的情感评价、网络分析研究成为NLP一个重要的研究领域,而从
 Twitter、微博等社交媒体文本中识别出命名实体对于这类研究来说是一个重要的基础,因此社交媒体NER研究近几年一直保持着一定程度的研究热度。但值得注意的是,由于社交媒体文本的语句随意性较大,相对于评测会议的语料来说,语料质量要差很多,对于基于机器学习的NER效果会产生较大的影响,这种影响也直接反映在目前社交媒体NER的效果较之评测会议有着较大
的差距。除了生物医学和社交媒体之外,NER在其他诸多领域中,都发挥了积极的效果,如E-Mail、化学实体、旅游实体、商品商标名称、古籍文本中的人名、地名等。除此之外,NER 还被用来帮助解决一些特殊的 NLP 问题,比如提高苏美尔语的词形还原效果。

NER 的总结和未来发展

命名实体识别从提出以来,一直是信息检索、数据挖掘、自然语言处理等领域中一个重要的研究领域。从MUC到A再到CoNLL,一系列重要的评测会议划定了NER的基本研究范围,也提出了大量经典的重要的研究方法。与大多数NLP问题类似,NER的发展基本经历了一种从规则向统计的转向,早期的规则方法已经不再流行,但其研究思路仍然给人以宝贵的启示,且规则和统计相结合的方法仍不时得到有效的尝试。如今的NLP领域,统计机器学习方法日益完善,NER也在这辆高速列车上走向成熟,而深度学习带来的机器学习新热潮,将会使NER在统计机器学习的道路上继续高速地推进。

然而从目前已有的研究成果来看,NER研究还远不是一个得到完善解决甚至将要完善解决的问题,各领域下对命名实体定义的模糊,实验结果在80%、90%徘徊的F1值,使得NER仍然是一个有挑战性的研究领域。一方面,大数据环境下,机器学习乃至深度学习仍将是最有效的NER方法。而另一方面,虽然机器学习带来了NER的火热发展,但大量研究固化于调整经典模型、挑选更多特征、扩大语料规模这种三角模式,是值得研究者们反思的NER的研究不应局限于F1值的提高上,从更多的角度来思考NER这一问题,才能使这个研究领域获得更全面的发展。比如当语料规模不足时,不是考虑扩大语料的规模,而是使用迁移学习方法来解决NER在其他学科上的应用也是未来一个重要的研究方向。将已有的NER方法有效地应用在各种领域的文本上,帮助各种学科获取其所关注的命名实体,这本就是NER研究的意义和价值所在。

 

本篇主要是综述一下命名体识别的发展历史,和最近比较火的研究方向,大家可以详细看一下宗老师的书,部分算法讲的还是比较详细的,这里就不在叙述了,深度学习应用在NER的算法在后面会讲,这里简单的介绍一下,本节结束。

参考论文:

命名实体识别研究综述   刘浏,王东波

命名实体识别综述    陈基




 

你可能感兴趣的:(自然语言处理)