NLP基础知识4【CRF】

目录

基本原理

  • X是输入文本(观测序列)
  • y是输出标签(状态序列)
    特点:
  • 每个状态都可以整个 观测序列决定,与 x 1 , x 2 , . . . . . x n {x_1,x_2,.....x_n} x1,x2,.....xn都相关,实际上一般是上下文10个token就可以了。
  • 对每一个状态y仅与相邻状态 y i − 1 , y i + 1 y_{i-1},y_{i+1} yi−1,yi+1相关
    # 公式
  • 通过公式对条件概率进行建模,对于已知概率的观测序列X,求其发生的情况下,各个序列y的发生概率。
  • t j t_j tj是转移特征函数,主要衡量相邻状态 y之间的影响,同时可以与x相关联
  • s k s_k sk是状态特征函数,主要衡量观测序列 x对状态变量的影响
  • λ \lambda λ和 μ \mu μ是对应特征函数的权重
  • exp用于定义模型中的概率分布函数
  • Z是规范化因子,用于确保式子是一个概率

过程

CRF模型完全由特征函数和权重决定:

  • 训练阶段(编码)用优化算法迭代,调个包就行
  • 预测阶段(解码) 使用维特比算法(动态规划,类似广度优先搜索),寻找概率最高的标签路径
    • 使用暴力搜索不可能,使用贪心算法未必是全局最优


PS

转移矩阵 (Transition Matrix):

  • 这是CRF模型中的一个矩阵,用于表示从一个状态(或标签)转移到另一个状态的概率。对于序列标注任务来说,状态可以是不同的标签(如B(开头)、I(中间)、O(其他)),转移矩阵告诉模型在给定前一个标签后,下一个标签出现的可能性有多大。

发射矩阵 (Emission Matrix):

  • 发射矩阵用于表示观察到某个状态下特定观察值的概率。在序列标注中,观察值通常是输入的词语或特征,而状态则是对应的标签。发射矩阵告诉模型在给定一个标签时,观察到具体词语的概率。

得分矩阵 (Score Matrix):

  • 得分矩阵是指CRF模型为每个可能的标签序列分配的分数。这些分数基于转移矩阵和发射矩阵的组合计算得出,通常利用动态规划算法(如维特比算法)来确定最佳的标签序列。
相关推荐
星禾元亨几秒前
生成式 AI 时代的架构演进与 GEO 优化:实体企业 AI 落地避坑指南
大数据·人工智能·架构·自动化·创业创新
差不多的周周几秒前
《HuMoCon:人类运动理解的概念发现》论文核心部分详解
人工智能·深度学习·计算机视觉·自然语言处理
IT·陈寒4 分钟前
Python的GIL问题又把我坑惨了
人工智能·大模型·api·创业·变现·简历优化
锋行天下26 分钟前
LangGraph 模拟简单的多模型编排
人工智能
中年阿甘35 分钟前
对AI结对编程的反思
人工智能·结对编程
用户7217465882640 分钟前
64个音色、¥1/万字符、语音输出贵5倍:TTS/ASR/Omni四层链路的参数细节与两个真实报错
人工智能
人工智能AI技术44 分钟前
给LLM装上长期记忆!用Milvus向量数据库解决AI金鱼记忆问题
人工智能
Evand J1 小时前
【MATLAB例程,图像滤波降噪12】加权中值滑动窗口滤波(WMF)图像降噪,包含滤波质量评价。附代码下载链接
开发语言·图像处理·人工智能·计算机视觉·matlab·滑动窗口·滤波
智行合一科技1 小时前
肖利华博士受邀参加第九届OTC品牌与科普宣传月暨全民健康嘉年华启动大会
人工智能
七灵微1 小时前
【AI】代码实战- 基于时间序列的轴承检测1
人工智能·机器学习·ai·pandas·matplotlib