中文分词概述

现在中文分词主要困难在于未登录词和歧义性问题。对于未登录词非常好理解,就是对于未见过的新词;对于歧义性问题,比如“结婚的和尚未结婚的”,这里有两个分词结果,是“结婚/的/和/尚未结婚/的”,还是“结婚/的/和尚/未结婚/的”,这时就比较难以判断了。

自从中文分词技术出现之后,出现过很多技术。大体可以概括为“规则分词”、“统计分词”、“混合(规则加统计)分词”这三个流派,现在正在实验的为语义分词,但是该方法并不成熟,处于实验阶段。

规则分词

基于规则分词是一种机械分词方法,主要通过维护词典,在切分语句时,将句子中的每个字符串与词表中的词进行逐一匹配,找到则切分,否则不进行切分。按照切分方法,大致分为正向最大匹配法、逆向最大匹配法、双向最大匹配法。

1.     
正向最大匹配法(MM法)

算法:输入语句L,词典D

1)    
从左到右取待切分语句L的m个字符作为匹配字段,其中m为机器词典D中最长词条的字符数;

2)    
查找机器词典D

i.         
若存在,则匹配成功。将这个匹配字段作为一个词切分出来;

ii.         
若不存在,则匹配失败。此时将匹配字段的最后一个字去掉,剩下的字符串作为新的匹配字段,再次进行匹配,重复上述过程;

3)    
重复第二步,直到切分完语句L为止。

2.     
逆向最大匹配法(RMM法)

该算法与正向最大匹配法相似,只不过待切分语句是逆向进行切分,并且机器词典中的词条均是逆序方式存放。存在证明指出该切分方式可以适当提高精准度。

3.     
双向最大匹配法

双向最大匹配法是将正向最大匹配法和逆向最大匹配法进行结果比较,然后按照最大匹配原则,选取切分词数最少的做为结果。

双向最大匹配的规则:

1)   
如果正反向分词结果词数不同,则取分词数较少的作为分词结果;

2)   
如果正反向分词结果词数相同

i.         
分词结果相同,任意选取一个即可;

ii.         
分词结果不同,返回单字较少的一个。

统计分词

统计分词的基本思想是把每个词看做是由单个字组成的,如果相连的字在文本中出现的次数越多,就证明相连的字就很可能是一个词,从而我们就利用字与字的相邻出现频率来反映成为词的可靠度,当组和频率高于某一个值时,便认为这些字组合成一个词。

1.   
HMM算法

HMM算法将分词作为字在字符串中的序列标注问题来解决。其中需引入隐状态:B-词首、M-词中、E-词尾、S-单字成词。

需要注意:

1)       
其中B\M\E\S是隐藏状态,分词后的语句是观测状态;

2)       
为防止出现隐藏状态出现“BB”、“BEM”的状况,可以通过设置状态转移矩阵中的部分值为零;

3)       
学习HMM中的参数,我们一般给出分好词的语料,通过近似算法(也就是计算概率)来求得参数值;

4)       
对一个语句进行切分,采用维特比算法。

2.   
N-最短路径方法(后续补充)

为解决中文中歧义问题和未登录词问题。一般分词算法,先进行粗分,然后再进行歧义切分、未登录词识别等。在粗分阶段,采用N-最短路径方法,其中分为非统计粗分模型和统计粗分模型(两者不同之处在于边的权值不同)。其基本思想就是:构造有向无环图G,然后利用Dijkstra贪心算法(迪杰斯特拉算法)求出前N个最短路径。

基于规则和统计的分词

1.   
结巴分词

结巴分词主要为结合基于规则分词和基于统计分词两者的分词算法。其主要思想为:

·        
基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG);

·        
采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合;

·        
对于未登录词,采用了基于汉字成词能力的
HMM 模型,使用了 Viterbi 算法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值