中文分词原理及实践

原文
简要介绍中文分词的原理

中文分词原理

中文分词算法可以分成以下几种

  • 基于词典的方法
  • 基于统计的方法
  • 基于规则的方法

基于词典的方法

正向最大匹配

1) 正向最大匹配算法首先从句首(文章首部)开始选取m个字符作为待匹配字段,m为词典中最长词条的字符个数。

2) 将待匹配字段与词典进行匹配,若匹配成功则说明待匹配字段可以当成是一个词

3) 若匹配失败,则将待匹配字段的最后一个字符去掉,再用新的待匹配字段与词典中的词相匹配

逆向最大匹配

1) 逆向最大匹配算法首先从句尾(文章尾部)开始选取m个字符作为待匹配字段,m为词典中最长词条的字符个数。

2) 将待匹配字段与词典进行匹配,若匹配成功则说明待匹配字段是一个词

3) 若匹配失败,则将待匹配字段的第一个字符去掉,再用新的待匹配字段与词典中的词相匹配

双向最大匹配法

双向最大匹配算法就是比较正向最大匹配算法和逆向最大匹配算法的结果,若结果一样,则直接输出,否则输出分词结果含有非字典词最少,或者单字最少的那个结果

paoding分词器是一种基于字符串匹配的分词器。

基于统计的分词

计算文档所有可能的切分方案,选择概率最大的。

令C=C1C2…Cm ,C为带切分的汉字串,W=W1W2…Wn. W是切分结果

根据贝叶斯公式,

P(W|C)=P(W)P(C|W)P(C)
,其中P(C) 为常数,P(C|W)=1,因此只需求P(W)

估计P(W)可采用n-gram方法:

P(W)=P(W1)P(W2|W1)P(W3|W1,W2)...P(Wk|W1,W2,...,Wk1)

由于一些限制,通常n都取2或3。即任意一个词出现的概率只与它前面一个词(马尔科夫假设)或前面两个词有关。当n取2时,上述模型可简化为

P(W)=P(W1)P(W2|W1)P(W3|W2)...P(Wk|Wk1)

条件概率为:

P(Wi|Wi1)=P(Wi1,Wi)P(Wi1)

P(Wi1,Wi)
P(Wi1)
只需统计语料库中,Wi-1和Wi相邻的情况出现次数和Wi-1出现的次数,再分别除以语料库大小,即可。

ICTCLAS以及ansj就是使用基于统计的方法

基于规则的分词

这个不太懂,以后懂了再说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值