NLP:命名实体识别(NER)
- 1.NER相关简介
- 1.1概念
- 1.2分类
- 2.关于NER的方法(概述)
- 2.1基于规则的方法
- 2.1.1概念相关
- 2.1.2优缺点
- 2.2基于模型的方法
- 2.2.1基于传统机器学习的方法(主要)
- 2.2.2基于深度学习的方法(主要)
- 2.3混合方法
- 3.中文NER 的难点(主要)
1.NER相关简介
1.1概念
命名实体识别(Named EntitiesRecognition, NER)是自然语言处理(Natural LanguageProcessing, NLP)的一个基础任务。它指识别文本中具有特定意义的实体,如人名、机构名、地名等专有名词和有意义的时间等。
1.2分类
传统的命名实体识别主要分类,一般包括 3 大类(实体类、时间类和数字类)和 7 小类(人名、地名、组织名、机构名、时间、日期、货币和百分比)。但随着 NLP 任务的不断扩充,在特定领域中会出现特定的类别,比如医药领域中,药名、疾病等类别。
2.关于NER的方法(概述)
2.1基于规则的方法
2.1.1概念相关
- 基于规则的方法多采用语言学专家构造规则模板,选用特征包括统计信息、标点符号、关键字、指示词和方向词、位置词、中心词等方法,以模式和字符串相匹配为主要手段,这类系统大多依赖于知识库和词典的建立。
- 比如,抽取文本中物品价格,如果文本中所有商品价格都是“数字+元”的形式,则可以通过正则表达式”\d*.?\d+元”进行抽取。但是如果待抽取文本中价格的表达方式多种多样,例如“一千八百万”、“伍佰贰拾圆”、“2000万元”,这个时候就要修改规则来满足所有可能的情况。随着语料数量的增加,面对的情况也越来越复杂,规则之间也可能发生冲突,整个系统也可能变得不可维护。因此基于规则的方式比较适合半结构化或比较规范的文本中的进行抽取任务,结合业务需求能够达到一定的效果。
2.1.2优缺点
- 优点:简单,快速;
- 缺点:适用性差(规则往往依赖于具体语言、领域和文本风格,编制过程耗时且难以涵盖所有的语言现象,特别容易产生错误,系统可移植性不好),维护成本高后期甚至不能维护。
2.2基于模型的方法
- 从模型的角度来看,命名实体识别问题实际上是序列标注问题。序列标注问题指的是模型的输入是一个序列,输出也是一个序列。针对输入序列的每一个单元,输出一个特定的标签。以中文分词任务进行举例,例如输入序列是一串文字:“我是中国人”,输出序列是一串标签:“SSBME”,其中“BMES”组成了一种中文分词的标签体系,B表示这个字是词的开始Begin,M表示词的中间Middle,E表示词的结尾End,S表示单字成词。因此我们可以根据输出序列“SSBME”进行解码,得到分词结果“我\是\中国人“。
- 序列标注问题涵盖了自然语言处理中的很多任务,包括语音识别、中文分词、机器翻译、命名实体识别等,而常见的序列标注模型包括HMM,CRF,RNN等模型。
2.2.1基于传统机器学习的方法(主要)
基于传统机器学习的方法主要包括:支持向量机(Support VectorMachine,SVM)、最大熵(MaxmiumEntropy,ME)、隐马尔可夫模型(HiddenMarkovMode,HMM)、最大熵马尔科夫模型 (Maximum Entropy Markov Model,MEMM)、条件随机场( ConditionalRandom Fields,CRF)
(1) SVM
- 思想:设法构造一个决策边界,使得正负样本之间的间隔最大化。
- svm是将实体当成标签,定义一些特征(如:词性,词频,上下文信息等)来进行多分类。
- 优缺点
- 模型效果相对 HMM 较好,但速度较慢。
(2) ME
- 最大熵模型属于运用最大熵原理的多分类模型
- 思想:在学习概率模型时,所有可能的模型中熵最大的模型是最好的模型;若概率模型需要满足一些约束,则最大熵原理就是在满足已知约束的条件集合中选择熵最大模型。
- 优缺点
- 最大熵模型结构紧凑,具有较好的通用性,主要缺点是训练时间复杂性非常高,有时甚至导致训练代价难以承受,另外由于需要明确的归一化计算,导致开销比较大。
(3) HMM
- 简单来讲,HMM模型包括两个序列三个矩阵:观察序列、隐藏序列、初始状态概率矩阵、状态转移概率矩阵、发射概率矩阵(隐状态表现为显状态的概率)。
- 性质
- 齐次马尔科夫性:即某时刻的状态只跟前一状态有关;
- 观测独立性假设:t时刻的观测结果只与该时刻的状态有关;
- 优缺点
- 模型简单训练快,但因为马尔可夫假设的原因,模型效果相对较差。
(4) MEMM
- 最大熵马尔科夫模型, 抛弃了HMM中的观测独立性假设,保留了齐次马尔科夫性,是对HMM的一个改进。
(5) CRF
- CRF是一种判别式模型。条件随机场是给定随机变量X的情况下,随机变量Y的马尔科夫随机场。马尔科夫随机场是概率无向图模型,满足成对、局部及全局马尔可夫性。
- 优缺点
- CRF的优点在于其为一个位置进行标注的过程中可以利用丰富的内部及上下文特征信息;CRF模型的训练也更加复杂,时间相对较长。
2.2.2基于深度学习的方法(主要)
(1)BiLSTM + CRF
- BiLSTM
- LongShort Term Memory网络一般叫做LSTM,是RNN的一种特殊类型,可以学习长距离依赖信息。LSTM通过三个门结构(输入门,遗忘门,输出门),选择性地遗忘部分历史信息,加入部分当前输入信息,最终整合到当前状态并产生输出状态。而 BiLSTM 为双向的 LSTM
- w0,w1…表示句子里面的字,经过 BiLSTM 处理,输出每个字对应每个标签的分数,我们将最大数值表示对该字预测的标签。虽然,BiLSTM 已经能够进行满足词性标注,但 BiLSTM 只能够预测文本序列与标签的关系,而不能预测标签与标签之间的关系,标签之间的相互关系就是 CRF 中的转移矩阵。
(2)bert + BiLSTM + CRF
- bert
- bert 模型实际上是一个双向语言编码器,把输入的句子或者段落转化成特征向量(embedding)。分为两个过程:①两种预训练方法--------Masked 语言模型和下一个句子的预测方法②微调过程
- 先转化原始你的数据,然后使用bert模型进行embeding,然后加载google预训练的bert模型,得到embeding之后的进入 BiLSTM 网络。
2.3混合方法
3.中文NER 的难点(主要)
- 各类命名实体的数量众多
- 比如: 人名
- 命名实体的构成规律复杂
- 比如: 各国的人名命名规则不同
- 嵌套情况复杂
- 比如:机构名很多时候就嵌套地名
- 长度不确定
- 比如:中国人名,地名一般2~4个字,但机构名长度变化极大,少的2个字,多的几十字的全程