2015-10-09 36 views
0

我有一個數據庫的「位置」字段,其中包含以字符串形式的無約束用戶輸入。我想將每個條目映射到US狀態或NULL。美國國家解決非結構化文本

例如:

'Southeastern Massachusetts' -> MA 
'Brookhaven, NY' -> NY 
'Manitowoc' -> WI 
'Blue Springs, MO' -> MO 
'A Damp & Cold Corner Of The World.' -> NULL 
'Baltimore, Maryland' -> MD 
'Indiana' -> IN 

我可以容忍一些錯誤,但較少顯然是更好的。什麼是最好的方式去做這件事?

回答

0

對於後人:我只是扔了一堆正則表達式,它工作'很好'。

1

您可以使用Geonames,它提供非常大的位置名稱列表及其相關信息,並且是免費的。在最簡單的情況下,字符串匹配(或近似字符串匹配)可能不會太難實現。

您可能遇到的一個難題是名稱不明確,即有多個指示(例如華盛頓州,是州還是城市)。如果存在多個指標,則可以檢查它們的一致性。否則,您可能會檢查輸入中的其他字詞,但這可能是有風險的。

國際海事組織,這是非常接近的實體鏈接後驗搜索到最近的國家考慮已鏈接的實體。