【问题标题】:Lucene: combining ASCII folding and stemming for FrenchLucene:结合法语的 ASCII 折叠和词干提取
【发布时间】:2018-01-19 03:46:44
【问题描述】:

我正在实现法语文本的 Lucene 搜索。无论用户是否输入了重音符号,搜索都必须有效,并且它还必须支持词干提取。我目前在 Lucene 3 中使用基于 Snowball 的法语词干分析器。

在索引方面,我在分析器中添加了一个ASCIIFoldingFilter,它在词干分析器之后运行。

但是,在搜索方面,该操作是不可逆的:词干分析器仅在输入内容包含重音符号时才起作用。例如,它从université 的末尾提取ité,但在用户搜索输入universite 时,词干分析器在查询分析期间返回universit。当然,由于索引包含术语univers,因此搜索universit 不会返回任何结果。

一个解决方案似乎是在分析器中更改词干提取和折叠的顺序:不是先提取词干再折叠,而是先进行折叠再提取词干。这有效地使操作可逆,但也大大阻碍了词干分析器,因为许多单词不再符合词干提取规则。

或者,可以修改词干分析器以对折叠输入进行操作,即忽略重音符号,但这会导致词干过度提取吗?

有没有办法在不改变词干算法行为的情况下有效地进行折叠搜索?

【问题讨论】:

    标签: lucene


    【解决方案1】:

    步骤 1.) 使用详尽的引理同义词映射文件

    步骤 2.) ASCII (ICU) 词形还原后折叠。

    您可以在这里获得详尽的法语引理: http://www.lexiconista.com/datasets/lemmatization/

    另外,因为 lemmatizers 不像 stemmers 那样具有破坏性,您可以多次应用 lemmatizer,也许您的 lemmatizer 还包含无重音规范化...只需应用 lemmatizer再次。

    【讨论】:

      猜你喜欢
      • 2021-05-02
      • 2023-03-09
      • 2011-07-20
      • 2011-10-26
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      相关资源
      最近更新 更多