鄧慶康,李曉林
(1.武漢工程大學計算機科學與工程學院;2.智能機器人湖北省重點實驗室,湖北武漢 430205)
中文位置語義解析是指將非結構化的中文位置信息拆分成若干最小位置要素,是中文分詞在地理信息領域的應用。隨著互聯網相關技術的迅速發展與普及,位置信息已被廣泛應用于各種網頁端和移動應用端,如北斗衛星導航系統、地圖類軟件、外賣軟件、打車軟件等。隨著互聯網越來越開放化,網絡上大量位置信息數據來源于用戶上傳與共享的文本位置信息,這些信息很大程度上是用戶根據個人理解上傳的信息,缺乏統一標準及格式,存在語義模糊、表意不清、結構混亂等問題。因此,有效的中文位置語義解析算法顯得尤為重要,已成為地理信息領域應用需要解決的核心問題之一。
傳統中文位置語義解析主要是通過規則和統計兩種方法進行的。基于規則的中文位置語義解析主要依靠中文位置信息字典,如馬照亭等利用地理編碼庫編制地址字典對地名∕地址進行分詞;張雪英等通過構建地址特征庫提高對中文位置的解析準確率;趙陽陽等通過測試證明FMM算法能夠實現對地名地址串的拆分,有效解決了對未登錄地址名稱的識別問題。基于統計的中文位置語義解析主要依靠傳統的機器學習方法,如應申等利用統計決策樹對城市地址進行集中分詞;謝婷婷等先利用統計規則統計詞頻,經過預處理后再對地址串進行切分;王勇等利用隱馬爾可夫模型(Hidden Markov Model,HMM)對地名語義進行解析。傳統的中文位置語義解析方法雖已十分成熟,但忽略了位置詞與位置詞之間的聯系,對中文位置解析的效果與泛化能力都較差。
近年來,隨著神經網絡模型被廣泛應用于中文分詞領域,如Switch-LSTM模型、CNN-BiLSTM模型、BERT模型等,中文位置信息也利用神經網絡模型進行語義解析。如張文豪等對比長短記憶(Long Short-term Memory,LSTM)網 絡和雙向長短記憶(Bi-directional Long Short-term Memory,BiLSTM)網絡在中文位置語義解析中的效果,證明利用這兩種模型進行位置語義解析都能得到很高的準確率;程博等根據中文位置信息具有行政區劃的層級規范,提出中文位置信息的層級標注策略,將BiLSTM 與CRF(ConditionalRandomField)相結合進行位置語義解析,能得到更好的分詞效果。
上述方法雖然都具有可行性,但仍存在許多問題有待解決。傳統的中文位置語義解析方法忽略了位置詞之間的聯系,致使解析效果與泛化能力很差。當前神經網絡模型應用于中文位置語義解析,雖然分詞準確率較高,但是存在多義詞解析效果差、泛化能力差等問題。
針對上述問題,本文提出一種基于BERT-BiLSTMCRF 模型的中文位置語義解析算法。首先利用BERT(Bidirectional Encoder Representation from Transformers)預訓練模型對中文位置信息進行預訓練,獲取所有層中的上下文信息,增強中文位置信息的語義表征能力,然后通過BiLSTM 模型提取向量特征信息,最后通過CRF 模型的轉移概率矩陣得到全局得分最高的標注序列作為最終結果。利用該模型進行中文位置語義解析,得到的整體解析準確率和多義詞解析準確率都較高,并且針對不同區域的位置信息數據集具有很好的泛化能力。
BERT-BiLSTM-CRF 模型的系統結構如圖1 所示。首先,利用BERT 預訓練模型將位置信息轉化為特征向量,并將特征向量作為BiLSTM 網絡的輸入;然后,特征向量在前向LSTM 與后向LSTM 的作用下獲得隱藏向量,將隱藏向量轉化為定長的文本向量,再將此向量輸送到CRF 層,即將BiLSTM 層中的So-ftMax 層替換成CRF 層;最后,將BiLSTM網絡輸出的向量與CRF 層中的參數相結合,以獲得整個句子的標簽分數,并找到位置信息的最佳標簽。

Fig.1 Structure of BERT-BiLSTM-CRF model圖1 BERT-BiLSTM-CRF 模型結構
在自然語言處理領域,通常使用Word2Vec 方法進行詞嵌入操作,但這種操作文本序列的解析是靜態的。2018 年由Devlin 等提出的BERT 模型通過無監督方式學習,能保存深層的特征信息,具有更好的泛化能力,其結構如圖2所示。Bert 模型主要由雙向Transformer 的encoder 結構組成,利用Mask 預訓練任務學習token 的上下文語義信息,并利用下一句預測任務學習句子的順序特征信息。在掩碼語言模型任務中,會隨機選擇15%的位置信息進行遮掩,之后將80%的被遮掩位置信息用maskedtoken 取代,10%的被遮掩位置信息用隨機產生的詞語取代,余下被遮掩的位置信息保持原狀。

