基于统计的中文实体识别方法简述

命名实体识别(NER)是自然语言处理的一个基础任务,其目的是识别出语料中的人名、地名、组织机构名等命名实体,一般包括三大类(实体类、时间类和数字类)和七小类(人名、地名、机构名、时间、日期、货币和百分比)。NER是信息抽取、机器翻译、知识图谱等多种自然语言处理任务必不可少的组成部分。

NER方法大致可分为两类:基于规则的方法和基于统计的方法。基于规则的方法多采用语言学家手工构造规则模板,这类系统大多依赖于知识库和词典,需要人工建立实体识别规则,成本高且可移植性差。基于统计的方法一般需要语料库来进行训练,常用的方法有HMM、CRF和神经网络等。本文主要介绍基于统计的方法,先简单介绍CRF,然后简单介绍BiLSTM-CRF。

CRF

条件随机场(CRF)是给定一组输入序列条件下另一组输出序列的条件概率分布模型,定义:设 X 与 Y 是随机变量,P(Y|X) 是给定 X 时 Y 的条件概率分布,若随机变量 Y 构成的是一个马尔科夫随机场,则称条件概率分布 P(Y|X) 是条件随机场。

先来看什么是随机场,随机场是由若干个位置组成的整体,当按照某种分布给每一个位置随机赋予一个值之后,其全体就叫做随机场。马尔科夫随机场是随机场的特例,它假设随机场中某一个位置的赋值仅仅与和它相邻的位置的赋值有关,和与其不相邻的位置的赋值无关。CRF 是马尔科夫随机场的特例,它假设马尔科夫随机场中只有 X 和 Y 两种变量,X 一般是给定的,而 Y 一般是在给定 X 的条件下的输出,这样马尔科夫随机场就特化成了条件随机场。

再来看看什么是线性链条件随机场,在上述CRF的定义中,并没有要求X和Y具有相同的结构,而实现中,一般都假设X和Y有相同的结构,即:X=(X1,X2,...Xn),Y=(Y1,Y2,...Yn),有相同结构的CRF就构成了线性链条件随机场(linear-CRF),如词性标注中一句话被分成10个词,10个词对应10个词性。

CRF++是著名的条件随机场开源工具,也是目前综合性能最佳的CRF工具,其实现NER的算法流程为:

CRF++的数据格式:即句子中的每个字有一个标签,可用BMEWO做标注体系,B代表实体的首部,M代表实体的中部,E代表实体的尾部,W代表单个的实体,O代表非实体。

特征模板:通常是人工定义的一些二值特征函数,试图挖掘命名实体内部以及上下文的构成特点。对于句子中的给定位置来说,提特征的位置是一个窗口,即上下文位置。而且,不同的特征模板之间可以进行组合来形成一个新的特征模板。对句子中的各个位置提取特征时,满足条件的特征取值为1,不满足条件的特征取值为0,然后把特征喂给CRF进行训练。

CRF的优点在于其为一个位置进行标注的过程中可以利用到此前已经标注的信息,利用Viterbi解码来得到最优序列。训练阶段建模标签的转移,进而在预测阶段为测试句子的各个位置做标注。

BiLSTM-CRF

循环神经网络可以有效处理许多NLP任务(如CWS、POS、NER)。原理简单概述是将词从one-hot表示映射到低维空间中成为稠密的embedding,随后将句子的embedding序列输入到RNN中,然后Softmax来预测每个词的标签。

同上述CRF++数据格式一样,BiLSTM-CRF 可采用BIO标注集,如B-PER、I-PER代表人名首字、人名非首字,B-LOC、I-LOC代表地名首字、地名非首字,B-ORG、I-ORG代表组织机构名首字、组织机构名非首字,O代表该字不属于命名实体的一部分。

在说BiLSTM-CRF之前先说一下BiLSTM,单独的LSTM也可以做NER任务。通过词嵌入将句子输入双向LSTM后接Softmax分类,输出各个时刻的最大概率,则每个词对应的标记也就随之确定。但这种方法对每个词打标签的过程中是独立的分类,不能直接利用上一时刻已经预测的标签,进而导致预测出的标签序列可能是非法的,例如标签B-PER后面是不可能紧跟着I-LOC的,Softmax不会利用到这个信息,所以后面需再接一个CRF层,使得标注过程不再是对各个词独立分类。

CRF层通过加入一些约束来保证最终预测结果是有效的,这些约束可以在训练数据时被CRF层自动学习得到。可能的约束条件有:句子开头应该是“B-”或“O”,而不是“I-”,诸如此类。有了这些约束,错误的预测序列将会大大减少。完整的网络结构如下:

先通过状态分数(BiLSTM的输出)和转移分数(CRF层的转移分数矩阵)来计算句子对应的真实标记得分,然后优化模型的损失函数,损失函数由两部分组成,真实标记的分数和所有标记的总分数,真实标记的分数应该是所有标记中分数最高的,在训练阶段,BiLSTM-CRF模型的参数值将随着训练过程的迭代不断更新,使得真实标记所占的比值越来越大,最后在预测阶段使用动态规划的Viterbi算法来求解最优路径。

原文地址:https://www.cnblogs.com/cyandn/p/10891644.html

时间: 2024-08-03 00:57:07

基于统计的中文实体识别方法简述的相关文章

