2012-07-02 19 views
0

我正在嘗試自動更正拼寫和使用Jaro-Winkler策略。 我有建議列表,並且類型單詞與建議單詞排在一起。 我面對的問題是,當「ans」/「anf」/「anr」是類型時,「an」在比較時被賦予高度等級。 「和」回到了比分列表中。因此,「ans」/「anf」/「anr」被替換爲「an」而不是「和」。使用Jaro-Winkler進行拼寫匹配計算兩個字符串的相似度的距離

任何建議我應該如何解決這個問題,或者是否有其他算法用「和」而不是「an」完全替換「ans」/「anf」/「anr」?

+0

只是想知道,你有沒有開源的代碼呢?我剛剛在C#上週末實施了Jaro-Winkler。但很高興知道你的測試用例。 :) –

回答

0

對於一般的拼寫錯誤,加權移調高於刪除/添加似乎是一個好主意。

假設您的輸入是使用標準鍵盤佈局(qwerty?)輸入的,您可以根據鍵之間的物理距離做一個額外的重量。不確定從邏輯上做到這一點的最佳方式。關閉我的頭頂,你可以創建一個包含鍵盤映射的二維數組,並比較實際(畢達哥拉斯)距離。給定具有「Q」= [0] [0],「W」= [0] [1],「A」= [1] [0]的映射,A-> Q之間的距離將是1,Q-> W = 1,並且Q-> S = sqrt(2)。這應該會給你一些東西去衡量距離。

距離計算可能有一個更清潔的實現,但只是在這裏spitballing。

相關問題