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