首先,我感谢任何花时间提供帮助的人。互联网社区对于学习至关重要。
总体目标:我正在输入.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,但它是积极的干果。
第二种解决方案是下载所有源文件,并将它们包含在您自己的程序包中,然后更改程序包名称。