基于词典分词算法 基于词典分词算法,也称为字符串匹配分词算法。该算法是按照一定的策略将待匹配的字符串和一个已经建立好的"充分大的"词典中的词进行匹配,若找到某个词条,则说明匹配成功,识别了该词。常见的基于词典的分词算法为一下几种:正向最大匹配算法,逆向最大匹配法,最少切分法和双向匹配分词法等。
基于词典的分词算法是应用最广泛,分词速度最快的,很长一段时间内研究者在对对基于字符串匹配方法进行优化,比如最大长度设定,字符串存储和查找方法以及对于词表的组织结构,比如采用TRIE索引树,哈希索引等。
这类算法的优点:速度快,都是O(n)的时间复杂度,实现简单,效果尚可,
算法的缺点:对歧义和未登录的词处理不好。
基于理解的分词方法 这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果,其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象,它通常包含三个部分:分词系统,句法语义子系统,总控部分,在总控部分的协调下,分词系统可以获得有关词,句子等的句法和语义信息来对分词歧义进行判断,它模拟来人对句子的理解过程,这种分词方法需要大量的语言知识和信息,由于汉语言知识的笼统、复杂性,难以将各种语言信息组成及其可以直接读取的形式,因此目前基于理解的分词系统还在试验阶段。
基于统计的机器学习算法 这类目前常用的算法是HMM,CRF,SVM,深度学习等算法,比如stanford,hanlp分词工具是基于CRF算法。以CRF为例,基本思路是对汉字进行标注训练,不仅考虑了词语出现的频率,还考虑上下文,具备良好的学习能力,因此对歧义词和未登录词的识别都具有良好的效果。
Nianwen Xue在其论文中《Combining Classifier for Chinese Word Segmentation》中首次提出对每个字符进行标注,通过机器学习算法训练分类器进行分词,在论文《Chinese word segmentation as character tagging》中较为详细地阐述了基于字标注的分词法。
算法优点:能很好处理歧义和未登录词问题,效果比前一类效果好
算法缺点: 需要大量的人工标注数据,以及较慢的分词速度
现行常见的中文词分类器 常见的分词器都是使用机器学习算法和词典相结合的算法,一方面能够提高分词准确率,另一方面能够改善领域适应性。
随着深度学习的兴起,也出现了基于神经网络的分词器,例如有研究人员尝试使用双向LSTM+CRF实现分词器,其本质上是序列标注,所以有通用性,命名实体识别等都可以使用该模型,据报道其分词器字符准确率可以高达97.5%,算法框架的思路与论文《Neural Architectures for Named Entity Recogintion》类似,利用该框架可以实现中文分词,如下图所示