基于Deep Learning 的视频识别方法概览

深度学习在最近十来年特别火,几乎是带动AI浪潮的最大贡献者.互联网视频在最近几年也特别火,短视频.视频直播等各种新型UGC模式牢牢抓住了用户的消费心里,成为互联网吸金的又一利器.当这两个火碰在一起,会产生什么样的化学反应呢? 不说具体的技术,先上一张福利图,该图展示了机器对一个视频的认知效果.其总红色的字表示objects, 蓝色的字表示scenes,绿色的字表示activities. 图1 人工智能在视频上的应用主要一个课题是视频理解,努力解决"语义鸿沟"的问题,其中包括了:    

用IDCNN和CRF做端到端的中文实体识别

实体识别和关系抽取是例如构建知识图谱等上层自然语言处理应用的基础.实体识别可以简单理解为一个序列标注问题:给定一个句子,为句子序列中的每一个字做标注.因为同是序列标注问题,除去实体识别之外,相同的技术也可以去解决诸如分词.词性标注等不同的自然语言处理问题. 说到序列标注直觉是会想到RNN的结构.现在大部分表现最好的实体识别或者词性标注算法基本都是biLSTM的套路.就像Ruder在他的博客 Deep Learning for NLP Best Practices 里面说的,There has b

一种基于词性序列的人名识别方法

在人名识别:[我, 爱, 杨, 尚, 川] 中,爱.杨.尚都是姓,会有多个识别结果,那么我们如何消歧并选择一个最合理的结果呢? 下面看看人名识别:[我, 爱, 杨, 尚, 川] 的计算机分析过程,此过程的分析程序出自Java分布式中文分词组件 - word分词: 人名识别:[我, 爱, 杨, 尚, 川] 识别到人名:爱杨尚 识别到人名:杨尚川 识别到人名:尚川 开始从多个识别结果中选择一个最佳的结果:[[我, 爱杨尚/nr, 川], [我, 爱, 杨尚川/nr], [我, 爱, 杨, 尚川/nr

基于深度学习做命名实体识别

基于CRF做命名实体识别系列 用CRF做命名实体识别(一) 用CRF做命名实体识别(二) 用CRF做命名实体识别(三) 摘要 1. 之前用CRF做了命名实体识别,效果还可以,最高达到0.9293,当然这是自己用sklearn写的计算F1值, 后来用**conlleval.pl**对CRF测试结果进行评价,得到的F1值是**0.9362**. 2. 接下来基于BILSTM-CRF做命名实体识别,代码不是自己写的,用的github上的一个大佬写的,换了自己的数据集,得到最终的结果是0.92. 3.

实验报告: 人脸识别方法回顾与实验分析 【OpenCV测试方法源码】

趁着还未工作,先把过去做的东西整理下出来~   Github源码:https://github.com/Blz-Galaxy/OpenCV-Face-Recognition (涉及个人隐私,源码不包含测试样本,请谅解~) 对实验结果更感兴趣的朋友请直接看 第5章 [摘要]这是一篇关于人脸识别方法的实验报告.报告首先回顾了人脸识别研究的发展历程及基本分类:随后对人脸识别技术方法发展过程中一些经典的流行的方法进行了详细的阐述:最后作者通过设计实验对比了三种方法的识别效果并总结了人脸识别所面临的困难与

CRF++地名实体识别(特征为词性和词)

http://x-algo.cn/index.php/2016/02/29/crf-name-entity-recognition/ 类似使用CRF实现分词和词性标注,地域识别也是需要生成相应的tag进行标注.这里使用的语料库是1998年1月人民日报语料集.最终学习出来的模型,对复杂的地名识别准确率(F值)非常低,推测是预料中对地名的标注多处是前后矛盾.例如  [华南/ns 地区/n]ns  标为地名实体,但是 东北/f 地区/n 确分开标注,类似错误还有很多.将来有时间可以考虑使用微软的词库 

二维物体形状识别方法比较

摘  要  针对模式识别中二维物体的形状识别问题,以二值图像中的物体形状为主要研究对象,依次从特征提取.分类器设计两个主要层面对形状识别方法进行了全面综述,并分析了国内外研究现状,特别是近年来所取得的最新研究成果.最后,指出了目前存在的问题以及今后的研究方向. 关键词  物体形状识别:特征提取:分类器设计 中图法分类号  TP391.41 Comparison on methods of 2D object shape recognition Abstract: In view of two-d

【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇三:批量处理后的txt文件入库处理

篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblogs.com/baiboy/p/wpf1.html 篇三:批量处理后的txt文件入库处理:http://www.cnblogs.com/baiboy/p/wpf2.html 篇四:关于OneNote入库处理以及审核:http://www.cnblogs.com/baiboy/p/wpf3.html [

【CV知识学习】【转】beyond Bags of features for rec scenen categories。基于词袋模型改进的自然场景识别方法

原博文地址:http://www.cnblogs.com/nobadfish/articles/5244637.html 原论文名叫Byeond bags of features:Spatial Pyramid Matching for Recognizing Natural Scene Categories. 这篇文章的中心思想就是基于词袋模型+金字塔结构的识别算法.首先简单介绍词袋模型. 1.词袋模型 Bag of words模型也成为“词袋”模型,在最初多是用来做自然语言处理,Svetla