吳 恪 涵,張 雪 英,葉 鵬,懷 安,張 航
(自然資源部城市國土資源監測與仿真重點實驗室,廣東 深圳 518034;南京師范大學虛擬地理環境教育部重點實驗室/江蘇省地理信息資源開發與利用協同創新中心,江蘇 南京 210023)
地址作為不可或缺的基礎地理信息和社會公共信息,在國家治理、經濟建設、文化傳承等方面發揮著重要作用[1]。2019年,國家自然資源部發布《智慧城市時空大數據平臺建設技術大綱》,其中明確要求實現高效、精準、實用的地址匹配服務技術,以建立智慧城市中時空數據和非時空數據的有序化組織與關聯。地址解析是地址匹配的一項基礎環節,可為地址數據檢索、地址標準化、地址語義理解等應用提供支撐[2]。面對日益增長的地址數據規模,實現地址要素的準確解析已成為提升地址匹配服務水平的重要技術挑戰。
西文地址解析主要依靠詞與詞之間的空格和標點符號間隔,對每個單詞進行詞干還原和詞形還原,如經典的波特算法等[3,4]。中文地址由于缺少形態、沒有分隔符、特征字詞省略或冗余等特點,解析難度較大。目前,對于中文地址解析的研究主要包括地名詞典、規則模型和統計學習等方法。基于地名詞典的方法原理簡單,但詞典構建的人工工作量較大,同時也存在未登錄詞和歧義識別等難以解決的缺陷[5,6]。規則模型是將地址數據按照一定的掃描規則進行匹配,包括正向最大匹配法和逆向最大匹配法等[7,8],但不同地區的地址命名與使用方式存在較大差異,適用于特定地區的詞典與規則難以在其他地區推廣應用。統計學習方法不依賴地址要素詞典,而是根據相鄰字詞的共現頻繁度進行地址解析,語句中頻繁共現的字詞一定程度上可以反映其組合成地址要素的可信度,通常采用馬爾可夫模型、N元模型、最大熵模型和支持向量機等機器學習模型[9-11],但基于統計的機器學習方法效果受特征設定的限制,特征過多時易出現模型訓練過擬合的狀況,且單一的概率條件也難以作為地址解析的依據[12]。
近年來,人工智能、大數據和自然語言處理等技術快速發展,深度學習模型憑借其在深層結構上自動學習上下文特征的優勢,為中文地址解析提供了新思路和強有力的技術支撐,如長短記憶(Long-Short Term Memory,LSTM)網絡、雙向長短記憶(Bi-directional Long Short-Term Memory,BiLSTM)網絡、K近鄰標簽修正等模型已成功應用于中文地址解析[13-15]。但深度學習模型的參數量相較于上述統計機器學習模型迅速增加,需要更大規模的標注語料庫進行模型訓練以防止參數欠擬合或過擬合,而標注語料的生產代價高昂,對于大多數自然語言處理任務而言,構建大規模的標注數據集是一項巨大的挑戰[16]。BERT(Bidirectional Encoder Representation from Transformers)作為一種先進且應用廣泛的語言表達模型,通過非監督學習的方式從大規模文本中提取中文語句的雙向語義特征,進一步增強詞向量模型泛化能力,能更好地表征不同語境中的句法與語義信息,一定程度上可擺脫監督學習對于大規模標注數據的依賴,有效減少人工標注的勞動介入[17]。因此,將BERT融合到深度學習模型中將成為提升中文地址解析性能的一種新途徑。
中文地址解析是面向中文地址文本展開地址要素結構化切分處理和地址要素語義識別的過程。由于中文在表達上缺乏天然分隔符,使得中文地址中各要素的描述多樣化且結構模式復雜,利用傳統的自然語言分詞技術可能會導致地址要素的錯誤拆分。捕捉和挖掘地址中各類地址要素間存在的層級與順序約束關系,成為解析中文地址的關鍵,然而,由于地址文本相較于普通文本篇幅較短,需擴展地址中的上下文信息。漢字是中文表達中最小的語音、句法和語義單元,對于各個詞項的關聯性比詞組更豐富[18,19],許多中文地址要素可以被分割為單個具有獨立語義的漢字字符。以“山西省”為例,該地址要素中各字符都具有獨立的語義,“山”指太行山,“西”指西邊、西部,“省”則特指中國二級行政區劃,可見字符級向量相比詞向量能表達粒度更細的語義信息。因此,本文提出一種基于字符級嵌入的BERT-BiLSTM-CRF模型,用于解析中文地址。
BERT-BiLSTM-CRF模型是基于BiLSTM-CRF模型[20]發展的一種無需人工歸納特征、端到端的深度學習模型,可滿足目前中文地址解析和地址要素標注任務需求。該模型自底向上由編碼器、BiLSTM神經網絡層和條件隨機場(CRF)層組成:編碼器是基于字符級的中文BERT模型,將輸入的中文地址字符映射到低維稠密的實數空間中,挖掘中文地址中各類地址要素蘊含的潛在語義;BiLSTM神經網絡層將編碼器轉化而來的字符向量作為輸入,捕捉中文地址序列前向(自左向右)和后向(自右向左)的雙向特征;條件隨機場層以上游BiLSTM提取的雙向特征作為輸入,結合BIOES標注范式[21]生成地址中各字符對應的標簽,從而進一步將中文地址按照標簽解析為各類地址要素(圖1)。

