jieba分词原理 ‖ 基于汉字成词能力的HMM模型识别未登录词实现

本文介绍了jieba分词中基于HMM模型识别未登录词的原理。首先,将分词问题视为序列标注问题,利用HMM模型进行分词,并通过Viterbi算法求解最优状态序列。接着详细解释了HMM模型的基本假设、学习问题和预测问题,以及状态初始概率、状态转移概率和状态发射概率的概念。最后,探讨了Viterbi算法的动态规划过程及其在jieba分词中的实现和优化策略。
摘要由CSDN通过智能技术生成
  1. jieba分词原理 ‖ 基于前缀词典及动态规划的分词实现
  2. jieba分词原理 ‖ 基于汉字成词能力的HMM模型识别未登录词实现
  3. jieba分词原理 ‖ 词性标注
  4. jieba分词原理 ‖ 关键词抽取

1 算法简介

博主已经介绍了基于前缀词典和动态规划方法实现分词,但是如果没有前缀词典或者有些词不在前缀词典中,jieba分词一样可以分词,那么jieba分词是如何对未登录词进行分词呢?这就是本文将要讲解的,基于汉字成词能力的HMM模型识别未登录词。

利用HMM模型进行分词,主要是将分词问题视为一个序列标注(sequence labeling)问题。其中,句子为观测序列,分词结果为状态序列。首先通过语料训练出HMM相关的模型,然后利用Viterbi算法进行求解,最终得到最优的状态序列,然后再根据状态序列,输出分词结果。

2 实例

2.1 序列标注

序列标注,就是将输入句子和分词结果当作两个序列,句子为观测序列,分词结果为状态序列,当完成状态序列的标注,也就得到了分词结果。

以“去北京大学玩”为例,我们知道“去北京大学玩”的分词结果是“去 / 北京大学 / 玩”。对于分词状态,由于jieba分词中使用的是4-tag,因此我们以4-tag进行计算。4-tag,也就是每个字处在词语中的4种可能状态,B、M、E、S,分别表示Begin(这个字处于词的开始位置)、Middle(这个字处于词的中间位置)、End(这个字处于词的结束位置)、Single(这个字是单字成词)。具体如下图所示,“去”和“玩”都是单字成词,因此状态就是S,“北京大学”是多字组合成的词,因此“北”、“京”、“大”、“学”分别位于“北京大学”中的B、M、M、E。

 

2.2 HMM模型

关于HMM模型的介绍,网络上有很多的资源,比如 52nlp整理的 HMM相关文章索引 。博主在此就不再具体介绍HMM模型的原理,但是会对分词涉及的基础知识进行讲解。

HMM模型作的两个基本假设:

  • 1.齐次马尔科夫性假设,即假设隐藏的马尔科夫链在任意时刻t的状态只依赖于其前一时刻的状态,与其它时刻的状态及观测无关,也与时刻t无关;

    P(states[t] | states[t-1],observed[t-1],...,states[1],observed[1]) = P(states[t] | states[t-1]) t = 1,2,...,T

  • 2.观测独立性假设,即假设任意时刻的观测只依赖于该时刻的马尔科夫链的状态,与其它观测和状态无关,

    P(observed[t] | states[T],observed[T],...,states[1],observed[1]) = P(observed[t] | states[t])

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值