几种常见的中文分词包的分析与比较

简介: 1:中文分词简介 2:Lucence的中文分词 3:庖丁分词简介 4:IK中文分词简介 一:中文分词简介     1:分词算法分类         -----基于字符串匹配的中文分词方法                eg:句子:我来自沈阳航空航天大学          ...

1:中文分词简介

2:Lucence的中文分词

3:庖丁分词简介

4:IK中文分词简介


一:中文分词简介

    1:分词算法分类

        -----基于字符串匹配的中文分词方法

               eg:句子:我来自沈阳航空航天大学

                       词典:沈阳  航空  航天  大学  沈阳航空航天大学

                       匹配字段:

                       匹配结果:

                选取词典中最长字段作为分词起始的最长步伐,可知最长为8

                首先在句子中以“我”为起点,数八个字“我来自沈阳航空航”在词典中没有匹配到,然后步长减一,为7

                然后数七个字“我来自沈阳航空”同样在字典中没有匹配到,步长减一,为6

                ........

                步长为1时依然没有匹配到,但是是单音节词了,所以存放在匹配结果中

                以此执行,下一次从“是”开始......

                所以最终的匹配结果是:我  来   自  沈阳航空航天大学  沈阳  航空  航天  大学

       ------基于理解的分词方法 

               类似于人工智能分词了,能够自动识别词语的意思,进行分词

        ------基于统计的分词方法

                这里有一篇关于基于统计分词的文章讲的相当详细,大家可以参考以下:http://www.cnblogs.com/xingyun/archive/2013/01/10/2854397.html

    2:两大难题

        ----歧义识别

        ----新词识别

    3:应用

        ----搜索引擎

        ----自然语言处理


二:Lucence的中文分词

        1:基于字符串匹配的分词

               ----paoding

               ----mmseg4j:MMseg算法

               ----IK:正向迭代最细粒度划分算法

         2:基于统计的分词

               ----imdict:采用隐马尔可夫模型


三:庖丁分词简介

        极具有高效性和可扩展性,采用完全的面向对象设计,构思先进

        主页:http://code.google.com/p/paoding

        优点:

               自定义词库,通过修改paoding-analysis.jar中的paoding-dic-home.properties文件中的“paoding.dic.home=dic”定义自己 的词库

               能够对未知的词汇进行合理的分析,分词效率高

        部署:

                下载地址:http://pan.baidu.com/s/1eQ88SZS

               

             1. 配置dic文件:

             修改paoding-analysis.jar中的paoding-dic-home.properties文件,将“#paoding.dic.home=dic”的注释去掉,并配置成自己dic文件的本地存放路径。eg:/home/hadoop/work/paoding-analysis-2.0.4-beta/dic

             2. 把Jar包导入到项目中:

                 将paoding-analysis.jar、commons-logging.jar、lucene-analyzers-2.2.0.jar和lucene-core-2.2.0.jar四个包导入到项目中,这时就可以在代码片段中使用庖丁解牛工具提供的中文分词技术

             3:代码实例

package tokens;

import java.io.IOException;
import java.io.StringReader;

import net.paoding.analysis.analyzer.PaodingAnalyzer;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;

public class tokens {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String text = "本思想就是在分词的同时进行句法、语义分析, 利用句法信息和语义信息来进行词性标注, 以解决分词歧义现象。因为现有的语法知识、句法规则十分笼统、复杂, 基于语法和规则的分词法所能达到的精确度远远还不能令人满意, 目前这种分词系统还处在试验阶段。";
		//定义一个解析器
		Analyzer analyzer = new PaodingAnalyzer();
		
		//得到token序列的输出流
		TokenStream tokens = analyzer.tokenStream(text, new StringReader(text));
		try{
			Token t;
			while((t=tokens.next() ) !=null){
				System.out.println(t);
                                //System.out.println(t.termText())  输出单个词
			}
		}catch(IOException e){
			e.printStackTrace();
		}
	}

}


           4:分词结果
                

四:IK中文分词简介
        请参考之前的一篇博客:http://blog.csdn.net/gamer_gyt/article/details/47168877

