李國安 張燦豪
(1.上海壹賬通金融科技有限公司,上海 200000;2.深圳壹賬通智能科技有限公司,廣東 深圳 518000)
命名實體識別(Named Entity Recognition,NER)是指提取文本中特定信息的方法,常見有提取人名、地名、公司、職位、合同以及金額等。NER技術在自然語言處理中應用廣泛,例如知識圖譜、關系抽取、智能問答以及信息搜索等,是處理自然語言的基礎任務之一。通常,NER處理方法是將其視作序列標注任務,標注出每個字對應的實體類別。主流標注方法是區分每個字屬于實體類別中的某種狀態,例如B-LOC表示第一個地址文字,E-LOC表示最后一個地址文字,字母O表示非實體,典型的有BIO標注法、BIOE標注法和BIOES標注法等。近年來NER以預訓練模型為基礎,融合多特征、兩階段識別,但是一直沒有改變命名實體標注割裂的問題。典型的標注序列BIOE的NER方法是將任務看作多分類問題,多個類別之間割裂了相互關系,而且難以處理嵌套問題,而位置、實體兩階段NER方法存在配對偏差和誤差傳播的問題。該文提出棋盤空間標注命名實體的方法,棋盤空間的每個標記點都表示唯一一個命名實體,是對命名實體的直接標注方法,解決了實體間接標注的關系割裂、配對和誤差傳播等問題。
隨著神經網絡的發展,NER任務得到了越來越好的效果。文獻[1]基于長短期記憶神經網絡LSTM提出了LSTMCRF,由于其優異的表現,許多數據集將其作為NER任務的基線。2018年,文獻[2]BERT預訓練模型的問世幾乎奪取了當時所有NLP任務的SOTA,對于CoNLL-2003英文NER任務來說,在未使用CRF的情況下達到了92.8的水平。BERT的出現改變了NLP模型的發展方向,行業內的人士紛紛開展預訓練模型的相關研究,隨后相繼出現了XLNET、RoBERTa、GPT-2、GTP-3和Switch-Transformer等一系列擁有更大規模的訓練數據、參數和算力要求的預訓練模型,NLP效果也得到進一步提升,中文NER任務開始引進預訓練模型來增強文字表意能力,并不斷向模型中加入先驗知識。有些學者結合了知識圖譜增強了預訓練模型的背景知識,文獻[3]中的FLAT模型在BERT的基礎上融入了分詞特征,還有研究學者在BERT的基礎上增加了詞性特征。當實體類別很多時出現了分別識別實體位置和實體類別的兩階段方法。文獻[4]中的Cascade模型在BERT的基礎上設計了兩階段預測模型,該模型取得了較好的效果。
由下圍棋向棋盤落子時得到啟發,棋盤為19×19方陣,落子時棋子的顏色是某個類別,如果把棋盤的橫縱坐標看作文字中實體的始末位置,那么黑子表示屬于該類別,白子表示非該類,多張棋盤表示不同的類別,這樣就將棋盤擴展到三維空間,形成一個命名實體識別的棋盤空間,如圖1所示。

圖1 棋盤空間標注示意圖
對于類別數量為dm、文本長度為dt的棋盤空間S∈Rdm×dt×dt,輸入輸入長度為n的文本t=[t1,t2,…,tn]和標注列表[{起始1,結束1,類別1},…,{起始i,結束j,類別m}],棋盤空間標注滿足公式(1)。

長度為n的文本編碼后生成token序列t=[t1,t2,…,tn],ti∈Rdt,任意i∈[1,n],dt為token深度,預訓練模型輸出序列h=[h1,h2,…,hn],其中hi∈Rdh,dh為文字嵌入深度,適配層將序列h線性變換切分成2個關聯矩陣Q∈Rdm×dt×dt和K∈Rdm×dt×dt,結合位置編碼計算每個位置的相似性系數。NER模型結構如圖2所示,其中Sm(i,j)為類別m中位置(i,j)點的分類,Pm為類別m的正樣本,Nm為類別m的負樣本,[CLS]和[SEP]為預訓練模型的特殊標識符,分別表示文本開始和文本分隔,類別為m的查詢矩陣Qm=[q1,q2,…,qn],度量矩陣Km=[k1,k2,…,kn],相似性矩陣Sm=[s1,s2,…,sn],qi、ki和si分別為矩陣Qm、Km和Sm的向量,任意i∈[1,n]。

圖2 棋盤空間標注的NER模型結構
適配層是將預訓練模型的輸出H∈Rh×n變換到目標維度Q∈Rm×n×n和K∈Rm×n×n,如圖3所示。首先H保持文字長度n不變,將文字嵌入維度h變換為m×2n,即變換輸出矩陣A=WH+b,其中A∈RdA×n,權重W∈RdA×h,偏置b∈RdA×n,dA=m×2n。接著將A按照dA軸切分成類別數m份,每一份中再切分為兩等份,分別定義為未位置編碼的查詢矩陣Q和度量矩陣K。

