- 相關(guān)推薦
通訊地址查詢郵政編碼系統(tǒng)設(shè)計論文
隨著電子商務(wù)的突飛猛進和物流行業(yè)的信息化,使得人們在足不出戶的情況下完成購物和郵寄物品,大大節(jié)約了時間和金錢成本。
1 現(xiàn)狀分析
隨著電子商務(wù)的突飛猛進和物流行業(yè)的信息化,使得人們在足不出戶的情況下完成購物和郵寄物品,大大節(jié)約了時間和金錢成本。電子商務(wù)和物流行業(yè)都離不開通信地址(又稱為通訊地址,簡稱為地址)和郵編,這些數(shù)據(jù)都需要用戶提供,當前一些電子商務(wù)網(wǎng)站和物流行業(yè)的主要的做法如下:
(1)讓用戶手工輸入完整的地址和地址對應(yīng)的郵編。
(2)通過下拉列表提供省,省下面地級市和地級市下面的區(qū)縣,這些比較固定的地址讓用戶選擇,余下的地址和郵編由用戶手工輸入。
(3)保留用戶輸入的地址和郵編,方便下次再次使用,即如果本次輸入的地址和郵編之前已經(jīng)有了一份,直接選中,就避免了讓用戶重復(fù)輸入。
這些做法主要存在的問題如下:
(1)很多情況下用戶未必知道自己輸入的地址對應(yīng)的郵編。
(2)由于基于拼音的輸入法和漢語本身存在的缺陷(漢字存在多音字,多個漢字擁有相同的讀音,多數(shù)基于拼音的輸入法都是基于統(tǒng)計的語言模型),再加上地址中存在的一些生僻字的原因會導(dǎo)致輸入的地址存在錯別字。
(3)由于地名存在別名現(xiàn)象,即同一個地名有多種叫法,例如“廣東省”的別名有“廣東”和“粵”,因此他們識別不了對同一個地名的不同描述。
(4)有些情況下用戶無法輸入完整的地址,當輸入的時候一臉茫然和無助。
(5)由于地址存在變更和搜集不完全的問題,這些網(wǎng)站的數(shù)據(jù)往往得不到更新。
當前一些其他的網(wǎng)站能夠解決第一個問題,即幫助用戶得到地址對應(yīng)的郵編。但是他們往往采用數(shù)據(jù)庫技術(shù)來實現(xiàn)的系統(tǒng),對于低于區(qū)縣級別的地址,往往采用字串模糊查詢(like %XXX%)的方式參與檢索,由于性能的原因此種方式對于大數(shù)據(jù)量的查詢效率很差。另外基于數(shù)據(jù)庫實現(xiàn)的查詢使得用戶的輸入格式和內(nèi)容受到了很大的限制,比如:
用戶首先選擇省級行政區(qū)(包括省、特別行政區(qū)、自治區(qū)和直轄市)的名字,其次是選擇地級行政區(qū)(包括地級市、自治州、地區(qū)和盟)級別的名字,然后再縣級行政區(qū)(包括市轄區(qū)、縣、旗、特區(qū)、林區(qū)、自治縣和自治旗等)級別的名字,最后用戶輸入鄉(xiāng)鎮(zhèn)級別及村莊道路等。查詢的輸入過程非常機械。
另外基于數(shù)據(jù)庫的查詢模式,要求地址格式全部滿足四級,即省級,地級市級,區(qū)縣級,然后是其他具體地址。但是并不是所有的地址都滿足此種情況,例如直轄市下和省與直轄縣或省直轄縣級市之間就沒有地級市級,一些特殊的地級市沒有區(qū)縣級,如廣東省中山市、廣東省東莞市、海南省三亞市、海南省三沙市、甘肅省嘉峪關(guān)市;他們的解決辦法,起個其他的名字代替,例如“直轄區(qū)縣”,“市轄區(qū)”,“省直轄縣”等,但是查詢的結(jié)果中一般也包含這些非真正地址的數(shù)據(jù)。
本方法嘗試解決如下問題:
(1)幫助用戶輸入,即提供輸入提示功能(類似Google Suggestion)。
(2)采用基于搜索引擎技術(shù)使得用戶輸入的查詢格式更加自由,并且通過一個比較短的地址片段就可以找到完整的地址。
(3)基于命名實體識別技術(shù)能夠識別出用戶輸入地址元數(shù)據(jù)的級別,從而實現(xiàn)地址的逐級查詢(例如已知一個地級市,給出該地級市下所有縣級行政區(qū)的名字和對應(yīng)的郵編;已知一個省的名字,給出該省下所有地級行政區(qū)的名字和對應(yīng)的郵編等)。
(4)自動從互聯(lián)網(wǎng)上抓取地址數(shù)據(jù),完成參考數(shù)據(jù)的更新。
(5)對不用來源的參考數(shù)據(jù)進行校驗,識別出有問題的參考數(shù)據(jù),使得參考數(shù)據(jù)更加準確。
(6)有時候由于參考數(shù)據(jù)在鄉(xiāng)鎮(zhèn)級行政區(qū)級別及以下級別上收錄得不是很全,本方法可以通過地址補全方式完善查詢結(jié)果。
(7)實現(xiàn)查詢結(jié)果地址的切分和級別標注,方便用戶靈活使用結(jié)果。
(8)將地址和對應(yīng)的郵編加密到二維碼中,方便用戶通過二維碼掃描軟件直接獲取完整的地址和郵編。
(9)將用戶的檢索結(jié)果鏈接到知名的地圖廠商(百度,谷歌,搜狗地圖等)獲取相關(guān)地址的經(jīng)緯度數(shù)據(jù)。
2 系統(tǒng)設(shè)計
2.1 總體架構(gòu)設(shè)計
本系統(tǒng)的總體架構(gòu)如圖1所示。
從圖1郵編查詢系統(tǒng)的總體架構(gòu)圖可以看出,該系統(tǒng)需要三種數(shù)據(jù):
(1)用于通過通信地址查詢郵政編碼的通信地址和郵政編碼對應(yīng)關(guān)系的數(shù)據(jù)。
(2)用于輸入地址提示的標準化的通信地址數(shù)據(jù)。
(3)用于地址切分,地址標注,命名實體識別和Query語句生成的地址元數(shù)據(jù)字典數(shù)據(jù)。
第一種數(shù)據(jù):通信地址和郵政編碼的對應(yīng)關(guān)系,可以從一些數(shù)據(jù)比較新而且數(shù)據(jù)比較標準和完整的郵編查詢網(wǎng)站上,利用基于種子的網(wǎng)絡(luò)爬蟲和信息抽取技術(shù)抓取相關(guān)數(shù)據(jù)。
第二種數(shù)據(jù):標準化的通信地址數(shù)據(jù),一種來源是第一種數(shù)據(jù)去掉郵政編碼后的通信地址數(shù)據(jù),第二種來源,從維基百科和國家統(tǒng)計局網(wǎng)站上,最新的有關(guān)中國行政區(qū)劃上的網(wǎng)頁上利用爬蟲技術(shù)和信息抽取技術(shù)抽取得來。
第三種數(shù)據(jù):地址元數(shù)據(jù)字典數(shù)據(jù),源自維基百科和國家統(tǒng)計局有關(guān)中國行政區(qū)劃的地址元數(shù)據(jù),以及通過地址切分和識別技術(shù)從完整的通信地址中獲得。
地址元數(shù)據(jù)包含的數(shù)據(jù)主要有:省級行政區(qū)名(包括省、自治區(qū)、直轄市和特別行政區(qū))、地級行政區(qū)名(地級市、自治州、地區(qū)、盟)、縣級行政區(qū)名(包含市轄區(qū)、縣級市、縣、自治縣、旗、自治旗、特區(qū)和林區(qū))、鄉(xiāng)級行政區(qū)名(包括鄉(xiāng)、鎮(zhèn)、街道、蘇木、區(qū)公所),其他地址數(shù)據(jù)(包括道路名、村莊名、小區(qū)名、建筑物名和廣場名)等。
2.2 地址查詢編碼過程設(shè)計
地址查詢郵編索引結(jié)構(gòu)如圖2所示。
其中地址的最低等級域(Level Field)包含的數(shù)據(jù)值如下:
(1)省級行政區(qū)級(包括省、自治區(qū)、直轄市和特別行政區(qū)),用province表示。
(2)地級行政區(qū)級(包括地級市、自治州、地區(qū)、盟、直轄市轄區(qū)),用city表示。
(3)縣級行政區(qū)級(包括市轄區(qū)、縣、旗、特區(qū)、林區(qū)、自治縣和自治旗等),用district表示。
(4)鄉(xiāng)級行政區(qū)級(包括鄉(xiāng)、鎮(zhèn)、街道、蘇木、區(qū)公所),用town表示。
(5)低于鄉(xiāng)級行政區(qū)級,用all表示。
一個地址文本,其對應(yīng)的最低地址等級域的值計算如下:
(1)首先對地址文本做預(yù)處理,預(yù)處理包括刪除多余的空格,全角字符轉(zhuǎn)換成半角字符。
(2)其次是地址切分和地址標注。
(3)接著是地址命名實體識別,獲取最終的地名實體標注序列。
(4)然后根據(jù)規(guī)則計算出此地址文本的最低地址等級的值。
(5)將最低地址等級映射到最低地址等級域的值:1→province;2→city;3→district;4→town;0→all。
2.3 地址解析過程
本系統(tǒng)是基于開源的全文搜索引擎工具包Lucene實現(xiàn)的系統(tǒng),中文分詞模型采用的是二元模型(bigram)。為了提高搜索的精度和排序的質(zhì)量,需要對輸入的文本進行解析,解析的結(jié)果是生成相關(guān)的Query語句。因此整個流程為首先對用戶輸入的文本進行預(yù)處理,切分,標注和地名實體識別,識別出不同級別的地名,然后對不同級別的地名分別用半角的雙引號“””括起來生成PhraseQuery查詢語句,并賦以不同的權(quán)值,權(quán)值的設(shè)定應(yīng)遵循如下原則,已被收錄到字典里的地名(即確定被識別的地名)其對應(yīng)的權(quán)值要大于未知的地名。舉例如圖3所示。
圖3中“29號”是不能識別的地址,因此其對應(yīng)的權(quán)值W5設(shè)置的值要比其他的權(quán)值小。通常情況下W5的值一般設(shè)置成1.0,其他確定已被識別的地址對應(yīng)的權(quán)值的值一般大于1.0。
接著用地址的標注等級序列獲得地址的最低標注等級,為了能夠支持地址的分級查詢(僅限四級以上的地址),即:搜索的結(jié)果首先是當前地址的標準形式,其次是當前地址等級下的直屬行政等級(即子等級)的所有地址,然后才是更下一級的地址。例如:當輸入“深圳市”時,排在第一個的應(yīng)該是“廣東省深圳市”,其次是“深圳市”下的直轄區(qū)縣,然后是區(qū)縣下的鄉(xiāng)鎮(zhèn)街道,最后是道路,小區(qū),村莊等。系統(tǒng)在最低標注等級映射到最低等級域上要做分級查詢處理,具體做法是:獲得當前最低等級及下屬的等級域的值,然后按照逐級遞減的方向賦上遞減的加權(quán)值。規(guī)則如下:
(1)1→province city;
(2)2→city district town;
(3)3→district town。
當用戶提交查詢請求后,系統(tǒng)會返回查詢的結(jié)果,并把與用戶輸入的地址文本最相似的地址排在第一位。由于參考數(shù)據(jù)搜集的不是太全,加上每年都有新增的建筑,道路,小區(qū)等,還有一些行政區(qū)劃的變更等等,使得排在第一位置上的地址中區(qū)縣位置之后的地址和用戶輸入的地址有出入,本系統(tǒng)采用地址補全技術(shù),對最相似的返回結(jié)果進行改造,使得更接近用戶的要求。
2.4 地址補全
地址補全是根據(jù)用戶的輸入來完善查詢結(jié)果的技術(shù),使得結(jié)果更貼近用戶的需求。地址補全主要用在某一級別的地址很難搜集全,而且新增量比較大,主要集中在四級和五級地址上。地址補全的條件時用戶輸入的地址文本其地址級別的順序是正常的,即不存在一二三級地址出現(xiàn)在四級或者五級地址之后。識別出用戶輸入的地址級別中四級地址及以后的部分,拼接到搜索結(jié)果最相似的那條地址中三級地址之后。
3 總結(jié)
本文設(shè)計的系統(tǒng)是用來實現(xiàn)地址查詢編碼這一功能的。在分析了現(xiàn)有系統(tǒng)情況之后,使用了地址解析、補全、查詢等技術(shù),來滿足實際生產(chǎn)的需要。實際使用情況顯示本文提出的諸多解決方案能夠很好地滿足需求。
【通訊地址查詢郵政編碼系統(tǒng)設(shè)計論文】相關(guān)文章:
FPGA數(shù)據(jù)采集與回放系統(tǒng)設(shè)計論文04-24
解析科技競賽賽務(wù)系統(tǒng)的設(shè)計與實現(xiàn)論文04-19
綜合布線系統(tǒng)設(shè)計項目教學模式應(yīng)用論文07-12
高考報名號查詢系統(tǒng)06-25
機器學習的服務(wù)器調(diào)優(yōu)系統(tǒng)設(shè)計論文04-20
查詢系統(tǒng)推廣廣告語12-28
系統(tǒng)優(yōu)化與系統(tǒng)設(shè)計的教學07-08
關(guān)于景觀導(dǎo)視系統(tǒng)設(shè)計實踐教學方法的論文07-12
系統(tǒng)類畢業(yè)論文03-10