美文网首页
jieba中文分词

jieba中文分词

作者: 朱Sir_小猿 | 来源:发表于2018-08-01 18:36 被阅读0次

    1中文分词(Chinese Word Segmentation)

    和英文不同,中文词之间没有空格,所以实现中文搜索引擎,比英文多了一项分词的任务。例如,英文句子“I am a student.”,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道student 是一个单词,但是不能很容易明白“学”、“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,也称切词。

    最常见的中文分词算法可以分为三大类:①基于字符串匹配的分词方法、②基于理解的分词方法、③基于统计的分词方法

    下面就具体介绍下这三类分类算法:

    基于字符串匹配的分词方法:这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)

    1)正向最大匹配法(由左到右的方向)

    2)逆向最大匹配法(由右到左的方向):

    3)最少切分(使每一句中切出的词数最小)

    4)双向最大匹配法(进行由左到右、由右到左两次扫描)

    基于理解的分词方法:这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。

    基于统计的分词方法:给出大量已经分词的文本,利用统计机器学习模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。例如最大概率分词方法和最大熵分词方法等。随着大规模语料库的建立,统计机器学习方法的研究和发展,基于统计的中文分词方法渐渐成为了主流方法。

    2、jieba分词特点

    ①支持三种分词模式 :  精确模式,试图将句子最精确地切开,适合文本分析;  全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;   搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

    ②支持繁体分词

    ③支持自定义词典

    ④MIT授权协议

    3、jieba分词基本算法

    ①基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图{位置,[有效词的末尾索引]},如下图:

    上海大众→DAG: {0: [0, 1, 3], 1: [1], 2: [2, 3, 5], 3: [3] (例:0: [0, 1, 3]可理解为上:上(0),上海(1),上海大众(3))

    DAG词图

    ②根据有向无环图的生成的词切片,计算出每一种可能分词组合的最大概率,这里用到了一个动态规划的算法,从句尾开始向前推进,最后可以得到一个基于字典中每个词的频率而得到的最优解,即得到基于词频的最大切分组合。如下图:(其中最大切分-17.0123*是对“上海大众”这个词的概率求log后的值)

    route:{0:(-17.012343323,3), 1:(-20.205012324,1), 2:(-12.202623572,3), 3:(-9.735563572,3), 4:(0.0,'')}。最后得出route概率-17.012343323,“上海大众”即为最大切分。

    route概率——词频最大切分

    ③结巴对于字母和数字的处理方法是:对于route得出单个字节的词,先全部连成一个buf 然后:1.(非隐马尔科夫)组合在一起,并输出   2.隐马尔科夫(HMM) 比较在词典中是否有buf,如果有,则分开输出

    4、jieba分词的具体流程图

    结巴分词细节

    5、代码示例

    map_seg.py代码(注释中的代码即为结巴分词代码,注释下方的代码为TF-IDF代码) 执行指令:run.sh代码

    input数据的前十行的查看结果:

    最终得到的输出结果:

    结巴分词结果(注释代码的运行结果) TF-IDF值

    6、jieba分词源码下载地址:https://github.com/fxsjy/jieba

    相关文章

      网友评论

          本文标题:jieba中文分词

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