基于字典的中文分词算法RMM,MM实现


引言:目前针对中文分词一般有基于字典,基于统计(HMM等),基于规则的分词方法,然而其中基于字典的中文分词是最基础,同时也是最高效的方式,但分词精度取决与字典的规模。
一.基于字典的中文算法简介
1.定义:按照一定策略将带分析的汉字串与一个大机器字典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功.所以也称为机械匹配。
按照扫描方向的不同:正向匹配和逆向匹配
按照长度不同:最长匹配和最小匹配
2.正向最大匹配算法MM
1)从左向右取待切分汗语句的m个字符作为匹配字段,m为大机器字典中最长词条个数。
2)查找大机器词条并进行匹配, 若匹配成功,则将这个匹配字段作为一个词切分出来。
3)若匹配不成功,则将这个匹配字段的最后一个字去掉,剩下来的字符串作为新的匹配字段, 继续进行再次匹配,重复以上过程,直到切分出所有词为止.
3.逆向最大匹配算法RMM
该算法是正向最大匹配的逆向思维(最大匹配的顺序不是从首字母开始,而是从末尾开始),匹配不成功, 将匹配的最前一个字去掉,实验表明,逆向最大匹配算法要优于正向匹配算法。 (RMM产生歧义的可能性比MM低,你将会从以下案例中体会)

4.更多关于中文分词算法,查看中文分词常用算法

二.中文分词算法RMM,MM实现

1.定义分词器的基类和一些公有方法和相关接口

package myAnalyzer;
import java.util.*;
public abstract class Analyzer {
public String words;
//匹配的最大长度
public int max_length=4;
//
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值