词根/词干字典

3

看来我的谷歌功夫失败了。

有人知道一个免费的单词基础词典,只包含单词的基础形式吗?比如对于草莓,它应该只包含strawberry。但是不包含缩写、拼写错误或替代拼写(例如英国与美国之间的差异)?任何能够在Java中快速使用的东西都可以,但是只要是可读取的映射文件或任何其他文本文件都会很有帮助。


你需要它做什么? - Fred Foo
我正在开发一个搜索功能,希望将单词转换为它们的词根,这样如果用户搜索草莓,他们也能找到包含草莓的单词。 - AHungerArtist
你,碰巧,使用Lucene吗? - Fred Foo
3个回答

5
这被称为词形还原,你所说的“单词基础”被称为词元。 morpha 及其在斯坦福POS标记器中的重新实现可以做到这一点。但是,两者都需要POS标记输入来解决自然语言中固有的歧义。
(POS标记意味着确定单词类别,例如名词、动词。我一直假设您想要处理英语的工具。) 编辑:由于您将使用此功能进行搜索,因此以下是一些提示:
  • 对于英语而言,简单的词干提取在搜索引擎界有着不同的声誉。有时它有效,但通常不起作用。
  • 自动拼写纠正可能效果更好。这就是Google的做法。但是,如果您想做到正确,这对计算时间来说是昂贵的。
  • 词形还原可能会带来好处,但可能只有在索引和搜索单词和词元时才有效。 (同样的建议适用于词干提取。)
  • 这是一个Lucene插件,可以进行词形还原。
(前面的备注基于我自己的研究;我为非常嘈杂的数据搜索引擎编写了硕士论文。)

我想要的是始终准确的东西(虽然不一定完整),但似乎无法提供(也无法对所有潜在单词进行分类)。我宁愿有一些单词没有适当地进行词形还原,而不是有任何错误的单词。 - AHungerArtist
那么你需要一个简单的词汇表,因为这些程序代表了POS标记和词形还原技术的最新进展。(顺便说一下,将单词分类正是斯坦福POS标记器所做的。不过它并不完全是即插即用的。) - Fred Foo
没错,这就是我要找的,一个简单的词汇表。我现在正在使用一个包含我要找的内容的字典,但它也充满了替代拼写、缩写和其他类似的东西,所以它并不像它本应该那样有用。 - AHungerArtist
1
我发现词干提取在搜索方面效果很好,只要你在索引数据时通过词干提取器运行数据,并将查询字符串通过相同的词干提取器运行。我已经使用Lucene进行了这项工作,并取得了出色的结果。 - Qwerky
@Qwerky:是的,它可能有效,但这取决于文档集和查询质量,并不总是有效。不过还是值得一试的。(对词干处理器输出和原始术语进行索引和搜索可能会更好。) - Fred Foo
显示剩余3条评论

1

http://www.puzzlers.org/dokuwiki/doku.php?id=solving:wordlists:about:start

这个页面上的《米里亚姆韦伯斯大学词典第9版》链接包含一个仅包含单词根形式的Word文件。其中包含“草莓”,但不包括“草莓们”。同样,“add”在其中,“adding”则不在其中。我不确定这是否符合您的要求,但对我很有帮助。

虽然不是我需要的,但我认为那是一个非常有用的链接,所以谢谢。 - AHungerArtist

1

这不完全是你所要求的,但维基百科关于词干提取很有启发性,并包含许多免费的词干提取程序链接。这些程序应该包括单词词干列表。


词干分析器的问题在于它们往往会产生虚假输出,例如“strawberri”。 - Fred Foo
@larsmans: 嗯,但既然“strawberri”不是正确的英语单词,将词干分析器的结果输入到拼写检查器中并返回“strawberry”作为建议,这不是微不足道的吗? - SyntaxT3rr0r
真的,但是词干提取器可能会给出比这更糟糕的结果。虽然有可能有效,但也有可能不行。(顺便说一下,保罗认为词干提取器“应该包含单词词干列表”的推理通常并不正确,因为许多词干提取器只是简单的字符串算法。) - Fred Foo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接