基于统计的中文分词算法研究
2019-05-24邹佳伦文汉云王同喜
邹佳伦 文汉云 王同喜
摘要:最近几年大数据、人工智能的迅猛发展,对数据的采集、加工、挖掘也得到了长足的发展,信息的价值逐渐凸显,智能推荐、语音识别等高价值的信息处理越来越多的改变生活。如何从互联网上中文网页内容提取出有效的识别、提取出有价值的信息是当今信息研究的重要课程。中文分词作为中文文本处理的重要组成部分,本文作者在对当前分词的基本问题,以及主要分词方法的优缺点进行思考和分析的基础上,重点分析了基于统计的分词方法,分析了基于统计的分词器的设计理念与算法思想。文中涉及中文分词的难点分析,隐含马尔科夫模型的处理,维特比路径优化算法。
关键词:中文分词;隐马尔科夫模型;路径优化问题;维特比算法
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)04-0149-02
对于自然语言处理,词是最小的有意义的组成部分。中文相对于英文在“词”上有明显的难度。拉丁文语系,词与词之间是有明显的分隔符的存在,而这一點在中文是不存在的,中文词之间没有空格符,只能通过对于单个字符、句子、或语句段来划分。但是中文文本的分析,必须转换为一个个的最小语义单位“词”才能进行。因此中文的分词,不仅是中文自然语言处理中的重要环节,也是中文进行更高层次信息处理,如:语义,语句顺序等的基础。
1 中文分词发展历史和现状
中文分词早期方法,也是最简单的方法就是查字典。这种方法最先由北京航空航天大学的梁南元教授提出。查字典的方法,就是建立一个字典,将句子从左向右扫描一次,将句子与词典进行匹配,遇到字典里面包含的词语就标识出来。遇到复合词,找最长的匹配词切割。这个方法简单,可以在复杂度不高的前提下处理70%~80%的分词问题。20世纪80年代,哈尔滨工业大学的王晓龙博士进一步将查字典的方法理论化,发展成为最少词数的分词理论。就是将一句话分成数量最少的词串。基于查字典的方法过于简单,不适用于稍稍复杂的问题,有一个无法避免的问题,即切分遇到二义性词就无能为力。
二十世纪九十年代之前,许多海内外学者试图用一些文法规则,来解决二义性问题,但最后都不是很成功。直到1990年前后,清华大学的郭静博士用统计语言模型,成功地解决了分词的二义性问题,成功将中文分词的错误率降低了一个数量级。
基于词典的中文分词方法是该领域的主要研究方向,主要包括基于规则、统计、字标注三大类方法。早期主要使用基于规则的方法,即根据中文的特点建立一些处理规则,计算机按照这些处理规则处理文本使之歧义消除。二十一世纪以前,由于这种方法类似于语言学思维,基于规则的分词方法非常流行,占据了中文分词研究绝大部分。但后来发现基于规则的分词方法效率低下,规则越来越庞大复杂,而且语言学家对词语的定义并不完全相同,这种方法并不能如人所愿。于是基于统计的方法慢慢成为主流,其主要思想是使用某个数学模型作为工具,最常见的且比较成熟的有隐马尔科夫模型、最大熵模型、条件随机场模型等。自从基于统计的分词方法提出来之后,切分速度和准确度都有了明显提高,明显优于基于规则的分词方法。2002年,第一届SIGHAN研讨会上,第一篇基于字标注分词的文章发布,基于字标注分词的模型的产品接二连三的出现,技术也越来越成熟,其中比较出名的有Low开发的系统,以及Nianwcn Xuc的系统,它们都有不错的成果。
2 基于统计的中文分词的基本原理
由于分词满足隐马尔科夫数学模型,利用隐马尔科夫模型计算出各种分词后,句子出现的概率,再利用维特比算法求出最大值,最终找到最好的分词方法。
3 基于统计的中文分词的核心算法
3.1 基于隐含马尔科夫模型的数学模型
隐含马尔科夫模型是马尔科夫链的一个扩展,任何时刻t的状态St是不可见的,所以观察者没分通过观察一个序列s1,s2…st来推测转移概率等参数。但是隐含马尔科夫模型每个时刻t都会输出一个符号ot,ot是和st相关且只和st相关的独立输出假设。
第二步:针对每一步Ti,计算这一步中的每一个可能分词的最佳路径
Best(wi,Tn)=max(Best(wj,Tn-1)P(wi|wj))
其中Best(wi|Tn) 表示分词wi在Tn时与之前所得到得分词组成的联合概率中最佳概,即当前阶段所对应字串最可能的分词,对应图就是当前阶段最可能的分词所组成的最佳路径。wj表示wi在最佳路径上的前向词,p(wi|wj)是转移概率,到最后时刻Tm时我们得到最后结果,即完整最佳分词的路径,结合图1,从T1进行到T6最后一步,就得到最后结果,最佳分词路径。
4 总结与展望
基于统计方法的中文分词方法,经过不断的改进中文分词的精度已经达到95%以上,已大体解决了中文分词的问题。但并不是说中文分词已经非常完美了。对于未登录词语的处理一直一个大问题,未登录词大致分为两类:(1)新出现的通用名词或专业术语(2)专有名词,如:人名、外国译名、地名、机构名等。第一种情况的未登录词理论上虽然可以预期,可通过人工添加词表中,但是实际操作中并不容易做到。后一种情况难度更大,完全不能预测,无论词库字典如何庞大,都不能概括。松茂松等指出,未登录词对分词精度的影响超过了歧义切分,可见未登录词在分词系统中占有举足轻重的地位。虽然孙茂松、吴立德、刘挺、邹嘉彦等做了大量的工作,在一定程度上提高了未登录词的分词效果,但效果仍然不很好。后期仍可以做大量的研究。
参考文献:
[1] 孙茂松,邹嘉彦.汉语自动化分词研究评述[J].当代语言学,2001(1):22-32.
[2] 魏晓宇.基于隐马尔科夫模型的中文分词研究[J].计算机教育,2007(1):885-886.
[3] 董振东.汉语分词研究漫谈[J].语言文字应用,1997(1):107-112.
[4] 黄祥喜,书面汉语自动分词的“生成一测试”方法[J].中文信息学报,1989(4):42-49.
[5] 梁南元.书面汉语自动分词系统—CDWS[J].中文信息学报,1987(2):44-52.
[6] 刘开瑛.现代汉语自动分词评测技术研究[J].语言文字应用,1997(1):101-106.
[7] 刘源,梁南元.汉语处理的基础工程—现代汉语词频统计[J].中文信息学报,1986(1):17-25.
[8] 于江生.隐Markov 模型及其在自然语言处理中的应用[M].北京大学计算语言学研究所,1999.
[9] 陈桂林,王永成,等.一种改进的快速分词算法[M].计算机研究与发展,2000 .
[10] 苗夺谦,卫志华中文文本信息处理的原理与应用[M].清华大学出版社,2000.
【通联编辑:梁书】