李朋朋,劉紀平,王 勇,羅 安,桑 瑜,閆雪峰
(1. 西南交通大學(xué)地球科學(xué)與環(huán)境工程學(xué)院,四川 成都 610031; 2. 中國測繪科學(xué)研究院,北京 100830;3. 江蘇海洋大學(xué)海洋技術(shù)與測繪學(xué)院,江蘇 連云港 222005)
近些年,隨著Web2.0、高精度定位、新興媒體及移動互聯(lián)網(wǎng)技術(shù)的融合發(fā)展,人們對基于位置服務(wù)數(shù)據(jù)的需求在急劇增加[1],特別是以POI數(shù)據(jù)為代表的地理空間數(shù)據(jù)也越來越備受關(guān)注。目前,基于POI數(shù)據(jù)開展的地理空間研究已成為GIS相關(guān)領(lǐng)域的研究熱點,如城市功能區(qū)識別[2-3]、城市活力分析[4-5]和用戶行為推薦[6-7]等。然而,這些研究幾乎依賴于幾何準確和語義詳細的POI數(shù)據(jù),但這些高質(zhì)量的數(shù)據(jù)描述通常分散在不同POI平臺上[8]。因此,匹配融合不同來源的POI數(shù)據(jù),已經(jīng)成為豐富數(shù)據(jù)完整性、增強數(shù)據(jù)質(zhì)量、提高數(shù)據(jù)鮮活度的一個有效途徑[9]。然而,由于不同POI數(shù)據(jù)源之間屬性表達的多樣性和復(fù)雜性[10],不可避免地導(dǎo)致多源POI數(shù)據(jù)之間存在地理位置編碼上的差異及定位誤差等問題,從而使得POI數(shù)據(jù)的匹配融合變得更加困難。
多源POI位置融合是將來自不同數(shù)據(jù)源中指向相同POI數(shù)據(jù)的位置進行合并,這也是實現(xiàn)地理空間數(shù)據(jù)匹配融合的關(guān)鍵技術(shù)之一。目前,關(guān)于這方面研究主要包括以下兩類方法:①基于地理編碼的空間位置預(yù)測,即利用地理編碼技術(shù)對現(xiàn)有的地理位置數(shù)據(jù)(如街道地址、郵政編碼、地名等)進行分析和建模,推斷出未知或缺失位置坐標[11-12],從而實現(xiàn)空間位置信息的整合;②基于標準地理數(shù)據(jù)庫的空間位置融合,即以標準地理數(shù)據(jù)庫作為參考,對不同數(shù)據(jù)源的地理位置信息進行匹配、校正和整合,從而消除數(shù)據(jù)源之間的差異和不一致性[13-14]。綜上所述,不同數(shù)據(jù)源使用不同的地理編碼系統(tǒng),導(dǎo)致融合過程中的匹配和轉(zhuǎn)換困難;同時,缺乏統(tǒng)一的標準數(shù)據(jù)庫和格式會影響數(shù)據(jù)融合的效率和一致性。
因此,本文提出一種顧及地址語義和地理空間特征的多源POI位置融合方法。基于神經(jīng)網(wǎng)絡(luò)模型分別提取地址屬性的語義特征和位置屬性的地理空間特征,并基于這些特征信息實現(xiàn)多源POI位置融合。
長短時記憶網(wǎng)絡(luò)(long short term memory network, LSTM)[15]是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)的一種變體,其主要目的是解決RNN無法獲取長距離依賴問題,以及在訓(xùn)練過程中出現(xiàn)的梯度爆炸和梯度消失等問題。如圖1所示,LSTM主要包括3個門控機制。其中,忘記門決定上一時刻的單位狀態(tài)中有多少信息會被丟棄;輸入門決定當前時刻的網(wǎng)絡(luò)輸入中有多少信息會被添加到單位狀態(tài)中;輸出門決定當前時刻的單元狀態(tài)中有多少信息可以輸出。具體計算公式為
圖1 LSTM網(wǎng)絡(luò)結(jié)構(gòu)
ft=σ(Wf·[ht-1,xt]+bf)
(1)
it=σ(Wi·[ht-1,xt]+bi)
(2)
(3)
(4)
ot=σ(Wo·[ht-1,xt]+bo)
(5)
ht=ot·tanhct
(6)
圖神經(jīng)網(wǎng)絡(luò)(graph neural network, GNN)是對圖中節(jié)點(Nodes)、邊(Edges)、全局(Global)的屬性值進行參數(shù)優(yōu)化,并保持圖的結(jié)構(gòu)不變,即保持了圖的對稱性[16],如圖2所示。目前比較流行的圖神經(jīng)網(wǎng)絡(luò)有圖卷積網(wǎng)絡(luò)(graph convolution networks, GCN)[17]、圖注意力網(wǎng)絡(luò)(graph attention networks, GAN)[18]和GraphSAGE圖神經(jīng)網(wǎng)絡(luò)[19]等。本文將使用圖注意力網(wǎng)絡(luò)提取地址屬性的層級語義特征。
圖2 GNN網(wǎng)絡(luò)二階鄰接節(jié)點特征優(yōu)化過程
本文方法主要包括:數(shù)據(jù)預(yù)處理、屬性特征提取和特征聚合3部分,如圖3所示。
圖3 多源POI位置融合框架
2.1.1 地址要素切分
中文分詞是中文文本處理的基礎(chǔ)工作,分詞的準確性將直接影響后續(xù)任務(wù)的表現(xiàn)。POI地址屬性是描述POI位置信息的一個重要屬性,它通常由多個不同且具有空間拓撲約束的地址要素或附加詞組成。這些地址要素可以描述某一個區(qū)域范圍或某一特定地理實體,附加詞可以描述一個方位、距離或拓撲關(guān)系等。因此,對于地址屬性的切分只需將其切分成多個地址要素和附加詞即可。本文采用文獻[20]提出的基于Bi-GRU的中文地址要素切分方法進行分詞,部分地址要素切分實例見表1。
表1 POI地址要素切分實例
2.1.2 地址要素詞向量表達
文本數(shù)據(jù)作為一種標記性語言,無法直接作為模型的輸入進行計算分析。因此,需要通過詞嵌入的方式將文本轉(zhuǎn)換成特征向量作為模型的輸入。詞嵌入通過訓(xùn)練給定的語料庫來生成一個詞嵌入向量矩陣M∈PD×d(D表示語料庫中詞的個數(shù),d表示詞嵌入向量維度),語料庫中每一個詞都能夠根據(jù)其對應(yīng)的索引在詞嵌入向量矩陣M找到相應(yīng)的向量表示Vc∈d。本文將基于地址要素語料庫,使用Word2Vec的連續(xù)詞袋模型(continuous bag-of-words model, CBOW)來訓(xùn)練生成地址要素的詞嵌入向量矩陣M。
將地址屬性語義特征提取分為文本語義特征提取和層級語義特征提取。
2.2.1 基于TextRCNN的地址文本語義特征提取
TextRCNN是2015年提出的文本分類網(wǎng)絡(luò)模型[21]。該模型既能夠捕獲句子序列中的長距離依賴關(guān)系,也能夠提取句子序列中的局部特征。本文基于該模型進行了改進,如圖4所示。首先,在給定一個地址要素表達序列S=(a1,a2, …,an)(an表示地址要素,n表示該地址中地址要素的個數(shù)),利用詞嵌入向量矩陣M生成對應(yīng)的詞嵌入向量矩陣E=[e1e2…en],并將其作為雙向長短時記憶網(wǎng)絡(luò)(Bi-LSTM)的輸入;然后,通過Bi-LSTM提取上下文特征矩陣H,并將其與詞嵌入向量矩陣E進行殘差連接生成向量矩陣K;最后,對向量矩陣K進行最大池化和全連接層操作,輸出地址屬性的文本語義特征向量xs。具體計算公式為
圖4 POI地址屬性文本語義特征提取
hr(ai)=fLSTM(hr(ai-1),cr(ai-1),ei)
(7)
hl(ai)=fLSTM(hl(ai+1),cl(ai+1),ei)
(8)
h(ai)=Wh(hr(ai)+hl(ai))+bh
(9)
k(ai)=Wk(h(ai)+ei)+bk
(10)
(11)
式中,hr(ai)和hl(ai)為地址要素ai在向右和向左方向上的LSTM隱藏層輸出;fLSTM為LSTM計算公式;cr(ai-1)為地址要素ai-1在向右方向上的LSTM單位狀態(tài);h(ai) 為地址要素ai的Bi-LSTM隱藏層輸出;k(ai) 為地址要素ai的殘差連接輸出;xs為地址屬性的文本語義特征向量;W和b為需要進行訓(xùn)練的權(quán)重和偏置項。
2.2.2 基于圖注意力網(wǎng)絡(luò)的地址層級語義特征提取
地址要素之間往往存在著一定的空間拓撲約束,如行政區(qū)劃之間有包含、相鄰等關(guān)系,行政區(qū)劃與道路之間有包含、相交或相鄰等關(guān)系,道路與標志物之間有包含、相鄰等關(guān)系。雖然不同地址要素之間的空間拓撲關(guān)系復(fù)雜多樣,但是大多數(shù)地址要素在地址表達中都是一種層級嵌套的包含關(guān)系。因此,本文主要考慮地址要素的層級嵌套關(guān)系,并基于圖注意力網(wǎng)絡(luò)提取地址層級語義特征。將地址要素語料庫中所有的地址要素作為GAN網(wǎng)絡(luò)節(jié)點,并根據(jù)地址要素在每條地址表達中的先后順序構(gòu)建GAN網(wǎng)絡(luò)的邊。同時,使用詞嵌入向量矩陣M對每個節(jié)點特征進行初始化。GAN網(wǎng)絡(luò)結(jié)構(gòu)的構(gòu)建如圖5所示。
圖5 GAN網(wǎng)絡(luò)結(jié)構(gòu)實例
在基于GAN網(wǎng)絡(luò)提取地址層級語義特征中,定義輸入GAN的一組圖節(jié)點為N=(n1,n2, …,nm);對應(yīng)的圖節(jié)點特征記為
F=(f1,f2,…,fn),fi∈d,其中m為圖中節(jié)點個數(shù),d為節(jié)點特征;對應(yīng)的輸出為一組圖節(jié)點特征F′=(f′1,f′2,…,f′2),f′i∈d′,其中圖中節(jié)點個數(shù)m和輸入圖節(jié)點個數(shù)相同,但節(jié)點特征進行了更新。
在節(jié)點特征fi的更新過程中采用了注意力機制,首先,將節(jié)點特征fi和其一階鄰接節(jié)點特征fj進行拼接,并通過一個單層前饋神經(jīng)網(wǎng)絡(luò)將拼接特征映射為一個實數(shù)。該實數(shù)表示節(jié)點nj對于節(jié)點ni的重要程度,即注意力系數(shù)。然后,對于節(jié)點ni的其余一階鄰接節(jié)點及自身節(jié)點進行相同操作,以獲取所有一階鄰接節(jié)點及自身節(jié)點對于節(jié)點ni的注意力系數(shù)。最后,對所有的注意力系數(shù)進行歸一化操作,并將歸一化結(jié)果與其對應(yīng)的一階鄰接節(jié)點及自身節(jié)點的輸入特征進行加權(quán)求和,以此來更新節(jié)點ni的特征。具體計算公式為
(12)
(13)
式中,aij為節(jié)點nj對于節(jié)點ni歸一化后的注意力系數(shù);αT∈2d′×1為單層前饋神經(jīng)網(wǎng)絡(luò)權(quán)重的轉(zhuǎn)置;W∈d×d′為節(jié)點特征的線性變化權(quán)重,該權(quán)重在所有圖節(jié)點中共享;LeakyReLU和σ為激活函數(shù);‖為節(jié)點特征拼接;Ni為節(jié)點ni的一階鄰接節(jié)點以及自身節(jié)點的集合。
為了能夠?qū)W習到更加豐富的地址層級語義特征,采用了多頭注意力機制。即使用多個注意力機制進行上式相同的操作,然后將得到的多個更新節(jié)點特征進行拼接,得到新的節(jié)點特征,公式為
(14)
位置屬性就是一組空間特征,但屬于低維特征,地理空間特征表征有限。因此,需要對位置屬性進行增維操作,生成高維特征以獲得足夠的地理空間表達能力。多層感知機(multilayer perceptron, MLP)作為一種常見特征增強方法[22],它由多個神經(jīng)元層組成,其中每層神經(jīng)元的輸出將通過全連接的方式作為下一層神經(jīng)元的輸入,并生成新的特征表達。MLP包含一個輸入層、一個或多個隱藏層和一個輸出層,其中隱藏層的每一個神經(jīng)元都是通過非線性激活函數(shù)將其輸入轉(zhuǎn)換為特征輸出,這種轉(zhuǎn)換可以獲取高維特征,從而增強輸入信息的特征表達能力。本文構(gòu)建的MLP網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 多層感知機
x1=f1(W1x+b1)
(15)
x2=f1(W2x1+b2)
(16)
y=f2(W3x2+b3)
(17)
式中,x∈2為經(jīng)緯度坐標;W和b為需要進行訓(xùn)練的權(quán)重和偏置項;f1和f2分別為隱藏層和輸出層的激活函數(shù)。
自注意力機制是一種用于處理序列數(shù)據(jù)的機制,它通過計算輸入序列中每一個元素與其他元素之間的相關(guān)關(guān)系,實現(xiàn)對不同元素的加權(quán)聚合[23]。本文使用自注意力機制對地址語義特征和地理空間特征進行聚合,實現(xiàn)多源POI位置融合任務(wù)。如圖7所示,注意力機制計算主要包括3部分:注意力權(quán)重、加權(quán)求和、線性變換。計算之前,需要將地址語義特征和地理空間特征進行合并,構(gòu)建序列矩陣X。在注意力權(quán)重計算時,需要對輸入序列矩陣X分別使用線性映射矩陣WQ、WK和WV分別映射成Q、K和V,然后通過Q和KT的點乘計算注意力權(quán)重M,該權(quán)重通過歸一化操作后將作為加權(quán)求和的輸入;加權(quán)求和是對注意力權(quán)重M與V進行點乘計算,生成特征聚合矩陣H。最后,通過線性變換將特征聚合矩陣H映射到一個低維空間來預(yù)測多源POI合并位置點,從而實現(xiàn)多源POI數(shù)據(jù)的位置融合任務(wù)。具體計算公式為
圖7 基于自注意力機制的位置融合
Q=(WQX+bQ)
(18)
K=(WKX+bK)
(19)
V=(WVX+bV)
(20)
(21)
H=A?H
(22)
y=f(WyH+by)
(23)
式中,dk為矩陣Key的維度;f為激活函數(shù);? 為矩陣的點乘;W和b為需要進行訓(xùn)練的權(quán)重和偏置項。
在該任務(wù)中使用融合位置與參考位置之間的歐氏距離作為模型訓(xùn)練的目標函數(shù)和評價指標,計算公式為
(24)
式中,lonr和latr為參數(shù)位置的經(jīng)緯度;lonf和latf為融合位置的經(jīng)緯度。
本文試驗環(huán)境的主要參數(shù)如下:深度學(xué)習框架為PyTorch 1.7,開發(fā)語言為Python 3.7,CPU為Intel(R) Core (TM) i9-9900K CPU @ 3.60 GHz,內(nèi)存為 32 GB,GPU 為 NVIDIA GeForce RTX 2080 Ti。
本文試驗數(shù)據(jù)均來自成都市范圍內(nèi)的POI數(shù)據(jù)。其中,用于多源POI位置融合的數(shù)據(jù)源分別來自百度地圖、騰訊地圖和高德地圖3種數(shù)據(jù)源;用于參考位置的POI數(shù)據(jù)源來自當?shù)販y繪部門的實測數(shù)據(jù)。在構(gòu)建樣本數(shù)據(jù)集過程中,采用文獻[9]的多源POI數(shù)據(jù)匹配方法尋找在百度地圖、騰訊地圖和高德地圖中至少有兩種數(shù)據(jù)源可以匹配到參考數(shù)據(jù)源中的同名POI數(shù)據(jù)。將匹配到的同名POI數(shù)據(jù)作為需要位置融合的POI數(shù)據(jù),使用參考數(shù)據(jù)源作為樣本標簽。共生成樣本數(shù)據(jù)集37 036條,其中訓(xùn)練數(shù)據(jù)集36 036條,驗證數(shù)據(jù)集500條,測試數(shù)據(jù)集500條。
一個性能更優(yōu)的網(wǎng)絡(luò)模型,超參數(shù)的設(shè)置極其重要,給出了網(wǎng)絡(luò)模型中超參數(shù)的一個初始值和最優(yōu)值,見表2。其中,Hidden size、Batch size和Dropout rate3種超參數(shù)通過試驗選取最優(yōu)值,主要是因為網(wǎng)絡(luò)模型對于這些超參數(shù)比較敏感,其余超參數(shù)的最優(yōu)值使用初始值。
表2 網(wǎng)絡(luò)模型超參數(shù)設(shè)置
為了驗證本文方法對于多源POI數(shù)據(jù)位置融合的精度,將該方法與現(xiàn)有基于機器學(xué)習和深度學(xué)習的方法進行比較,對比結(jié)果見表3(位置融合精度的最大值、平均值和最小值指在測試數(shù)據(jù)集上取得的值)。
表3 多源POI數(shù)據(jù)位置融合方法對比試驗結(jié)果 m
由表3可以看出,基于機器學(xué)習的Fuzzy SVM位置融合方法精度最低,相比之下,基于深度學(xué)習的Word2Vec+TextCNN、BERT和RoBERTa位置融合方法的精度都有很大提升。具體而言,基于Word2Vec+TextCNN的位置融合方法是所有深度學(xué)習方法中融合精度最優(yōu)的,其次是基于RoBERTa位置融合方法,最后是基于BERT位置融合方法。本文方法在所有對比方法中取得最優(yōu)值,分析其原因,主要得益于以下幾點: ①基于TextRCNN網(wǎng)絡(luò)可以有效地提取地址屬性的文本語義特征; ②基于GAN網(wǎng)絡(luò)可以有效地提取地址屬性的層級語義特征; ③使用自注意力機制聚合了地址屬性的語義特征和位置屬性的地理空間特征,豐富了POI數(shù)據(jù)的表達特征,從而提高了融合精度。
為了驗證地址文本語義特征和地址層級語義特征對于位置融合精度的影響,進行了消融試驗。第1組消融試驗僅使用了地址的文本語義特征和地理空間特征進行位置融合,沒有使用地址層級語義特征。第2組消融試驗僅使用了地址的層級語義特征和地理空間特征進行位置融合,沒有使用地址文本語義特征,試驗結(jié)果見表4。
表4 消融試驗對比結(jié)果 m
由表4可以看出,在第1組消融試驗中,相比原始模型,其最大融合精度降低了22.98 m;平均融合精度降低了10.32 m;最小融合精度降低了0.39 m。在第2組消融試驗中,相比原始模型,其最大融合精度降低了18.10 m;平均融合精度降低了5.88 m;最小融合精度降低了1.96 m。因此,可以看到取消TextRCNN和GAN任何一個網(wǎng)絡(luò)都會嚴重影響位置融合精度。
針對不同POI數(shù)據(jù)源之間位置編碼的差異與定位誤差,本文提出了一種顧及地址語義和地理空間特征的多源POI位置融合方法。該方法使用了TextRCNN、GAN和MLP網(wǎng)絡(luò)模型提取地址屬性和位置屬性的語義特征和地理空間特征,并基于自注意力機制的聚合特征實現(xiàn)多源POI數(shù)據(jù)的位置融合。最后,對成都市范圍內(nèi)的百度地圖、騰訊地圖和高德地圖中的同名POI數(shù)據(jù)進行位置融合試驗,其平均位置融合精度優(yōu)于12 m。盡管本文提出的方法取得不錯的融合精度,但還是存在一些局限性。如本文只考慮了地址要素之間的拓撲包含關(guān)系,但除此之外還有相鄰、相交、相接等關(guān)系。因此,在未來的研究中需要對GAN網(wǎng)絡(luò)的圖結(jié)構(gòu)進行優(yōu)化。