如何在 Hunspell 中指示词干提取的单词例外

How to indicate an word exception for stemming in Hunspell

我正在使用 Hunspell 为 SOLR 实例提取词干。在大多数情况下,它似乎运行良好。

我正在使用 OpenOffice dic/aff 文件。

但是,有一些值得注意的单词例外,我希望能够将它们作为词干提取的候选对象删除。

一个很好的例子是 "skier",它源于 "sky",原因如下:

in the .dic file
sky/MDRSGZ

relevant rule in the .aff file
SFX R   y     ier        [^aeiou]y

有什么方法可以表明 skier 并且只有 skier 应该保持独立吗?

是的,这是很常见的事情,只需删除 "R"

sky/MDSGZ

但您随后可能想在另一行 "skier" 和它的任何其他版本中添加回来。

skier/MS

我不得不对此文件进行大量更改,现在真的希望有更好的选择。 例如

  • 黄油 -> 屁股
  • 角落 -> 玉米
  • 复活节 -> 东部

然后是另一个非常令人困惑的问题,

  • 风 == 伤

在我们修复它之前在我的网站上,如果您像 "wind power" 中那样搜索风,您最终会得到一堆瘀伤和流血的伤口。 因为 "wound" 就像 "I wound the clock" 中的一样。

我们还决定删除所有 RE 前缀。因为

  • 卓越 -> 标记
  • 删除 -> 移动
  • 重置 -> 设置
  • 恢复 -> 存储

因此,如果您知道更好的词典,更适合这个,请告诉我。 (我认为主要问题是这本词典更多地用于拼写检查而不是词干提取)

我愿意开始 and/or 为一个真正的词干词典的 git 项目做出贡献,以便为所有使用它的人替换这个拼写词典。

你尝试过自由职业吗?它是开源的。

演示页面在这里: http://nlp.lsi.upc.edu/freeling/demo/demo.php

当我选择英语时,我得到以下结果:

you wound the clock?

you wind the clock? 
PRP VBD   DT  NN  ?

还有滑雪者,风力发电都是名词词干。它是一个很棒的词干分析器。

不确定许可。下载页面: http://devel.cpl.upc.edu/freeling/downloads?order=time&desc=1