数据挖掘干货总结(二)--NLP进阶-详解Jieba分词工具

NLP进阶-详解Jieba分词工具


、Jieba分词工具

1. 三种模式

• 精确模式将句子最精确的分开适合文本分析

• 全模式句子中所有可以成词的词语都扫描出来速度快不能解决歧义

• 搜索引擎模式在精确模式基础上对长词再次切分提高召回

 

2.实现的算法

• 基于Trie树结构实现高效的词图扫描生成句子中汉字所有可能成词情况的有向无环图(DAG)

• 采用了动态规划查找最大概率路径找出基于词频的最大切分组合

• 对于未登录词采用了基于汉字成词能力的HMM模型使用了Viterbi算法

 

3.实现流程


、HMM隐马尔科夫模型

1. 马尔科夫模型(Markov Model)

本质一个序列中每个状态只依赖之前有限个状态

– N阶马尔科夫依赖之前n个状态

– 1阶马尔科夫仅仅依赖前一个状态即上篇文章介绍的二元模型

p(w1,w2,w3,……wn) = p(w1)p(w2|w1)p(w3|w2)……p(wn|wn-1)

应用场景

• 概率预测

• 天气预测

三个参数

– 状态由数字表示假设共有M

– 初始概率      πk=P(S1=k)       = k作为序列开始的次数/观测序列总数

– 状态转移概率ak,l=P(St+1=l|St=k)   = l紧跟k出现的次数/k出现的总次数

 

2. 隐马尔科夫模型(Hiden Markov Model)

本质对两个序列建模

应用场景

• 机器翻译源语言序列 <-> 目标语言序列

• 语音识别语音信号序列 <-> 文字序列

• 词性标注文字序列 <-> 词性序列

五个参数

– 状态由数字表示假设共有M

– 观测由数字表示假设共有N

– 初始概率      πk=P(S1=k)       = k作为序列开始的次数/观测序列总数

– 状态转移概率ak,l=P(St+1=l|St=k)   = l紧跟k出现的次数/k出现的总次数

– 发射概率    bk(u)=P(Ot=u|St=k)   = k对应u出现的次数/k对应观测序列中所有情况的次数

那么总的概率如下


待解决问题

问题1. 给定训练语料库D,求模型中的参数πkak,lbk(u)

问题2. 给定θ,计算一个观测序列的概率Pθ(O)

问题3. 给定θ和观测序列O,找到最优的隐藏状态序列S

问题1解决

1)若数据完全S、O都已知例如词性分词都明确),则可以直接统计


2)若数据不完全O已知,S未知或部分未知例如未登录词则应该采用EM算法前向后向算法计算出未登录词的相关信息如词性和转换概率):

前者判断词性后者即为状态转移概率ak,l为了得到这两个信息引出了前向概率和后向概率的两个概念

这两个概率也需要使用动态规划来求解

    可以得到

 

问题2解决: 利用上题中的参数可以直接求得

问题3解决: viterbi算法 

此处若采用穷举法时间复杂度太高

因此可考虑动态规划--维特比算法 

至此三大问题完美解决撒花~ 

以上.


听说,爱点赞的人运气都不会太差哦

如果有任何意见和建议,也欢迎在下方留言~

由于部分图片的显示问题

还是建议大家关注这个公众号查看原文




 

关注这个公众号,定期会有大数据学习的干货推送给你哦~


点击这里查看往期精彩内容:

数据挖掘干货总结(一)--NLP基础

大数据干货系列(三)-- Hadoop2.0总结

每日三问(1222)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值