自然语言处理基础(1)--基本分词方法

来源:互联网 发布:js设置请求头解决跨域 编辑:程序博客网 时间:2024/05/16 17:09

         基本的分词方法包括最大匹配法最大概率法(最短加权路径法)、最少分词法基于HMM的分词法基于互现信息的分词方法基于字符标注的方法基于实例的汉语分词方法等。

      1.最大匹配法

        最大匹配法需要一个词表,分词的过程中用文本的候选词去跟词表中的词匹配,如果匹配成功,则认为候选词是词,予以切分;否则就认为不是词(原则就是尽可能的用最长的词来匹配句子中的汉字串)。

        优点:程序简单易行,开发周期短,不需要词法、句法、语义资源,尽管也会出错,但大多数情况下是适用的

        缺点:切分歧义消除的能力差(比如:“使用户满意”-->“使用/户/满意”)

        算法流程:

        (1)待切分汉字串s1,已切分汉字串s2(s2初始为空串)

        (2)如果s1为空串,转(6)

        (3)从s1的左边赋值一个子串w作为候选词,尽可能长,但不要超过MaxWordLength

        (4)如果在词表中找到w,或者w的长度为2(也就是一个汉字),那么将w和一个词界标记一起加到s2的右边,并从s1的左边去掉w,转(2)

        (5)去掉w中最后一个汉字,转(4)

        (6)结束

        算法举例:

        


      2.最少分词法

        最少分词法的基本思想是使每一句找你哥切出的词数最少。

        可以将最少分词法看成是最短路径搜索问题:根据词典,找出字串中所有可能的词,构造词语切分的无环有向图,每个词对应图中的一条有向边,边长为1。

        然后,针对该切分图,在起点到终点的所有路径中,寻找长度最短的路径。

        优点:同最大匹配法类似

        缺点:当最短路径有多条的时候,选择最终的输出结果缺乏应有的标准

      3.最大概率法

        设Z=z1z2…zn表示字串,W=w1w2…wm表示切分后的词串,   

        汉语词语切分可以看作是求使P(W|Z)最大的切分,即p(W|Z) = P(W)P(Z|W)/P(Z) ,其中
        P(Z)是汉字串的概率,它对于各个候选词串都是一样的,不必考虑。 
        P(Z|W)表示出现词串的条件下汉字串的概率,显然该值为1,不必考虑,则仅需考虑P(W)即词串的概率。
        词串的概率可以通过n元语法来求 
        用二元语法 P(W)=p(w1|w0)p(w2|w1)…p(wm|wm-1)                                                                                (1) 
        用一元语法 P(W)=p(w1)p(w2)…p(wm)                                                                                                        (2)
        计算词串概率时,有一个纯技术的问题要考虑: 
        因为每个词的概率都是一个很小的正数,如果汉字串较长,最后得到各种可能的词串的概率都接近于0,无法在机器上表示,当然也就无法比较大小。解决这个问题的办法是:对等式两边(1)、(2)两边取负对数,即 
                                                                              -logp(W) = -logp(w1)-logp(w2)…-logp(wm)                           (3) 
       根据-logx的曲线特性,可知p(wi)越大,最终的结果越小,因此求(1)、(2)式最大值变为求(3)式的最小值。

       最大概率法可以发现所有的切分歧义,它很大程度上取决于统计语言模型的精度和决策算法,而且需要大量的标注语料。

      4.与词性标注结合的分词方法

        这种方法的基本思想是:将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,并且在标注过程中又反过来对分词进行校验、调整,从而极大的提高切分的准确度(HMM词性标注法就是其中一个方法)

        算法举例:

        对于“他俩谈恋爱是从头年元月开始的”,有两种切分方式:

        (1)...是|从头|年|元月|...

        (2)...是|从|头年|元月|...

         虽然“从头”、“年”的词频之积大于“从”、“头年”的词频之积,但是词性序列“动词+副词+时间两次+时间词”的概率远小于“动词+介词+时间词+时间词”的概率,所以选择切分方式2作为结果。

       5.基于互现信息的分词方法

         从形式上看,词是一个稳定的字组合,相邻的字同时出现的次数越多,就越可能构成一个词,可以对语料中相邻的各字组合的频度进行统计,计算他们的互现信息,互现信息体现了汉字间结合关系的紧密程度。当紧密程度高于某一阈值时,便可以认为是一个词。

       6.基于字分类的分词法

         这种方法的思想是:将分词过程看做是字的分类问题,每个字在构造一个特定的词语时都占据一个确定的构词位置

       7.基于实例的汉语分词方法

         这种方法的思想是:在训练语料中存放事先切分好的汉字串为异号输入的待切分句子提供可靠的实例。在分词的时候,根据输入句子和训练语料,找到所有切分片段的实例和可能的词汇,依据某些优化原则和概率信息寻求最优词序列。



原创粉丝点击