中文分词的介绍

一、分词的概念

  • 一般分词是NLP的第一项核心技术。英文中每个句子都将词用空格或标点符号分隔开来,而在中文中很难对词的边界进行界定,难以将词划分出来。在汉语中,虽然是以字为最小单位,但是一篇文章的语义表达却仍然是以词来划分的。因此处理中文文本时,需要进行分词处理,将句子转为词的表示,这就是中文分词。
  • 中文分词的三大难点:分词规则、消除歧义、未登录词识别

二、当前的分词方法

  • 第一类是基于语法和规则的分词法。其基本思想就是在分词的同时进行句法、语义分析, 利用句法信息和语义信息来进行词性标注, 以解决分词歧义现象。因为现有的语法知识、句法规则十分笼统、复杂, 基于语法和规则的分词法所能达到的精确度远远还不能令人满意, 目前这种分词系统还处在试验阶段。

  • 第二类是基于统计的方法。基于统计的分词法的基本原理是根据字符串在语料库中出现的统计频率来决定其是否构成词。词是字的组合, 相邻的字同时出现的次数越多, 就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映它们成为词的可信度。

  • 第三类是机械式分词法(即基于词典)。机械分词的原理是将文档中的字符串与词典中的词条进行逐一匹配, 如果词典中找到某个字符串, 则匹配成功, 可以切分, 否则不予切分。
    优点:基于词典的机械分词法, 实现简单, 实用性强
    缺点:词典的完备性不能得到保证

  • 这里主要介绍一下基于词典的分词方法,此中分词方法中常用的算法有很多种,这里介绍3种:正向最大匹配法(FMM)、逆向最大匹配法(RMM)和双向最大匹配法(Bi-MM)
    FMM的步骤是:
    (1)从左向右取待分汉语句的m个字作为匹配字段,m为词典中最长词的长度。
    (2)查找词典进行匹配。
    (3)若匹配成功,则将该字段作为一个词切分出去。
    (4)若匹配不成功,则将该字段最后一个字去掉,剩下的字作为新匹配字段,进行再次匹配。
    (5)重复上述过程,直到切分所有词为止。
    RMM的基本原理与FMM基本相同,不同的是分词的方向与FMM相反。
    Bi-MM是将正向最大匹配法得到的分词结果和逆向最大匹配法得到的结果进行比较,然后按照最大匹配原则,选取词数切分最少的作为结果。

三、基于字典分词方法的一个实现

  • word分词工具
    word分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。允许自定义词库、自定义分词算法(默认使用的是:最大Ngram分值算法,实际是使用几种不同的分词方法,并各自计算N-gram分值,取分值最大的为分词结果,消除歧义)。
    (1)允许在原有默认词库的基础上增加了自定义词库,且自定义词库的优先级高于默认词库。
    (2)word分词工具的功能十分强大,除了提供基本分词功能外,还可以完成词频统计、词性标注、同义标注、反义标注、拼音标注等功能。

  • word分词中消除歧义用的是Ngram算法:
    这里的歧义是指:同样的一句话,可能有两种或者更多的切分方法,这些切分结果,有的正确,有的不正确。
    举个例子:
    假设我们要切分句子:结婚的和尚未结婚的,使用逆向最大匹配和正向最大匹配算法的结果如下:

    逆向最大匹配:[结婚, 的, 和, 尚未, 结婚, 的]
    正向最大匹配:[结婚, 的, 和尚, 未结, 婚, 的]
    
  • N-Gram模型:
    N-gram语言模型的思想,可以追溯到信息论大师香农的研究工作,他提出一个问题:给定一串字母,如“for ex”,下一个最大可能性出现的字母是什么?
    从训练语料数据中,我们可以通过极大似然估计的方法,得到N个概率分布:是a的概率是0.4,是b的概率是0.0001,是c的概率是…,当然,约束条件是:所有的N个概率分布的总和为1.

  • N-Gram模型在word分词的应用中:
    N-gram模型n的取值是2,也称为bigram模型(N=2),可以在已知第一个词A的情况,得到第二个词为B的概率。bigram中的数据格式如下:

    结婚:登记 91
    结婚:的 288
    和:尚未 4
    尚未:结婚 2
    的:和尚 9
    

    bigram中的语料库是需要人工标注的生成的,上述几条数据表示的含义是:在人工标注的语料库中,结婚这个词后面跟着登记这个词的出现次数是91次,结婚这个词后面跟着的这个词的出现次数是288次
    通过使用bigram模型,就可以计算出每种分词序列的概率,概率最大的那一个就是正确的分词结果。

四、 N-Gram模型其他的应用

文化研究 、分词算法、语音识别、输入法、机器翻译

参考:

1、NLP系列-中文分词(基于词典)
2、一种利用ngram模型来消除歧义的中文分词方法
3、N-gram语言模型
4、Google Ngram Viewer
5、word分词工具

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值