demo:http://snowball.tartarus.org/demo.php

jar download:http://snowball.tartarus.org/download.php (JAVA version里面有一处语法错误,自行修改后,自己动手生成jar包)

 /**
* Project Name:1008crosslanguage
* File Name:Stemmer.java
* Package Name:util
* Date:Oct 10, 20158:48:09 PM
* Copyright (c) 2015, max_xbw@163.com All Rights Reserved.
*
*/
/**
* Project Name:1008crosslanguage
* File Name:Stemmer.java
* Package Name:util
* Date:Oct 10, 20158:48:09 PM
* Copyright (c) 2015, max_xbw@163.com All Rights Reserved.
*
*/ package util; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import org.tartarus.snowball.ext.englishStemmer; /**
* ClassName:Stemmer <br/>
* Function: TODO ADD FUNCTION. <br/>
* Reason: TODO ADD REASON. <br/>
* Date: Oct 10, 2015 8:48:09 PM <br/>
*
* @author xubowen
* @version
* @since JDK 1.7
* @see
*/
public class Stemmer { /**
* main:(这里用一句话描述这个方法的作用). <br/>
* TODO(这里描述这个方法适用条件 – 可选).<br/>
*
* @author xubowen
* @param args
* @since JDK 1.7
*/
public static String stemString(String str) {
str = str.toLowerCase();
englishStemmer stemmer = new englishStemmer();
stemmer.setCurrent(str);
if (stemmer.stem()) {
return stemmer.getCurrent();
}
return "";
} public static List<String> stemStrList(List<String> strlist) {
List<String> strlisttmp = new ArrayList<String>();
for (String strtmp : strlist) {
strlisttmp.add(stemString(strtmp));
// System.out.println(strtmp + " ==> " + stemString(strtmp));
}
return strlisttmp;
} public static Map<String, Double> stemStrMap(Map<String, Double> strmap) {
Map<String, Double> strmaptmp = new HashMap<String, Double>();
for (Map.Entry<String, Double> entry : strmap.entrySet()) {
String strtmp = entry.getKey();
double doubletmp = entry.getValue();
strmaptmp.put(stemString(strtmp), doubletmp);
// System.out.println(strtmp + " ==> " + stemString(strtmp));
}
return strmaptmp;
} public static void main(String[] args) {
System.out.println(stemString("caused"));
}
}

[JAVA词形还原工具]Snowball的更多相关文章

  1. 7 款开源 Java 反编译工具

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在 ...

  2. JProtector java应用加密工具

    JProtector    专业的java项目加密工具 JProtector简介: JProtector 专业的java项目加密工具.目前java开发的项目发布的时候需要将项目发布到用户手中,但由于一 ...

  3. 7款开源Java反编译工具

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在 ...

  4. Java 反编译工具下载

    反编译,通俗来讲,就是将.java 文件经过编译生成的 .class 文件还原.注意这里的还原不等于 .java 文件.因为Java编译器在编译.java 文件的时候,会对代码进行一些处理. 那么接下 ...

  5. [Android Studio 权威教程]配置出“NB”的Android Studio

    前几篇博客我们已经安装好了As,并且创建了我们的第一个HelloWrod ,这片blog我们继续配置出一个NB的Android Studio 假设你是一个才開始接触到AS或者想从Eclipse转型到A ...

  6. Java基础学习总结(27)——7 款开源 Java 反编译工具

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在 ...

  7. 细说Java主流日志工具库

    概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息. 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子. 我们先来逐一了解一下主流日志工具. java.util ...

  8. Java 性能分析工具 , 第 3 部分: Java Mission Control

    引言 本文为 Java 性能分析工具系列文章第三篇,这里将介绍如何使用 Java 任务控制器 Java Mission Control 深入分析 Java 应用程序的性能,为程序开发人员在使用 Jav ...

  9. Java 性能分析工具 , 第 2 部分:Java 内置监控工具

    引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工 ...

随机推荐

  1. javascript 中关于对象转换数字值的一些特点

    下面是摘至<Javascript 高级程序设计第三版>里的一段话 是关于对象转换数字值的一些规则 "在应用于对象时,先调用对象的valueOf()方法以取得一个可供操作的值.然后 ...

  2. Java 命名空间的由来和引入

    名字可视性(Name visibility) 名字管理对任何程序设计语言来说,都是一个重要问题.如果你在程序的某个模块里使用了 一个名字,而其他人在这个程序的另一个模块里也使用了相同的名字,那么怎样才 ...

  3. 只写104行代码!在nopCommerce中如何实现自动生成网站地图

    表告诉我说你不知道nopCommerce是什么.它是目前.NET中最流行的完全开源网上商城,由俄罗斯的团队在2008年开始立项一直开发到现在已经是3.3版本了.代码目前托管在codeplex上,有兴趣 ...

  4. HEXO+PAGE 搭建个性博客

    新博客地址: http://javen205.oschina.io https://javen205.github.io Hexo 是高效的静态站点生成框架,她基于 Node.js. 通过 Hexo ...

  5. 【Vegas原创】EXCEL光标所在的行自动变色

      方法: 1,excel中,按Alt+F11,打开VBA编辑界面,双击需要改的工作表名称,将下面代码粘贴到右边框中,即可. 2,代码: Private Sub Worksheet_Selection ...

  6. ELK——Logstash 2.2 date 插件【翻译+实践】

    官网地址 本文内容 语法 测试数据 可配置选项 参考资料 date 插件是日期插件,这个插件,常用而重要. 如果不用 date 插件,那么 Logstash 将处理时间作为时间戳.时间戳字段是 Log ...

  7. SQL Server死锁

    SQL Server死锁 多个事务之间互相等待对方的资源,导致这些事务永久等待 注意是永久等待,而非长事务 死锁的4个条件 互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程 ...

  8. css强制换行和超出隐藏实现

        一.强制换行1 word-break: break-all; 只对英文起作用,以字母作为换行依据. 2 word-wrap: break-word; 只对英文起作用,以单词作为换行依据. 3 ...

  9. 每日英语:Success Outside the Dress Code

    Anyone who has felt like the odd duck of the group can take heart from new research from Harvard Bus ...

  10. [转] Linux学习之CentOS(三十六)--FTP服务原理及vsfptd的安装、配置

    本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...