algorithm - 连词的拼写建议

标签 algorithm language-agnostic spell-checking

我正在为基于 Web 的所见即所得编辑器实现拼写检查功能。我目前正在使用 Damerau-Levenshtein 距离算法来生成拼写建议列表。这一切都很好,但我很好奇如何改进功能。

具体来说,我的实现目前不处理连词。例如,我希望能够检测到“areyou”并建议改为“are you”。我想我可以通过在可能看起来的片段中将潜在的连词分开并测试两半来做到这一点。由于所有英语单词都必须至少有一个元音,我想我可以寻找元音来帮助我决定在哪里将单词分开。

Damerau-Levenshtein 距离算法非常有用;很明显,其他人在这方面比我想得更多。是否有类似的聪明算法可供我考虑用于检测连词,或者我是否已经在正确的轨道上?

最佳答案

我想候选连词的长度不会超过四十 (40) 个字符左右;大多数时候它会少于十 (10)。

考虑到体积小,这个伪代码呢?

if (is_spelled_wrong(word)):
    N = len(word)
    list_suggestions = []
    for i = 1 to N-1:
        wordA = word[0:i] // Pythonic 'slice' notation
        wordB = word[i+1:N]
        if (!is_spelled_wrong(wordA) && !is_spelled_wrong(wordB))
            list_suggestions.appened((wordA, wordB))

换句话说,就是扫描所有可能性的字符串。他们的数量很少。在“areyou”的情况下,您将循环五 (5) 次。

关于algorithm - 连词的拼写建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1758287/

相关文章:

STL vector+sort+equality vs. unordered_set vs. using pure set 的性能(内存和速度方面)

c++ - C++ 中的 sort() 可以有 n^2 性能吗?

language-agnostic - 参数值(不是类型)的多态性?

algorithm - 如何在粒子滤波算法中确定性地选择基础样本?

data-structures - 在现实世界中重新实现数据结构

php - 拼写检查并在 PHP 中建议正确的单词

algorithm - 在 O(V + E) 中验证 Dijkstras 算法

algorithm - 计算用于填充 SHA-256 消息的 k

javascript - 对 WebKit 中的文本区域强制进行拼写检查

Android Ice Cream Sandwich Edittext : Disabling Spell Check and Word Wrap