Fig.2 Structure of BERT圖2 BERT 結構
雙向Transformer 是一個完全基于注意力機制的模塊,其編碼單元如圖3 所示。Transformer 由多個重疊的單元組成,每個單元又由兩部分組成,第一部分是自注意力機制(self-attention),第二部分是前饋神經網絡(FeedForward-Network)。單元內部的子層之間設計了殘差連接,如圖3中虛線所示,該連接可保證把上一層信息完整地傳到下一層。當輸入部分進入Transformer 特征抽取器時,在第一個子層中首先經過自注意力層,然后進行殘差處理與標準化;在第二個子層中把從自注意力層得到的輸出傳遞到前饋神經網絡中,然后同樣進行殘差處理與歸一化。因為單一自注意力機制無法獲取更多子空間信息,而多頭注意力機制可獲取句子級別的語義信息。該機制采用多個自注意力機制進行并行計算,將多組輸出乘以隨機初始化的矩陣,最后通過線性變換輸出最終結果。

Fig.3 Transformer coding unit structure圖3 Transformer 編碼單元結構
循環神經網絡(RNN)是一種典型的深度學習模型,在理論上可處理序列數據并學習任意長度的上下文信息。但當數據長度過長,會出現梯度消失問題,致使其無法繼續優化。因此,RNN 是長度相關的。由于RNN 的這一缺陷,在文獻[17]中提出長短期記憶網絡模型,這是一種改進的RNN 模型。LSTM 網絡單元如圖4 所示。
LSTM 單元內部計算公式可定義如下:

σ
是Sigmoid 函數,f
、i
和o
分別代表遺忘門、輸入門與輸出門,W
、W
、W
和W
代表權重矩陣,b
、b
、b
和b
代表誤差,h
代表隱藏狀態,x
、h
、C
代表輸入,h
、C
代表輸出。最后,當有n個LSTM 單元時,可獲得輸出向量(h
,h
,h
,…,h
)。
Fig.4 Structure of LSTM cell圖4 LSTM 單元架構

X
的預測序列y
=(y
,y
,y
,…,y
)情況下,本文使用CRF 模型獲得標簽最佳序列。設A
表示CRF 層中的過渡矩陣,其中A
表示從標簽y
到標簽y
的過渡分數。P
是BiLSTM 的輸出得分矩陣,其中P
代表屬于標簽y
的單詞i
的置信度得分,將得分s
(X
,y
)定義為式(7)。
s
(X
,y
)越高,預測越準確。因此,可利用式(8)獲得最可靠的輸出。
中文位置信息沒有現成的數據集,本文從網上獲取到25 萬條關于武漢市的原始中文位置信息數據集,以及3 萬條關于孝感市的原始中文位置信息數據集。原始中文位置信息存在數據重復、缺失及結構混亂等情況,故需要對數據進行預處理后再使用。剔除不規則的中文位置信息數據后,篩選得到用于本次實驗的20 萬條武漢市標準中文位置信息數據集和2 萬條孝感市標準中文位置信息數據集。數據集格式如表1 所示。

Table 1 Standard Chinese location information format表1 標準中文位置信息格式
將20 萬條武漢市標準中文位置信息數據集分別按照數量2 萬、6 萬和12 萬隨機分成A 組、B 組及C 組,并將全數據集設置為D 組,每組都按照7∶2∶1 的比例分為訓練集、測試集與驗證集,每組數據集規模如表2 所示。將2 萬條孝感市標準中文位置信息數據集設置為E 組,只作為測試集使用。

Table 2 Dataset size表2 數據集規模
本文實驗環境配置如下:操作系統為Ubuntu18.04,CPU型號為Intel Xeon E5-2665,GPU型號為GTX1080Ti;內存為64G,顯存為11GB;Python 版本為3.7.0,Pytorch 版本為1.7.0。
BERT 模型參數設置如下:版本為BERT-Base;網絡層數為12,隱藏層為768;多頭數量為12,總參數量為110M,序列最大長度為128;train_epochs 為20,train_batch_size 為16;學習率為5e-5,dropout 率為0.5;BiLSTM_size 為128。
目前,常用的序列標注策略有很多,本文在中文位置語義解析實驗中選擇使用BMES 4 位序列標注策略,其中B表示位置詞詞首,M 表示位置詞詞中,E 表示位置詞詞尾,S表示位置單字詞。例如位置信息“湖北省∕武漢市∕東西湖區∕東吳大道∕與∕新城十路∕交叉口”標注后的結果為“湖∕B北∕M省∕E武∕B漢∕M市∕E東∕B西∕M湖∕M區∕E東∕B吳∕M大∕M道∕E與∕S新∕B城∕M十∕M路∕E交∕B叉∕M口∕E”。
本文采用中文分詞任務中常用的準確率(Precision,P)、召回率(Recall,R)與F1 值進行評價,具體為:

