ERNIE-GeoL:“地理位置-语言”预训练模型
本文介紹『文心大模型』的一項最新工作:“地理位置-語言”預訓練模型 ERNIE-GeoL。
-
論文鏈接:
https://arxiv.org/abs/2203.09127
實踐中的觀察
近年來,預訓練模型在自然語言處理、視覺等多個領(lǐng)域都取得了顯著效果?;陬A訓練模型,利用特定任務的標注樣本進行模型微調(diào),通??梢栽谙掠稳蝿杖〉梅浅:玫男Ч?。
然而,通用的預訓練語言模型在應用于地圖業(yè)務(如 POI 檢索、POI 推薦、POI 信息處理等)時的邊際效應愈發(fā)明顯,即隨著預訓練語言模型的優(yōu)化,其在地圖業(yè)務中所帶來的提升效果越來越小。
其中一個主要原因是地理領(lǐng)域的信息處理過程往往需要與現(xiàn)實世界的真實地理信息建立關(guān)聯(lián)。例如,在地圖 POI 搜索引擎中,當用戶輸入一個 query 時,除了文本和語義匹配,候選 POI 的位置,以及它與用戶當前所在位置的距離,都是非常重要的排序特征。而目前通用的預訓練語言模型則缺乏可以建立『地理位置-語言』之間關(guān)聯(lián)的訓練數(shù)據(jù)以及預訓練任務。
我們的創(chuàng)新
地理預訓練模型 ERNIE-GeoL
NLP 預訓練模型(如 ERNIE 3.0)主要聚焦于語言類任務建模,跨模態(tài)預訓練模型(如 ERNIE-ViL)主要側(cè)重于『視覺-語言』類任務建模。為了更好地學習『地理位置-語言』之間的關(guān)聯(lián),我們提出了地理預訓練模型 ERNIE-GeoL(Geo-Linguistic),主要聚焦于『地理位置-語言』類任務建模。
為了訓練 ERNIE-GeoL,我們引入了兩類地理知識來增強預訓練模型效果。
-
第一類為地名知識,地名(toponym)主要指地理實體(如 POI、街道和地區(qū))的名稱。
-
第二類為空間知識(如下圖所示),空間知識來自地圖業(yè)務中常見的空間數(shù)據(jù),主要包含單個地理實體的位置信息(通常以地理坐標形式表示),兩個地理實體之間的空間關(guān)系(通常以三元組的形式表示),以及人類移動數(shù)據(jù)(通常以 POI 序列的形式表示)。
為了在預訓練的過程中引入上述兩類地理知識,需要解決以下兩個挑戰(zhàn):
異構(gòu)數(shù)據(jù)融合。蘊含地理知識的數(shù)據(jù)類型主要包含文本(包含地名知識)、三元組以及序列(包含空間知識)。如何將這些多源異構(gòu)數(shù)據(jù)進行有效整合,并以統(tǒng)一的形式作為預訓練模型的輸入,是面臨的首要問題。
『地理位置-語言』跨模態(tài)學習。現(xiàn)有的跨模態(tài)預訓練大部分是對同一個概念的不同模態(tài)之間的關(guān)聯(lián)進行學習。例如,在“視覺-語言”預訓練中,主要目標是學習相同物體(如“一只貓”)的文本表示(如“可愛的貓”)和圖像(如“貓的圖片”)表示之間的語義關(guān)聯(lián)。而在進行“地理位置-語言”預訓練時,主要目標是學習一個地理實體(如“POI-ID1”)的文本屬性(如該POI名稱“北京西站”、POI地址“北京市豐臺區(qū)蓮花池東路118號”)與其對應地理坐標(該POI的經(jīng)緯度)之間的關(guān)聯(lián)。為了充分學習跨模態(tài)間的關(guān)聯(lián),需要設(shè)計有效的網(wǎng)絡結(jié)構(gòu)以及針對性的預訓練目標。
為解決上述挑戰(zhàn),ERNIE-GeoL 在預訓練數(shù)據(jù)構(gòu)建、模型結(jié)構(gòu)以及預訓練目標三個方面進行了針對性的設(shè)計和創(chuàng)新:
1.?預訓練數(shù)據(jù)構(gòu)建
為了解決挑戰(zhàn)1,ERNIE-GeoL 以百度地圖數(shù)據(jù)和 POI 數(shù)據(jù)庫作為數(shù)據(jù)源,基于圖槳 PGL(Paddle Graph Learning),利用其中蘊含的空間關(guān)系構(gòu)建了異構(gòu)圖。如下圖所示,該圖由兩種節(jié)點(POI 和查詢)和以下三種不同類型的邊構(gòu)成:
起點-到-終點,表示的是用戶對兩個地點的訪達,蘊含了豐富的空間移動信息。
POI-共同出現(xiàn)-POI,表示共同出現(xiàn)在同一個地塊內(nèi)的兩個POI,蘊含了空間共現(xiàn)信息。
查詢-點擊-POI,來自于用戶的地點查詢?nèi)罩?#xff0c;蘊含了豐富的地名和空間關(guān)系知識。
在此異構(gòu)圖的基礎(chǔ)上,我們使用隨機游走算法自動化地生成大量節(jié)點序列作為預訓練數(shù)據(jù)。下面是兩個真實的游走序列示例。
2.模型結(jié)構(gòu)
以上述方式構(gòu)建的數(shù)據(jù)蘊含了豐富的地理知識。為了更有效地從中學習地理知識,需要對其中的圖結(jié)構(gòu)進行充分建模。
為此,我們在設(shè)計 ERNIE-GeoL 的模型結(jié)構(gòu)(詳見下圖)時,專門引入了一個 TranSAGE 聚合層,用于充分學習訓練數(shù)據(jù)中的圖結(jié)構(gòu),同時將不同模態(tài)的數(shù)據(jù)映射到統(tǒng)一的表示空間。TranSAGE 層使用多頭注意力機制對每個節(jié)點的不同表示進行聚合,具體細節(jié)可參考文后所附論文。
3.預訓練目標
為了讓模型充分學習『地理位置-語言』間的關(guān)聯(lián),需要設(shè)計行之有效的預訓練目標。為此,在用于學習地名知識的掩碼語言模型(MLM)預訓練任務之外,我們設(shè)計了用于學習文本與地理坐標關(guān)聯(lián)的 Geocoding(GC)預訓練任務。
實現(xiàn) Geocoding,有兩種候選方案:
直接學習文本到經(jīng)緯度坐標的映射關(guān)系。這種方案是回歸任務,它的難點主要在于需要學習文本到唯一一個精確坐標的映射關(guān)系。若滿足業(yè)務要求(誤差<=20m),該坐標需要精確到小數(shù)點后4位,學習難度較大。
將地圖按一定范圍劃分格子,給每個格子編號,學習文本到編號的映射關(guān)系。這種方案是分類任務,優(yōu)點是可以捕捉文本和編號間的關(guān)聯(lián),主要缺點是維度爆炸問題。例如,將全世界按4平方米的范圍劃分格子,會得到105萬億個編號。
為了結(jié)合上述兩種方案的優(yōu)點并規(guī)避其缺點,我們選擇讓模型學習文本與其對應的地理實體所在的真實世界地塊的多層級字符編碼之間的關(guān)聯(lián)。
下圖給出了該任務的一個示例,我們將百度科技園所在的不同層級的地塊(L7 至 L10)表示成前綴互有關(guān)聯(lián)的 token(35f1c 至 35f1a9)。
我們利用固定網(wǎng)格系統(tǒng)的地塊編碼方式獲取其對應的 token。固定網(wǎng)格系統(tǒng)是一類對地球表面按照固定位置劃分格子的系統(tǒng)。大部分系統(tǒng)在進行劃分時允許選擇不同的層級,即用不同尺寸的格子對地表進行劃分。按一種固定尺寸劃分格子后,每個坐標點只落在一個格子內(nèi)。
我們從 GeoHash、H3 和 S2 geometry 這3種常見的固定網(wǎng)格系統(tǒng)(3種方案的具體對比見下圖)中選擇了 S2。主要原因在于S2使用變形程度較小的球面投影方式,并具有以下特性:
-
S2 轉(zhuǎn)換后的token層級最多;
-
S2 不同層級間的平滑度最高;
-
S2 可以實現(xiàn)多級覆蓋,即子級別的token所代表的地塊一定位于父級別的token所代表的地塊之內(nèi)。
依托多級覆蓋特性,在訓練的過程中,我們使模型按預測地塊編碼中每一個字符的方式一次性的預測出多個層級的地塊表示。
按這種方式,模型利用注意力機制可以學習到輸入中描述不同層級地理概念的文本(如北京市、海定區(qū)、西北旺東路10號、百度科技園)和不同層級(如L6、L9、L15、L15)的地理編碼的映射關(guān)系,從而使模型充分且高效地學習文本與地理坐標的關(guān)聯(lián),加強模型在處理不完整或不規(guī)范地理描述文本時的魯棒性。具體訓練方式詳見論文。
ERNIE-GeoL 應用效果如何?
為了驗證 ERNIE-GeoL 在地理位置相關(guān)任務上的應用效果,我們選取了5個地圖業(yè)務中的常見任務(詳見表1),包括:
POI 檢索業(yè)務中的 query 意圖識別(Query Intent Classification)任務;
POI 檢索業(yè)務中的 query-POI 匹配(Query-POI Matching)任務;
POI 推薦業(yè)務中的下一個 POI 推薦(Next POI Recommendation)任務;
POI 信息處理業(yè)務中的地址解析(Address Parsing)任務;
POI 信息處理業(yè)務中的地理編碼(Geocoding)任務。
表2顯示了各個模型在上述5個任務上的評測結(jié)果。從評測結(jié)果中可以看出,ERNIE-GeoL 在各個任務上的效果,均顯著超過了其他通用預訓練語言模型。
ERNIE-GeoL 是否學習到了
地理與語言間的關(guān)聯(lián)?
我們通過定性分析來驗證 ERNIE-GeoL 是否學習到了地理與語言間的關(guān)聯(lián)。
首先,我們選取中國除港澳臺以外的31個省級行政區(qū)劃中檢索熱度 top 500的 POI?;谶@些POI的名字和地址,通過不同預訓練模型獲得與之對應的 embeddings 后,再利用 t-SNE 算法將得到的 embeddings 進行降維。
結(jié)果如下圖所示,從中我們可以看出,通用的預訓練語言模型 BERT 無法將位于同一省份的 POI 聚在一起。與之形成鮮明對比的是,“地理位置-語言”預訓練模型 ERNIE-GeoL 能夠很好地將位于相同省份的 POI 聚在一起。同時,在現(xiàn)實世界中臨近的省份在圖中也相鄰,如圖中右上角的黑吉遼三省。
其次,借鑒著名的“king – man + woman ≈ queen”類比示例,我們也設(shè)計了兩個類比示例來驗證 ERNIE-GeoL 對于地理類比關(guān)系的學習效果(見下圖)。
示例 a 用來測試模型是否學習到了“一個城市的下級行政區(qū)劃”的關(guān)系。我們首先將查詢設(shè)置為“黃埔區(qū)-上海+北京”,候選設(shè)置為所有中國城市的下級區(qū)域名稱。然后用預訓練模型將查詢和候選分別表示為向量并計算各個候選向量和查詢向量之間的余弦相似度。
圖 a1,a2 分別展示了 BERT 和 ERNIE-GeoL 預測結(jié)果中余弦相似度排名前10的候選。從中可以看出,ERNIE-GeoL 召回的正確區(qū)域比 BERT 多出一倍。類似的,我們設(shè)計了另一個示例來測試模型是否學習到了“一個省的省會”的關(guān)系。在該測試中,查詢設(shè)置為“廣東省-廣州+昆明”,候選設(shè)置為所有中國省級行政單位的名稱。
如圖 b1,b2 所示,ERNIE-GeoL 以最高的相似度得分輸出了正確的目標省份“云南省”。此外,在這兩幅圖中,與 ERNIE-GeoL 預測的結(jié)果相比,BERT 預測結(jié)果的余弦相似度得分間的區(qū)分度較低。上述兩個定性分析的結(jié)果表明 ERNIE-GeoL 在一定程度上學會了不同地理實體之間的空間關(guān)系和語義關(guān)系。
最后,我們以 Geocoding 任務為例驗證 ERNIE-GeoL 是否能夠處理關(guān)于同一地理實體的各種不同描述。該任務的輸入為目標 POI(下圖中紅色文字描述的 POI)的不同文本描述(下圖中黑框白底矩形中的文本),輸出則為模型預測出的地理坐標。
從該示例中我們可以看出,ERNIE-GeoL 具有較強的魯棒性,可以處理關(guān)于同一地點的不同形式的文本描述,并且能夠排除無關(guān)詞(例如圖中“大衣柜一個”)的干擾,準確地預測出與之對應的地理坐標。
總結(jié)
ERNIE-GeoL 通過地圖數(shù)據(jù)自動化地構(gòu)建了蘊含地理知識的大規(guī)模預訓練數(shù)據(jù),并使用專門設(shè)計的網(wǎng)絡結(jié)構(gòu)和相匹配的預訓練目標對地理知識進行了充分的學習。
定量實驗中的顯著效果提升和定性實驗中的差異化結(jié)果,表明我們所提出的“地理位置-語言”預訓練模型 ERNIE-GeoL 能夠顯著提升地理位置相關(guān)任務的效果并具有廣泛的應用落地潛力。
-
有關(guān) ERNIE-GeoL 的更多細節(jié),請參考論文:
https://arxiv.org/abs/2203.09127
總結(jié)
以上是生活随笔為你收集整理的ERNIE-GeoL:“地理位置-语言”预训练模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日志中台不重不丢实现浅谈
- 下一篇: 绿盟数据库审计系统hive_数据库审计系