基于LUCENE的java词频统计
来源:互联网 发布:怎么在mac上卸载app 编辑:程序博客网 时间:2024/05/16 01:37
package demo.analysis;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.io.Reader;import java.io.StringReader;import java.io.UnsupportedEncodingException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import jeasy.analysis.MMAnalyzer;import org.apache.lucene.analysis.Token;import org.apache.lucene.analysis.TokenStream;public class Segment { public static void main(String args[]) throws IOException { Segment s = new Segment(); String text = s.ReadFileByBufferdeReader("./1.txt");// System.out.println(text); s.getWordByReader(text); } public String ReadFileByBufferdeReader(String readFileName) { String temp = ""; File f = new File(readFileName); InputStreamReader read; try { read = new InputStreamReader(new FileInputStream(f), "utf-8"); BufferedReader reader = new BufferedReader(read); String line; while ((line = reader.readLine()) != null) { temp += line + "\n"; } } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return temp; } public void getWordByReader(String text) { //采用正向最大匹配的中文分词算法 MMAnalyzer analyzer = new MMAnalyzer(); analyzer.addWord("任家坪"); Map<String, Integer> map = new HashMap<String, Integer>(); try { System.out.println("Length = " + text.length()); Reader r = new StringReader(text); TokenStream ts = analyzer.tokenStream(null, r); System.out.println("开始分词...\n"); long begin = System.currentTimeMillis(); for (Token t = ts.next(); t != null; t = ts.next()) { String str = t.termText(); Object o = map.get(str); if (o == null) { map.put(str, new Integer(1)); } else { Integer I = new Integer(((Integer) o).intValue() + 1); map.put(str, I); } } //System.out.println(t.startOffset() + " - " + t.endOffset() + " = " + t.termText()); for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) { Map.Entry entry = (Map.Entry) iter.next(); System.out.println(entry.getKey() + ":" + entry.getValue()); } long end = System.currentTimeMillis(); System.out.println("分词数量: "+map.size()+" 耗时 : " + (end - begin) + "ms"); } catch (IOException e) { e.printStackTrace(); } } public void getWordBySegment(String text) { MMAnalyzer analyzer = new MMAnalyzer(); try { System.out.println(analyzer.segment(text, "\n")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
0 0
- 基于LUCENE的java词频统计
- 用java写的词频统计
- Java实现的一个词频统计程序
- java进行文本单词的词频统计
- Java实现的一个词频统计程序
- java 英文词频统计
- java词频统计
- Java 词频统计
- 【java】以词频升序统计文本词频
- 基于turtle库的统计文本词频并柱状图
- 使用Lucene词频统计与d3.cloud展示的中文英文词云系统
- 使用JAVA进行词频统计
- Java 用hashmap统计词频
- java实现词频统计程序
- HBase的java编程实例-写入词频统计
- 统计文章中词的词频
- 一个简易的词频统计
- HashMap统计词频的方法
- 巴结顶头上司加上授业恩师再加上绝代佳人
- Python日志定义
- Android下载文件的进度条提示(网络通信部分示例)
- WCF-Contracts
- Android之使用VideoView组件播放一个简单的视频
- 基于LUCENE的java词频统计
- yum本地源配置
- 淘宝搜索引擎的缓存机制
- 域名命名规则及交易平台
- 刷锅就要刷干净
- 一个常用的DateUtil工具
- 第一贴,献给程序员之路。
- Hibernate注解使用以及Spring整合
- 活动安排问题