现在有很多中文分词程序,他们的实现原理么样?分词效果如何?分词速度如何?之间有什么关系?本系列将针对主流的中文分词程序进行逐一分析,并在ITeye的博客(http://zhangywibb.iteye.com/)上原创发布,欢迎大家批评斧正。
Smartcn为Apache2.0协议的开源中文分词系统,Java语言编写,修改的中科院计算所ICTCLAS分词系统。很早以前看到Lucene上多了一个中文分词的contribution,当时只是简单的扫了一下.class文件的文件名,通过文件名可以看得出又是一个改的ICTCLAS的分词系统。
Smartcn可以说是ICTCLAS的简化版,去除了词性标注(Part of Speech)模块、去除了人名(包括中国人名和日俄英美等外国人名)、地名识别的模块,分词部分将ICTCLAS的N最短路径算法简化为最短路径算法。
Smartcn分词的入口类是HHMMSegmenter,HHMMSegmenter这个名字取的非常不好,很容易造成误解。HHMMSegmenter从名字上看,其中的HMM肯定是隐马尔科夫(Hidden Markov Model)的缩写,HHMM应该是层叠(又称层次、多层)隐马尔科夫(Hierarchical Hidden Markov Model)的缩写。但是,事实上,Smartcn采用的并不是隐马模型,更谈不上层次隐马了。
整个Smartcn只有在BiSegGraph类中计算最短路径的getShortPath()方法时采用了一个动态规划算法。看getShortPath()方法的注释说,采用了Viterbi算法,可是查看计算概率概率的代码可以看得到getShortPath()方法没有用到隐马模型中的状态转移矩阵。
Smartcn的分词模型比较简单:原子分词、二元分词、求带权值的最短路径。分词效果如何呢?我将会在别的文章中对其进行评测。
综上所述:Smartcn是ICTCLAS简化后的版本;没有词性标注;没有人名、地名识别;没有采用隐马模型进行分词,而是采用的动态规划计算最短路径。
分享到:
相关推荐
分词器支持:用户可以通过程序选择不同的分词器进行评估,目前支持的分词器有 word、HanLP、Ansj、smartcn、Jieba、Jcseg、MMSeg4j、IKAnalyzer 等。 数据集使用:用户可以通过程序使用不同的数据集进行评估,目前...
标签:apache、lucene、analyzers、smartcn、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...
中文分词器的作用就是将连续的汉字序列切分成具有独立语义的词汇,这是进行中文文本分析的基础。常见的中文分词器有IK Analyzer、SmartCN、Hankcs等。这个6.4.0版本的中文分词器应该与Elasticsearch 6.4.0 版本兼容...
在信息技术领域,中文分词是自然语言处理(NLP)中的关键步骤,它涉及到将连续的汉字序列切分成具有独立语义的词汇单元,这对于信息检索、文本分析、机器翻译等任务至关重要。本文将深入探讨一种基于Lucene的词典...
IK分词器是针对中文处理的开源插件,它能够很好地对中文词汇进行切分,支持自定义扩展词典,适用于全文检索、日志分析等多种场景。对于Elasticsearch而言,IK分词器是必备的增强工具之一。 2. **准备环境** 在...
包含翻译后的API文档:lucene-analyzers-smartcn-7.7.0-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.lucene:lucene-analyzers-smartcn:7.7.0; 标签:apache、lucene、analyzers、smartcn...
1. smartcn:这是Solr自带的简体中文分词器,适用于基本的中文分词需求。在schema.xml中配置分词器,如`<analyzer type="index">`和`<analyzer type="query">`部分添加`...
lucene-smartcn-3.0.3.jar
solr7以前的版本对于中文分词支持不好,通常会用IK分词器。对于solr7,可以直接使用提供的分词器。 二、solr7中文分词器使用步骤 1、复制lucene-analyzers-smartcn-7.2.0.jar(在contrib/analysis-extras/lucene-...
2. **语言分词器**:Elasticsearch提供了多种针对不同语言的分词器,如英文的`english`,中文的`smartcn`,德文的`german`等,它们考虑了各种语言的特殊语法和词汇。 3. **插件分词器**:例如`IK Analyzer`是一个...
jar包,官方版本,自测可用
lucene-analyzers-smartcn-5.2.1.jar Smart Jar包,在Solr中的使用参考http://blog.csdn.net/xuxiuning/article/details/47750701
jar包,官方版本,自测可用
lucene-smartcn-3.0.1.jar,lucene-smartcn-3.0.1.jar
jar包,官方版本,自测可用
jar包,官方版本,自测可用
- **中文分词器(ChineseTokenizer)**:Lucene 3.5.0中的智能中文分词器能够处理汉语的词语边界问题,对中文文本进行有效的分词,这通常是基于词典和统计方法实现的。 - **停用词表(StopWords)**:中文也有...
jar包,官方版本,自测可用
IK分词器(Intelligent Chinese Analyzer)是一个广泛使用的开源中文分词库,它支持多种分词模式,包括全模式、精确模式、快速模式等,能有效处理复杂的中文语境。myanalyzer在此基础上进行扩展,可能意味着它具有更...
《Elasticsearch中文分析插件:SmartCN与RequireJS在Node.js中的应用》 Elasticsearch,一个强大的全文搜索引擎,广泛应用于数据检索、数据分析及实时数据可视化等领域。为了更好地支持中文处理,社区开发了名为...