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. 插件~NuGet与packages管理项目的包包

    NuGet NuGet是一个工具,已经被集成到VS开发环境里,直接使用它可以快速安装第三方的包包,包包就是一组DLL和资源,开发者把它们打包一个包包,或者叫做package,而我们使用nuget可以将 ...

  2. mobilebone.js使用笔记

    mobilebone.js主要用来是网页呈现单页效果,添加类似native app的页面切换效果.原理是:当打开a链接里的页面时,不再以传统的新页面打开,而是以ajax-html的方式,将新页面的内容 ...

  3. 【Android】EventBus 源码解析

    EventBus 源码解析 本文为 Android 开源项目实现原理解析 中 EventBus 部分项目地址:EventBus,分析的版本:ccc2771,Demo 地址:EventBus Demo分 ...

  4. 【Android Studio】Android Studio 安装及设置

    版权所有, 禁止转载, 如有需要, 请站内联系. 本文地址: http://blog.csdn.net/caroline_wendy/article/details/20845807 时间: 2014 ...

  5. asp.net时间 日期(DateTime) 的格式处理

    日期格式化{0:yyyy-MM-dd HH:mm:ss.fff}与{0:yyyy-MM-dd hh:mm:ss.fff}的区别 使用24小时制格式化日期:{0:yyyy-MM-dd HH:mm:ss. ...

  6. cached过高导致内存溢出 java head space

     最近公司线上遇到老是内存溢出检查后发现cached过高 命令:free -m 命令:sync    //将缓存写入硬盘   cat /etc/redhat-release 这个是查看系统版本的命令c ...

  7. eclipse code templates 设置(eclipse注释模版配置)

    文件(Files)注释标签:/** * @Title: ${file_name} * @Package ${package_name} * @Description: ${todo} * Copyri ...

  8. 转:最简单的视频网站(JavaEE+FFmpeg)

    本文记录一个最简单的视频网站系统.此前做过一些基于JavaEE中的 SSH (Strut2 + Spring + Hibernate)的网站系统,但是一直没有做过一个视频网站系统,所以就打算做一个&q ...

  9. IIS下使用appcmd批量搭建网站

    使用 cmd 运行如下命令 > %windir%\system32\inetsrv\appcmd list site /config /xml > d:\sites.xml 修改 d 盘 ...

  10. Rhino -- 基于java的javascript实现

    http://www.cnblogs.com/cczw/archive/2012/07/16/2593957.html