Advertisement

序列标注任务:BiLSTM-CRF模型中 条件随机场CRF的应用

阅读量:

本文是对这篇知乎文章的学习笔记

BiLSTM-CRF

概念-命名实体识别NER中两个不同的层

复制代码
    -输入:词嵌入向量 ; 输出:单词对应的预测标签

_prior knowledge segment _
-NER系统的首要目标在于识别所有被提及的具体名称。
可划分为两大核心任务:一是界定名称 entity 的范围;二是明确 entity 的具体类别。

本文将围绕一个具体的实例展开讨论->假设在这个数据集中仅包含两种类型的实体,则其对应的标注类别将分为以下五种情况:
在该数据集中涉及的两类实体为人名和机构名。
其对应的标注类型包括B-person、I-person、B-Organization、I-Organization以及O(非实体信息)。

在这里插入图片描述

(单个)词向量 w0 大小为1*n ,记录该词与词表中其他所有词的相似度(0~1)

词向量矩阵是一个压缩后的共词矩阵

经由BiLSTM层的处理后, 输出词汇w0被赋予与其对应的类别标签分数; 该数量等于m(其中m=5)

分数信息—输入到CRF层(作为发射分数 emission_Score)

如果没有CRF层的发展路径,则会形成一个仅依靠BiLSTM层进行预测的新模型——该模型在处理序列中的每一个单独词w0时,在其基础上选取BiLSTM层输出所得最高分对应的标签作为其标注结果,并将所有结果整合成完整的标注序列。然而,在实际应用中发现这样的模型无法达到预期的效果。

在-CRF层中施加一系列约束条件:例如,在训练数据集中I-Person实体必须紧跟在对应的B-Person实体之后出现;而BiLSTM层则仅对单个词进行评分,并不受上下文语境的影响

-CRF层在训练中能够自主学习句子之间的制约关系(端到端的方式而非人工设计)

-效果:减少错误的预测序列


CRF层中两种分数:emission_score 和 transition_score

假设一个序列长度为 n(其中包含 n 个词),而 m 种类别(涵盖所有可能的分类标记)则该算法的评分维度数等于 n 乘以 m。

复制代码
    emission_score[wo][B-person] = 1.5 ,emission_score[w][pos] = 词w被标注为pos类的概率值
    
    transition _socre的大小是m*m transition _socre[m1][m2] 序列中当前词的前一个词被标注为m1下,当前词被标注为m2的概率 . 即由m1转移到下一个状态为m2的概率

#define 概率==分数

$transition_score[B-Person][I-Person]$ ≈1
而 `transition_score[B-Person][I-Organization]≈0$
因为句子(词序列)中一个被标注为B-Person的词后面 很少有机会 紧跟一个被标注为 I-Organization 的词

在BiLSTM-CRF模型中,转移矩阵被视为一个关键参数,在训练开始前通过随机数值进行初始设置,并且在每轮迭代中进行更新。

迭代优化技术:采用随机值作为模型参数的初始值,并通过持续迭代调整这些参数以逼近最优解。

CRF层与HMM模型的区别如下:
在输入信息方面:
其中,CRF层接收来自BiLSTM层输出的信息作为emission_score;
相比之下,在HMM模型中,初始状态的概率向量维度为1×m;
此外,在发射矩阵(emission_matrix)方面具有n×m维数的不同之处在于:
CRF层中的发射分数由训练确定并保持不变;而HMM模型中的发射矩阵则是一个预先定义的概率矩阵,并通过 Baum-Welch算法动态调整以适应数据分布的特点

CRF层的转移参数在初始化时被赋予随机权重,并在整个训练过程中通过迭代优化算法不断更新以适应数据特征;而HMM模型中各状态间的转移概率由先验知识确定,并在整个训练过程中保持恒定

基于CRF的迭代训练过程持续进行直至满足终止条件;基于HMM模型的状态转移机制采用朴素贝叶斯方法与维特比算法协同优化以计算隐状态序列的最大概率值。

-CRF的损失函数- - - - - - -

#序列大小为n,标签类别数为m - 枚举全部可能的标注序列共m^n种- -

赋予路径[m₁,m₂,m₃…mₙ]一个分数(即一种标签序列)。
s_i = \text{emission\_score} + \text{transition\_score}
\text{emission_score} = \sum \text{emission_socre}[w_i][m_i] (i=1,2,3..n)
每个单词w_i属于m_i类的分值之和。

transition_rating同样适用于所有可能的路线(m^n条)。

复制代码
    exp函数:exp(x) = e^x;
    si=emission_score + transition_score ; ->exp(si)

于是我们有了第i条路径的得分Pi,所有路径的得分Ptotal

定义损失函数为- log(Pi/Ptotal)

Pi/Ptotal等于某条路径的得分为所有路径总分的比例;我们一致认为得分为最高的那条路径即为真实路径(预测结果)。因此一条路径越正确其得分越高导致Pi/Ptotal之比也随之增大取对数后单调性保持不变。

复制代码
    在训练过程中最小化损失函数——在训练中最小化-log(Pi/Ptotal) ,即最大化 log(Pi/Ptotal) ;我们迭代地更新参数transition_score,使其朝损失函数变小的方向进行;

最后我们获得了这一组参数(即transfer score转移分数矩阵)以及最高得分路径及其得分

-_联想最大熵模型:将标签分布的无序特性量化为(当分布越趋均匀时,其熵值越高),而训练目标旨在确定具有最大熵值的标注序列。通过迭代更新参数的方法逐步优化模型参数。最终获得了一组最优参数以及预测能力最强的标注序列。
因此我们基于上述分析得出结论:CRF模型可以被视作是最大熵模型在序列标注问题中的具体应用。

全部评论 (0)

还没有任何评论哟~