圖3 適配層處理流程
為了便于表述,對類別m的查詢矩陣記作q=[q1,q2,…,qn],其中向量qi∈Rn,度量矩陣記作k=[k1,k2,…,kn],其中向量ki∈Rn。
對于NER任務來說,文字的位置信息和方向信息都是十分重要的。文獻[5] Transformer-XL和文獻[6] TENER論述了原生的Transformer絕對位置編碼會在計算中丟失位置信息,這使絕對位置編碼不適用于NER任務。BERT等絕對位置編碼的預訓練模型是在詞嵌入層將詞向量和絕對位置編碼向量按位相加,并在大規模預料上訓練而得到的,如果改變位置編碼方式,則該模型需要重新訓練;那么如何在不重新訓練BERT的前提下將相對位置信息顯式地添加上去呢?可以將BERT輸出的詞向量擴展至詞向量函數,該詞向量函數需要具備2個特性:1)位置無關的偏置轉換性。2)有界性。在實數域內同一個詞在不同位置的詞向量是一樣的,無法達到建模位置信息的目的,因此使用復數域[7]來表示向量值函數,對于詞向量hj到相對位置pos的詞向量變換函數、f(j,pos)如公式(2)所示。

式中:ωj,n為ωj的向量展開;θj,n為θj的向量展開;rj,n為rj的向量展開;i為虛數;rj為振幅向量;ωj為角頻率向量;θj為相位角向量。

預訓練模型是按照完形填空的方式,在最大化上下文語境情況下的掩碼單詞的概率,在訓練過程中不斷調整單詞表征向量在上下文語句空間中的參數,以最大化單詞和上下文的共現概率,在高階產生共現關系。據此,對于類別m的相似性系數Sm(i,j)可以使用位置編碼后的向量qi和kj的內積表示,定義如公式(4)所示。
式中:Re為實部;Im為虛部;i為起始位置;j為結束位置;z為臨時變量;fpe(.,i)、fpe(.,j)為位置向量。
結合中文特點,文字順序是單向的,沒有“倒背如流”式的標注,所以實體始末位置要求i≤j,對于i>j的情況置為極大負數-inf。
棋盤空間為稀疏矩陣,正負樣本存在較大的不平衡,該文采取的優化目標為正類相似度的最小值min≥某閾值λ,并且負類樣本相似度的最大值max≤該閾值λ,如公式(5)所示。

式中:Loss為損失;m為實體類別數量;γ為分割面,是訓練中的超參數;Pu為實體類別u的正樣本;Nu為實體類別u的負樣本;Su(i,j)為從i開始到j結束的文本區間屬于實體類別u的相似度。對數冪指數求和函數有如公式(6)和公式(7)所示的相似性。

式中:γ為正實數,γ值越大相似性越強。
對公式(5)中求和的2個部分內容分別引入2個超參數[8],得到損失函數如公式(8)所示。

式中:α,β為比例因子,是訓練時的超參數。
模型輸出棋盤空間S∈Rdm×dt×dt,根據損失函數的定義,棋盤空間中滿足Sm(i,j)>γ條件的點表示從起始位置i到結束位置j的文字片段為實體類型m。
該文采用CLUENER2020[9]數據集,該數據是在清華大學開源的文本分類數據集THUCTC的基礎上,選出部分數據進行細粒度命名實體標注,類別有地址、書名、公司、游戲、政府、電影、姓名、組織、職位和景點共10類,訓練集有10 748條文本,驗證集有1 343條文本。
該文采用macro-F1指標。
試驗計算機為Thinkpad P71筆記本電腦,具體配置見表1。

表1 試驗環境
最大序列長度為64,批次大小(batch_size)為16,學習率(learning_rate)為2e-5,丟棄比率(dropout_rate)為0.1,輪次(epoch)為40,優化器為Adam,α,β和λ為1。由于顯卡限制,該文以BERT-base和NEZHA-base[10]為基礎,2個中文預訓練模型分別由哈工大[11]和華為開源提供。
隨著訓練epoch的增加模型損失Loss逐漸收斂,訓練集上的F1指標逐漸增加,如圖4所示。

圖4 訓練損失及F1指標
訓練之后的模型在驗證集上進行測試,基于BERT和NEZHA的模型F1指標分別達到80.43和80.71。該文所采用的方法的BERT-base模型較BERT-CRF有1.61個百分點的提升,NEZHA-base模型略好于RoBERTa模型,具體指標見表2。從表2中可以看出,地址類實體得分最低,表中所示方法均不超過70%。景點類實體得分比地址實體略好,最好成績為74.75。其他類別的F1指標均達到80以上。
由表2可以看出,人工分辨CLUENER各組標簽的綜合能力為63.41,許多類別標注存在較大難度,列舉個別案例,見表3。對于組織和政府、地址和景點,不同人的理解可能不同。查閱了魔獸爭霸游戲的資料,行號372表述的主體是“魔獸爭霸3版本1.25”,這對非專業人士和通用NER來講難度都比較大。

表2 不同模型命名實體識別結果

表3 錯誤預測案例
對于預訓練模型,因為訓練集中單詞的詞頻不同,所以高詞頻和低頻詞的空間分布特性導致了相似度過高或過低。假設2個單詞在語義上是相同的,但是它們的詞頻差異導致了空間上的距離差異,這時詞向量的距離對語義相關度的表征能力會降低,文獻[12]Bert Flow中稱之為各向異性的詞嵌入空間。
針對中文命名實體識別通常采用序列標注的間接標注方法,該文提出了一種棋盤空間的命名實體直接標注方法,在預訓練模型的基礎上構建了該標注方法的NER識別模型,該方法在中文CLUENER2020數據集上的效果略優于BERT-CRF等基線模型。棋盤空間的直接標注法更加適用于嵌套實體和多標簽實體的情況,具有較廣的適應性。對于其他NLP任務,如果在低維度不可區分,在更高維度下標注將是十分有意義的嘗試。另外,該文隨機選取了超參數并且除預訓練模型外沒有融入其他知識,將來計劃結合知識圖譜進一步提高中文命名實體識別的效果。