文档章节

中文分词算法 之 基于词典的正向最小匹配算法

杨尚川
 杨尚川
发布于 2014/04/04 03:04
字数 530
阅读 1055
收藏 1

在之前的博文中介绍了基于词典的正向最大匹配算法比如我们切分句子: 中华人民共和国万岁万岁万万岁,使用正向最大匹配算法的切分结果为:[中华人民共和国, 万岁, 万岁, 万万岁],可以看到,切分出来的词是很长的,粒度很粗,如果我们想要切分出很细粒度的词,该怎么办呢?

 

本文介绍正向最小匹配算法,该算法和正向最大匹配算法相得益彰,一个强调细粒度,一个强调粗粒度。

 

使用正向最小匹配算法,必须注意的一点是:词典中不能有单字词,词的长度至少为2!我们看正向最小匹配算法正向最大匹配算法的代码比较:

 

 

切分效果如下:

 

切分句子: 中华人民共和国万岁万岁万万岁
正向最大匹配: [中华人民共和国, 万岁, 万岁, 万万岁]
正向最小匹配: [中华, 人民, 共和, 国, 万岁, 万岁, 万万, 岁]
切分句子: 杨尚川是APDPlat应用级产品开发平台的作者
正向最大匹配: [杨尚川, 是, APDPlat, 应用, 级, 产品开发, 平台, 的, 作者]
正向最小匹配: [杨尚川, 是, APDPlat, 应用, 级, 产品, 开发, 平台, 的, 作者]
切分句子: 美国加州大学的科学家发现
正向最大匹配: [美国加州大学, 的, 科学家, 发现]
正向最小匹配: [美国, 加州, 大学, 的, 科学, 家, 发现]

  

 

 

代码托管于GITHUB

 

参考资料:

1、中文分词十年回顾

2、中文信息处理中的分词问题

3、汉语自动分词词典机制的实验研究

4、由字构词_中文分词新方法

5、汉语自动分词研究评述

 

NUTCH/HADOOP视频教程

 

© 著作权归作者所有

杨尚川

杨尚川

粉丝 1103
博文 220
码字总数 1624053
作品 12
东城
架构师
私信 提问
Java中文分词组件 - word分词

Java分布式中文分词组件 - word分词 word分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数...

杨尚川
2014/04/29
25.1K
56
中文分词算法 之 词典机制性能优化与测试

在之前的两篇博文中文分词算法 之 基于词典的正向最大匹配算法和中文分词算法 之 基于词典的逆向最大匹配算法中,我们对分词实现和词典实现都做了优化,本文对词典实现做进一步优化,并和之前...

杨尚川
2014/03/28
1K
0
随思:关于中文分词方法

疑问:为什么会涉及到分词方法学呢? 为什么需要确定哪些是词语,哪些不是词语呢? 为什么需要进行分词,如果不分词会是什么情况呢? 分词的根本目的是为了搜索服务的,更确切的是为快速搜索而...

wangtaotao
2014/04/06
0
0
全文检索lucene中文分词的一些总结

全文检索几乎是所有内容管理系统软件(CMS)必备的功能,在对公司的CMS产品的开发维护过程中,全文检索始终是客户重点关注的模块,为满足客户各式各样越来越高的要求,对全文检索曾做过一段时...

空_明
2013/08/13
5.1K
1
搜索引擎关键技术:中文分词技术介绍

信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google、百度等大型搜索引擎一直是人们讨论的话题。随着搜索市场价值的不断增加,越来越多的公司开发出自己的搜索引擎,阿里巴巴的商...

脚本编程网站
2013/06/12
254
0

没有更多内容

加载失败,请刷新页面

加载更多

从AnnotationTransactionAspect开始rushSpring事务

0. Spring 事务 with LTW 0.1. Spring 事务 With LTW的原因: Pure Proxy-base mode有缺陷,其失效原因分析及使用方法及运行机制(LoadTimeWeaverBeanDefinitionParser和 AspectJWeavingEnable......

Aruforce
25分钟前
5
0
mac 安装protobuf 2.5.0

下载安装包 目前protobuf的最新版本是3.9.1,但是hadoop等好多框架依然依赖的是2.5.0,因此,最好不要安装最新的。 https://github.com/protocolbuffers/protobuf/releases/tag/v2.5.0 编译安...

hexiaoming123
29分钟前
4
0
Qt编写自定义控件52-颜色下拉框

一、前言 这个控件写了很久了,元老级别的控件之一,开发之初主要是自己的好几个项目要用到,比如提供一个颜色下拉框设置对应的曲线或者时间颜色,视频监控项目中经常用到的OSD标签设置,这个...

飞扬青云
36分钟前
6
0
Shell脚本应用 – for、while循环语句

通过Shell脚本应用(二)学习到了if条件条件语句的使用方法等。Shell作为一种脚本编程语言,同样了包含了循环,分支等其他程序控制结构,从而能够轻松完成更加复杂、强大的功能。我们今天就来...

Linux就该这么学
42分钟前
6
0
Sqoop之导入到Hive时特殊字符导致数据变乱

问题是这样的: Sqoop从关系型数据库导入数据到Hive时,发现数据量增多了,查找之后发现是由于源数据中含义\r\t\n特殊字符的数据,这样Hive遇到之后就将其视为换行,所以导入到Hive后数据条数...

克虏伯
43分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部