美文网首页
Jieba分词学习

Jieba分词学习

作者: bellengao | 来源:发表于2017-08-24 09:43 被阅读157次

大名鼎鼎的Jieba分词貌似在工业界被使用的频率较高,所以研究一下它的实现吧。
据作者在github文档上的介绍,Jieba分词的主要用到的算法有:
1.基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG)
2.采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
3.对于未登录词,采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法
现在来一条一条的剖析。

一、词图扫描,生成DAG
字典树(Trie树):自带了一个dict.txt的字典,包含几万条词、次数、词性数据;把这几万条的词语放在一个字典树中。
DAG: 对给定的一个句子,对这个句子生成有向无环图DAG, 利用字典树,进行查词典操作,生成所有可能的句子切分,生成DAG, 记录句子中某个词的开始位置以及结束位置, key-value存储,以每个开始位置为key, value为所有可能的词语的结束位置

二、动态规划
动态规划中,先查找待分词句子中已经切分好的词语,计算词频,若字典中没有该词,则以字典中最小的词频数为该词的词频。根据动态规划方法从右往左查找最大概率路径,得到最大概率的切分组合。从右往左是因为汉语的重心往往在句子的后面

三、HMM
没有字典也能够成功分词。
按照(B,M,S,E)四个状态来标记句子中的字。
计算四个状态的转移概率、位置到单个字的发射概率、初始概率。
给定待分词的句子,也就是观察序列,需要找到一个概率最大的最佳的状态序列,利用维特比算法求解。

相关文章

  • 金伟的python学习笔记--分词与词云

    python金伟的学习笔记 分词技术(jieba分词) 安装:pip install jieba 算法介绍: 结巴...

  • python3中文jieba分词设置说明

    jieba分词的安装 在虚拟环境中 / 本地下安装 jieba jieba分词的配置 jieba中文分词的使用 进...

  • 结巴中文分词的用法

    jieba “结巴”中文分词:做最好的 Python 中文分词组件"Jieba" (Chinese for "to...

  • python 结巴分词

    jieba “结巴”中文分词:做最好的 Python 中文分词组件“Jieba” (Chinese for “to...

  • Python 结巴分词

    jieba “结巴”中文分词:做最好的 Python 中文分词组件 “Jieba” (Chinese for “t...

  • python jieba分词库使用

    jieba “结巴”中文分词:做最好的 Python 中文分词组件 “Jieba” (Chinese for “t...

  • Jieba分词学习

    大名鼎鼎的Jieba分词貌似在工业界被使用的频率较高,所以研究一下它的实现吧。据作者在github文档上的介绍,J...

  • jieba分词学习

    1、分词数据源基于之前采集公共管理学院老师的数据,一共得到10个字段。本次分词是对大文本字段进行分词,因此将所得到...

  • 机器学习笔记-文本分类(二)jieba分词

    分词就是词语切分了,关于分词的理论实现,以后再继续学习。此处用python的jieba分词工具直接分词。 jieb...

  • text classification

    一、分词 1、采用jieba分词 安装:全自动安装:pip install jieba / pip3 instal...

网友评论

      本文标题:Jieba分词学习

      本文链接:https://www.haomeiwen.com/subject/ejkezttx.html