陳雨暉,皮 洲,姜滕圣,李 響,王 震,奚雪峰,3,吳宏杰,3,付保川,3
1.蘇州科技大學 電子與信息工程學院,江蘇 蘇州 215009
2.蘇州市公安局,江蘇 蘇州 215009
3.蘇州科技大學 蘇州智慧城市研究院,江蘇 蘇州 215009
在高速發(fā)展的大數(shù)據(jù)環(huán)境下,要想建設能夠很好提升資源效率、改善人民生活水平的智慧城市,準確、多樣的地址信息空間是不可或缺的,這就需要高效、精確的非標中文地址匹配方法。傳統(tǒng)的中文地名地址匹配技術(shù)主要建立在標準地址庫的設置之上,但是隨著地址建筑的日益增多,以及數(shù)據(jù)來源、數(shù)據(jù)結(jié)構(gòu)標準的不同,傳統(tǒng)中文地址匹配技術(shù)在處理非標中文地址需要迎接新的挑戰(zhàn)。建立能夠應對不規(guī)范、不準確的中文地址匹配方法,實現(xiàn)地址數(shù)據(jù)校驗、地址可視化等功能,是我國發(fā)展智慧城市的必經(jīng)之路。
知識圖譜[1]原本是谷歌用來實現(xiàn)知識搜索功能的,在學術(shù)界和工業(yè)界被廣泛使用,是各類結(jié)構(gòu)化知識庫的統(tǒng)稱。知識圖譜就是將人類知識結(jié)構(gòu)化形成的知識系統(tǒng),是人工智能研究和智能信息服務的基礎(chǔ)核心技術(shù),可以實現(xiàn)實體關(guān)系準確查找、智能推薦等功能[2]。因此將知識圖譜運用在存儲地址信息上也有很好的前景,不僅可以實現(xiàn)可視化查詢地址關(guān)系,還可以起到地址清洗、地址補全的功能,更能在中文地址匹配方法中起到良好的效果。
傳統(tǒng)的中文地址匹配方法主要分為三大類:(1)基于中文分詞的地址匹配算法[3-4]。該類算法是基于建立未登錄詞的詞典庫對中文文本進行分詞匹配,即直接匹配字符串。其中,逆向最大匹配BMM算法在進行中文文本分詞時最為常用,這是因為中文文本的詞義中心通常相對靠后,但是該方法需要建立完善的詞典庫,每當出現(xiàn)未登錄詞時,都需要及時對現(xiàn)有的詞典庫進行補充。(2)基于統(tǒng)計分詞的地址匹配方法[5]。統(tǒng)計分詞主要研究地址歷史信息,若兩個字符在地址信息中出現(xiàn)的詞頻較高,就能夠推測這兩個字符較可能構(gòu)成一個詞。該方法主要基于詞頻進行分詞,不需要詞典庫支持,但對常用詞的識別精度較差,在處理中文地址匹配時劣勢較為明顯。(3)基于語義理解的地址匹配算法[6]。中文地址由豐富的語義信息組成,通過對地址名稱中不同的地址要素進行特征提取,可以在匹配時獲取較高的精確率?;谏厦孢@些方法,趙陽陽等人[7]提出了地址要素識別機制的地名地址分詞算法,但是需要建立完備的詞典庫;張雪英等人[8]提出了一種基于規(guī)則的中文地址要素解析方法,但在處理包含POI(point of interest,興趣點)特征的標準中文地址時,僅能基于統(tǒng)計分詞分析上下文進行解析,識別率差;謝婷婷等人[9]提出了一種基于統(tǒng)計的中文地址位置語義解析方法,不需要建立詞典庫,但是忽略了地址語義信息,難以應對實際需求;許普樂等人[10]提出了基于貝葉斯推理的中文地名地址匹配方法,通過Spark大處理框架對中文地址解析,但對數(shù)據(jù)的質(zhì)量和硬件的要求較高;鄒恩岑等人[11]提出了一種面向中文非標建筑地址標準化的自動匹配方法,通過使用字符串匹配[12]的方法應對中文地址非標準的問題,但匹配效果不理想。
綜上,現(xiàn)有的方法存在需要不斷更新詞典庫、地址切分不明確、面向非標準中文地址時匹配準確率不高等問題。針對這些問題,本文提出了一種基于知識圖譜的中文地址匹配方法研究。該方法通過提取分層特征對標準地址數(shù)據(jù)、POI地址數(shù)據(jù)分別建立知識圖譜,以應對地址多樣性的問題;利用待測地址的間接信息建立待測地址知識圖譜,通過基于選擇性注意力機制的知識圖譜的關(guān)系抽取方法對待測地址進行地址分類;最后通過計算知識圖譜實體相似度的方法實現(xiàn)對非標中文地址的地址匹配。
本文采用基于知識圖譜的非標中文地址匹配方法,該方法的具體匹配流程如圖1所示。
知識圖譜通常以實體、關(guān)系及事實三元組[13]進行組織。對于事實三元組中的任意事實,使用(h,r,t)進行表示,其中h代表頭實體,t代表尾實體,r代表頭尾實體之間的關(guān)系。當應用在地址信息空間時,實體就是地址的詳細名稱、省名、市名、區(qū)名、道路名稱等等;關(guān)系存在與各個實體之間,例如所在省、所在市、所在區(qū)、所在道路等等,可簡單用“位于”表示。知識圖譜中的實體關(guān)系包括了地址信息的各類屬性,例如地址的行政區(qū)劃代碼、經(jīng)緯度信息、行業(yè)分類等。
1.1.1 標準地址知識圖譜
標準地址庫作為地址匹配的數(shù)據(jù)基礎(chǔ),其質(zhì)量的好壞將會直接影響地址匹配的準確率,在知識圖譜中也是如此。為了保證數(shù)據(jù)的準確性,首先需要對獲取到的標準地址庫進行數(shù)據(jù)預處理后才能構(gòu)建知識圖譜。原地址庫中包含了至少千萬數(shù)量級的地址數(shù)據(jù),需要從中挑選出合適的信息作為實體名稱以及實體屬性,實體屬性包括每條地址的所在行政區(qū)劃、經(jīng)緯度等等。遍歷整個標準地址庫后,對挑選出的數(shù)據(jù)進行全角/半角處理,去除掉數(shù)據(jù)中的非法字符以及會影響實體關(guān)系的英文字母或數(shù)字,減少因干擾項而引起的匹配誤差。數(shù)據(jù)清洗完畢后,選擇通過提取地址要素對作為地址知識圖譜的實體。根據(jù)實際需要進行簡化后的地址要素如表1所示。
圖1 基于知識圖譜的非標中文地址匹配方法流程Fig.1 Process of non-standard Chinese address matching based on knowledge graph
表1 地址要素特征Table 1 Feature of address element
根據(jù)該中文地址要素特征表,可以建立53種不同的實體和分別表示上下關(guān)系與同級關(guān)系的“位于”與“同級”2種實體關(guān)系。
通過分析提取標準地址庫中的行政區(qū)劃完整信息后,根據(jù)不同級別的地址要素信息,建立地址要素跨級間的關(guān)系圖譜,作為標準地址知識圖譜的基本框架,其地址要素結(jié)構(gòu)框架如圖2所示。
接著,通過對標準地址數(shù)據(jù)進行逆向最大匹配算法,從地址右側(cè)開始進行字符串配對,提取出標準地址中級別最低的地址要素信息作為知識圖譜三元組中的尾實體,即提取“路、街、大街、大道”等特征字直到遇到下一個不同級別的地址要素特征字為止。例如地址的名稱為“木瀆鎮(zhèn)金山路33號”,將地址本身作為頭實體,提取出“金山路”作為尾實體,“位于”作為實體關(guān)系,“33號”則作為實體屬性,構(gòu)造結(jié)果如圖3所示。
圖2 知識圖譜中的地址要素結(jié)構(gòu)框架Fig.2 Structural framework of address element in knowledge graph
圖3 知識圖譜地址實體實例Fig.3 Address entity instance in knowledge graph
盡管名稱為“木瀆鎮(zhèn)金山路33號”的地址中只包含了2個地址要素,但是依靠知識圖譜的網(wǎng)絡特性,可以根據(jù)“木瀆鎮(zhèn)”作為頭實體連接的其他實體關(guān)系,在知識圖譜中進行多步跳轉(zhuǎn),通過推理規(guī)則達到知識補全的效果。例如“木瀆鎮(zhèn)”又與“吳中區(qū)”相連,之間具有實體關(guān)系,通過層層遞推,即可將原本的地址名稱補全為“江蘇省蘇州市吳中區(qū)木瀆鎮(zhèn)金山路33號”。
最后,將所有的數(shù)據(jù)清洗過的標準地址進行實體特征提取并按上述規(guī)則錄入,就能成功構(gòu)建出標準地址知識圖譜。
1.1.2 POI地址知識圖譜
雖然標準地址知識圖譜中包含了準確的地址實體關(guān)系,且可以通過實體屬性明確得知地址的準確信息從而進行更精確的地址匹配,但僅僅使用標準地址知識圖譜進行地址匹配并不能滿足所有地址情況,在處理僅帶有POI特征的中文地址數(shù)據(jù)時往往出現(xiàn)劣勢,甚至會產(chǎn)生極大的誤差判斷。
POI[14-15]興趣點表示地圖上本身不包含任何地址要素但有實際地理意義的點,如某某銀行、小區(qū)、學校等等都可以被稱為一個POI。POI地址在標準地址庫中也會有所記錄,可作為“道路”的再下一級的地址要素,如表2所示。但大部分POI特征作為地址單獨出現(xiàn),因此選擇在建立標準地址知識圖譜進行地址匹配的基礎(chǔ)上,創(chuàng)建了POI地址知識圖譜進行數(shù)據(jù)融合,共同解決地址匹配問題,這在一定程度上提高了匹配的準確性與泛用性。
表2 POI作為地址要素Table 2 POI as address element
POI地址數(shù)據(jù)選擇從百度地圖API接口爬取獲得,根據(jù)一級、二級行業(yè)對地址進行詳細分類,其分類結(jié)果可以很好地作為實體屬性特征,具體分類情況如表3所示。
盡管大多獲取到的POI地址數(shù)據(jù)名稱中并不包含地址要素,但是通過地址信息中記錄的行政區(qū)劃,可以通過代碼轉(zhuǎn)化補全一定的地址要素信息,擴充地址實體間的實體關(guān)系,構(gòu)建知識圖譜單元。這在一定程度上縮小了實體匹配范圍,增大了匹配效率。
同時,建立POI地址知識圖譜可以省去地址的共指消歧。例如,標準地址“江蘇省蘇州市虎丘區(qū)學府路99號”與POI地址“蘇州科技大學”代表的是同一個地址,這樣可以減少數(shù)據(jù)冗余帶來的影響。
1.1.3 待測地址知識圖譜
待測地址知識圖譜的構(gòu)建綜合了上述兩種方法,首先基于提取的特征要素對待測數(shù)據(jù)進行地址分類處理[16-17]??紤]到非標中文地址的特異性,根據(jù)是否能提取到實體關(guān)系特征將待測地址分為兩種類型:包含特征要素的地址以及不包含特征的無效地址。同時,基于提取的特征要素不同選用不同的實體構(gòu)造方法:當提取到“道路”地址要素時,選用與標準地址知識圖譜相同的構(gòu)造方法,反之則與POI地址知識圖譜構(gòu)建方法一致。
首先要對待測知識圖譜中的每一個地址實體進行地址分類,決定進行實體對齊的對象。但地址名稱有時分別包含了兩種不同的特征要素,例如“中國石化殼牌交通加油站太倉路店”。
因此不能直接根據(jù)提取到的特征要素進行地址分類,選擇使用基于選擇性注意力機制[18]的知識圖譜實體關(guān)系抽取方法,通過基于語句級別選擇性注意力機制的神經(jīng)網(wǎng)絡模型[19],提取每個知識圖譜單元的決定性特征,該方法使用神經(jīng)網(wǎng)絡來提取地址名稱中的地址語義特征并以語義向量的形式來呈現(xiàn)。為了充分利用地址中的所有地址要素信息,以及避免遠程監(jiān)督帶來的地址錯誤標注問題,該方法根據(jù)地址要素級別在地址語義向量上引入了注意力機制,從而動態(tài)地減少噪聲實例所對應的權(quán)重,同時有效提升有效實體對應權(quán)重。最后,將利用注意力機制計算的權(quán)重與對應實例向量的加權(quán)求和作為特征向量來進行關(guān)系抽取,從而得出較為準確的分類結(jié)果。
當標準地址知識圖譜以及POI地址知識圖譜構(gòu)建完備之后,便能夠與待測地址知識圖譜進行地址的實體匹配。在進行地址匹配時,現(xiàn)根據(jù)高層次的實體單元,如“市”“區(qū)”等縮小實體匹配范圍,再選擇待測地址知識圖譜中底層的實體單元與匹配地址進行基于實體關(guān)系權(quán)重的余弦相似度計算[20],從而判斷是否成功地址匹配。
假定待測地址Ai按照其實體關(guān)系進行切分形成序列Xi,匹配知識圖譜中的地址Aj按相同方法形成序列Xj,使用文本空間向量表示法將Xi、Xj表示成兩個n維的向量,即Xi=(Xi1,Xi2,…,Xin),Xj=(Xj1,Xj2,…,Xjn),n表示兩個地址名稱的序列總數(shù),Xi與Xj的夾角余弦可以用公式(1)進行計算,當余弦值越趨近于1,兩個地址文本就越相似。
一個的實體通常包括多個實體關(guān)系。不同的實體關(guān)系在辨識和區(qū)分實體方面的能力呈現(xiàn)出不同的差異。在不具有相同實體的數(shù)據(jù)集中,實體關(guān)系越完整且相互間差異性越大的實體識別能力往往越好。在實體匹配過程中實體的關(guān)系所具備的識別能力越穩(wěn)定,被分配的權(quán)重[21]也就更高。
由于在標準地址知識圖譜中,其地址實體中基于地址要素產(chǎn)生了包括所在市、所在區(qū)、所在道路等等實體關(guān)系,這些實體關(guān)系因地址要素不同對地址信息的影響權(quán)重也不同,地址要素所在級別越小,賦予的實體關(guān)系權(quán)重就越高,權(quán)重的具體數(shù)值通過對待測地址數(shù)據(jù)進行實驗分析得出?;趯嶓w關(guān)系權(quán)重的實體相似度計算公式(2)如下:
其中,N表示實體對共有實體關(guān)系數(shù),E1、E2表示實體,E1ai、E2ai表示實體E1、E2的第i個實體關(guān)系,表示共有實體關(guān)系的相似度。
對于待測地址中不包含地址要素的POI地址,則通過對POI特征設立權(quán)重,其實體相似度方法與上述相同。為了獲取各個特征要素所占的權(quán)重值,從中選取10%的地址數(shù)據(jù)作為訓練集,5%的地址數(shù)據(jù)作為測試集進行實驗。經(jīng)過對300條非標中文地址數(shù)據(jù)的人工分析,綜合得出符合需求的最優(yōu)的權(quán)重分配,如表4所示即為地址要素權(quán)值分類示例。
表4 地址要素權(quán)值Table 4 Example of assigning weights to address elements
近年來,隨著公安智能監(jiān)控系統(tǒng)的不斷建設,智能感知監(jiān)控設備逐漸實現(xiàn)城市的大面積覆蓋。智能監(jiān)控設備的應用在管理和保護城市上已經(jīng)起到了不可或缺的作用。早期的智能監(jiān)控設備的數(shù)據(jù)錄入工作是依靠地方派出所民警實地記錄完成,但缺少統(tǒng)一規(guī)范的操作要求,不可避免地出現(xiàn)了其檔案數(shù)據(jù)中大多地址名稱不標準、不明確,所記錄的地址經(jīng)緯度信息與實際設備所在地址經(jīng)緯度誤差較大等問題。為了驗證本文方法的有效性,選擇使用該方法對126 640條設備檔案記錄種的非標中文地址進行地址匹配。126 640條數(shù)據(jù)對應生成126 640個地址實體。首先對待測地址進行地址清洗、歧義消除,再將地址進行分類,分類結(jié)果如表5所示。
表5 待測地址分類結(jié)果Table 5 Results of address classification to be tested
對于此地址分類結(jié)果,主要對無效地址進行精確度評估并建立相應的測試集:在126 640條一機一檔數(shù)據(jù)中,抽樣選取了100條無效地址,和200條可匹配地址(包含地址要素和包含POI特征的地址各100條),并進行了人工的分析校驗,部分地址數(shù)據(jù)如表5所示。其中100條無效地址中分類正確的有97條,錯誤的僅有3條。200條可匹配地址中正確的有177,錯誤的則為23條。因此,可以證明該地址分類方法基本準確,也保證了之后地址匹配的準確性。
表6 部分地址示例Table 6 Partial address example
在進行地址匹配方法的有效性驗證時,一般通過計算該方法的匹配率與準確率。
由于待測地址的數(shù)據(jù)中包含的地址要素數(shù)量與匹配地址中的相比差別過大,導致計算得出的相似度值普遍偏低。從待測地址中抽取了300條匹配結(jié)果,通過人工校驗發(fā)現(xiàn)其中僅有173條數(shù)據(jù)可視為匹配成功,因此按照經(jīng)驗決定將相似度閾值定為0.6。匹配地址實體中還包含了經(jīng)緯度屬性。當兩個地址完成匹配后,分別提取其經(jīng)緯度屬性,由于兩個地址數(shù)據(jù)記錄方式以及來源不同,經(jīng)緯度的坐標系也不同。通過對經(jīng)緯度進行坐標系轉(zhuǎn)換后,計算兩個經(jīng)緯度的間隔距離,將間距的閾值定為1 000 m。最終決定將地址文本相似度大于0.6的視為匹配成功,成功匹配的地址中相似度大于0.7且兩個地址實體經(jīng)緯度間距小于1 000 m的視為匹配準確。
匹配率計算公式如下:
準確率計算公式如下:
其中,RM表示匹配率,M表示匹配成功的地址個數(shù),N表示待匹配地址的總數(shù)。RA表示準確率,TP表示匹配準確的地址個數(shù),F(xiàn)P表示有正確的可匹配對象但匹配錯誤的地址個數(shù),TN表示無匹配對象而匹配錯誤的地址個數(shù),F(xiàn)N設為0。
實驗采用基于Jaccard相似度[22]的地址匹配方法、基于動態(tài)規(guī)劃的地址匹配方法[23]、基于Sorensen Dice的全文檢索地址匹配方法[24]、基于bert4keras預訓練[25]的地址匹配方法和本文方法分別對300條非標中文地址數(shù)據(jù)進行匹配率和準確率的計算。
基于Jaccard相似度的方法在信息檢索或者搜索引擎中經(jīng)常用到,在地址長度相同時有較好的效果;基于動態(tài)規(guī)劃的地址匹配方法不需要進行地址分詞,也不需要進行地址要素的特征提取,而是通過動態(tài)規(guī)劃直接計算文本的Levenshtein距離作為相似度判斷;基于Sorensen Dice的全文檢索地址匹配方法則是當?shù)刂芬匦畔R全時該方法的匹配結(jié)果較好;基于bert4keras預訓練的地址匹配方法,采用包含語義的LCQMC數(shù)據(jù)集并在其基礎(chǔ)上加入250條地址語料進行文本相似度的計算,計算耗時3天左右,匹配結(jié)果較好。
實驗硬件環(huán)境:文中使用計算服務器為8核Intel Xeon E5-2640 V2,2.00 GHz處理器,128 GB內(nèi)存。
由于測試地址數(shù)據(jù)集中包含了很多無效地址,極大影響了方法對高質(zhì)量的非標中文地址的有效性檢驗。因此選擇去除其中的無效地址,僅對有效地址進行匹配率和準確率的計算。通過人工的方法從有效地址即包含特征要素的地址中隨機抽取300條匹配結(jié)果進行測試,實驗結(jié)果對比如表7所示。
表7 對非標中文地址的匹配結(jié)果比較Table 7 Comparison of results of different matching methods for non-standard Chinese addresses %
從實驗結(jié)果可以看出,本文方法對該非標中文地址數(shù)據(jù)集有較好的匹配率和準確率,相較于前三種方法分別提高了5.37%、20.62%、2.23%和11.05%、15.30%、11.05%,對于基于bert4keras預訓練的地址匹配方法在地址準確率上也有0.95%的提高,匹配率可能由于訓練數(shù)據(jù)集中包含了針對特殊地址的相似度判斷處理,因此稍高于本文的方法。
本文提出了一種基于知識圖譜的中文地址匹配方法研究,與現(xiàn)有的中文地址匹配方法不同,該方法運用到了知識圖譜作為存儲方式,將地址名稱作為實體,地址所包含的特征要素作為實體間關(guān)系,構(gòu)建匹配地址的知識圖譜,并且可以隨時可視化查詢待測地址相關(guān)信息。同時對待測地址進行特征分析,構(gòu)建待測地址的知識圖譜,最后選用了基于實體關(guān)系權(quán)重的相似度算法進行地址匹配。實驗結(jié)果表明,該算法在處理非標中文地址時優(yōu)于的常見地址匹配算法,極大提高了地址的匹配率以及準確率。
知識圖譜本質(zhì)上是一種圖結(jié)構(gòu)數(shù)據(jù),通過圖建立知識和數(shù)據(jù)之間的關(guān)系,可以與圖神經(jīng)網(wǎng)絡等深度學習技術(shù)進行融合。接下來的工作將致力于研究把知識圖譜和圖神經(jīng)網(wǎng)絡引入自然語言處理[26]之中,更好地對非標中文地址進行文本分類、關(guān)系抽取以及特征選擇,同時結(jié)合實體對齊方法[27],優(yōu)化地址匹配算法,提高非標中文地址匹配效率,也為地址匹配相關(guān)地實戰(zhàn)應用做出基礎(chǔ)支撐。