寻找印尼语词干

时间:2013-07-30 10:28:59

标签: apache lucene lexical-analysis

我正在Java应用程序中处理一些印尼语文本,我需要阻止它们。

目前我正在使用lucene indonesian stemmer。 org.apache.lucene.analysis.id.IndonesianAnalyzer;

但结果不尽如人意。

有人能建议我使用不同的词干吗?

1 个答案:

答案 0 :(得分:2)

“enang”是一个词干。茎不一定是实际的词。例如,在英语中,“争辩”“争论”和“争论”减少到词干“论证”。 “争论”不是一个英语单词,但它是一个有意义的词干。这就是限制器的工作原理。只要您以相同的方式将词干分析器应用于索引数据和查询,它就应该可以正常工作。

如果你不想要这样的行为,根本不使用词干分析器。

除了词干分析器,印尼分析仪相当容易复制。它的其他组件只涉及StandardTokenizerStandardFilterLowercaseAnalyzerStopFilter。这只是一个StandardAnalyzer带有印度尼西亚的限制词集,当你接下来的时候,所以你可以创建一个没有词干分析器的印尼分析师,就像这样:

//If you are using the default stopword location defined in the IndonesianAnalyzer you could load them like this.
CharArraySet defaultStopSet = StopwordAnalyzerBaseloadStopwordSet(false, IndonesianAnalyzer.class, IndonesianAnalyzer.DEFAULT_STOPWORD_FILE, "#");
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_43, defaultStopSet);

我不确定你是否会在将默认停用词文件中的读者传递给StandardAnalyzer构造函数时遇到问题。