zoukankan      html  css  js  c++  java
  • [NLP]jieba分词理解

    转载自一个博客——作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明。谢谢!

    一、jieba分词特点:支持3种分词模式;支持繁体分词;支持自定义词典。

    二、jieba分词的过程:

    1、基于前缀词典实现此图扫描,生成句子中所有可能的词语构成有向无环图(DAG),采用动态规划方法寻找最大概率的路径,即基于词频的最大切分组合;

    • jieba分词中有个词典dict.txt,其中包含2万多条词语,根据这个词典生成trie树。

      ①trie树是前缀树,是一种多叉树,根结点为空,具有相同前缀的字符串在一条分叉上,但是每一个到叶结点的分叉都是唯一的——没有冲突,它具有查找速度快的优势,但它是一种以空间换时间的算法。

      ②dict.txt中除了词语外,还有词语出现的次数(即词频)和词性,是作者基于人民日报语料等资源训练出来的。

    • 根据输入的待分词的句子,根据dict.txt生成的trie树,生成DAG,即将句子中所有可能的切分都查询出来,构成DAG。

    • 根据动态规划查找最大概率路径的方法,对句子从右往左反向计算最大概率。

      具体过程如下:

      ①P(N) = 1.0

      ②P(N-1)=P(N) * max(P(倒数第一个词))

      ③以此类推,最后得到最大概率路径,得到最大概率的切分组合。

    2、对于未登录词,采用了HMM模型,并用维特比算法进行计算

    • 采用HMM模型将中文词汇按照BEMS四个状态来标记(分别表示begin,end,middle,single单独成词的位置)

    • 作者利用大量语料来进行训练,得到了三个概率表。分别是:

      ①位置转换概率:即BEMS四种状态的转移概率,如P(E|B) = 0.851, P(M|B) = 0.149,说明当我们处于一个词的开头时,下一个字是结尾的概率要远高于下一个字是中间字的概率,符合我们的直觉,因为二个字的词比多个字的词更常见。

      ②位置到单字的发射概率:如P(和|M)表示一个词的中间出现“和”这个字的概率

      ③词语以某种状态开头的概率:其实只有两种,B和S。这是起始向量,就是HMM系统的最初模型状态。具体的说,给定一个待分词的句子,即观察序列,对HMM(BEMS)四种状态的模型来说,就是为了找到一个最佳的BEMS序列,这里使用维特比算法来得到这个最佳的隐藏状态序列。举个例子:全世界都在学中国话,得到一个BEMS序列[S,B,E,S,S,S,B,E,S],将连续的BE凑到一起得到一个词,最终会得到一个分词结果。

    3、基于维特比算法的词性标注

    同2类似,转换成序列标注问题。jieba在分词的时候,同时进行分词和词性标注。词性标注时,则首先基于正则表达式(汉字)进行判断,如果是汉字:则基于前缀词典构建DAG,然后计算最大概率路径,同时查找所分出的词的词性,如果没有找到,则将其词性标注为x;如果是HMM标志位置位,并且该词为未登录词,则通过HMM对其进行词性标注;如果是其他,则根据正则表达式判断其类型,标注为x,m(数词),eng(英文)等。

    4、分别基于ti-idf和textrank模型抽取关键词;

    jieba分词的流程图如下:

    img

    三、jieba分词的不足:

    1、dict.txt字典占用内存为140多M,占用内存过多。且该词典是通用词典,通用词的分割有效果,但是对于专业领域的分词则效果不好,需要自备专业领域词典进行分词。

    2、HMM识别新词在时效性是不足的,并且只能识别2个字的词,对于3个字的词,识别能力有限,

    3、ner效果不够好。

    4、不能进行句法分析和语义分析。

    参考资料:

    [1]https://blog.csdn.net/miner_zhu/article/details/83246153

    [2] https://www.cnblogs.com/zhbzz2007/p/6076246.html?utm_source=itdadao&utm_medium=referral%C2%A0

    [3]https://www.cnblogs.com/zhbzz2007/p/6165442.html

  • 相关阅读:
    索引压缩
    拼写校正
    词典(词汇表)
    Text Relatives II
    Text Relatives
    CoreText
    Quartz2D Text
    PDF Document Creation, Viewing
    Core Graphics Layer Drawing
    Bitmap Images and Image Masks
  • 原文地址:https://www.cnblogs.com/mj-selina/p/13545241.html
Copyright © 2011-2022 走看看