一、中文分词根据实现原理和特点,主要分为以下2个类别:
1、基于词典分词算法(字符串匹配分词算法)
-
按照一定的策略将待匹配的字符串和一个已建立好的“充分大的”词典中的词进行匹配,若找到某个词条,则说明匹配成功,识别该词。
-
常见的基于词典的分词算法分为以下几种:正向最大匹配法、逆向最大匹配法和双向匹配分词法等。
2、基于统计的分词方法
-
基于统计的分词方法是在给定大量已经分词的文本的前提下,利用统计机器学习模型对汉字进行标注训练,从而实现对未知文本的切分。
-
这类目前常用的是算法是HMM、CRF、SVM、深度学习等算法
二、常见的基于词典的分词算法:
-
正向最大匹配法
从左到右对语句进行匹配,匹配的词越长越好。比如“商务处女干事”,划分为“商务处/女干事”,而不是“商务/处女/干事”。
-
逆向最大匹配法
从右到左对语句进行匹配,同样也是匹配的词越长越好。比如“他从东经过我家”,划分为“他 /从/东/经过/我家”。
-
双向匹配分词
同时采用正向最大匹配和逆向最大匹配,选择二者分词结果中词数较少者。但这种方式同样会产生歧义问题,比如“他将来上海”,会被划分为“他/将来/上海”。由此可见,词数少也不一定划分就正确。
-
基于词典的分词算法,易产生歧义问题
三、基于统计的分词算法:
-
本质上是一个序列标注问题,将语句中的字,按照他们在词中的位置进行标注。
-
标注主要有:B(词开始的一个字),E(词最后一个字),M(词中间的字,可能多个),S(由一个字表示的词)
举个例子:“网商银行是蚂蚁金服微贷事业部的最重要产品” 标注后结果: “BMME S BMME BMMME S BME BE” 对应的分词结果:网商银行/是/蚂蚁金服/微贷事业部/的/最重要/产品
基于统计分析方法,得到序列标注结果,就可以得到分词结果了。
四、基于机器学习或者深度学习
主要有HMM,CRF,SV