一CRF(条件随机场)
1.CRF(条件随机场)核心思想
CRF指的是在预测标签的时候会考虑全局的依赖关系,适用于序列标注等结构化预测任务
2.马尔可夫性
马尔可夫性指的是只考虑最近预测值依赖当前的状态,和更早的状态无关.
3.CRF如何实现全局的依赖关系
CRF使用马尔可夫性考虑标签之间的局部关系,从而高效的计算整个序列的计算
二LSTM+CRF实现NER(序列标注)结构详解
2.1第一层架构(lstm)
词嵌入层
BI_LSTM层:捕捉语义
Linear层:输出未归一化的标签概率
是否可以单独使用BI_LSTM实现序列预测:可以,但是效果不是最佳的.
为什么不是最佳的?
因为此时的概率值只是基于本身词的特性预测得到的,而不是基于全局预测.(比如说B后面不可能是B,但是基于词性预测后面可能还会预测为B)
2.2第二层架构(改进架构,使用马尔可夫性考虑全局序列关系)
CRF的作用就是在所有可能的路径中,找出得出概率最大,效果最优的一条路径,那这个标签序列就是模型的输出
这一层主要是先训练线性CRF层,使用训练好的CRF层可以得到转移分数.
然后是使用训练好的线性CRF层嵌套一个decoding process,线性CRF接收发射分数得到转移分数,Decoding Process得到最好的连接路径,再经过解码就可以得到序列预测的结果.
2.3整体架构
三线性链条件随机场
3.1概念
给定x的条件下,输出y的条件概率分布.线性立案条件随机场满足马尔科夫特性(每个标签yi的产生,只与这些因素有关系:当前位置的输入xi,yi直接相连的两个邻居yi-1和yi+1,与其他的标签和输入没有关系).
四发射分数和转移分数
4.1发射分数的由来
- Embedding lookup:这个是对数据向量化后查询.
为什么会有查询这一步?
数据向量化以后,每个原文本字符都有一个下标,用这个下标取对应向量化的数据
下标为负数怎么办?
下标为负数会报错,后续我们要把负数转化为正数
- 隐藏层处理:
隐藏层处理后得到的是这个词结合上下文的语义表示.
为什么经过BILSTM处理后会得到上下文语义表示?
因为LSTM作用是丰富语义
- 线性层处理:得到每个词在该位置的概率,即为发射分数