相关文章
|
文字识别 自然语言处理 API
同时斩获两个开源第一,超火的通义Qwen3-VL CookBook来了
Qwen3-VL开源发布后广受认可,登顶Chatbot Arena视觉榜与OpenRouter图像处理市场份额第一。支持文档解析、OCR、视频理解、3D定位等多模态任务,现推出详细Cookbook助力开发者高效应用。
2621 3
|
10月前
|
运维 监控 应用服务中间件
Linux 实用命令与工具使用指南
本文系统梳理Linux运维四大核心场景——文件管理、进程监控、文本处理与系统管理中的高频实用命令及工具,涵盖find、rsync、htop、grep、awk、systemctl等,并结合实操示例与避坑技巧,助力运维人员提升效率。
510 0
|
10月前
|
安全 固态存储 Java
通用权限管理模型详解:从 ACL 到 RBAC0/1/2/3
本文深入解析ACL与RBAC两种主流权限模型,重点剖析RBAC的四个层级(RBAC0-RBAC3),涵盖角色继承、职责分离等核心机制,并结合实际场景给出选型建议,助你构建安全、可维护的权限体系。
|
10月前
|
存储 安全 测试技术
2025年云真机与购买真机成本对比及高性价比平台推荐
文章对比了2025年云真机与购买实体机的成本,指出云真机在设备灵活性、批量部署和长期使用成本上更具优势,适合中高频测试场景。还介绍了主流云真机平台特点,给出筛选高性价比平台的逻辑及常见问题解答,助力企业按需选择。
|
存储 Prometheus 监控
Prometheus 深度指南:设计理念 · PromQL · Exporter · Thanos
Prometheus 是一款开源的系统监控与报警工具,专为云原生环境设计。它采用拉取模型采集数据,内置高效的本地时序数据库(TSDB),支持丰富的指标类型和四个黄金指标(延迟、流量、错误、饱和度)。其查询语言 PromQL 功能强大,可灵活聚合和分析时间序列数据。此外,通过 Exporter 机制,Prometheus 能轻松扩展到各种系统和服务。针对大规模场景,Thanos 提供高可用解决方案,整合多 Prometheus 实例,实现全局视图和长期存储。整体架构简洁可靠,适用于动态分布式环境。
2128 10
Prometheus 深度指南:设计理念 · PromQL · Exporter · Thanos
|
安全 Cloud Native 容灾
海外泼天流量|浅谈全球化技术架构
本文对海外泼天流量现状做了快速整理,旨在抛砖引玉,促进国内企业在出海过程中,交流如何构建全球化技术架构的落地经验,相信会有越来越多资深人士分享更深层次的实践。
1006 51
|
人工智能 供应链 BI
从“被动响应”到“主动决策” | 智能小Q如何助力快消品行业供应链数智化升级
编者按:在大模型技术重构数据智能分析应用的背景下,Quick BI 推出的问数助手——智能小Q 凭借其革新功能体验,自面世以来持续获得市场青睐。历经一年多的商业化验证,已成熟融入金融、零售、高端制造、生物医药等领域的行业标杆企业,在生产管控、运营决策等场景中实现数据分析提效。本文将以某头部快消企业供应链场景应用为研究样例,深度解析智能小Q如何帮助企业提升供应链智能化管理水平,为更多行业数智化建设提供可行性路径参考。 作为中国快消品类行业的领军者,企业面对快速变化的市场环境,积极拥抱创新和数字化转型,利用大数据及人工智能等前沿技术,洞察消费者需求,优化生产流程,提高运营效率,推动企业可持续发展。
|
C#
c#中switch case语句的用法
C#中的 `switch case`语句提供了一种简洁而高效的方式来处理多个条件分支。通过了解其基本语法、注意事项和高级用法,可以在实际开发中灵活运用 `switch case`,提高代码的可读性和维护性。希望本文能帮助你更好地理解和使用C#中的 `switch case`语句。
1628 0
|
缓存 NoSQL Java
阿里华为等大厂的本地缓存、分布式缓存解决方案详解(中)
阿里华为等大厂的本地缓存、分布式缓存解决方案详解
712 0
|
存储 Linux Docker
在Docker中,本地的镜像文件都存放在哪里?
在Docker中,本地的镜像文件都存放在哪里?

热门文章

最新文章