HMM分词训练与预测

一、HMM概述

隐马尔可夫模型(Hidden Markov Model,简称HMM)是一种统计模型,它用来描述一个含有隐藏未知参数的马尔可夫过程。在自然语言处理中,HMM经常用来进行词性标注中文分词语音识别其他涉及时序数据的任务
词性标注(Part-of-speech tagging):将词汇按照词性(名词、动词等)进行分类。
中文分词(Chinese word segmentation):将连续的中文文本切分成有意义的词汇序列。
语音识别(Speech recognition):将语音信号转换为文字。

二、HMM分词训练与预测

2.1 HMM分词训练

  1. 准备已标注的训练数据:分词训练需要一个已经人工标注好的语料库
  2. 获取每个字在词中的位置(比如,B表示词的开始,M表示词的中间,E表示词的末尾,S表示单字成词)。
  3. 计算三种状态概率
  • 初始状态概率:计算每个句子第一个字的标注状态概率。
  • 状态转移概率:计算从当前标注状态转移到另一个标注状态的概率。例如,从B状态转移到E状态的概率。
  • 发射状态概率:计算在某个标注状态下每个字的概率。例如,在B状态(词的开始)下观测到字“我”的概率。
    在这里插入图片描述

以下面的语料为例,计算初始状态概率、状态转移概率、发射状态概率:

我 喜欢 看 热辣滚烫 。 S B E S B M M E S
我 喜欢 看 喜剧片。 S B E S B M E S
这部 电影 很 好看 ! ! B E B E S B E S S

2.1.1 初始状态概率

统计每句话第一个字状态的频次:

BMES总计
10023

计算每句话第一个字状态的概率,总频次为3,初始状态概率如下:

BMES总计
0.33000.671

初始状态概率中,我们发现状态M和状态E为0,这是因为每句话的第一字不可能是中间状态或者末尾状态,只可能为开始状态或者单字状态。

2.1.2 状态转移概率

统计从当前状态转移到另一个状态的频次:
在这里插入图片描述

BMES总计
B02507
M01203
E10067
S50016

计算从当前状态转移到另一个状态的概率,以每一横行总频次为分母,状态转移概率如下:

BMES总计
B00.290.7101
M00.330.6701
E0.14000.861
S0.83000.171

状态转移概率中,我们要注意这些状态转移是不存在的,概率一定为0:从状态B到B、状态B到S、状态M到B、状态M到S、状态E到M、状态E到E、状态S到M、状态S到E

2.1.3 发射状态概率

统计在某个状态下每个字出现的频次:
在这里插入图片描述

总计
B这:1喜:3电:1热:1好:17
M辣:1滚:1剧:13
E欢:2烫:1片:1部:1影:1看:17
S看:2我:2很:1。:2!:29

计算在某个状态下每个字出现的概率,以每一横行总频次为分母,发射状态概率如下:

总计
B这:0.14喜:0.43电:0.14热:0.14好:0.141
M辣:0.33滚:0.33剧:0.331
E欢:0.29烫:0.14片:0.14部:0.14影:0.14看:0.141
S看:0.22我:0.22很:0.11。:0.22!:0.221

至此,我们已获取初始状态概率、状态转移概率和发射状态概率,完成了语料的训练。

2.2 HMM分词预测

  1. 给定一个需要分词的文本。
  2. 获取训练语料库中初始状态概率、状态转移概率、发射状态概率。
  3. 计算出所有路径的概率,即该文本的所有隐藏状态序列,或用维特比(Viterbi)算法计算最有可能生成该文本的隐藏状态序列。这个过程就是确定文本中每个字最可能的标注状态。
  4. 根据预测出的状态序列(B、M、E、S),将文本切分成词汇。
    在这里插入图片描述

以“我很喜欢看电影”这个文本为例,预测分词结果。

初始状态概率为:

BMES总计
0.33000.671

状态转移概率:

BMES总计
B00.290.7101
M00.330.6701
E0.14000.861
S0.83000.171

发射状态概率分别为:

总计
B这:0.14喜:0.43电:0.14热:0.14好:0.141
M辣:0.33滚:0.33剧:0.331
E欢:0.29烫:0.14片:0.14部:0.14影:0.14看:0.141
S看:0.22我:0.22很:0.11。:0.22!:0.221

文本“我很喜欢看电影”共有47条路径,将上述初始状态概率填充到(开始→我)这条路径上,状态转移概率填充到(我→很→喜→欢→看→电→影)里的每条路径,计算所有路径概率:
在这里插入图片描述
路径1:
开始→S→S→B→E→S→B→E
概率为:在这里插入图片描述
按照该方法,计算剩余路径概率,从中选择概率最大的路径,即为最优路径,得到文本隐藏状态序列为:S S B E S B E(图中红色路径)。
在这里插入图片描述
按照文本隐藏状态序列切分文本,得到预测结果:我/很/喜欢/看/电影 。

  • 26
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值