java处理文本计算词频工具类
来源:互联网 发布:手机腾讯视频网络错误1 编辑:程序博客网 时间:2024/06/11 13:19
主要代码:
1、工具方法类
public class WordFreqUtil {
public static List<Map.Entry<String,Integer>> wordFreqCount(String filePath,int sortType) throws IOException {
Map<String, Integer> map = new TreeMap<String,Integer>(); //存储单词计数信息,key值为单词,value为单词数
BufferedReader reader=new BufferedReader(new FileReader(filePath));
String readLine = null;
while((readLine = reader.readLine()) != null){
String [] wordArray = filterWord(readLine);
for(String word : wordArray) {
word = word.trim();
if (word != null && !word.equalsIgnoreCase("")) {
if(map.get(word) != null){
map.put(word, map.get(word) + 1);
}else{
map.put(word ,1);
}
}
}
}
return sortWordFreq(map,sortType);
}
private static List<Map.Entry<String, Integer>> sortWordFreq(Map<String, Integer> map, final int sortType) {
List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
if(sortType==1){
return o1.getValue() - o2.getValue(); //升序
}else{
return o2.getValue() - o1.getValue(); //降序
}
}
});
return list;
}
public static String[] filterWord(String line){
line = line.toLowerCase();
return line.split("[^a-zA-Z]");
}
}
2、单词统计类
public class WordCount {
private int count;
public WordCount(int count){
this.count=count;
}
}
- java处理文本计算词频工具类
- 【java】以词频升序统计文本词频
- java进行文本单词的词频统计
- 干货 | 自然语言处理(3)之词频-逆文本词频(TF-IDF)详解
- Java计算工具类
- 英文文本词频统计
- 文本词频Word2Vec
- 文本词频Countvectorizer
- 文本词频TF-IDF
- c++ 统计文本词频
- 文本处理工具
- Linux 文本处理工具
- 文本处理工具
- Linux 文本处理工具
- 文本处理工具
- linux文本处理工具
- Linux文本处理工具
- shell-文本处理工具
- 如何搭建百度局域网离线地图服务器
- 内部接口与内部类的体会
- Android VectorDrawable与SVG
- javascript学习路线图
- 机械键盘HID report script
- java处理文本计算词频工具类
- 大数据学习笔记-------------------(16)
- Jersey1.8在spring环境下的实现 包括实例代码
- 单片机+.NET+CentOS智能密码锁系统(纪念篇)
- 【设计模式系列】--组合模式
- 从0开始学习 GitHub 系列之「01.初识 GitHub」
- iOS文件读写
- android 滤镜使用无效的小问题
- maven pom文件详解