HMM、Viterbi与中文分词

基于实际工作经验和网络、书籍资料查询,记录的学习笔记。主要关于中文分词中HMM(隐马尔可夫模型)、Viterbi算法及其在中文分词中的应用。

前言

        在处理题库去重采用了关键词提取+simhash的办法。而提取关键词之前,需要先进行中文分词。一种基本方法是基于词库进行分词,但显然词库是不可能齐全的,这时,为了确认对于未被记入词库的词(未登录词)如别被处理,就需要有一定了解,才能准确应对意外的分词情况。本文为作者在进行题库去重过程中,对中文分词的学习经验总结,在此积累,以期未后来者参考学习、彼此交流。

​        本篇介绍HMM(隐马尔可夫模型)和Viterbi(维特必)算法,主要面向对概率论不熟悉而希望对中文分词工具有更进一步了解的同学,期待忘为读者深入了解其他相关算法提供学习方式思路。同时,也期待专业人士能提供更进一步的意见或建议。

​        同时,希望数学不好的同学对此也不必有恐惧心理。因为作者也不是对此特别熟悉,会结合个人的学习过程和实例,尽可能简单的介绍HMM、Viterbi,以及它们与中文分词三者之间的关系。

正文

在正式介绍HMM之前,我们有必要先了解马尔可夫过程和马尔可夫链。

Markov process(马尔可夫过程)

一个性质: 当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态;换句话说,在给定现在状态时,它与过去状态(即该过程的历史路径)是条件独立的,那么此随机过程即具有马尔可夫性质

一个定义: 满足马尔可夫性质的过程称为马尔可夫过程

DTMC(离散马尔可夫链)

一个定义: 时间和状态都是离散的马尔可夫过程。

一个重要特性: 已知系统当前状态,则未来的演变不依赖于过去的演变。

一个泛化描述: 假设,当前时间是T,则T+1等于某个值的概率,仅与T相关,而与[0, T-1]中的所有值都无关(一阶马尔可夫链)。
P { X n + 1 = i n + 1   ∣   X 0 , X 1 , . . . , X n = i n } = P { X n + 1   ∣   X n = i n } P\{X_{n+1}=i_{n+1}\ |\ X_0,X_1,...,X_n=i_n\} = P\{X_{n+1}\ |\ X_n = i_n\} P{ Xn+1=in+1  X0,X1,...,Xn=in}=P{ Xn+1  Xn=in}
一个矩阵: 这个是其实是n步转移概率矩阵,详细讲解较为复杂,可以自行百度,不影响后文理解。
P   =   [ P 11 P 12 … P 1 n … P 21 P 22 … P 2 n … P 31 P 32 … P 3 n … ] P\ =\ \left[ \begin{array}{ccc} P_{11} & P_{12} & … & P_{1n} & … \\ P_{21} & P_{22} & … & P_{2n} & … \\ P_{31} & P_{32} & … & P_{3n} & … \end{array} \right ] P = P11P21P31P12P22P32P1nP2nP3n
        如此,先记住什么是马尔可夫过程和DTMC,后续再了解什么是HMM(隐马尔可夫模型)就容易了。

HMM(隐马尔可夫模型)

        在正式介绍之前,我们先由一个句子作为实例。我们直接给定一个文本,按HMM给这个文本分词。

"我爱梅沙"
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值