使用java来进行结巴分词处理

使用java来进行分词处理,首先需要几个jar包,分别是

IKAnalyzer2012_u6.jar,lucene-analyzers-3.6.1.jar,lucene-core-3.6.1.jar和lucene-highlighter-3.6.1.jar。下载jar包的链接为:结巴分词对应的jar包

程序一:


package com.participle;

import java.io.IOException;
import java.io.StringReader;
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 Test {

	public static String str = "IK Analyzer是一个开源的,基于java语言"
			+ "开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始"
			+ "IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为"
			+ "应用主体的,结合词典分词和文法分析算法的中文分词组件。从3.0版"
			+ "本开始,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时" 
			+ "提供了对Lucene的默认优化实现";


	public static void main(String[] args) throws IOException {

		Analyzer analyzer = new IKAnalyzer(true);
		StringReader reader = new StringReader(str);
		TokenStream ts = analyzer.tokenStream("", reader);
		CharTermAttribute term = ts.getAttribute(CharTermAttribute.class);

		while (ts.incrementToken()) {

			System.out.print(term.toString() + "|");
		}
		reader.close();
	}

}

运行结果:
在这里插入图片描述

程序二:


package com.participle;

import java.io.IOException;
import java.io.StringReader;
import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;

public class Test2 {

	public static String str = "IK Analyzer是一个开源的,基于java语言"
			+ "开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始"
			+ "IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为"
			+ "应用主体的,结合词典分词和文法分析算法的中文分词组件。从3.0版"
			+ "本开始,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时" + "提供了对Lucene的默认优化实现";

	public static void main(String[] args) throws IOException {

		StringReader re = new StringReader(str);
		IKSegmenter ik = new IKSegmenter(re, true);
		Lexeme lex = null;
		while ((lex = ik.next()) != null) {

			System.out.print(lex.getLexemeText() + "|");
		}
	}

}

运行结果:
在这里插入图片描述

发布了28 篇原创文章 · 获赞 2 · 访问量 1392

猜你喜欢

转载自blog.csdn.net/qq_31960623/article/details/100182908