2013-05-21 103 views
2

這個問題可能會被重複報告,但我已經做了大量的研究並且沒有任何滿意的結果,所以我認爲它更好,我會問它。完整字符串與不完整字符串(或簡寫形式)之間的字符串匹配

在我的項目中,我需要匹配地址字符串。我已經實現了幾種字符串搜索算法,比如Soundex,Levenshtein距離,Damerau-Levenshtein距離,模糊搜索,字符頻率匹配等。但是,對於像St.和Street,Jr.和Junior等字符串之間的搜索,結果並不令人滿意。想到用街道替換所有的聖,但是這會導致像'聖保羅街「。 我該怎麼辦?

+0

只有在地址結束時纔將街道替換爲街道。 – Dialecticus

+0

不會工作,在「Second St.,Some Area」的情況下,我在數據庫中有很多這樣的地址。無論如何,但我需要一個更智能的技術 –

回答

1

創建一個字符串距離字典。示例:距離('street','st')= 0。儘管你需要一些訓練數據來創建這個字典。

+0

看起來不錯,但不存在任何算法或技巧或可能預測長表格或做匹配的東西。你的方式似乎迄今爲止最好,但我認爲我應該尋找一個更聰明的方法,因爲如果我錯過一些簡短的形式比搜索將不一致。你還是給了最後的手段,謝謝。 –

+0

智慧,因爲在發現「街道」和「聖」可能是等同的?這幾乎是不可能的。但是從數據中發現這種關係應該是可能的(取決於你能夠如何巧妙地找到這樣的訓練數據)。 – ElKamina