首先,我感谢任何花时间提供帮助的人。互联网社区对于学习至关重要。

总体目标:我正在输入.txt文件,在Eclipse中使用Java构建的The 2003 CIIR KStemmer阻止它,然后将阻止词列表输出到另一个.txt文件中。

简单:输入.txt,将.txt排序为字符串或字符数组,然后输出.txt

问题:我不明白如何在主代码中使用词干分析器。

我已将CIIR代码包含在类文件(KStemmer.java)中,并导入了以下库:

apache-lucene-analyzers.jar

apache-lucene.jar

lucene-analyzers-common-4.2.0.jar

lucene-core-3.4.0.jar

在我的主类(StemThis.Java)中,我想做这样的事情:

String wordFromTextFile = new String();  // input word
String stemmedWord = new String();      // output word
printer = new PrintWriter("outputFile") // for file export

KStemmer newStemmer = new KStemmer(); // creating a stemmer
newStemmer.stem(wordFromTextFile);  // stemming a word
stemmedWord = newStemmer.return();  // get stemmed word from stemmer

printer.println(stemmedWord);  // desired output method


这显然太简单了。也许KStemmer无法以这种方式工作。如何将字符串放入KStemmer并获得输出?

最佳答案

请记住,KStemmer()是默认构造函数,它没有任何访问说明符,因此您无法使用导入包org.apache.lucene.analysis.en来在自己的代码中调用;

一种解决方案是使用PorterStemFilter,但它是积极的干果。

第二种解决方案是下载所有源文件,并将它们包含在您自己的程序包中,然后更改程序包名称。

10-08 08:42