当前位置: 首页 > news >正文

HMM-维特比算法

HMM-维特比算法(viterbi)

  • HMM回顾
  • 隐马科夫链解法:维特比算法(Viterbi)

HMM回顾

这个不知道的可以去看看HMM
最终的公式可以解释主要分为两个部分:

  • P(xi|yi),发射概率,字面意思是从一个词性中发射/生成出某一个单词的概率
  • P(yi|yi-1),转移概率,表示从一个词性转移到下一个词性的概率
    这两个概率都可以通过标注文档中统计得出

隐马科夫链解法:维特比算法(Viterbi)

维特比算法其思想就是动态规划,下面以HMM进行词性标注讲解维特比算法。
在这里插入图片描述

上图中,我们需要对 “natural language processing ( nlp )” 这句话进行词性标注。最终目标是找到下图所示的最优可能路径。
在这里插入图片描述

求解顺序:

  1. 在natural这个词中(第一列),我们要保留所有可能的词性,因为每个词性后边都可能出现最优路径,这里需要求的概率是P(“natural”|词性),这个是可以根据我们输入的训练集(文档)统计得出。
  2. 在第二列中,我们需要求解发射概率转移概率。例如JJ,我们可以分别求出JJ->NN,JJ->JJ,JJ->VB,JJ->LRB,JJ->RRB的转移概率以及P(“language”|词性)的发射概率,发射概率*转移概率值最大的路径即为JJ的最优路径,同理我们可以对所有的词性都求出的一个最优路径。大概样子就变成了如下图所示(示意图,嘻嘻)
    在这里插入图片描述

注:我们在这里求解发射概率与转移概率的乘积时,为了避免精度损失,通常会对其取对数
3. 重复第二步,则最终结果如下图所示(示意图,嘻嘻)
*
其实最终利用维特比算法得到了“词性”(量词)条路径,从中选出概率最大路径即可

http://www.lryc.cn/news/28935.html

相关文章:

  • 【C++初阶】2. 类和对象_1
  • kotlin把函数作为参数转递给另一个函数
  • 海思嵌入式开发-005-OpenHarmony源码编译问题
  • 指针的进阶续(笔试题强化练习)
  • 一个供参考的计算机的学习路线
  • React(五):受控组件、高阶组件、Portals、Fragment、CSS的编写方式
  • MATLAB——系统环境
  • 2 GateWay工作流程+GateWay搭建
  • 【微信小程序】富文本rich-text的图片预览效果的几种方法
  • 通信网络-Socket、Java中的网络支持、多线程服务器
  • 搞懂 JS this、call、apply、bind
  • 力扣209长度最小的子数组
  • 【mysql是怎样运行的】-InnoDB数据页结构
  • VIM实用指南(10)语法自动补全插件coc.nvim
  • 【Vue3 第二十二章】过渡动画
  • 【linux】:进程状态(僵尸进程等)以及环境变量
  • 【C语言——练习题】指针,你真的学会了吗?
  • Linux用户空间与内核空间通信(Netlink通信机制)
  • 3.3日报
  • 并发编程-进程
  • LeetCode196_196. 删除重复的电子邮箱
  • Auto.js Pro 替代品
  • 红日(vulnstack)2 内网渗透ATTCK实战
  • 一个好的工程项目管理软件所包含的主要功能
  • 【大数据监控】Grafana、Spark、HDFS、YARN、Hbase指标性能监控安装部署详细文档
  • 面试题---CSS
  • 【C++】vector
  • RocketMQ安装
  • Spring——什么是IOC?
  • 力扣(LeetCode)430. 扁平化多级双向链表(2023.03.04)