当前位置:   article > 正文

命名实体识别(NER)_命名实体识别ner

命名实体识别ner

什么是命名实体识别:命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型。是信息提取, 问答系统, 句法分析, 机器翻译等应用领域的重要基础工具, 在自然语言处理技术走向实用化的过程中占有重要地位. 包含行业, 领域专有名词, 如人名, 地名, 公司名, 机构名, 日期, 时间, 疾病名, 症状名, 手术名称, 软件名称等

方法:
基于模型: 从模型的角度来看, 命名实体识别问题实际上是序列标注问题. 序列标注问题指的是模型的输入是一个序列, 包括文字, 时间等, 输出也是一个序列. 针对输入序列的每一个单元, 输出一个特定的标签. 以中文分词任务进行举例, 例如输入序列是一串文字: “我是中国人”, 输出序列是一串标签: “OOBII”, 其中"BIO"组成了一种中文分词的标签体系: B表示这个字是词的开始, I表示词的中间到结尾, O表示其他类型词. 因此我们可以根据输出序列"OOBII"进行解码,得到分词结果"我\是\中国人".

模型架构选择
在这里插入图片描述
为什么选择BILSTM后接一个CRF
因为BILSTM输出的一个序列的预测分数概率最大的值,作为输出结果,每一个输出之间是没有任何联系的,这样导致预测的实体名出错的概率增加,例如:实体命名识别识别北京真好,要识别出北京这个城市名,北后边不应该再出现北的,但是只用BILSTM就有可能出现这种情况,BILSTM后接CRF可以解决这样的问题,CRF的的转移概率会增加一个约束,使得北转移到北的概率为0,最终CRF会选择一个概率最大的的作为输出,再通过维特比算法解码输出具体的实体名

不接CRF BILSTM的输出是输入序列每一个标签类别的分数,如下输入w0,输出分数[1.5,0.9,0.1,0.08,0.05]分别代表的标签是B-Person,I-Person,B-Orgnization,I-Organization,O,显然分值1.5最大,那么输出预测的就为B-Person
在这里插入图片描述
在没有CRF层的条件下我们也可以得到x中每个单元的预测标签, 但是不能保证标签的预测每次都是正确的. 如果出现下图的BiLSTM层输出结果, 则明显预测是错误的,I-Organization的前边不应该是O
在这里插入图片描述
CRF作用:(全称Conditional Random Fields), 条件随机场. 是给定输入序列的条件下, 求解输出序列的条件概率分布模型

发射概率矩阵, 是指已知当前标签的情况下, 对应所出现字符的概率. 通俗理解就是当前标签比较可能出现的文字有哪些, 及其对应出现的概率,如下结构图BILSTM输出的发射矩阵,将该发射矩阵输入到CRF层,得到转移概率矩阵(转移概率矩阵:有类别数N决定,矩阵大小为nxn)
在这里插入图片描述
在这里插入图片描述

CRF的作用
CRF层能从训练数据中获得约束性的规则.

CRF层可以为最后预测的标签添加一些约束来保证预测的标签是合法的. 在训练数据训练的过程中, 这些约束可以通过CRF层自动学习到.
例如:
1: 句子中的第一个词总是以标签"B-“或者"O"开始, 而不是"I-“开始.
2: 标签"B-label1 I-label2 I-label3 …”, 其中的label1, label2, label3应该属于同一类实体.
比如, “B-Person I-Person"是合法的序列, 但是"B-Person I-Organization"是非法的序列.
3: 标签序列"O I-label"是非法序列, 任意实体标签的首个标签应该是"B-”, 而不是"I-”.
比如, "O B-label"才是合法的序列

损失函数
在这里插入图片描述

整个标签序列的得分等于各个位置的得分之和,而每个位置的得分包括两部分,一部分直接有LSTM输出决定,另一部分由CRF的转移矩阵决定,最后利用softmax来得到归一化概率
在这里插入图片描述
模型训练最大化对数似然函数log(P(y|x)
模型预测使用Viterbi算法来求解最优路径

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/497635
推荐阅读
相关标签
  

闽ICP备14008679号