【问题标题】:Snowball Stemmer Usage雪球词干使用
【发布时间】:2013-07-30 19:56:19
【问题描述】:

我想在这里使用词干分析器来合并字数。
http://snowball.tartarus.org/download.html
该页面有一个下载链接,但我不确定如何将文件集成到我的 eclipse 项目中
它不仅仅是一个放入我的 lib 文件夹的 jar,它是一个文件系统。 有谁知道一些解释这一点的文档,因为我在网站上没有看到任何文档。
(例如,我要导入什么,如何称呼它等等。)

【问题讨论】:

标签: java stemming snowball


【解决方案1】:

构建 jar 文件并将其添加到您的构建路径。

详情:

  • 从这里下载带有代码的 tgz http://snowball.tartarus.org/download.php
  • 解压缩。
  • 转到 libstemmer_java 目录并阅读自述文件。
  • 按照说明进行编译(使用 javac)。
  • 您可能必须更正或删除 java/org/tartarus/snowball/ext/frenchStemmer.java,因为它有错误并且无法编译。
  • 创建 jar 文件:然后转到 libstemmer_java/java 目录 jar cvf libstemmer.jar *
  • 将 libstemmer.jar 添加到您的构建路径(在 Eclipse 中:项目-属性-Java 构建路径-库选项卡)。

然后您可以使用词干分析器执行以下操作:

import org.tartarus.snowball.ext.spanishStemmer;
...
spanishStemmer stemmer = new spanishStemmer();
stemmer.setCurrent("torero");
if (stemmer.stem()){
    System.out.println(stemmer.getCurrent());
}

【讨论】:

  • 我遇到了编译错误,所以我取出了除英语语言包之外的所有语言包,编译非常完美。感谢您实际回答了这个问题,而不是告诉某人 RTFM。 :)
  • 我遇到了一个不寻常的问题。我把我的字符串放在一个名为“word”的变量中,比如 word="torero";当我将此变量传递给词干分析器时,它不会工作。例如 stemmer.setCurrent(word);词干.stem(); System.out.println(stemmer.getCurrent()); .它不会被阻止。告诉我我在这里做错了什么。
  • 没有@JunaidShirwani。它有时会返回错误的输出。同样的事情发生在我身上。
猜你喜欢
  • 1970-01-01
  • 2018-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多