本公開描述了用于地理編碼應(yīng)用中的模糊搜索的系統(tǒng)和方法的各種實施例。對要獲得其地理編碼信息的輸入地址執(zhí)行詞匯分析以得到該輸入地址的部分。在一個方面,所述詞匯分析可以包括解析操作、抽象操作和延伸操作中的至少一個。接下來,使用所述輸入地址的部分對結(jié)節(jié)序列樹執(zhí)行模糊搜索,以便識別匹配所述輸入地址的多個部分地址。接下來,針對識別出的多個部分地址中的每一個計算匹配和換位得分,以確定所述輸入地址的最佳匹配候選。最后,利用該最佳匹配候選查詢地理編碼數(shù)據(jù)庫以得到該輸入地址的地理編碼信息。
全部詳細技術(shù)資料下載
【技術(shù)實現(xiàn)步驟摘要】
地理編碼應(yīng)用中的模糊搜索
實施例一般涉及計算機系統(tǒng),并且更加具體來說,涉及用于得到地址的地理編碼()信息的方法和系統(tǒng)。
技術(shù)介紹
地理編碼一般被稱作根據(jù)諸如街道名稱、郵政編碼等等之類的其它地理數(shù)據(jù)確定地理坐標(通常用緯度和經(jīng)度表示)的過程。目前,通過在存儲多個地址的地理編碼數(shù)據(jù)庫中搜索對接收到的輸入地址的匹配來執(zhí)行地理編碼。如果在地理編碼數(shù)據(jù)庫中發(fā)現(xiàn)輸入地址的精確匹配,則從該地理編碼數(shù)據(jù)庫中取出與該輸入地址對應(yīng)的緯度/經(jīng)度對并且將其提供給用戶。然而,目前的地理編碼技術(shù)不精準并且僅當接收到的輸入地址在地理編碼數(shù)據(jù)庫中有精確匹配時才管用。當一個或多個下列元素包含于地理編碼過程中時會遭遇次最佳(sub-)性能:(1)如果接收到的輸入地址中的一個詞(word)被拼錯或者不正確的話,例如,如果地址“”被錯拼為“”或者錯打為“”;(2)如果接收到的輸入地址中的一個詞可以用多于一種的方式來表示的話,例如,詞“”可以表示為“HWY”,英文單詞“WEST”在法語中可以被表示為“OUEST”;以及(3)如果輸入地址的詞可以以不同的方式組織但是仍然保持相同的含義的話,例如,地址“”可以是“.5”或者“#5”或者“No.”。因此,根據(jù)各種輸入數(shù)據(jù)中任何一種返回較為精準的地理編碼結(jié)果的能力是人們所期待的。
技術(shù)實現(xiàn)思路
這里描述了用于地理編碼應(yīng)用中的模糊搜索的系統(tǒng)和方法的各種實施例。對輸入地址執(zhí)行詞匯分析以得到輸入地址的部分(ress)。利用得到的輸入地址的部分對結(jié)節(jié)序列樹執(zhí)行模糊搜索以識別通過結(jié)節(jié)序列樹存儲的多個部分地址()中的一個或多個。針對識別出的多個部分地址計算匹配和換位()得分,以確定識別出的多個部分地址中的最佳匹配候選。利用最佳匹配候選查詢地理編碼數(shù)據(jù)庫以得到與輸入地址相關(guān)的地理編碼信息。當考慮結(jié)合后面的附圖給出的本專利技術(shù)優(yōu)選實施例的以下詳細說明時,本專利技術(shù)實施例的這些及其它好處和特征將變得明顯。附圖說明權(quán)利要求利用具體特征闡述了本專利技術(shù)的實施例。在附圖中的圖中以示例方式而非以限制方式示出本專利技術(shù),附圖中同樣的參考標號表示類似元素。本專利技術(shù)的實施例連同其優(yōu)點可以從以下結(jié)合附圖的詳細說明中得到更好的理解。圖1是示出根據(jù)實施例的用于地理編碼應(yīng)用中的模糊搜索的方法的流程圖。圖2是示出根據(jù)實施例的包括在對輸入地址執(zhí)行的詞匯分析中的一個或多個操作的框圖。圖3是示出根據(jù)實施例的用于創(chuàng)建結(jié)節(jié)序列樹的方法的流程圖。
圖4示出根據(jù)示范性實施例的示范性參考數(shù)據(jù)。圖5A-5B示出根據(jù)實施例使用圖4的參考數(shù)據(jù)生成結(jié)節(jié)序列樹。圖6示出根據(jù)實施例使用圖4的參考數(shù)據(jù)生成的抽象結(jié)節(jié)序列樹。圖7示出根據(jù)實施例模糊搜索圖5B的結(jié)節(jié)序列樹或者圖6的抽象結(jié)節(jié)序列樹的方法。圖8是示出根據(jù)實施例針對識別出的多個部分地址計算匹配和換位得分的方法的流程圖。圖9示出根據(jù)實施例用于針對識別出的多個部分地址確定匹配和換位得分的換位權(quán)重表。圖10示出根據(jù)實施例確定用于計算匹配和換位得分的字符匹配計數(shù)器和換位次數(shù)的示范性代碼。圖11是示出根據(jù)實施例用于重新排列存儲在地理編碼數(shù)據(jù)庫中的多個地址的方法的流程圖。圖12A示出根據(jù)實施例的示范性地理編碼數(shù)據(jù)庫。圖12B示出根據(jù)實施例存儲經(jīng)重新排列的多個地址的、圖12A的示范性地理編碼數(shù)據(jù)庫。圖13A示出根據(jù)實施例將確定其地理編碼信息的示范性輸入地址。圖13B-13C示出根據(jù)實施例在對圖13A的輸入地址執(zhí)行詞匯分析之后得到的、圖13A的輸入地址的部分。圖13D示出根據(jù)實施例針對圖13A的輸入地址的、識別出的部分地址的列表。圖13E示出根據(jù)實施例存儲在地理編碼數(shù)據(jù)庫中的參考數(shù)據(jù)的一部分。圖14是示出根據(jù)實施例的、可以實現(xiàn)針對地理編碼應(yīng)用中的模糊搜索所描述的技術(shù)的計算環(huán)境的框圖。
具體實施方式這里描述了用于地理編碼應(yīng)用中的模糊搜索的技術(shù)的各種實施例。在下面的描述中,闡述了大量具體細節(jié)以提供對本專利技術(shù)的實施例的全面理解。然而,本領(lǐng)域的技術(shù)人員將認識到,可以實踐本專利技術(shù)而無需一個或多個所述具體細節(jié),或者利用其它方法、組件、素材等等來實踐本專利技術(shù)。在其它實例中,沒有示出或者詳細描述公知結(jié)構(gòu)、素材或操作以避免模糊了本專利技術(shù)的方面。貫穿本說明書,對“一個實施例”、“本實施例”及類似短語的引用指的是結(jié)合該實施例描述的特定特征、結(jié)構(gòu)或者特性包括在本專利技術(shù)的至少一個實施例中。因此,貫穿本說明書這些短語在各個位置的出現(xiàn)并不一定全都指代相同的實施例。此外,特定特征、結(jié)構(gòu)或者特性可以在一個或多個實施例中以任意適合的方式組合。圖1是示出根據(jù)實施例的用于地理編碼應(yīng)用中的模糊搜索的方法的流程圖。在一個實施例中,地理編碼應(yīng)用可以用于針對輸入地址尋找地理編碼信息,諸如地理坐標。可以從用戶接收輸入地址。輸入地址可以包括一個或多個地址分量。例如,輸入地址“3,,10001”包括三個地址分量,它們是:房屋號碼地址分量(3);街道名稱地址分量();和郵政編碼地址分量(10001)。
根據(jù)一個實施例,最初在塊102處,對輸入地址執(zhí)行詞匯分析。詞匯分析包括對輸入地址的地址分量中的一個執(zhí)行以得到輸入地址的部分的一個或多個操作,所述一個或多個操作要么單獨執(zhí)行要么相互結(jié)合執(zhí)行。在一個實施例中,可以基于輸入地址的語言定義詞匯分析。例如,如果輸入地址是英語的,那么就可以將詞匯分析定義為根據(jù)空格來劃分輸入地址,因為英語在每個詞之間都有空格。接下來在塊104處,利用在塊102處得到的輸入地址的部分對結(jié)節(jié)序列樹執(zhí)行模糊搜索。在一個實施例中,模糊搜索——亦稱近似或不精確匹配——是這樣一種搜索技術(shù):其搜索那些近似或者基本上匹配給定文本串模式()的文本串。可能在執(zhí)行模糊搜索的同時不經(jīng)意地發(fā)生了精確匹配。模糊搜索可能有助于找到某個詞的正確匹配,即使該詞被拼錯。例如,對“”的模糊搜索也可能找到“apple”。這是因為,模糊搜索是一種不精確或近似的匹配技術(shù)。在一個實施例中,結(jié)節(jié)序列樹(knot-)存儲在存儲器中。結(jié)節(jié)序列樹存儲與存儲在地理編碼數(shù)據(jù)庫中的多個部分地址匹配的多個部分地址。在一個實施例中,通過結(jié)節(jié)序列樹存儲的部分地址是存儲在地理編碼數(shù)據(jù)庫中的多個地址中的一個或多個地址的一部分的精確匹配。
部分地址是存儲在地理編碼數(shù)據(jù)庫中的多個地址的地址分量。例如,如果存儲在地理編碼數(shù)據(jù)庫中的地址是“3,,10001”,那么存儲在結(jié)節(jié)序列樹中的部分地址可以是街道名稱地址分量,即“”。在一個實施例中,利用得到的輸入地址的部分模糊搜索結(jié)節(jié)序列樹識別由結(jié)節(jié)序列樹存儲的部分地址,這些部分地址可以被稱作輸入地址的模糊匹配。在一個實施例中,模糊搜索結(jié)節(jié)序列樹可以包括將輸入地址的部分的一個或多個字符與存儲在結(jié)節(jié)序列樹的節(jié)點中的信息的一個或多個字符相比較ios 地理位置反編碼,以將輸入地址的這些部分與存儲在結(jié)節(jié)序列樹的節(jié)點中
【技術(shù)保護點】
一種用于地理編碼應(yīng)用的計算機實現(xiàn)方法,該方法包括:對輸入地址執(zhí)行詞匯分析以得到輸入地址的部分;利用得到的輸入地址的部分對結(jié)節(jié)序列樹執(zhí)行模糊搜索,以便識別通過結(jié)節(jié)序列樹存儲的多個部分地址中的一個或多個;針對識別出的多個部分地址中的一個或多個計算匹配和換位得分,以從識別出的多個部分地址中的一個或多個當中確定最佳匹配候選;以及利用所述最佳匹配候選查詢地理編碼數(shù)據(jù)庫,以得到與所述輸入地址相關(guān)的地理編碼信息。
【技術(shù)特征摘要】
1.一種用于地理編碼應(yīng)用的計算機實現(xiàn)方法,該方法包括:對輸入地址執(zhí)行詞匯分析以得到輸入地址的部分;利用得到的輸入地址的部分對結(jié)節(jié)序列樹執(zhí)行模糊搜索,以便識別通過結(jié)節(jié)序列樹存儲的多個部分地址中的一個或多個;針對識別出的多個部分地址中的一個或多個計算匹配和換位得分,以從識別出的多個部分地址中的一個或多個當中確定最佳匹配候選;以及利用所述最佳匹配候選查詢地理編碼數(shù)據(jù)庫,以得到與所述輸入地址相關(guān)的地理編碼信息,其中,針對識別出的多個部分地址中的一個或多個計算匹配和換位得分包括:將識別出的多個部分地址當中識別出的部分地址中的多個字符與所述輸入地址中的多個字符相比較,以匹配識別出的部分地址和所述輸入地址中的一個或多個字符;針對所確定的每個匹配使字符匹配計數(shù)器遞增;基于所述比較,確定識別出的部分地址和所述輸入地址中的一個或多個匹配字符的位置是否不同;確定重新排列識別出的部分地址中的所述一個或多個匹配字符的位置以使得識別出的部分地址和所述輸入地址中的一個或多個匹配字符的位置相同所需要的換位次數(shù);以及使用所述字符匹配計數(shù)器和換位次數(shù)來計算識別出的部分地址的匹配和換位得分。2.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中,所述詞匯分析包括解析操作,其根據(jù)輸入地址的語言將輸入地址劃分為輸入地址的部分。
3.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中,所述詞匯分析包括抽象操作,其中,模糊搜索所述結(jié)節(jié)序列樹還包括:確定輸入地址以及存儲在結(jié)節(jié)序列樹的父節(jié)點中的信息的抽象;以及將所述輸入地址的抽象與存儲在所述父節(jié)點中的信息的抽象相比較。4.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中,所述詞匯分析包括延伸操作,其中,所述延伸操作根據(jù)輸入地址的語言擴展輸入地址的多個字符。5.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中,模糊搜索所述結(jié)節(jié)序列樹包括將得到的所述輸入地址的部分與存儲在所述結(jié)節(jié)序列樹的父節(jié)點中的信息相比較。6.根據(jù)權(quán)利要求5所述的計算機實現(xiàn)方法,其中,如果所述輸入地址的部分中至少其中一個部分的第一個字符與存儲在父節(jié)點中的信息的第一個字符匹配,則識別所述多個部分地址中的一個或多個。7.根據(jù)權(quán)利要求5所述的計算機實現(xiàn)方法,其中,所述父節(jié)點是結(jié)節(jié)序列樹的分支序列的根節(jié)點,其中,所述分支序列與所述結(jié)節(jié)序列樹的序列信息塊關(guān)聯(lián),并且其中,所述序列信息塊存儲多個部分地址中至少其中一個。8.根據(jù)權(quán)利要求7所述的計算機實現(xiàn)方法,其中,所述序列信息塊引用其它序列信息塊ios 地理位置反編碼,并且其中,計算識別出的多個部分地址的匹配和換位得分還包括:將所述輸入地址與存儲在所述序列信息塊中的多個部分地址中的一個以及存儲在所述其它序列信息塊中的多個部分地址中的一個相比較。
9.根據(jù)權(quán)利要求7所述的計算機實現(xiàn)方法,其中,所述分支序列的子節(jié)點通過指示遍歷所述分支序列的方向的分支連接到所述父節(jié)點。10.根據(jù)權(quán)利要求9所述的計算機實現(xiàn)方法,還包括:將所得到的所述輸入地址的部分與存儲在所述父節(jié)點和子節(jié)點中的信息的組合相比較。11.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中,通過結(jié)節(jié)序列樹存儲的多個部分地址與存儲在所述地理編碼數(shù)據(jù)庫中的多個地址匹配。12.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,其中,所述輸入地址包括多個地址分量。13.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)方法,還包括:識別存儲在所述地理編碼數(shù)據(jù)庫中的多個地址的多個詞中的公共字符;將識別出的公共字符存儲在所述結(jié)節(jié)序列樹的父節(jié)點中,所述...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:陳亮,
申請(專利權(quán))人:商業(yè)對象軟件有限公司,
類型:發(fā)明
國別省市:
全部詳細技術(shù)資料下載 我是這個專利的主人