深入了解LSTM-CRF模型
全面探索LSTM-CRF模型的内涵
使用PyTorch代码
在快速发展的自然语言处理领域,Transformers模型已经成为主导模型,在包括词性标注、实体识别和分块等广泛的序列建模任务中展示出了卓越的性能。在Transformers时代之前,条件随机场(CRF)是序列建模的首选工具,尤其是线性链CRF,它将序列建模为有向图,而CRF更一般地可用于任意图。
本文将分为以下几个部分:
- 介绍
- 发射分数和转移分数
- 损失函数
- 通过前向算法高效估计分区函数
- 维特比算法
- 完整的LSTM-CRF代码
- 缺点和结论
介绍
本文中CRFs的实现基于这篇优秀的教程。请注意,这不是最高效的实现,也缺乏批处理能力,但相对简单易读,并且因为本教程的目的是理解CRFs的内部工作方式,所以非常适合我们。
发射和转移分数
在序列标记问题中,我们处理一系列输入数据元素,例如句子中的单词,其中每个元素对应于特定的标签或类别。主要目标是正确地给每个单独元素分配适当的标签。在CRF-LSTM模型中,我们可以将其分为两个关键组成部分:发射和转移概率。注意我们实际上将在对数空间中处理分数,而不是概率,以保持数值稳定性。
- 我们如何有效地压缩具有一位权重的大型语言模型?这项人工智能研究提出了PB-LLM:探索部分二进制化LLM的潜力
- 普林斯顿大学和Meta AI的研究人员介绍了MemWalker:一种首先将长文本处理成摘要节点树的新方法
- 清洁+ 准备明尼苏达湖泊数据
- 发射分数与观察到给定数据元素的特定标签的可能性相关。例如,在命名实体识别的上下文中,序列中的每个单词都与三个标签之一相关联:实体的开头(B),实体的中间词(I)或不属于任何实体的词(O)。发射概率量化了特定单词与特定标签相关联的概率。在数学上表示为P(y_i | x_i),其中y_i表示标签,x_i表示…