摘要:中文分词是中文信息处理的重要基础,本文详细阐述了目前主要的几种中文分词算法的技术原理 、中文分词目前的瓶颈和评价准则,以及中文分词的具体应用。
中文分词指将一个汉字序列切分成一个个单独的词。现有的中文分词算法有五大类:基于词典的方法,基于统计的方法,基于规则的方法,基于字标注的方法,基于人工智能技术(基于理解)的方法。中文分词目前主要有四个瓶颈,分别是分词歧义、未登录词识别、分词粒度问题、错别字和谐音字规范化。中文分词有五大评价准则:分词正确率,切分速度,功能完备性,易扩充性和可维护性,可移植性。中文信息处理包括三个层次:词法分析,句法分析,语义分析,其中中文分词是词法分析的第一步,非常重要。中文分词是大部分下游应用的基础,这些下游应用小到POS词性标注、NER命名实体识别,大到自动分类、自动摘要、自动校对、语言模型、机器翻译、搜索引擎、语音合成等等。
一、 中文分词是什么
中文分词是中文信息处理的基本技术,指将一个汉字序列切分成一个个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。
词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记。
二、中文分词的技术原理
2.1 中文分词算法
现有的中文分词算法有五大类:基于词典的分词方法,基于统计的分词方法,基于规则的分词方法,基于字标注的分词方法,基于人工智能技术(基于理解)的分词方法。
图1:中文分词算法总结
2.1.1 基于词典的方法
基于词典的方法:字符串匹配,机械分词方法
原理:按照一定策略将待分析的汉字串与一个“大机器词典”中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。
按照扫描方向的不同:正向匹配 & 逆向匹配
按照长度的不同:最大匹配 & 最小匹配
按照是否与词性标注过程相结合:单纯分词方法 & 分词与标注相结合
1.正向最大匹配算法(MM)
步骤
从左向右取待切分汉语句的m个字符作为匹配字段,m为大机器词典中最长词条个数
查找大机器词典并进行匹配,若匹配成功,则将这个匹配字段作为一个词切分出来;若匹配不成功,则将这个匹配字段的最后一个字去掉,剩下的字符串作为信我的匹配字段,进行再次匹配,重复以上过程直到切分出所有词为止
2.邻近匹配算法
邻近匹配算法
对正向最大匹配算法的改进,因为正向正向最大匹配算法对每个不存在的长字符串都要进行一次二分搜索,算法复杂度太高,可以利用同一个首字符下的词条按升序排列这一条件,在找到某个字符串后,在其后增加一个字得到一个新字串,如果新字串在词典中出现,那么新词一定在原字串的后面,且相隔位置不会太远
优点:可以加快匹配进程
3.逆向最大匹配算法(RMM)
逆向最大匹配算法
是正向最大匹配的逆向思维(最大匹配的顺序不是从首字母开始,而是从末尾开始,由右向左),匹配不成功,将匹配字段的最前一个字去掉
优点:逆向最大匹配算法要优于正向最大匹配算法(实践证明)
4.双向最大匹配法(Bi-directction Matching method,BM)
双向最大匹配法:将正向最大匹配法得到的分词结果和逆向最大匹配法的到的结果进行比较,从而决定正确的分词方法。
中文中90.0%左右的句子,正向最大匹配法和逆向最大匹配法完全重合且正确,只有大概9.0%的句子两种切分方法得到的结果不一样,但其中必有一个是正确的(