字典词干提取器

字典词干提取器 在工作机制上与 算法化词干提取器 完全不同。不同于应用一系列标准规则到每个词上,字典词干提取器只是简单地在字典里查找词。理论上可以给出比算法化词干提取器更好的结果。一个字典词干提取器应当可以:

  • 返回不规则形式如 feetmice 的正确词干
  • 区分出词形相似但词义不同的情形,比如 organ and organization

实践中一个好的算法化词干提取器一般优于一个字典词干提取器。应该有以下两大原因:

字典质量

一个字典词干提取器再好也就跟它的字典一样。(((“dictionary stemmers”, “dictionary quality and”))) 据牛津英语字典网站估计,英语包含大约75万个单词(包含变音变形词)。电脑上的大部分英语字典只包含其中的 10% 。

词的含义随时光变迁。mobility 提取词干 mobil 先前可能讲得通,但现在合并进了手机可移动性的含义。字典需要保持最新,这是一项很耗时的任务。通常等到一个字典变得好用后,其中的部分内容已经过时。

字典词干提取器对于字典中不存在的词无能为力。而一个基于算法的词干提取器,则会继续应用之前的相同规则,结果可能正确或错误。


大小与性能

字典词干提取器需要加载所有词汇、(((“dictionary stemmers”, “size and performance”))) 所有前缀,以及所有后缀到内存中。这会显著地消耗内存。找到一个词的正确词干,一般比算法化词干提取器的相同过程更加复杂。

依赖于不同的字典质量,去除前后缀的过程可能会更加高效或低效。低效的情形可能会明显地拖慢整个词干提取过程。

另一方面,算法化词干提取器通常更简单、轻量和快速。

TIP: 如果你所使用的语言有比较好的算法化词干提取器,这通常是比一个基于字典的词干提取器更好的选择。对于算法化词干提取器效果比较差(或者压根没有)的语言,可以使用拼写检查(Hunspell)字典词干提取器,下一个章节会讨论。