一.前言
结巴分词是一种文本领域常用的分词方法,目前已经在github上开源。其主要利用统计词典和当前文本,来推出前缀词典。基于前缀词典来构造一个前缀树,利用前缀树可以构造出有向无环图。最后通过动态规划算法,来计算得到最大概率路径,从而推出最终的切分形式。
二.分词步骤
以‘去北京大学玩’这个句子为例
1.统计词典:分别为词和对应的词频
北京大学 1200
北京 30000
大学 3500
去 12550
玩 3000
北 60000
京 45000
大 30000
学 12000
2.利用统计词典构造前缀词典:
北京大学的前缀:北 60000 北京 30000 北京大 0 北京大学1200
北京的前缀: 北 60000 北京30000
大学的前缀: 大3000 大学3500
去:12550
玩:3000
北:60000
京 : 45000
大: 30000
学: 12000
所以,综合一下整体的前缀词典是:
北:60000
北京:30000
北京大学:1200
大学:3500
去:12550
玩:3000
北:60000
京: 45000
大: 30000
学: 12000
3.利用前缀词典来构造有向无环图
4.最大概率路径计算
路径一:去/北/京/大/学/玩
路径二:去/北京/大/学/玩
路径三:去/北京/大学/玩
路径四:去/北京大学/玩
通过有向无环图可以得出这四种路径,最后通过动态规划来计算这四种路径中哪种路径的概率最大,来依次划分。
参考 https://zhuanlan.zhihu.com/p/58848504