内容纲要

欢迎转载,作者:Ling,注明出处:自然语言处理:原理简明教程06-中文分词

参考书:《统计自然语言处理(第2版)》,《形式语言与自动机理论》,《统计自然语言基础》,《自然语言处理综论》 ,《概率图模型:原理与技术》,《概率论与数理统计》,《统计学方法》,《中文自动分词与标注》

论文:《中文分词十年回顾》等

会议:SIGHAN,CIPS-SIGHAN(http://www.cipsc.org.cn/clp2012/index-cn.html),

竞赛:CLP(Chinese Language Processing),backoff(http://www.sighan.org/bakeoff2005/)

工具:

http://ictclas.nlpir.org/

https://pypi.python.org/pypi/jieba/

 

古文分词困难

  • 文字书写的困难:简化汉字
  • 断句的困难:古文没有标点符号
  • 分词的困难:词不词之间没有分界符

汉语自动分词困难

  • 分词规范问题:单字词不词素之间的划界,词与短语的划界,“二字或三字词,以及结合紧密、使用稳定的二字词或三字词组,一律划分为分词单位。”
  • 歧义切分问题:交集型切分歧义(结|合成,结合|成),组合型切分歧义(起|身,起身),多义组合型切分歧义(平淡,平,淡)
  • 未登彔词问题(OOV,out of vocabulary):人名,地名,组织名(词典无法穷尽),新出现的词汇,术语,俗语。命名实体识别问题

汉语自动分词的发展历程:

  • 上世纪八十年代北京航穸航天大学梁南元教授提出基于词典的分词方法
  • 哈尔滨工业大学的王晓龙博士整理了基于词典的方法,提出最少词数分词理论
  • 90年前后清华大学电子工程系的郭迚博士用统计模型解决分词歧义问题,将汉语分词错误率降低了一个数量级,成为重大突破
  • 清华大学孙茂松教授解决了没有词典时的分词问题
  • 香港科技大学吴德凯教授融通了中文处理和英文处理的方法,建立了两种语言词组对应关系
  • Google的葛显平博士和朱安博士针对搜索设计实现了专门的分词系统
  • 当前分词算法已经径成熟(属于“已解决问题”)

基于词典的分词方法

  • 正向最大匹配法(FMM)
  • 逆向最大匹配法
  • 双向匹配法
  • 逐词遍历法
  • 基于词表的分类法

正向最大匹配算法

ml06001

逆向最大匹配法

  • 从右往左,刚好不正向搜索相反
  • 据说比正向搜索要准确

双向最大匹配法

ml06002

词典实现

  • 树实现
  • 散列表
  • 布隆过滤器

优缺点

  • 此类基于词典的方法分词精度一般不会径高(和统计方法相比,特别是遇到歧义切分的情况)
  • 方法简单,容易实现,性能好

分词性能评测指标

ml06003

说明

  • 分对的比上分出来的总数
  • 分对的比上应该的总数
  • 其实也存在分错的比上分出来的总数
  • 分错的比上应该的总数

主流分词方法

  • N-最短路径方法
  • 基于词的n元语法模型的分词方法
  • 由字构词的汉语分词方法
  • 基于词感知机算法的汉语分词方法
  • 基于字的生成式与判别式相结合的分词方法

N-最短路径方法

  • 参考论文:《基于N-最短路径方法的中文词语粗分模型》
  • N:表示考虑前N条路径
  • 思想:1)找到所有可能的词 2)找到前TOP N条最短路径,即构成整个句子,但是句子中的词最少

ml060032

ml06005

说明

  • 长度表示到当前节点的整个长度
  • 前驱表示前一个table是几,以及处于table中的第几条记录
  • 该方法每条边权值为1,可以改进权值,即考虑每个词的unigram:

ml06006

基于词的n元语法模型的分词方法

  • 论文:《对自动分词的反思》
  • 如何处理未登录词:使用词表或者模板等方式,或者给固定概率
  • 思想:

          1)得到所有词的转移概率

          2)计算不同组合构成句子的概率

          3)选最大的

          4)微软输入法采用的就是这种方法

 

ml06007

ml06008

ml06009

由字构词的汉语分词方法:

  • 论文:《由字构词》
  • 思想:条件随机场解法

          1)转化为标注问题

          2)特征模板得到分割好的语料

         3)训练得到所有参数值

         4)进行分词

注意

  • 这里所说的“字”不仅限于汉字,也可以指标点符号、外文字母、注音符号和阿拉伯数字等任何可能出现在汉语文本中的文字符号,所有这些字符都是由字构词的基本单元。
  • 在字标注过程中,对所有的字根据预定义的特征进行词位特征学习,获得一个概率模型,然后在待切分字串上,根据字与字之间的结合紧密程度,得到一个词位的分类结果,最后根据词位定义直接获得最终的分词结果。

标注扩展

 

ml06010

原因:根据能产度,用六分位比较好

ml06011

特征模板

ml06012

由字构词方法成就

  • 该方法的重要优势在于,它能够平衡地看待词表词和未登录词的识别问题,文本中的词表词和未登录词都是用统一的字标注过程来实现的。在学习构架上,既可以不必专门强调词表词信息,也不用专门设计特定的未登录词识别模块,因此,大大地简化了分词系统的设计[黄昌宁,2006]。
  • 第一篇由字构词的分词论文发表在第一届SIGHAN研讨会上[Xue,2002]。
  • Xue在最大熵模型上实现的由字构词分词系统,在Bakeoff2003 的2项封闭测试上获得第二、三名,然而其未登录词召回率ROOV(0.729 和0.670 )却位居榜首。
  • Bakeoff2005:Ng 基于最大熵模型的分词系统在4项开放测试中获3个第一、1个第二。Tseng 基于条件随机场的系统在4项封闭测试中获2个第一、1个第二和1个第三。
  • Bakeoff2006:微软亚洲研究院采用6词位标记的分词系统在6项测试中获4个第一、2个第三。
  • “由字构词”的分词新方法在公开评测中异军突起。它通过改进未登录词识别能力大幅度提升了分词系统的总体性能。
  • 微软分词系统得益于6词位标注集和n元特征模板集的巧妙配合。

基于词感知机算法的汉语分词方法

  • 论文:《Chinese Segmentation with a Word-Based Perceptron Algorithm》
  • 思想:类似1层的神经网络算法,主要是推导权值,或许可以用深度学习替代

ml06013

ml06014

说明:

  • F(x):最佳切分函数
  • x:句子
  • y:切分结果
  • α:权值
  • 算法:每次得到最佳切分的分值,和标准不一样,进行调整权值,最后得到最佳权值
  • 以下这段话了解即可:

ml06015

ml06016

基于字的生成式与判别式相结合的分词方法

  • 论文:《Which is More Suitable for Chinese Word Segmentation, the Generative Model or the Discriminative One》
  • 思想:

1)将字序列对应词序列改成子序列对应字的标记序列

2)利用字的标记序列的转移概率,结合语言模型,得到最优解

 

ml06017

ml06018

说明

1)原来n表示字书,m表示词数,现在统一都为n

2)其他分析如图

ml06019

各种分词方法对比

ml06020

ml06021