我正在用Python編寫一個拼寫檢查程序。我有一個有效單詞列表(字典),我需要輸出一個單詞列表,這個單詞列表中的單詞與給定的無效單詞的編輯距離爲2。在Python中編輯距離
我知道我需要首先生成一個與無效單詞的編輯距離爲1的列表(然後在所有生成的單詞上再次運行該列表)。我有三種方法,插入(...),刪除(...)和更改(...),它們應該輸出編輯距離爲1的單詞列表,其中inserts輸出所有有效單詞的多個字母給定的單詞刪除將輸出所有有效的單詞少一個字母,並更改輸出所有有效的單詞一個不同的字母。
我檢查了一堆地方,但我似乎無法找到描述此過程的算法。我提出的所有想法都涉及多次循環遍歷字典列表,這將非常耗時。如果有人能夠提供一些見解,我會非常感激。
您可能需要查看Peter Norvig的拼寫檢查程序(http://norvig.com/spell-correct.html)並對其進行修改以適合您的需求。 – 2010-03-17 06:08:57