java实现文本词频统计

Posted ALT_LB

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java实现文本词频统计相关的知识,希望对你有一定的参考价值。

File f=new File(path);
Map<String,Integer>map=new HashMap<>();
Version matchVersion = Version.LUCENE_31;
Analyzer analyzer = new StopAnalyzer(matchVersion);
BufferedReader br = new BufferedReader(new FileReader(f));//读取文件

TokenStream ts = analyzer.tokenStream(null, br);//用analyzer分词,得到token流
ts = new PorterStemFilter(ts);//过滤器提取词干
CharTermAttribute ca = ts.addAttribute(CharTermAttribute.class);//ca存储了ts的文本信息
ts.reset();//必须的
while(ts.incrementToken()){
String term = ca.toString();
if(!map.keySet().contains(term)){
map.put(term, 1);
}else
{
map.put(term, map.get(term)+1);
}
}
ts.end();
ts.close();
analyzer.close();
br.close();

StringBuilder sb=new StringBuilder();
File gh=new File(path);
for(String key:map.keySet()){
sb.append(key+" "+map.get(key)+"\r\n");
}
BufferedWriter bw=new BufferedWriter(new FileWriter(gh));
bw.write(sb.toString());
bw.flush();
bw.close();


































以上是关于java实现文本词频统计的主要内容,如果未能解决你的问题,请参考以下文章

Java实现的词频统计

c语言实现词频统计

词频统计的java实现方法——第一次改进

java词频统计——web版支持

经典案例词频统计十种实现方式

个人项目 - 词频统计