4 中文分词系统的设计和实现
4.1 系统设计的目的和意义
设计一个完整的中文分词系统,可以识别出输入中文句中的单词,并将其切分出来,通过这个系统不仅能完成中文分词工作,同时可以检验分词算法的时间、空间开销以及算法的有效性和正确性。中文分词系统为研究和完善中文分词算法打下了基础。系统中的分词算法采用层叠隐马尔科夫模型的中文分词算法,改进了原有的隐马尔科夫模型的中文分词算法,并采用了N-最短路径的切分排歧策略,提高了分词结果正确性。
4.2 系统算法—层叠隐马尔科夫模型
4.2.1 层叠隐马尔科夫模型概述
隐马尔科夫模型(Hidden Markov Model; HMM)是经典的描述随机过程的统计方法,在自然语言处理中得到了广泛的应用。然而,相对于复杂的自然语言现象来说,传统的HMM仍然略显简单,为此,需要采用多个层次的隐马尔科夫模型,即层次隐马尔科夫模型(HHMM),对汉语词法分析中遇到的不同情况进行分别处理。[17]在HHMM中,有多个状态层和一个输出层。每一个上一层状态都对应于若干个下一层的子状态,而每个状态的子状态的分布都是不同的,由一个隶属于该状态的初始子状态概率矩阵和子状态转移概率矩阵所决定。最底层状态通过一个输出概率矩阵输出到观察值。HHMM实际上是一种不同于HMM的更复杂的数学模型,并且具有比HMM更强的表达能力,不过使用起来时空开销也比较大。HHMM的解码问题求解的时间复杂度是O(NT3),而HMM的解码问题求解的时间复杂度只有O(NT),与句子长度成线性关系,速度非常快。
系统采用的也是一种多层隐马尔可夫模型,称为层叠隐马尔可夫模型(Cascaded Hidden Markov Model,简称CHMM)。不同于HHMM的是,CHMM实际上是若干个层次的简单HMM的组合,各层隐马尔可夫模型之间以下几种方式互相关联,形成一种紧密的耦合关系:各层HMM之间共享一个切分词图作为公共数据结构;每一层隐马尔可夫模型都采用N-最短路径的策略,将产生的最好的若干个结果送到词图中供更高层次的模型使用;低层的HMM在向高层的HMM提供数据的同时,也为这些数据的参数估计提供支持。整个系统的时间复杂度与HMM相同,仍然是O(NT)。所有各层隐马模型都采用《人民日报》标注语料库作为训练语料库,通过对该语料库进行不同形式的改造以适应各层隐马尔可夫模型的使用,而这种改造绝大部分都是自动进行的,只需要介入很少量的人工校对。
4.2.2 基于CHMM的汉语词法分析框架
针对汉语词法分析各个层面的处理对象及问题特点,我们引入CHMM统一建模,该模型包含原子切分、普通未登录词识别、词类的隐马标注共三个层面的隐马尔科夫模型,如图4.1所示。其中,N-最短路径粗切分可以快速产生N个最好的粗切分结果,粗切分结果集能覆盖尽可能多的歧义。在整个词法分析架构中,二元切分词图是个关键的中间数据结构,它将未登录词识别、排歧、分词等过程有机的进行了融合,在分词模型中会详细地介绍。 中文自动分词系统设计+文献综述(9):http://www.youerw.com/jisuanji/lunwen_5927.html