我想写一个非常简单的拼写检查器。拼写检查器将尝试将输入单词与字典中的等效单词匹配。
如何找到那些'等同词'?可以对两个单词进行哪些分析来标记它们等效?
答案 0 :(得分:5)
在投入太多试图解开之前我首先考虑已有的实施,如Aspell或netspell,主要有两个原因
答案 1 :(得分:3)
很大程度上取决于您的使用案例。例如:
答案 2 :(得分:1)
Edit Distance 是编写拼写检查程序所需的理论。你还需要一本字典。大多数UNIX系统都附带了已为您的语言环境安装的字典。
答案 3 :(得分:1)
我刚刚完成了一个拼写检查程序并使用了以下组合来获取“建议”单词列表
基本上,我主要根据编辑距离和共性对每个潜在词进行加权。例如如果单词概率是百分比,那么
weight = edit-distance * 100 / probability
(较低的权重更好)
但是我也用已知的常见拼写错误覆盖任何结果(即这些结果总是浮动到顶部的建议结果)。
可能有更好的方法,但这很有效。
您可能还希望忽略所有CAPS单词,缩写等,因此选择要忽略的内容也是值得思考的问题。
答案 4 :(得分:0)
在linux / unix下你有aspell。为什么重新发明轮子。