昇思25天学习打卡营第23天|LSTM+CRF序列标注

LSTM+CRF序列标注学习总结

概述

序列标注是为输入序列中的每个Token分配标签的过程,广泛应用于信息抽取任务。这些任务包括分词、词性标注和命名实体识别(NER)。例如,在NER中,输入序列可能是"清华大学在北京",输出序列为标签,其中"清华大学"与"北京"都是地名。

使用的标注方法通常为"BIOE"标注法:

  • B:实体的开始
  • I:实体的内部部分
  • O:非实体

例如:

输入序列
输出标注 B I I I O B I

条件随机场 (CRF)

在序列标注中,除了对每个Token进行独立的分类预测,还需要考虑相邻Token之间的依赖关系。条件随机场(CRF)作为一种有效的概率图模型,能够处理这种依赖性。

CRF的工作原理

  • 输入:给定一个输入序列 ( x = {x_0, x_1, ..., x_n} ) 和对应的标签序列 ( y = {y_0, y_1, ..., y_n} )。
  • 概率计算 :输出序列的概率通过发射概率和转移概率两部分进行计算:
    • 发射概率 ( \psi_{\text{EMIT}} ):表示每个Token映射到标签的可能性。
    • 转移概率 ( \psi_{\text{TRANS}} ):表示标签之间的转换概率。

结合上述概率可以得到:
Score ( x , y ) = ∑ i log ⁡ ψ EMIT ( x i → y i ) + log ⁡ ψ TRANS ( y i − 1 → y i ) \text{Score}(x, y) = \sum_i \log \psi_{\text{EMIT}}(x_i \rightarrow y_i) + \log \psi_{\text{TRANS}}(y_{i-1} \rightarrow y_i) Score(x,y)=i∑logψEMIT(xi→yi)+logψTRANS(yi−1→yi)

参数化形式

CRF的输出概率通过以下公式计算:
KaTeX parse error: Expected 'EOF', got '}' at position 88: ...Score}(x, y')}}}̲

该公式的目标是最大化正确标签序列的概率,同时最小化错误标签序列的概率。损失函数选择负对数似然(NLL):
Loss = − log ⁡ ( P ( y ∣ x ) ) \text{Loss} = -\log(P(y|x)) Loss=−log(P(y∣x))

计算得分与Normalizer

  1. 得分计算:根据公式计算正确标签序列的得分,同时维护转移概率矩阵和开始、结束标签的概率。
  2. Normalizer计算:使用动态规划计算所有可能输出序列的得分,以提高效率,避免穷举法带来的高计算成本。

Viterbi算法

在解码阶段,使用Viterbi算法寻找最优的标签路径。动态规划方法记录每个Token的最佳标签,并通过回溯获得最终的预测序列。

CRF层构建

将前向训练逻辑和解码逻辑整合成CRF层,考虑到输入序列的真实长度,确保处理填充问题。输入参数包括发射概率矩阵、转移概率矩阵和序列长度。

BiLSTM+CRF模型

设计一个结合双向LSTM与CRF的模型架构来进行命名实体识别任务。模型流程如下:

  • 嵌入层:将输入Token转化为向量表示。
  • LSTM层:提取序列特征,双向LSTM能够捕获前后文信息。
  • 全连接层:生成发射概率矩阵。
  • CRF层:对发射概率进行标注,考虑Token间的依赖关系。

训练过程

  1. 数据准备:生成示例数据并构造词表和标签表。
  2. 模型实例化:选择优化器并将模型与优化器结合。
  3. Batch处理:将生成的数据打包为Batch,处理填充后进行模型训练。
  4. 可视化训练进程:使用工具监控训练过程,观察模型效果。

训练效果分析

在完成500个训练步骤后,利用模型预测可能的路径得分和候选序列。通过后处理函数对预测得分进行处理,最终将预测的索引序列转换为标签序列,打印输出结果以查看模型性能。

通过这些步骤,LSTM+CRF模型能够有效地进行序列标注,应用于多种文本处理任务,如命名实体识别、信息抽取等。

相关推荐
leafff1231 天前
AI数据库研究:RAG 架构运行算力需求?
数据库·人工智能·语言模型·自然语言处理·架构
陈辛chenxin1 天前
【大数据技术01】数据科学的基础理论
大数据·人工智能·python·深度学习·机器学习·数据挖掘·数据分析
极客BIM工作室1 天前
扩散模型核心机制解析:U-Net调用逻辑、反向传播时机与步骤对称性
人工智能·深度学习·机器学习
从零开始的奋豆1 天前
计算机视觉(三):特征检测与光流法
人工智能·计算机视觉
IT_陈寒1 天前
JavaScript 性能优化实战:我通过这7个技巧将页面加载速度提升了65%
前端·人工智能·后端
骄傲的心别枯萎1 天前
RV1126 NO.47:RV1126+OPENCV对视频流进行视频腐蚀操作
人工智能·opencv·计算机视觉·音视频·rv1126
骄傲的心别枯萎1 天前
RV1126 NO.48:RV1126+OPENCV在视频中添加时间戳
人工智能·opencv·计算机视觉·音视频·视频编解码·rv1126
沉迷单车的追风少年1 天前
Diffusion Models与视频超分(3): 解读当前最快和最强的开源模型FlashVSR
人工智能·深度学习·计算机视觉·aigc·音视频·视频生成·视频超分
CV实验室1 天前
CV论文速递:覆盖视频理解与生成、跨模态与定位、医学与生物视觉、图像数据集等方向(11.03-11.07)
人工智能·计算机视觉·音视频
这张生成的图像能检测吗1 天前
StreamingT2V:从文本生成一致、动态和可扩展的长视频
人工智能·计算机视觉·视觉语言模型·视频生成