zoukankan      html  css  js  c++  java
  • [JAVA词形还原工具]Snowball

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

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

     1 /**
     2  * Project Name:1008crosslanguage
     3  * File Name:Stemmer.java
     4  * Package Name:util
     5  * Date:Oct 10, 20158:48:09 PM
     6  * Copyright (c) 2015, max_xbw@163.com All Rights Reserved.
     7  *
     8  */
     9 /**
    10  * Project Name:1008crosslanguage
    11  * File Name:Stemmer.java
    12  * Package Name:util
    13  * Date:Oct 10, 20158:48:09 PM
    14  * Copyright (c) 2015, max_xbw@163.com All Rights Reserved.
    15  *
    16  */
    17 
    18 package util;
    19 
    20 import java.util.ArrayList;
    21 import java.util.HashMap;
    22 import java.util.List;
    23 import java.util.Map;
    24 
    25 import org.tartarus.snowball.ext.englishStemmer;
    26 
    27 /**
    28  * ClassName:Stemmer <br/>
    29  * Function: TODO ADD FUNCTION. <br/>
    30  * Reason: TODO ADD REASON. <br/>
    31  * Date: Oct 10, 2015 8:48:09 PM <br/>
    32  * 
    33  * @author xubowen
    34  * @version
    35  * @since JDK 1.7
    36  * @see
    37  */
    38 public class Stemmer {
    39 
    40     /**
    41      * main:(这里用一句话描述这个方法的作用). <br/>
    42      * TODO(这里描述这个方法适用条件 – 可选).<br/>
    43      *
    44      * @author xubowen
    45      * @param args
    46      * @since JDK 1.7
    47      */
    48     public static String stemString(String str) {
    49         str = str.toLowerCase();
    50         englishStemmer stemmer = new englishStemmer();
    51         stemmer.setCurrent(str);
    52         if (stemmer.stem()) {
    53             return stemmer.getCurrent();
    54         }
    55         return "";
    56     }
    57 
    58     public static List<String> stemStrList(List<String> strlist) {
    59         List<String> strlisttmp = new ArrayList<String>();
    60         for (String strtmp : strlist) {
    61             strlisttmp.add(stemString(strtmp));
    62             // System.out.println(strtmp + " ==> " + stemString(strtmp));
    63         }
    64         return strlisttmp;
    65     }
    66 
    67     public static Map<String, Double> stemStrMap(Map<String, Double> strmap) {
    68         Map<String, Double> strmaptmp = new HashMap<String, Double>();
    69         for (Map.Entry<String, Double> entry : strmap.entrySet()) {
    70             String strtmp = entry.getKey();
    71             double doubletmp = entry.getValue();
    72             strmaptmp.put(stemString(strtmp), doubletmp);
    73             // System.out.println(strtmp + " ==> " + stemString(strtmp));
    74         }
    75         return strmaptmp;
    76     }
    77 
    78     public static void main(String[] args) {
    79         System.out.println(stemString("caused"));
    80     }
    81 }
  • 相关阅读:
    Ubuntu16.04安装openldap和phpldapadmin
    Java 8 中的抽象类和接口到底有啥区别?
    Redis 开发陷阱及避坑指南!
    Java 中的 6 颗语法糖
    Java 8 有多牛逼?打破一切你对接口的认知!
    Git操作常用的命令都在这里了。
    Github 太狠了,居然把 "master" 干掉了!
    微服务业务日志收集方案,写得非常好!
    Maven基本介绍与安装
    IntelliJ IDEA 调试 Java 8 Stream,实在太香了!
  • 原文地址:https://www.cnblogs.com/XBWer/p/4874590.html
Copyright © 2011-2022 走看看