`
huangyongxing310
  • 浏览: 490392 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

IKAnalyzer中文分词

阅读更多
IKAnalyzer中文分词


例子:
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.wltea.analyzer.lucene.IKAnalyzer;

public class IkAnalyzerTest {
	public static void main(String[] args) {
		// String keyWord =
		// "IKAnalyzer的分词效果到底怎么样呢,我们来看一下吧IKAnalyzer的分词效果到底怎么样呢,我们来看一下吧我们我们我们我们我们我们我们我们";
		String keyWord = "排骨猪肉的write,猪 牛,肉猪肉的,猪 牛,肉";
		// String keyWord = "";
		// 创建IKAnalyzer中文分词对象
		IKAnalyzer analyzer = new IKAnalyzer();
		// 使用智能分词
		analyzer.setUseSmart(true);
		// 打印分词结果
		try {
			printAnalysisResult(analyzer, keyWord);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 打印出给定分词器的分词结果
	 *
	 * @param analyzer分词器
	 * @param keyWord关键词
	 * @throws Exception
	 */
	private static String[] printAnalysisResult(Analyzer analyzer, String keyWord) throws Exception {
		System.out.println("[" + keyWord + "]分词效果如下");
		String logString = "GetKeyWordArray getKeyWordArray ";

		String[] returnMsgArray = null;
		String returnMsgTemp = "";

		TokenStream tokenStream = analyzer.tokenStream("content", new StringReader(keyWord));
		tokenStream.addAttribute(CharTermAttribute.class);
		try {
			while (tokenStream.incrementToken()) {
				CharTermAttribute charTermAttribute = tokenStream.getAttribute(CharTermAttribute.class);
				if (charTermAttribute != null) {
					System.out.println(logString + "charTermAttribute  ====== " + charTermAttribute.toString());

					if (charTermAttribute.toString() != null) {
						returnMsgTemp += charTermAttribute.toString();
						returnMsgTemp += ",";
					} else {
						System.out.println(logString + "charTermAttribute.toString() is null");
					}
				} else {
					System.out.println(logString + "charTermAttribute is null");
				}

			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		System.out.println(logString + "returnMsgTemp == " + returnMsgTemp);
		returnMsgArray = returnMsgTemp.split(",");
		if (returnMsgArray == null) {
			System.out.println(logString + "returnMsgArray is null");
			return null;
		}

		System.out.println(logString + "returnMsgArray len == " + returnMsgArray.length);

		// 去掉数组中重复元素
		List<String> list = new ArrayList<String>();
		for (int i = 0; i < returnMsgArray.length; i++) {
			if (!list.contains(returnMsgArray[i])) {// 如果数组 list不包含当前项,则增加该项到数组中
				if (returnMsgArray[i].equals("")) {
					System.out.println(logString + "returnMsgArray[" + i + "].equals(\"\")");
					continue;
				}
				list.add(returnMsgArray[i]);
			}
		}

		String[] newStr = list.toArray(new String[1]);
		if (newStr == null) {
			System.out.println(logString + "newStr is null");
			return null;
		}

		returnMsgTemp = "";
		System.out.println(logString + "newStr.length ==" + newStr.length);
		for (int i = 0; i < newStr.length; i++) {
			if (newStr[i] == null) {
				System.out.println(logString + "newStr[" + i + "] is null");
			}
			returnMsgTemp = returnMsgTemp + "[" + newStr[i] + "]";
		}
		System.out.println(logString + "returnMsgArray ==" + returnMsgTemp);
		System.out.println(logString + "newStr ==" + newStr.toString());
		return newStr;
	}
}


jar包下载:附件
分享到:
评论

相关推荐

    IKAnalyzer中文分词计算句子相似度

    **IKAnalyzer中文分词** IKAnalyzer是一款开源的、基于Java实现的中文分词工具,它在中文信息处理领域有着广泛的应用。该工具最初由尹军平(IkGuo)开发,设计目标是提供一个轻量级、高效能的中文分词引擎,用于...

    java IKAnalyzer 中文分词器

    压缩包中包含的`IKAnalyzer中文分词器V3.0使用手册.pdf`是一份详细的指南,它详细介绍了如何使用IKAnalyzer,包括API的使用、配置的调整以及常见问题的解决方案。建议开发者在开始使用前仔细阅读这份手册,以便更好...

    IKAnalyzer中文分词器

    ### IKAnalyzer中文分词器V3.1.6:深入解析与使用指南 #### 一、IKAnalyzer3.0概述 IKAnalyzer是一个基于Java语言开发的高性能中文分词工具包,自2006年发布以来,已历经多次迭代升级。起初作为开源项目Lucene的一...

    ikanalyzer中文分词支持lucene7.1.0

    ikanalyzer中文分词支持lucene7.1.0是一个针对Lucene搜索引擎的中文分词扩展,由林良益先生开发,旨在提供高效、精准的中文词汇拆解功能。Lucene是一个开源全文检索库,它提供了索引和搜索文本的强大工具。然而,...

    IKAnalyzer中文分词器v2012使用手册.pdf

    标题:"IKAnalyzer中文分词器v2012使用手册" 所述的知识点包括: IKAnalyzer是一款开源的基于Java语言开发的轻量级中文分词工具包,最早版本于2006年12月发布。作为一个文本分析组件,它最初是作为开源项目Lucene的...

    IKAnalyzer中文分词器 java

    - **IKAnalyzer中文分词器V2012使用手册.pdf**:这是一份详细的操作指南,提供了如何使用IKAnalyzer的步骤、配置说明和常见问题解答,对于初学者来说非常有用。 - **IK Analyzer 2012FF_hf1_source.rar**:这是IK...

    IK Analyzer中文分词器

    **IK Analyzer中文分词器详解** IK Analyzer是一个在IT领域广泛应用的开源项目,它专注于Java平台上的中文分词处理。中文分词是自然语言处理(NLP)中的基础任务,对于信息检索、文本挖掘、机器翻译等领域至关重要...

    IKAnalyzer中文分词器V3.2使用

    **IKAnalyzer中文分词器V3.2使用详解** IKAnalyzer是一款开源的、适用于Java环境的中文分词器,主要用于解决在信息检索、文本挖掘等领域中遇到的中文处理问题。这款分词器的设计目标是提高分词的准确率,并且具有...

    IKAnalyzer 中文分词demo

    标题 "IKAnalyzer中文分词demo" 指的是一个基于IKAnalyzer的中文分词演示项目。IKAnalyzer是一款开源的、适用于Java平台的全文检索引擎工具,主要功能是对中文文本进行有效的分词处理,广泛应用于搜索引擎、信息检索...

    IKAnalyzer中文分词器V2012使用手册_20190806.pdf

    IKAnalyzer2012展示了对于不同文本原文的处理能力,支持最细粒度切分和智能切分两种模式,例如对于文本原文1的处理结果,智能分词会将文本切分为具有实际语义的词组,而最细粒度分词则会提供每个汉字作为一个单独的...

    IKAnalyzer 中文分词 完整java项目demo

    IKAnalyzer非常易用的java分词工具。可以自定义扩展词汇。 这个是一个完整的java项目demo。直接可以用,不用再去google下载了。添加了几个自定义词汇,测试好用。 运行ika.java里的main方法即可

    IKAnalyzer中文分词包

    **IKAnalyzer中文分词包** IKAnalyzer是一款针对中文处理的开源搜索引擎分析器,主要用于提高中文信息检索系统的效率和精度。这个分词包是博主在个人博客中推荐并使用的,同时也可从官方网站获取,确保了其可靠性和...

    IKAnalyzer中文分词.rar

    IKAnalyzer继承Lucene的Analyzer抽象类,使用IKAnalyzer和Lucene自带的分析器方法一样,将Analyzer测试代码改为IKAnalyzer测试中文分词效果。 如果使用中文分词器ik-analyzer,就需要在索引和搜索程序中使用一致的...

    IKAnalyzer中文分词器V3.1.1使用手册

    ### IKAnalyzer中文分词器V3.1.1使用手册 #### 1. IKAnalyzer 3.1.1 介绍 IKAnalyzer是一个基于Java语言开发的开源轻量级中文分词工具包。自2006年12月发布1.0版本以来,IKAnalyzer已经经历了多个版本的迭代,不断...

    IKAnalyzer中文分词器支持Lucene6.0以上

    提示:IKAnalyzer中文分词器支持Lucene6.0以上,IKAnalyzer中文分词器支持Lucene6.0以上。

    Java IKAnalyzer 中文分词器

    IK-Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包,也就是可以将一串中文字符分割成一个个的词组或者字词 文件中包含分词工具 ikanalyzer-2012_u6.jar 中文分词配置 IKAnalyzer.cfg..xml

    IKAnalyzer中文分词器文档和Jar包

    在本压缩包中,"IKAnalyzer中文分词器V3.2.0使用手册.pdf"是一个详细的指南,涵盖了IKAnalyzer 3.2.0版本的安装、配置、使用方法以及常见问题解答。这个手册将引导开发者如何将IKAnalyzer集成到Lucene项目中,如何...

    IK Analyzer 中文分词器下载

    IK Analyzer 是一个开源的、基于Java实现的中文分词器,专为全文检索或信息提取等任务设计。它由尹力(Wu Li)在2006年发起,最初是为了改善Lucene的中文处理能力。自那时起,IK Analyzer已经发展成为一个广泛使用的...

    IKAnalyzer中文分词器V3.2.0

    **IKAnalyzer中文分词器V3.2.0详解** IKAnalyzer是一款专为中文处理设计的开源分词器,广泛应用于搜索引擎、信息检索系统、文本挖掘等领域。它以高效、灵活和准确的特性,在Java开发的中文应用中占有重要地位。V...

Global site tag (gtag.js) - Google Analytics