![](/img/trans.png)
[英]Spell check algorithm outputs everything instead of just the typos (Python)?
[英]efficient algorithm to perform spell check on HTML document
我有一個HTML文檔,一個常見的拼寫錯誤列表以及每種情況的正確拼寫。 HTML文檔最多約50頁,並且有約30K拼寫更正條目。
更正此HTML文檔中所有拼寫錯誤的有效方法是什么?
(注意:如果您知道任何相關的庫,我的實現將在Python中進行。)
我想到了兩種可能的方法:
這種方法將無法進行多字拼寫更正,而該更正將存在。 以下是適用於多字的更簡單但看似效率較低的方法:
您是正確的,第一種方法將比第二種方法快得多(此外,我建議您嘗試使用Tries而不是直接的散列,對於3萬個單詞,節省的空間將是非常可觀的)。
為了仍然能夠處理多單詞的情況,您可以跟蹤先前的標記,從而檢查哈希以獲取組合字符串,例如“ prev cur”。
否則,您可以將多詞更正排除在哈希之外,並結合兩種方法,首先對單個詞使用哈希,然后對多詞組合進行掃描(反之亦然)。 如果多字校正的數量相對較少,這可能仍然相對較快。
請小心,拔出單詞標記比在空白處分割要復雜得多。 您不希望僅僅因為找不到散列中帶有逗號的“實例”而無法糾正錯誤。
我同意Rob提出的基於字符使用Trie的建議,因為很久以前我基於將有效單詞的字典存儲為Trie來編寫拼寫校正算法。 通過使用分支定界法,我能夠建議拼寫錯誤的單詞的正確拼寫(根據Levenshtein距離 )。 此外,由於特里只是一個很大的有限狀態機,因此添加通用的前綴和后綴相當容易,因此它可以處理“后國家化主義”之類的“詞”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.