-1

我正在使用 Lucene 7.x 和 ItalianStemmer。我看过 ItalianStemmer 类的代码,似乎需要很长时间才能理解。因此,我正在寻找一种快速(可能是标准)的方式来定制意大利词干分析器,而不需要扩展 ItalianStemmer 或 SnowballProgram,因为我只有几天时间。

关键是我不明白为什么“saluto”(问候)这个名字是“sal”。它的词干应该是“salut”,因为动词“salutare”(问候)的词干是“salut”。此外,“sala”(房间)和“sale”(房间)也被词根为“sal”,这很容易混淆,因为它们的含义不同。

4

1 回答 1

1

标准方法是复制源代码并创建自己的源代码。

词干提取是一个基于规则的启发式过程。它旨在生成虽然不完美但通常足以促进搜索的词干。它没有变位词及其词干的字典供您修改。-uto 是意大利雪球词干分析器从单词中删除的动词后缀之一,如此处所述。您可以创建自己的版本,从列表中删除该后缀,但总而言之,您可能会创建比您解决的问题更多的问题。

返回正确词根的工具通常被称为lemmatizer,我不相信 Lucene 自带任何开箱即用的工具。形态分析往往更慢且更复杂。如果它对您的用例很重要,您可能需要查找意大利词形还原器,并将其用于自定义过滤器,或者在将文本传递给分析器之前对其进行预处理。

于 2018-10-01T17:48:31.373 回答