其中,TP 指此模型正確劃分中文位置信息的詞數,FP指此模型錯誤劃分中文位置信息的詞數,FN 指模型實際未識別的實體數量。例如,中文位置信息“湖北省∕武漢市∕江夏區∕光谷一路∕武漢工程大學”經過本實驗的中文位置分詞模型被劃分為“湖北省∕武漢市∕江夏區∕光谷一路∕武漢∕工程∕大學”,TP 為4,FN 為3,FN 為1,則P=0.57,R=0.8,F1=0.67。
本文對比了兩個神經網絡模型LSTM 和BiLSTM-CRF,以證明BERT-BiLSTM-CRF 模型在中文位置語義解析中可獲得更好效果。其中,LSTM 和BiLSTM-CRF 模型都是使用word2vec 模型進行預訓練的。
本文利用3 種網絡模型分別在A、B、C、D 4 組數據集上進行實驗,每組數據集進行實驗時,訓練集、測試集都來自于同組數據集,3 種模型在A、B、C、D 組數據集上的實驗結果分別如表3-表6 所示。

Table 3 Experiment result of three models in A group表3 3 種模型在A 組實驗結果 單位:%

Table 4 Experiment result of three models in B group表4 3 種模型在B 組數據結果 單位:%

Table 5 Experiment result of three models in C group表5 3 種模型在C 組數據結果 單位:%
從3 種模型分別在4 組數據集上的分詞結果可以看出,3 種神經網絡模型隨著中文位置信息訓練集數量的不斷增加,位置分詞的準確率P、召回率R 和F1 值也不斷增加。其中,BERT-BiLSTM-CRF 模型在不同數據集上得到的準確率P、召回率R 和F1 值都是最高的。在表6 中,準確率P 最高達到93.91%,F1 值最高達到93.96。即使在中文位置信息數據集較少的情況下,表3 中BERT-BiLSTMCRF 模型的分詞準確率F1 值也超過了90%,達到90.33%。LSTM 模型的分詞效果相比其他兩種模型較差,主要因為LSTM 模型是隨著時間推移進行順序處理的,不能在未處理特征與已處理特征之間建立聯系。相較于BERT-BiLSTM-CRF 模型,BiLSTM-CRF 模型的預訓練過程是靜態的,沒有考慮到位置信息詞的多層特性。引進BERT 預訓練模型后,模型的準確率P 與F1 值都顯著提高,說明BERT預訓練模型訓練得到的向量具有更多、更好的文本特征,能較好地表征位置信息詞的多義性。由此可見,本文提出的模型不僅能提高中文位置信息的解析準確率,而且還能提高多義詞的解析準確率。

Table 6 Experiment result of three models in D group表6 3 種模型在D 組數據結果 單位:%
因為D 組數據集和E 組數據集來源于不同城市,本文采用D 組數據集作為訓練集與驗證集,采用E 組數據集作為泛化能力實驗中的測試集,分別在4 種模型上進行泛化能力實驗。實驗結果如表7 所示。

Table 7 Generalization ability experiment result表7 泛化能力實驗結果 單位:%
由表7 中不同模型的實驗結果可知,BERT-BiLSTMCRF 模型的準確率P、召回率R 和F1 值明顯高于LSTM 模型與BiLSTM-CRF 模型。與表6 中的實驗結果進行對比,BERT-BiLSTM-CRF 模型在不同測試集上的準確率、F1 值差距很小,僅在2%的范圍內,而BLSTM、BiLSTM-CRF 模型因為測試集的變化,在表7 中的準確率、召回率和F1 值大幅下降。因此,在跨區域中文位置信息數據集上,BERT-BILSTM-CRF 模型具有較好的泛化能力。
隨著地圖類軟件在人們生活中的應用越來越廣泛,當前常用于中文位置語義解析的神經網絡模型存在多義詞解析效果差、泛化能力較差等問題。鑒于此,本文提出一種采用BERT-BiLSTM-CRF 模型的中文位置語義解析模型,首先使用BERT 模型對中文位置信息進行預訓練,獲取中文位置信息所有層中的上下文信息,增強位置信息的表征能力,然后通過BiLSTM-CRF 模型進行解密,獲取全局最優結果。實驗結果表明,該模型相比于LSTM 與BiLSTMCRF 神經網絡模型,將其用于中文位置信息解析能取得更好的分詞效果及多義詞解析效果。而且在不同區域中文位置信息數據集作為測試集的情況下,該模型具有更好的泛化能力。
根據中文位置信息的特點,后續可在序列標注中融入更豐富的信息,并進一步增加模型提取位置的特征信息,以提升中文位置信息解析的效果與泛化能力。