0
点赞
收藏
分享

微信扫一扫

HanLP — HMM隐马尔可夫模型 -- 训练&预测

BMES => B-begin:词语开始、M-middle:词语中间、E-end:词语结束、S-single:单独成词

训练的过程,就是求三个矩阵的过程

  • 初始概率矩阵
  • 转移概率矩阵
  • 发射矩阵

    每个字有4种可能性,上图中有7个字,就是 4^7 种可能性

维特比算法,从众多路径中,挑出最优的那条,他和隐马尔可夫没有强关联

HanLP — HMM隐马尔可夫模型  -- 训练&预测_Soft

初始概率矩阵

今天 天气 真 不错。

麻辣肥牛 好吃 !

我 喜欢 吃 好吃 的!

=>

(标点也是一个独立的S)

BMME BE S

S BE S BE S S

统计每篇文章(每行)第一个字是什么状态(统计的数值都是频次)

B

M

S

E

2

0

1

0

如果 M、E 有值,那代码 100% 是写错了,因为 第一个字,不可能是中间,也不可能是结束

根据频率得到概率

B

M

S

E

0.667

0

0.333

0

2/3 = 0.667
1/3 = 0.333

转移概率矩阵

当前状态到下一状态的概率

HanLP — HMM隐马尔可夫模型  -- 训练&预测_维特比算法_02

HanLP — HMM隐马尔可夫模型  -- 训练&预测_下一状态_03


按行统计 BM = 1/(1+6) = 0.142 , 6/7 = 0.857

发射矩阵

统计某种状态下,所有字出现的次数(概率)

HanLP — HMM隐马尔可夫模型  -- 训练&预测_维特比算法_04

依次遍历语料库的每一个字

预测

4^7 种状态,计算每一种状态

HanLP — HMM隐马尔可夫模型  -- 训练&预测_Soft_05


HanLP — HMM隐马尔可夫模型  -- 训练&预测_下一状态_06

7个字,就有 4^7 次计算,计算量相当大,所以会引入 维特比算法
https://www.bilibili.com/video/BV1aP4y147gA?p=4




举报

相关推荐

0 条评论