我正在使用Java开发一款自动化的pdf文件索引生成器。目前的概念很简单:我遍历pdf中的每个单词,与忽略列表(例如该语言中最常见的10000个单词)进行比较,然后将其添加到一个
这个方法工作得很好,但是我仍然会在索引中得到不同的单词形式。我曾考虑过只比较这些单词的相对子字符串,但例如在德语中(该程序的目标语言),由于其所有不规则性,这种方法的效果非常有限。
是否有其他想法、库或正则表达式可以解决这个问题呢? 谢谢!
com.google.common.collect.HashMultimap
中,其中包含单词作为字符串和出现该单词的页面的哈希集合。这个方法工作得很好,但是我仍然会在索引中得到不同的单词形式。我曾考虑过只比较这些单词的相对子字符串,但例如在德语中(该程序的目标语言),由于其所有不规则性,这种方法的效果非常有限。
是否有其他想法、库或正则表达式可以解决这个问题呢? 谢谢!
org.tartarus.snowball.ext.German2Stemmer
和org.apache.lucene.analysis.de.GermanLightStemmer
。默认的分析器(default analyzer)使用轻量级词干提取器,然后采用德语化的snowball算法。 - dhke