HMM模型及其在中文分词中的应用


隐马尔可夫模型是一种概率模型,用于解决序列预测问题,可以对序列数据中的上下文进行建模。HMM用于描述含有隐含未知参数的马尔可夫过程。在HMM中,有两种类型的节点,分别为观测序列与状态序列。状态序列是不可见的,它们的值是需要通过对观测序列进行推断而得到的。很多现实应用可以抽象为此类问题,如语音识别、分词、词性标注、计算机视觉中的动作识别等。HMM在这些问题中得到了成功的应用。

马尔可夫模型

马尔可夫模型描述的是一类典型的随机过程,即系统的状态随时间变化而随机变化的过程。马尔可夫模型由有限状态集 s s s初始时刻的状态概率分布 π \pi π状态转移概率矩阵 A A A 三部分组成,有了这三部分,马尔可夫模型可以计算出系统每一时刻处于各种状态的概率。

下面我们先具体介绍一下这三部分:

有限状态集 s s s

设一个系统有有限个状态 S = { s 1 , s 2 , . . . , s N } S=\{s_1,s_2,...,s_N\} S={ s1,s2,...,sN}。随着时间推移,该系统将从某一状态转移到另一状态。从1时刻开始到T时刻为止,系统所有时刻的状态值构成一个随机变量序列,即状态序列,如下所示:

Q = q 1 , q 2 , . . . , q t Q=q_1,q_2,...,q_t Q=q1,q2,...,qt

其中, q i q_i qi表示第 i i i时刻系统的状态,其具体取值未知,但应在上述有限个状态 S = { s 1 , s 2 , . . . , s N } S=\{s_1,s_2,...,s_N\} S={ s1,s2,...,sN}中取值。

初始时刻的状态概率分布 π \pi π

初始时刻的状态概率分布为:

π = ( π 1 , π 2 , . . . , π N ) , 1 ≤ i ≤ N \pi=(\pi_1,\pi_2,...,\pi_N),1 \le i \le N π=(π1,π2,...,πN),1iN

其中, π = ( π 1 , π 2 , . . . , π N ) \pi=(\pi_1,\pi_2,...,\pi_N) π=(π1,π2,...,πN)满足下列各条件:

π i = P ( q 1 = s i ) \pi_i=P(q_1=s_i) πi=P(q1=si)

π i ≥ 0 \pi_i \ge 0 πi0

∑ i = 0 N π i = 1 \sum\limits_{i=0}^N \pi_i =1 i=0Nπi=1

状态转移概率矩阵 A A A

系统在不同时刻可以处于同一种状态,但在任一时刻只能有一种状态。不同时刻的状态之间是有关系的。时刻t的状态由它之前时刻的状态决定,即当前时刻t处于状态的概率取决于其在时间1,2,…,t-1时刻的状态,系统状态的条件概率如下所示:

P ( q t ∣ q 1 , q 2 , . . . , q t − 1 ) P(q_t|q_1,q_2,...,q_{t-1}) P(qtq1,q2,...,qt1)

上式中的条件概率要考虑之前所有时刻的状态,计算起来较为复杂,为此需要进行简化。如果假设t时刻的状态只与t-1时刻的状态有关,与更早的时刻无关,则上式的条件概率可简化为如下所示。

P ( q t ∣ q 1 , q 2 , . . . , q t − 1 ) = P ( q t ∣ q t − 1 ) P(q_t|q_1,q_2,...,q_{t-1})=P(q_t|q_{t-1}) P(qtq1,q2,...,qt1)=P(qtqt1)

上式称为一阶马尔可夫假设,满足这一假设的马尔可夫模型称为一阶马尔可夫模型。

t − 1 t-1 t1时刻的状态为 s j s_j sj t t t时刻的状态为 s j s_j sj,条件概率 P ( q t ∣ q t − 1 ) P(q_t|q_{t-1}) P(qtqt1)构成一个 N × N N \times N N×N的矩阵 A A A(如下图,从 t − 1 t-1 t1时刻到 t t t 时刻的状态转移共有 N × N N \times N N×N种可能),称为状态概率转移矩阵,具体可表示为:

A = ( P ( q t = s 1 ∣ q t − 1 = s 1 ) P ( q t = s 2 ∣ q t − 1 = s 1 ) … P ( q t = s N ∣ q t − 1 = s 1 ) P ( q t = s 1 ∣ q t − 1 = s 2 ) P ( q t = s 2 ∣ q t − 1 = s 2 ) … P ( q t = s N ∣ q t − 1 = s 2 ) ⋮ ⋮ … ⋮ P ( q t = s 1 ∣ q t − 1 = s N ) P ( q t = s 2 ∣ q t − 1 = s N ) … P ( q t = s N ∣ q t − 1 = s N ) ) A= \begin{pmatrix} P(q_t=s_1|q_{t-1}=s_1) & P(q_t=s_2|q_{t-1}=s_1) & \dots & P(q_t=s_N|q_{t-1}=s_1) \\ P(q_t=s_1|q_{t-1}=s_2)& P(q_t=s_2|q_{t-1}=s_2) & \dots & P(q_t=s_N|q_{t-1}=s_2) \\ \vdots & \vdots & \dots & \vdots \\ P(q_t=s_1|q_{t-1}=s_N) & P(q_t=s_2|q_{t-1}=s_N) & \dots & P(q_t=s_N|q_{t-1}=s_N)\\ \end{pmatrix} A= P(qt=s1qt1=s1)P(qt=s1qt1=s2)P(qt=s1qt1=sN)P(qt=s2qt1=s1)P(qt=s2qt1=s2)P(qt=s2q

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值