圖1 BERT-BiLSTM-CRF模型框架Fig.1 Framework of BERT-BiLSTM-CRF model
2.1.1 中文地址要素分類 地址通常由一個或多個表達不同地理區域范圍的地址要素排列而成,不同地址要素指代的地理區域范圍具有顯著的層次性[22-25]。中文地址要素包括行政區劃、道路、門牌號等六大類型(表 1),不同類型的地址要素在地址描述中的作用不同,因而可將其劃分為不同級別。例如,一個地址描述的基本要素包括行政區劃和道路,則將其定義為一級主地址要素,每增加一個級別,地址對于地理位置的描述更詳細。

表1 中文地址要素分類Table 1 Classification of Chinese address elements
2.1.2 中文地址語料標注 標注語料庫是利用機器學習和深度學習模型進行地址解析和匹配的重要基礎,也是一項較為復雜、需大量人工介入的知識工程。以txt為標記元語言,參考地址要素分類體系,制定地址數據標注規范以構建中文地址數據標注語料庫。序列標注標簽方案BIOES具有通用性,其中,B(Begin)表示開始,I(Inside)表示中間,O(Outside)表示外部,E(End)表示結尾,S(Single)表示該詞可單獨組成一個要素。由于一個地址涉及多種類型的要素,需對傳統BIOES進行擴展,為每個標簽加上地址要素類型,如B-A1、I-A1、E-A1、O-A1和單個詞O。為簡化標注操作,直接在每個地址要素的結尾打標簽(表 2),該方案既能提高地址標注的效率,也可自動生成適用于深度學習的標注語料格式。

表2 基于擴展BIOES的中文地址語料標注示例Table 2 An example of Chinese address corpus label based on extended BIOES
預訓練語言模型的核心思想是使用大規模文本語料庫進行預訓練,對特定的小規模數據集微調,降低下游自然語言處理任務的難度[16,26]。研究表明,大型語料庫的預訓練模型可學習通用的語言表達模式,對模型更好地參數初始化、正則化。通用的語言表達模式指能捕獲隱藏在文本數據中的語言規則和常識,如詞匯含義、句法結構和語義角色[27,28]等。基于BERT模型的中文字符向量化主要分為兩階段:1)模型訓練。BERT模型基于大規模無標注語料,利用表義能力較強的雙向Transformer深度學習網絡結構進行無監督訓練,以獲取語料上下文相關、富含文本語義信息的雙向特征表示;同時,依據小規模中文地址標注語料庫進行模型參數微調,獲得面向中文地址文本的語義表示。2)地址文本的中文字符向量化。將輸入的中文地址分割為獨立字符,依次輸入到BERT模型中獲取字符對應的實數向量,將結果拼接后獲得中文字符向量矩陣。
LSTM網絡模型是在標準循環神經網絡(Recurrent Neural Network,RNN)基礎上改進后的神經網絡模型,其利用門控單元極大緩解了標準RNN模型存在的梯度消失和梯度爆炸問題,提升了模型提取時間序列數據中潛在長距離依賴關系和發掘潛在語義特征的能力[29,30]。地址文本數據作為一種特殊的文本序列數據,在地址解析過程中需要模型提取地址要素間的語義關聯和相互依賴關系,由于LSTM模型只能獲取與地址文本閱讀順序相同方向上的地理要素依賴關系,無法兼顧與地址文本閱讀相反順序的地址要素語義關聯,因此本研究采用BiLSTM網絡模型提取地址文本中的潛在語義關聯。BiLSTM網絡模型由兩層LSTM網絡構成,且兩個LSTM層均與輸入層、輸出層相連,模型對輸入的地址字符向量分別按照前向和后向序列進行訓練,利用隱藏狀態和門控單元傳遞上下文依賴關系,將模型前向與后向LSTM神經網絡的最終隱藏狀態拼接、運算后獲得每個字符在各標簽的得分。
條件隨機場(CRF)是一個判別式無向圖機器學習模型,在中文分詞和中文命名實體名詞識別等序列標注中表現出色[31-34]。CRF模型可看作給定觀測變量x和序列標注結果y的條件模型,由數據直接學習決策函數y=f(x)或條件概率分布p(y|x)作為預測的模型,在給定x(地址文本中每個字符在所有標簽上的得分)的條件下,序列標注結果y的概率聯合分布的表現形式可定義為:
(1)
式中:ti(yi-1,yi,x,i)是整個觀察值序列、位置i和i-1 標記序列的轉移特征函數;sk(yi,x,i)是位置i的標記和觀察序列的狀態特征函數;系數λj和μk需要從訓練語料中估計得出。
根據條件隨機場模型的理論,求解地址要素序列標注最優解問題可轉化為求解以概率最大化為目標的最優路徑問題[35]。
以2019年5 800萬條深圳市地址數據作為基礎數據集,66.8萬條全國行政區劃數據作為輔助數據集,進行中文地址解析,抽取基礎數據集中4萬條地址數據作為訓練集。由于全部數據集規模巨大,采用抽查的方式進行解析性能評估,從基礎數據集中隨機抽取5 000條地址數據,共抽取5次,以全部測試數據的平均值作為評估結果。在準確率(P)、召回率(R)和F1值基礎上,進一步采用宏平均(Macro)算法評估解析結果,計算公式為:
P=TP/(TP+FP)
(2)
R=TP/(TP+FN)
(3)
F1=P×R×2/(P+R)
(4)
(5)
(6)
(7)
式中:TP為正樣本被模型預測為正樣本的數量;FP為負樣本被模型預測為正樣本的數量;FN為正樣本被模型預測為負樣本的數量;TN為負樣本被模型預測為負樣本的數量。
本實驗中BERT-BiLSTM-CRF模型基于深度學習框架Tensorflow實現,開發語言為Python 3.6,多線程部署方式為Tornado。實驗環境采用12核Intel Core i7-5820K 3.30 GHz處理器,32 G內存Nvidia GeForce GTX2060 GPU,Ubuntu 14.10 Linux 64位操作系統。模型中相關參數設置如表3所示。

