java计算一篇英文文档词频 并按出现次数从高到低输出以下基础上补充谢谢!

String result = sb.toString();String[] Str = result.split("[^A-Za-z0-9]"); //quanbu for(String string:Str){ singleSet.add(string);if("".equals(string)){ //这里是我加的,去除空格次数的处理 singleSet.remove("");} } Map map=new HashMap
java计算一篇英文文档词频 并按出现次数从高到低输出以下基础上补充谢谢!
String result = sb.toString();
String[] Str = result.split("[^A-Za-z0-9]"); //quanbu
for(String string:Str){
singleSet.add(string);
if("".equals(string)){ //这里是我加的,去除空格次数的处理
singleSet.remove("");
}
}

Map<String, Integer> map=new HashMap<String, Integer>();
for (String childString : singleSet){
int count=0;
for(String fatherString : Str){
if(fatherString.equals(childString)){
count++;
}
}
map.put(childString, count); //存储在hashmap中
}

ArrayList<Entry<String,Integer>> l = new ArrayList<Entry<String,Integer>>(map.entrySet());

Collections.sort(l, new Comparator<Object>(){
public int compare(Object e1, Object e2){
int v1 = Integer.parseInt(((Entry<String,Integer>)e1).getValue().toString());
int v2 = Integer.parseInt(((Entry)e2).getValue().toString());
return v2-v1; //改为v1-v2就是从小到大了

}
});

for (Entry<String, Integer> e: l){
System.out.println(e.getKey()+" "+e.getValue());
}

代码仅供参考!希望对你有用2012-10-13
程序很简单,建立两个数组,一个字符串数组,一个整型数组,出现的单词放在字符串数组,其出现次数放在下标相同的整型数组里,每读取一个单词,从字符串数组第一个开始比较,相同则次数加1,不同则和下一个比较,直到第一个空字符串都没有该单词出现,则在该空字符串填入该单词,对应下标的整型数组写1,如此循环,直至读取到文档结尾;然后,按统计的词频排序输出。2012-10-27
上面的代码是搞什么飞机啊?
你是想统计每个单词出现的频率,还是每个字母出现的频率?
String[] Str = sb.toString().split("[^A-Za-z0-9]");
你还搞个按\w的正则表达式拆分?你是要怎滴?我没看明白...2012-10-15
mengvlog 阅读 31 次 更新于 2025-09-09 12:09:49 我来答关注问题0
  •  Jseven_jy 用JAVA语言设计一个类,统计一篇英文文章的词频,并按照词频由高到低输出。修改下面代码就行了。

    import java.util.TreeSet;public class Article { //保存文章的内容 String content;//保存分割后的单词集合 String[] rawWords;//保存统计后的单词集合 String[] words;//保存单词对应的词频 int[] wordFreqs;//构造函数,输入文章内容 //提高部分:从文件中读取 public Article() { content = ...

  •  都荫硕康裕 java 如何统计txt文本中的总词数 不是总字数呀 TF–IDF 公式中需要用到

    TF-IDF=词频(TF)*逆文档率(IDF)TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比。

  •  文暄生活科普 5种词频统计方法比较汇总

    本文从Linux shell、Hadoop MapReduce、Spark等多款引擎及计算方法对文本词频进行统计与分析。实验数据来源于The Blog Authorship Corpus,总计约一亿个英文词汇,文件数据总量为807M,经过处理后用于词频统计。词频统计方法比较 实验中采用Linux shell、Hadoop MapReduce、Scala编程、Spark RDD编程及Spark Streami...

  •  我一直都想做一个好人 词频统计案例中,map和reduce输入的数据类型是什么?

    map和reduce输入的数据类型是java代码。类似,LongWritable ~ Long,Text ~ String,IntWritable ~ Integer。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好...

  •  阿暄生活 中文分词常见项目

    分词准确率高。Jcseg:Java实现的分词器,采用mmseg算法,支持自定义词库、拼音标注、英文混合词识别等。friso:C语言开发的分词器,支持UTF-8编码,mmseg算法准确率高,易于集成到其他程序中。以上这些工具各有特点,根据项目需求和平台选择适合的中文分词工具,可以大大提高文本处理的效率和准确性。

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部