鄒恩岑,曾誠,張謙,徐川,朱潤,奚雪峰*
(1.蘇州科技大學(xué)電子與信息工程學(xué)院,江蘇蘇州215009;2.蘇州市虛擬現(xiàn)實智能交互及應(yīng)用技術(shù)重點實驗室,江蘇蘇州215009;3.昆山市公安局情報中心,江蘇蘇州215335)
近年來,隨著我國智慧城市建設(shè)進(jìn)程的快速發(fā)展,門市樓牌的地址信息在應(yīng)用中的重要性日趨突出,尤其在公安業(yè)務(wù)領(lǐng)域[1-2]。然而由于當(dāng)前社會上存在著多樣的地址信息,如自來水公司的用戶登記地址、燃?xì)夤镜挠脩舻怯浀刂贰⒂芯€電視用戶地址、公安被盤查人員登記地址等。從而在包含地址信息的不同數(shù)據(jù)集中,如戶籍地址數(shù)據(jù)、報警地址數(shù)據(jù)、案發(fā)地址數(shù)據(jù)中,出現(xiàn)了多樣性的地址表述,即地址信息表述不唯一。例如,同樣的一個地址,在自來水公司用戶地址中被表述為“千燈美景園34#(原1-14#)604”,在被盤查人員登記地址中可能表述為“江蘇省昆山市千燈鎮(zhèn)美景園34幢604室”,而在戶籍地址中卻表述為“昆山市千燈鎮(zhèn)美景園34幢604室”。
地址信息表述不唯一,導(dǎo)致不同來源的信息無法聯(lián)通、相關(guān)業(yè)務(wù)無法在公安電子地圖上匹配與顯示、情報研判難以深入、發(fā)現(xiàn)重點人員軌跡困難、預(yù)測重大事件成效不顯著、整合數(shù)據(jù)資源不充分等一系列問題。針對上述問題,構(gòu)建一個標(biāo)準(zhǔn)化的地址庫,然后將其他地址統(tǒng)一映射到該標(biāo)準(zhǔn)地址庫中,是一種可行的方法[3]。把上述各類地址定義為“非標(biāo)地址”,把構(gòu)建的標(biāo)準(zhǔn)化地址庫中的地址稱為“標(biāo)準(zhǔn)地址”。
因此,昆山市公安局開展了地址標(biāo)準(zhǔn)化建設(shè)。第一階段已完成90多萬條的公安標(biāo)準(zhǔn)地址庫建設(shè),但同時來自社會各界采集到的非標(biāo)地址類型達(dá)到2 275種,數(shù)量達(dá)到20億條。如此海量的非標(biāo)地址,如何與標(biāo)準(zhǔn)地址進(jìn)行匹配,存在著以下難點:(1)由于數(shù)據(jù)量大,人工檢索90多萬條數(shù)據(jù),耗時耗力,可行性差[4];(2)由于地址之間語義級相似度的存在,無法采用傳統(tǒng)的字符串匹配檢索方式。
針對上述難點,筆者基于哈希映射、詞頻統(tǒng)計及余弦相似理論,提出一種面向中文非標(biāo)建筑地址的標(biāo)準(zhǔn)化自動匹配方法,自動實現(xiàn)非標(biāo)地址與標(biāo)準(zhǔn)地址的匹配映射。
目前,在構(gòu)建中文建筑地址庫方面使用的數(shù)據(jù)結(jié)構(gòu)主要有樹形結(jié)構(gòu)和魚型結(jié)構(gòu)等[5],這些結(jié)構(gòu)可以在一定程度上消除數(shù)據(jù)之間的冗余和強(qiáng)依賴關(guān)系,方便存儲數(shù)據(jù)。在面向中文短文本匹配工作中,為使匹配算法具有較低的空間復(fù)雜度和時間復(fù)雜度,一般采用哈希結(jié)構(gòu)和Tire結(jié)構(gòu)[6-7];也有研究者使用樹型結(jié)構(gòu)實現(xiàn)具有較高匹配率的算法模型,但模型過于復(fù)雜[8-9]。目前有些應(yīng)用系統(tǒng),通常使用地址分級和有限狀態(tài)機(jī)驅(qū)動方法[10],初步解決地址越級跳躍和地址分詞不準(zhǔn)確的問題;使用索引結(jié)構(gòu)與全文搜索[11],依托開源檢索引擎構(gòu)建地址匹配工具也是常用的方法[12-13],但系統(tǒng)的識別率嚴(yán)重依賴標(biāo)準(zhǔn)地址庫規(guī)模的大小?;谧匀徽Z言處理技術(shù),利用大量地址數(shù)據(jù)進(jìn)行模型訓(xùn)練,通過語義理解實現(xiàn)自動匹配,是當(dāng)前人工智能及大數(shù)據(jù)技術(shù)在該領(lǐng)域的探索與嘗試[14-17]。
相似度計算技術(shù)是解決地址匹配問題的關(guān)鍵技術(shù),目前主要采用如下方法:基于詞形和詞序匹配的方法、基于語義計算的方法、使用語義依存的方法、基于骨架依存樹的方法、基于編輯樹的方法,以及基于模式的方法[18-19]。
標(biāo)準(zhǔn)地址是指公安機(jī)關(guān)自己定義的一套具有清晰結(jié)構(gòu)特征的地理編碼,這套編碼中既包含了描述地理位置的地址信息,也包括了該地址信息包含的經(jīng)緯度信息等。非標(biāo)準(zhǔn)地址則是指從社會各界采集來的不具有公安系統(tǒng)規(guī)定的必要組成元素的一類地址。該類地址的典型特征就是人能夠理解和辨識這個地址所標(biāo)識的地理位置,但是這類地址無法直接錄入公安系統(tǒng)進(jìn)行信息整合。
文中主要研究如何將非標(biāo)準(zhǔn)地址準(zhǔn)確高效地映射到標(biāo)準(zhǔn)地址數(shù)據(jù)集中,其實驗數(shù)據(jù)集為:(1)95萬條標(biāo)準(zhǔn)地址樣本集;(2)1.6萬條某自來水公司提供的非標(biāo)準(zhǔn)地址樣本集;(3)1 000條來自其他5個社會機(jī)構(gòu)(公安某部門、某燃?xì)夤疽弧⒛橙細(xì)夤径?、計生委某部門、某有線電視公司)的非標(biāo)地址樣本集。
筆者已采用人工眾包標(biāo)注[20]的方法完成了數(shù)據(jù)集(2)的標(biāo)注,以此作為訓(xùn)練及測試數(shù)據(jù)集。數(shù)據(jù)集(3)用來驗證文中所提出模型的泛化能力。
地址匹配的實現(xiàn),輸入為一個非標(biāo)地址,輸出為按相似度從高到低排序的標(biāo)準(zhǔn)地址集合。在大量非標(biāo)地址匹配過程中,采用計算機(jī)輔助方式,可以大幅度提高匹配效率,減少所需人工成本。隨著自動匹配精度與速度的不斷提高,該模型能夠聯(lián)通各非標(biāo)地址系統(tǒng)間的信息孤島,形成順暢的地址搜索網(wǎng)絡(luò),為各非標(biāo)地址系統(tǒng)間轉(zhuǎn)換和地址統(tǒng)一計算提供重要的基礎(chǔ)支撐[21-22]。
非標(biāo)地址自動匹配主要包含兩大步驟:(1)標(biāo)準(zhǔn)地址建模。將標(biāo)準(zhǔn)地址建立可快速查找的詞典文件,主要結(jié)構(gòu)為哈希結(jié)構(gòu),供后續(xù)非標(biāo)地址匹配步驟使用。(2)非標(biāo)地址匹配。根據(jù)輸入的非標(biāo)地址,在標(biāo)準(zhǔn)地址模型數(shù)據(jù)中,通過兩級級聯(lián)的哈希查找和相似度匹配方法,找出與其匹配的標(biāo)準(zhǔn)地址。模型框圖如圖1所示。
圖1 非標(biāo)地址自動匹配模型框圖
2.2.1 標(biāo)準(zhǔn)地址建模
標(biāo)準(zhǔn)地址建模的流程分為如下5個步驟:(1)輸入原始標(biāo)準(zhǔn)地址數(shù)據(jù)InSADS;(2)清洗InSADS,去除不必要的數(shù)據(jù),保留規(guī)范地址數(shù)據(jù),形成ReInSADS;(3)在ReInSADS數(shù)據(jù)集中提取標(biāo)準(zhǔn)地址關(guān)鍵詞AddressKeyWords;(4)將標(biāo)準(zhǔn)地址轉(zhuǎn)換成詞向量;(5)以標(biāo)準(zhǔn)地址關(guān)鍵詞AddressKeyWords為Key,標(biāo)準(zhǔn)地址詞向量為Value,使用哈希表結(jié)構(gòu)建立標(biāo)準(zhǔn)地址詞典。
2.2.2 非標(biāo)地址匹配
非標(biāo)地址匹配流程分為如下7個步驟:(1)輸入原始非標(biāo)地址數(shù)據(jù)InNSAD;(2)清洗InNSAD,形成ReInNSAD;(3)在ReInNSAD中提取非標(biāo)地址中的關(guān)鍵詞;(4)地址淘選,在標(biāo)準(zhǔn)地址詞典中通過非標(biāo)地址關(guān)鍵詞查找標(biāo)準(zhǔn)地址數(shù)據(jù),形成候選標(biāo)準(zhǔn)地址子集CandSubSADS;(5)將淘選后的標(biāo)準(zhǔn)地址集CandSubSADS及非標(biāo)地址ReInNSAD分別轉(zhuǎn)換成詞向量EMofCandSubSADS和EMofReInNSAD;(6)非標(biāo)地址詞向量與淘選后的標(biāo)準(zhǔn)地址集中的詞向量逐一進(jìn)行相似度計算;(7)篩選出與非標(biāo)地址最相似的一組標(biāo)準(zhǔn)地址,按照相似度由高到低排序輸出結(jié)果集合SResult。
哈希標(biāo)準(zhǔn)地址詞典由哈希表構(gòu)成,提取標(biāo)準(zhǔn)地址的關(guān)鍵詞作為哈希表的Key,標(biāo)準(zhǔn)地址詞向量的數(shù)組表作為哈希表的Value,詞典數(shù)據(jù)結(jié)構(gòu)如圖2所示。
圖2 哈希標(biāo)準(zhǔn)地址詞典數(shù)據(jù)結(jié)構(gòu)示意圖
3.1.1 標(biāo)準(zhǔn)地址關(guān)鍵詞提取
文中設(shè)計了兩種標(biāo)準(zhǔn)地址關(guān)鍵詞提取方法:一種是經(jīng)驗法;另一種是詞頻法。
經(jīng)驗法使用經(jīng)驗法提取關(guān)鍵詞,并實現(xiàn)匹配的啟發(fā)式規(guī)則如下:(1)提取“鎮(zhèn)”字后面的2個字作為關(guān)鍵詞,例如,在地址“昆山市玉山鎮(zhèn)柏廬南路1126號”中,提取“柏廬”作為關(guān)鍵詞;(2)提取“鎮(zhèn)”字后面的3個字作為關(guān)鍵詞,例如,在地址“昆山市玉山鎮(zhèn)柏廬南路1126號”中,提取“柏廬南”作為關(guān)鍵詞;(3)提取“鎮(zhèn)”字后第3個位置到第5個位置作為關(guān)鍵詞,例如,在地址“昆山市玉山鎮(zhèn)柏廬南路1126號”中,提取“南路”作為關(guān)鍵詞。
詞頻法使用詞頻法提取關(guān)鍵詞,為關(guān)鍵詞查找提供匹配規(guī)則的算法步驟如下:(1)統(tǒng)計標(biāo)準(zhǔn)地址庫,按步長1、窗長2切割所有詞的頻率。(2)按照一定規(guī)則去除某些頻率的詞,并構(gòu)建關(guān)鍵詞。例如,每個標(biāo)準(zhǔn)地址中都有“昆山”一詞,出現(xiàn)頻率為915 407次,“單元”一詞出現(xiàn)136 266次,“新村”一詞出現(xiàn)121 286次。這些高頻詞無法表示標(biāo)準(zhǔn)地址的關(guān)鍵特征,因此,需要去除。與此類似,有些包含數(shù)字或帶有特殊字符的詞,也同樣需要去除。
3.1.2 詞向量切分
為了計算地址之間的相似度,需先將地址轉(zhuǎn)換成詞向量。文中選擇使用步長為1、窗長為2的詞向量切分法來分割地址字符串,切割出的兩字字符串作為向量的基,每切割出一次基字符串,就在向量的這一維上增加一,以此構(gòu)成詞向量。
例如:地址“昆山市玉山鎮(zhèn)柏廬南路1126號”中,分割后的詞向量的基集合為U={昆山,山市,市玉,玉山,山鎮(zhèn),鎮(zhèn)柏,柏廬,廬南,南路,路1,11,12,26,6號,號},用該集合表示的向量共有15個維度。
構(gòu)成的詞向量和所對應(yīng)的基為:(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);(昆山,山市,市玉,玉山,山鎮(zhèn),鎮(zhèn)柏,柏廬,廬南,南路,路1,11,12,26,6號,號)。
3.1.3 插入標(biāo)準(zhǔn)地址詞典
詞典由哈希表構(gòu)成,系統(tǒng)將提取的關(guān)鍵詞作為Key,包含關(guān)鍵詞信息的整條地址詞向量數(shù)組表ArrayList作為Value,加入到哈希表中。若新加入的地址和已存在的Key-Value具有相同的Key,則在Value中的ArrayList尾部添加新的地址的詞向量,形成如圖2所示的地址詞典結(jié)構(gòu)。
地址淘選是將原先1個非標(biāo)地址與95萬的標(biāo)準(zhǔn)地址匹配的問題,通過計算機(jī)輔助縮小為1個非標(biāo)地址與數(shù)萬個標(biāo)準(zhǔn)地址匹配的問題。
3.2.1 經(jīng)驗淘選法
文中所使用的經(jīng)驗淘選方法步驟如下:
(1)地址淘選模塊會提取非標(biāo)地址的前兩個字作為關(guān)鍵詞,淘選子模塊查詢標(biāo)準(zhǔn)地址詞典得到淘選地址數(shù)據(jù)集。
(2)如果得到的數(shù)據(jù)集數(shù)量不為空且小于15 000,則轉(zhuǎn)向步驟(3)。如果得到的數(shù)據(jù)集數(shù)量大于15 000或數(shù)據(jù)集為空,則跳過地址的第一個字,利用步長1、窗長2的字符切分法分割地址字符串作為關(guān)鍵詞,利用這些關(guān)鍵詞查找標(biāo)準(zhǔn)地址詞典,得到多個淘選地址數(shù)據(jù)集。該步驟中15 000是依據(jù)標(biāo)準(zhǔn)地址庫中地址數(shù)量和經(jīng)驗淘選算法的特點,經(jīng)過程序調(diào)試給出的一個在保證準(zhǔn)確率情況下,冗余計算較少、計算速度較快的經(jīng)驗參數(shù)值。
(3)使用前三個字作為關(guān)鍵詞查詢標(biāo)準(zhǔn)地址詞典得到淘選地址數(shù)據(jù)集。
(4)在得到的多個淘選地址數(shù)據(jù)集中選擇包含地址數(shù)目最小的非空地址集,輸出作為淘選結(jié)果地址集。
3.2.2 詞頻淘選法
文中所使用的詞頻淘選方法步驟如下:
(1)地址淘選模塊會以步長為1、窗長為2的詞向量切分法來分割非標(biāo)地址字符串作為關(guān)鍵詞。
(2)查找關(guān)鍵詞的詞頻,如果數(shù)量大于45 000,則跳過該關(guān)鍵詞,查找下一關(guān)鍵詞。如果詞頻數(shù)量小于45 000,則添加字典中關(guān)聯(lián)該關(guān)鍵詞的所有地址到地址候選集中。該步驟中45 000是依據(jù)標(biāo)準(zhǔn)地址庫中地址數(shù)量和詞頻淘選算法的工程特點,給出的一個限定計算規(guī)模、減少冗余計算的參數(shù)值,用于提高計算速度,該參數(shù)值在設(shè)置成大于等于45 000的數(shù)值情況下雖不會影響計算準(zhǔn)確率,但增加了冗余計算,降低了計算速度。
(3)若有多個關(guān)鍵詞滿足條件,則添加多個候選地址集,并對這些地址集做合并操作。
(4)得到所有關(guān)鍵詞所對應(yīng)的地址候選集并集,即為詞頻淘選法得到的地址集。
3.3.1 共同向量空間的轉(zhuǎn)換
以非標(biāo)地址字符串分割后的詞向量記為向量a,標(biāo)準(zhǔn)地址分割后的詞向量記為b,a和b由于各自的基不同,所在的向量空間不同,需要換算至相同的向量空間。模塊程序提取a和b兩向量基的并集,構(gòu)成合并基,將a、b兩向量轉(zhuǎn)換到合并基所組成的新的合并向量空間中。
設(shè)向量a基的集合為:A={a1,a2,…,ai,c1,c2,…,ck},其中,a1至ai表示向量a獨有的基集合,c1至ck表示向量a和向量b所共有的基集合。
向量b基的集合為:B={b1,b2,…,bj,c1,c2,…,ck},其中,b1至bj表示向量b獨有的基集合,c1至ck表示向量a和向量b所共有的基集合。
則a與b的合并基集合為:C=A∪B={a1,a2,…,ai,b1,b2,…,bj,c1,c2,…,ck}。
例如,非標(biāo)地址“柏廬南路1126#”的基集合為:A={柏廬,廬南,南路,路1,11,12,26,6#,#};標(biāo)準(zhǔn)地址“昆山市玉山鎮(zhèn)柏廬南路1126號”基的集合為:B={昆山,山市,市玉,玉山,山鎮(zhèn),鎮(zhèn)柏,柏廬,廬南,南路,路1,11,12,26,6號,號}。對上述兩組集合取并集,得到的合并基為:C={昆山,山市,市玉,玉山,山鎮(zhèn),鎮(zhèn)柏,柏廬,廬南,南路,路1,11,12,26,6號,號,6#,#},合并基后用該集合表示的向量共有17個維度。
非標(biāo)地址“柏廬南路1126#”變換為合并基后的詞向量和對應(yīng)的基為:a=(0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1),(昆山,山市,市玉,玉山,山鎮(zhèn),鎮(zhèn)柏,柏廬,廬南,南路,路1,11,12,26,6號,號,6#,#)。
地址“昆山市玉山鎮(zhèn)柏廬南路1126號”變換為共同基后的詞向量和對應(yīng)的基為:b=(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0),(昆山,山市,市玉,玉山,山鎮(zhèn),鎮(zhèn)柏,柏廬,廬南,南路,路1,11,12,26,6號,號,6#,#)。
3.3.2 余弦相似度計算
非標(biāo)地址詞向量a與標(biāo)準(zhǔn)地址詞向量b之間使用余弦相似公式計算相似度
記向量a=(x1,x2,…,xn),向量b=(y1,y2,…,yn),代入公式(1),得到a與b之間的余弦相似度
3.3.3 相似度混合方法
非標(biāo)地址與多個標(biāo)準(zhǔn)地址之間的相似度經(jīng)過計算后排序輸出,理論上相似度最高的組合對(非標(biāo)地址,標(biāo)準(zhǔn)地址)即是所求的最優(yōu)解,但有時候并非如此。例如:與非標(biāo)地址“震川東路3#401(原A幢)”匹配的多個標(biāo)準(zhǔn)地址,它們相似度相同,均以“昆山市玉山鎮(zhèn)震川東路商住小區(qū)”起頭,后半部分分別為“5幢401室”、“6幢401室”,“1幢401室”、“2幢401室”、“4幢401室”和“3幢401室”。在這組相似度相同的標(biāo)準(zhǔn)地址中,順序會被隨機(jī)排列,而最優(yōu)解“昆山市玉山鎮(zhèn)震川東路商住小區(qū)3幢401室”被排在了第六號位置上。
為了讓最優(yōu)解能夠排名靠前,系統(tǒng)將非標(biāo)地址與標(biāo)準(zhǔn)地址中的數(shù)字作為關(guān)鍵詞單獨抽出計算相似度,以一定合適的比例與前面計算所得的地址相似度聯(lián)合加權(quán),得到最終準(zhǔn)確結(jié)果。
4.1.1 數(shù)據(jù)集
實驗使用某自來水公司非標(biāo)準(zhǔn)地址數(shù)據(jù)集16 682條(采用眾包技術(shù)實現(xiàn)人工標(biāo)注匹配);標(biāo)準(zhǔn)地址數(shù)據(jù)集953 510條;來自5個社會機(jī)構(gòu)的泛化非標(biāo)地址數(shù)據(jù)1 000條(同樣采用眾包技術(shù)實現(xiàn)人工標(biāo)注匹配)。
非標(biāo)地址的數(shù)據(jù)格式即為非標(biāo)地址字符串,典型的非標(biāo)地址數(shù)據(jù)如下所示:
柏廬南路1126#
錦景園63#(原1-18)404
千燈美景園6#(原3-15#)204
新陽廣場店面北5(有家床上品)
北門路1014-302#(原永盛廣場B1區(qū)A外街南)(廁所)
典型的標(biāo)準(zhǔn)地址格式由地址索引碼、地址字符串和經(jīng)緯度等信息組成,如下所示:
“416F8B2A488741E7A87976662556C1BC”,“昆山市玉山鎮(zhèn)柏廬南路1126號”,“KUSYSZBLNL”,“120.9613000”,“31.3703500”,“320583”,“168B61105BC84D77975300FAD141929D”,“”,“”,“0”,“0”,“20-2月-12 10.57.01.109000上午”,“1126”,“1”,“0”。
人工標(biāo)注匹配地址數(shù)據(jù)集描述了淘選基礎(chǔ)上非標(biāo)地址與標(biāo)準(zhǔn)地址的人工查找和觀察對應(yīng)關(guān)系,地址中“ ”符號為制表分隔符,如下所示:
震川中路2#底車庫12室 其他
中華園15#405 昆山市玉山鎮(zhèn)中華園15幢405室
富陽新村29#704(原604) 昆山市玉山鎮(zhèn)富陽新村29幢704室
4.1.2 實驗工具與環(huán)境
非標(biāo)地址自動匹配系統(tǒng)采用Java語言設(shè)計與開發(fā),系統(tǒng)包含四個程序包,分別為:數(shù)據(jù)清洗工具程序包dataClean、地址自動匹配程序包addressSim、數(shù)據(jù)結(jié)果驗證工具包addressCheck和常用封裝庫程序包lib。
數(shù)據(jù)清洗工具程序包dataClean用于提供清洗標(biāo)準(zhǔn)地址的子模塊程序;地址自動匹配程序包addressSim提供了標(biāo)準(zhǔn)地址建模模塊和非標(biāo)地址匹配模塊;數(shù)據(jù)結(jié)果驗證工具包addressCheck用于驗證匹配結(jié)果是否正確;常用封裝庫程序包lib提供了常用的文件I/O、二元組數(shù)據(jù)結(jié)構(gòu)和二元組比較器等常用自制程序庫。
實驗硬件環(huán)境:文中使用計算服務(wù)器為8核Intel Xeon E5-2640 V2,2.00GHz處理器,128G內(nèi)存。軟件配置為Ubuntu 16.04 LTS,Java JDK 1.8.0。
文中實驗共設(shè)置計算速度和匹配準(zhǔn)確性兩類指標(biāo),其中速度指標(biāo)由標(biāo)準(zhǔn)地址數(shù)量、查找次數(shù)和查找時間反映,準(zhǔn)確性指標(biāo)由準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1值反映。
實驗的計算速度中的標(biāo)準(zhǔn)地址數(shù)量指的是模型所構(gòu)建的標(biāo)準(zhǔn)地址詞典中的地址數(shù)量;查找次數(shù)表示需自動匹配的非標(biāo)地址總數(shù)量;查找時間表示自動匹配所有非標(biāo)地址的總時間。
實驗的準(zhǔn)確性指標(biāo)計算方法如下所示:在非標(biāo)地址匹配中,設(shè)TP為模塊匹配正確的地址數(shù)量,設(shè)FP為模塊匹配錯誤的地址數(shù)量,設(shè)TN為模塊找到的匹配地址在實際情況下無標(biāo)準(zhǔn)地址,設(shè)FN為0。
準(zhǔn)確率計算公式
精確率計算公式
召回率計算公式
F1計算公式
文中實驗分為四類:(1)系統(tǒng)運行速度指標(biāo)實驗。該實驗在系統(tǒng)中編寫了時間戳程序,以計算時間差的方法獲取模塊運行時間。由于系統(tǒng)運行時間易受到計算機(jī)軟硬件環(huán)境等其他因素影響,該實驗使用多次運行取平均值方法確定時間。(2)地址淘選算法準(zhǔn)確性實驗。該實驗用于評價淘選工作是否將非標(biāo)地址自動匹配的計算空間縮小了范圍并仍使標(biāo)準(zhǔn)答案處于縮小后的計算空間中。該實驗中設(shè)縮小范圍后的搜索關(guān)鍵詞仍在結(jié)果中的計算次數(shù)為TP;設(shè)縮小范圍后搜索關(guān)鍵詞丟失的計算次數(shù)為FP;設(shè)原地址在字典中無關(guān)鍵詞的計算次數(shù)為TN,設(shè)FN為0。(3)系統(tǒng)整體自動匹配準(zhǔn)確性實驗。該實驗在淘選實驗完成之后,使用某自來水公司非標(biāo)地址數(shù)據(jù)集,將系統(tǒng)整體自動匹配的計算結(jié)果與人工標(biāo)注答案比較,得出實驗結(jié)果。該實驗中假設(shè)與人工標(biāo)注的正確標(biāo)準(zhǔn)地址一致的非標(biāo)地址數(shù)量為TP,與人工標(biāo)注的正確標(biāo)準(zhǔn)地址不一致的非標(biāo)地址數(shù)量為FP。假設(shè)人工標(biāo)注中無正確答案的非標(biāo)地址數(shù)量為TN,該實驗中不設(shè)置將無正確答案地址做自動匹配,設(shè)FN為0。文中系統(tǒng)使用一級算法與二級算法組合的方法,設(shè)計了四組對比實驗。(4)系統(tǒng)整體自動匹配泛化能力準(zhǔn)確性測試實驗。該實驗在淘選實驗完成之后,使用來自5個社會機(jī)構(gòu)的泛化非標(biāo)地址數(shù)據(jù)集,將系統(tǒng)整體自動匹配的計算結(jié)果與人工標(biāo)注答案比較,得出實驗結(jié)果。該實驗分為四組,參數(shù)、實驗方法與實驗(3)相同。用于驗證匹配方法的泛化能力。
各項實驗經(jīng)過調(diào)試運行得到結(jié)果。系統(tǒng)運行速度指標(biāo)實驗結(jié)果見表1。地址淘選準(zhǔn)確性實驗結(jié)果見表2。系統(tǒng)整體自動匹配準(zhǔn)確性度量指標(biāo)實驗結(jié)果見表3。系統(tǒng)整體自動匹配泛化能力準(zhǔn)確性測試指標(biāo)見表4。
表1 系統(tǒng)運行速度指標(biāo)
表2 地址淘選算法準(zhǔn)確性度量指標(biāo)(自來水公司非標(biāo)地址數(shù)據(jù)集)
表3 系統(tǒng)整體自動匹配準(zhǔn)確性度量指標(biāo)(自來水公司非標(biāo)地址數(shù)據(jù)集)
表4 系統(tǒng)整體自動匹配泛化能力準(zhǔn)確性度量指標(biāo)(拓展到五類來自其他機(jī)構(gòu)的非標(biāo)地址數(shù)據(jù)集)
由表1可知,在查找總時間方面,方法一為38 368 s,該方法在五種方法中最耗時,主要原因是因為使用了詞頻淘選法。該淘選方法相比經(jīng)驗淘選法,犧牲了大量淘選結(jié)果空間來提高淘選準(zhǔn)確率,在淘選步驟后的余弦相似計算也需計算更多的候選項,因此,會耗時更多,約2 s才能匹配一個非標(biāo)地址。
方法二在方法一的基礎(chǔ)上,加入了多線程技術(shù),使用20線程同時計算地址匹配數(shù)據(jù),因此,統(tǒng)計的耗時縮短為2 126 s。
方法三與方法四的1.6萬非標(biāo)地址匹配時間均為12 min左右,說明這兩類方法每秒可為約23條非標(biāo)地址提供自動匹配。方法三的查找時間為734 s,比方法四使用的時間725 s多了9 s左右,原因是方法三添加了余弦相似的混合方法,因此,計算量增加。方法五的查找時間為587 s,小于方法四所用時間,其實質(zhì)是因為減小窗長引起了向量空間維度的重疊,將原本應(yīng)屬于不同維度的向量基合并到了一起;向量空間維度的降低使得查找范圍縮小,查找時間縮短,但嚴(yán)重降低了準(zhǔn)確率和精確率。
由表2可知,面向自來水公司非標(biāo)地址的經(jīng)驗淘選法其準(zhǔn)確率、精確率和F1值分別為99.57%、99.43%和99.72%,表明基于經(jīng)驗的地址淘選方法具有較高的準(zhǔn)確性。而單個關(guān)鍵詞對應(yīng)最大地址數(shù)為15 000,表示通過對非標(biāo)地址的一個關(guān)鍵詞查找后,可以將95萬條待選標(biāo)準(zhǔn)地址縮小到15 000以內(nèi),理想情況下,單關(guān)鍵詞查找范圍至少縮小了63倍。
由于經(jīng)驗淘選法在縮小查找范圍時丟失了部分的正確匹配項,在系統(tǒng)地址匹配環(huán)節(jié)行引入了誤差,因此設(shè)計詞頻淘選法,該方法能夠在淘選時保留所有正確匹配項。相比經(jīng)驗淘選法,詞頻方法擴(kuò)大了結(jié)果的查找范圍,但仍具有一定的縮小查找范圍的能力。由于保留了所有正確匹配項,詞頻淘選法的準(zhǔn)確率、精確率、召回率和F1值均為100%。而單個關(guān)鍵詞對應(yīng)最大地址數(shù)為45 000,表示通過對非標(biāo)地址的一個關(guān)鍵詞查找后,可以將95萬條待選標(biāo)準(zhǔn)地址縮小到45 000以內(nèi),理想情況下,單關(guān)鍵詞查找范圍至少縮小了21倍。
方法一:以詞頻淘選法為基礎(chǔ),使用步長為1、窗長為2的詞向量切割方法搭配余弦相似算法和余弦相似混合方法,所得結(jié)果的準(zhǔn)確率和精確率分別為97.95%和97.35%。方法二未使用方法一中的淘選方法,改用經(jīng)驗淘選法,其他與方法一相同,所得結(jié)果準(zhǔn)確率和精確率分別為98.32%和97.82%;方法二對比方法三,由于加入了余弦相似混合算法,準(zhǔn)確率提高了8.26%,精確率提高了10.66%,改進(jìn)明顯。
方法三:以經(jīng)驗淘選法為基礎(chǔ),使用步長為1、窗長為2的詞向量切割方法搭配余弦相似算法,所得結(jié)果的準(zhǔn)確率和精確率分別為90.06%和87.16%。對比方法四:步長為1、窗長為1的計算方法的準(zhǔn)確率和精確率為42.85%和26.15%,可知增加詞向量切割窗長可大幅提高準(zhǔn)確率和精確率。窗長為1時計算兩個詞向量的相似度,原本應(yīng)為不同維度的向量基互相產(chǎn)生重疊,使得向量空間的維度減少,最終導(dǎo)致準(zhǔn)確度和精確度嚴(yán)重下降。而方法一增加一個窗長長度,使得向量空間的各向量基保持在自己的維度上,不會互相重疊和影響,因而能得到較高的準(zhǔn)確率和精確率。方法三的F1值為93.13%說明該相似度計算方法具有一定的可用性,而方法四的F1值僅為41.46%,說明該參數(shù)的相似度計算方法可用性很低。
由表4可知,在拓展到五類非自來水公司機(jī)構(gòu)提供的非標(biāo)地址數(shù)據(jù)集上實驗時,除了采用詞頻理論的方法一能夠保持性能穩(wěn)定,F(xiàn)1值達(dá)到98.33%之外,表中其他采用經(jīng)驗法的各項方法性能指標(biāo)與表3相比顯著下降。說明這些方法泛化能力不佳,可能存在過擬合現(xiàn)象;而方法一在某自來水廠提供的非標(biāo)準(zhǔn)地址和其他5個社會機(jī)構(gòu)地址的表現(xiàn)和性能一致,說明基于詞頻理論的算法具有良好的準(zhǔn)確性和泛化能力。
文中提出了一種建筑非標(biāo)地址標(biāo)準(zhǔn)化自動匹配模型,主要包括標(biāo)準(zhǔn)地址建模和非標(biāo)地址匹配兩個步驟;使用標(biāo)準(zhǔn)地址詞典、地址淘選、地址相似度計算等方法,完成非標(biāo)地址與標(biāo)準(zhǔn)地址的匹配。實驗結(jié)果表明,基于詞頻理論所構(gòu)建模型在準(zhǔn)確率和泛化能力方面表現(xiàn)突出,已經(jīng)能夠達(dá)到實用要求;但計算速度還有待提高。下一步研究方向:(1)將模型實現(xiàn)移植到高性能云計算平臺,采用分布式計算架構(gòu),提高模型計算速度,為實戰(zhàn)應(yīng)用提供基礎(chǔ)支撐;(2)將深度學(xué)習(xí)方法引入到地址匹配過程中,提升非標(biāo)地址語義級別的處理性能。