IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> NLP-统计分词-隐马尔可夫模型(维特比算法实现详解) -> 正文阅读

[人工智能]NLP-统计分词-隐马尔可夫模型(维特比算法实现详解)


一、HMM模型

1. 模型状态集合

Q Q Q = { B B B M M M E E E S S S}, N N N = 4

2. 观察状态集合

V V V = { 我 我 爱 爱 , … } ,句子的集合。

3.观察状态和状态序列

观察序列:小 明 是 中 国 人
状态序列: B , E , S , B , M , E B, E, S, B, M, E B,E,S,B,M,E

4. 状态转移概率分布矩阵

在中文分词中就是状态序列 Q Q Q = { B B B M M M E E E S S S} 的转移概率,这个状态概率矩阵是在训练阶段参数估计中得到。
在这里插入图片描述

5. 观测状态概率矩阵(发射概率)

在中文分词中发射概率指的是每一个字符对应状态序列 Q Q Q = { B B B M M M E E E S S S} 中每一个状态的概率,通过对训练集每个字符对应状态的频数统计得到。
在这里插入图片描述

6. 初始概率

在中文分词初始状态概率指的是每一句话第一个字符的对应状态概率。
{ B B B:xxx, M M M: xxx, E E E: xxx, S S S: xxx}

7. 目标

在这里插入图片描述
max = m a x P ( i 1 , i 2 , i 3 . . . , i T ∣ o 1 , o 2 , o 3 . . . , o T ) maxP(i_1, i_2, i_3...,i_T | o_1,o_2,o_3... ,o_T) maxP(i1?,i2?,i3?...,iT?o1?,o2?,o3?...,oT?)
其中: T T T 为句子长度, o i o_i oi? 是句子的每一个字, i i i_i ii? 是每个字的标记。
根据贝叶斯公式:
在这里插入图片描述
P ( i ∣ o ) P(i | o) P(io) = P ( o ∣ i ) P ( o ) P(o | i) P(o) P(oi)P(o) / P ( i ) P(i) P(i)
根据齐性HMM:
P ( o ) = p ( o 1 ) p ( o 2 ∣ o 1 ) . . . p ( o t ∣ o t ? 1 ) P(o) = p(o1)p(o_2| o_1)...p(o_{t}| o_{t-1}) P(o)=p(o1)p(o2?o1?)...p(ot?ot?1?), 状态转移概率。
P ( o ∣ i ) = p ( o 1 ∣ i 1 ) . . . p ( o t ∣ i t ) P(o | i) = p(o_1| i_1)...p(o_{t}| i_{t}) P(oi)=p(o1?i1?)...p(ot?it?) , 即观测状态生成的概率(发射概率)。

使 P P P = P ( o ∣ i ) P ( o ) P(o | i) P(o) P(oi)P(o) = P ( o 1 ) P ( o 1 ∣ i 1 ) ∏ 2 T P ( o i ∣ o i ? 1 ) P ( o i ∣ i i ) = P(o_1)P(o_1|i_1)∏{_2^T}P(o_i|o_{i-1})P(o_i|i_i) =P(o1?)P(o1?i1?)2T?P(oi?oi?1?)P(oi?ii?)概率最大。

二、python实现

1.模型参数初始化

在这里插入图片描述

2.求解过程

P = P ( o 1 ) P ( o 1 ∣ i 1 ) ∏ 2 T P ( o i ∣ o i ? 1 ) P ( o i ∣ i i ) P = P(o_1)P(o_1|i_1)∏{_2^T}P(o_i|o_{i-1})P(o_i|i_i) P=P(o1?)P(o1?i1?)2T?P(oi?oi?1?)P(oi?ii?)

求 “我” 分别是 B B B M M M E E E S S S的概率: P ( o 1 ) P ( o 1 ∣ i 1 ) P(o_1)P(o_1|i_1) P(o1?)P(o1?i1?)


V V V: 第一个字典记录开始的 B B B M M M E E E S S S概率
p a t h path path:记录当前状态
在这里插入图片描述

求 “我” 的每个状态到 “爱”每个状态的概率: ∏ 2 T P ( o i ∣ o i ? 1 ) P ( o i ∣ i i ) ∏{_2^T}P(o_i|o_{i-1})P(o_i|i_i) 2T?P(oi?oi?1?)P(oi?ii?)

在这里插入图片描述

在这里插入图片描述
y y y 记录下一个状态,遍历 “我” 的每一个状态,由 y 0 y_0 y0?记录。
遍历结束会生成四个 (概率,字典索引)的列表: [ ( p r o b , s t a t e ) , ( p r o b , s t a t e ) , ( p r o b , s t a t e ) , ( p r o b , s t a t e ) ] [(prob, state), (prob, state), (prob, state), (prob, state)] [(prob,state),(prob,state),(prob,state),(prob,state)]
寻找概率最大的路径,新的路径 = path[state] (之前的路径) + B

运行结果如下,选择S 到 B 的路径:
在这里插入图片描述

在这里插入图片描述

循环遍历,到“爱” 的最终路径如下:
在这里插入图片描述
在这里插入图片描述

重复以上过程,找到最大概率路径

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:02:47  更:2022-03-06 13:03:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:38:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码