表3 BERT-BiLSTM-CRF模型參數設置Table 3 Parameter setting of BERT-BiLSTM-CRF model
選取CRF、IDCNN-CRF與BiLSTM-CRF等主流機器學習模型,從字符級層面對中文地址解析結果進行對比。各模型的訓練時長和準確率等指標如表4所示。在解析性能方面,基于CRF的地址解析模型受限于模型結構,解析效果相對較差;IDCNN-CRF、BiLSTM-CRF的解析效果優于CRF模型,但兩者差距不大;BERT-BiLSTM-CRF的解析效果明顯優于其他模型,可有效獲取地址字符、詞語和句子3種等級的特征信息,能更高效地表示不同語境下的句法和語義信息,提高地址解析模型的泛化能力和精度,但該模型受內存等硬件設備限制,模型訓練中迭代窗口的大小有限,訓練時間是其他模型的數倍,加之模型中涉及的參數規模大,需耗費更多的計算資源。

表4 不同模型的字符級中文地址解析結果Table 4 Results of character-level Chinese address resolution using different models
地址要素是中文地址的最小語義單元,進一步分析要素級地址解析結果(表5)可知,BERT-BiLSTM-CRF模型對中文地址各類要素的解析效果均較好,多數類型的中文地址要素解析準確率達90%以上,一至四級行政區劃、道路、戶室號和部分附加信息等類型的準確率達95%以上。五級行政區劃的準確率和召回率比前四級行政區劃低,主要因為在中文地址描述中,五級行政區劃常被縮寫或省略,且易與局部區域等要素類型混淆;可通過增加輔助的全國行政區劃數據集進行優化,將識別出的要素與輔助數據集進行匹配,以獲得行政區劃要素的正確類型。局部區域要素的解析準確率較差,通過解析錯誤案例分析其原因在于:1)地址要素解析粒度不統一,不同局部區域在空間范圍表征上有尺度差異,當多級局部區域相互嵌套時解析難度增加;2)局部區域易與五級行政區劃、樓幢號等要素類型混淆,缺乏明顯的描述規律,可通過增加部分人工總結的規則模型提升準確性。附加信息雖在中文地址描述中的出現頻次不高,但可通過對空間關系的表達使地址的地理位置描述更豐富。實驗結果中方位、距離和拓撲(如“周圍”“附近”“交叉”等)等空間關系信息在準確率和召回率方面都表現良好,表明該模型可以進行中文地址中空間關系的語義解析。

表5 要素級中文地址解析結果Table 5 Results of element-level Chinese address resolution
在中文地址要素多級分類體系基礎上,對傳統BIOES序列標注標簽方案進行擴展,設計中文地址標注方案;將預訓練模型、統計學習模型和深度學習模型相結合,充分利用三者優勢構建綜合深度學習模型;以深圳市地址數據為例,利用標注地址語料訓練CRF、IDCNN-CRF、BiLSTM-CRF和BERT-BiLSTM-CRF模型并對比其解析結果。實驗結果表明:擴展的BIOES方案有利于提高地址標注效率,也更易于深度學習訓練;相較于其他單一或雙層的機器學習模型,BERT-BiLSTM-CRF模型在小規模地址語料上解析效果更優,且對于不同類型的地址要素都具有良好的性能。后續研究需探討以下內容:多層次的深度學習模型訓練時間過長,為提升實際應用效果需深入研究大規模的深度學習并行訓練方法;針對部分低層次地址要素類型解析錯誤,需在深度學習中更多地融合語法規則與領域知識作為引導,進一步提升中文地址的解析精度。