黃健鈺,王笳輝,段 亮,冉 苒
(1.云南大學 信息學院;2.云南省智能系統與計算重點實驗室;3.云南大學 文學院,云南 昆明 650500)
民間文學是由人民群眾以口頭方式創(chuàng)作并傳播,且經過不斷集體修改與加工的文學,常以民間傳說、民間故事、神話詩歌等形式存在。保護民間文學有利于傳承中華民族的傳統文化,建立文化自信。命名實體識別(Named Entity Recognition,NER)任務旨在從非結構化文本中判別實體并將其分類為預定義的語義類別(如人名、組織和位置)[1-2]。NER 技術可以快速識別民間文學文本中的關鍵詞匯,在信息檢索、自動文本摘要、問題回答等[3-4]各種自然語言處理任務中扮演著重要角色,為民間文學的保存與傳播提供了技術支撐。
與通用語言文本不同,民間文學文本語言特點不一、形式混雜,對其進行NER 具有一定挑戰(zhàn)。首先,民間文學文本中的一詞多義問題突出,如語句“池塘生長著千瓣蓮花”中的“千瓣蓮花”表示一種物品,而語句“千瓣蓮花姑娘”中的“千瓣蓮花”表示角色“仙女”;語句“英勇的勐蘭嘎”中的“勐蘭嘎”表示一個角色,但在“勐蘭嘎部落”中則表示一個組織;“贊頌”不僅為非實體動詞,還在語句“他們給孩子取名叫做贊頌”中表示角色。由以上示例可以看出,如何準確識別民間文學文本中的實體及其具體類型十分困難,需要NER 模型能夠在給定語境中將該類多義詞判定為其正確的實體類型,從而獲得高質量的實體數據。此外,民間文學文本中存在較多領域專有名詞,如“俄耶”在民間文學文本中表示“阿媽”;“粑粑”表示一種餅類食物;“國哈火塔”表示“兇猛的人”;“卡”表示“毒藥”。這些領域名詞未采用現代漢語中的常見釋義,使得通用模型難以理解其語義,從而影響實體判定,導致識別結果無法達到預期。
傳統的NER 方法通常采用Word2Vec 技術[5]計算詞之間的語義相似度,將文本字符轉化為詞向量,通過BiLSTM-CRF(Bidirectional Long Short-Term Memory-Conditional Random Fields)模型進行序列建模與特征提取并輸出預測標簽,難以針對一詞多義問題準確劃分實體類型,也難以識別具有領域特色的實體。BERT 預訓練模型能夠抽取文本特征,產生蘊含豐富句法與語義信息的詞嵌入[6],但一般中文BERT(Bidirectional Encoder Representation from Transformers)預訓練模型基于維基百科與大型書籍語料訓練獲得,在民間文學文本NER 中存在一定局限性,仍有改進空間。
NER 技術主要分為基于規(guī)則的識別方法和基于語言模型的識別方法兩大類[7]。基于規(guī)則的識別方法要求研究者對于領域知識具備一定了解,能夠根據研究領域的知識特點總結出相關規(guī)則并應用于問題的解決方法中;基于語言模型的識別方法則不要求研究者具備專業(yè)領域知識,其將NER 作為一種序列標注和預測任務,通過對現有機器學習模型遷移學習后再進行識別。
在通用領域,鄭玉艷等[8]利用元路徑探測種子實體間的潛在特征以擴展實體集合,嘗試解決最優(yōu)種子的選擇問題;Ju 等[9]在BILSTM+CRF 模型上疊加平面NER 層以提取嵌套實體特征,該方法對于深層次實體的識別效果較為明顯;琚生根等[10]利用關聯記憶網絡結合實體標簽信息特征以提高模型的整體分類能力,但對部分少樣本實體分類效果不明顯;Xu 等[11]在字符嵌入中添加漢字部首特征,獲得了良好的模型表現,證實了在不同粒度中同時利用多個嵌入的有效性;武惠等[12]利用遷移學習算法緩解了模型對于少量實驗數據學習能力不足的問題,以自動捕獲特征的方式有效解決了領域知識的需求問題;Wang 等[13]利用已訓練完成的NER 模型提取舊類數據特征以合成新數據,通過實體數據增量方法提升了模型訓練效果;Nie 等[14]提出一種對語義進行擴充的方法,提升了模型對于稀疏實體的識別效果。以上方法考慮了中文通用領域知識的特點,通過提取漢字特征、實體結構特征等方式提升模型性能,而民間文學中存在著大量領域專有名詞,以上方法難以識別。
在垂直領域,余俊康[15]利用交叉共享結構學習多個相關任務的特征,克服了通用模型需要大量領域標注數據的問題;楊錦鋒等[16]分階段規(guī)范標注法則,借助領域知識特點抽取中文電子病歷實體關系,但該方法對實體的一致性要求較高;Li等[17]建立臨床命名實體識別(CNER)模型,分別使用LSTM 和CRF 提取文本特征和解碼預測標簽,同時在模型中添加醫(yī)學字典特征,可有效識別和分類電子病歷中的臨床術語;Wang 等[18]提出一個建立在BiLSTM-CRF模型基礎上的多任務學習方法,通過共享不同醫(yī)學NER 模型的特征提升性能;李麗雙等[19]利用大量未標記的生物醫(yī)學語料與醫(yī)學詞典進行半監(jiān)督學習,獲得了更深層次的語義特征信息,提高了模型性能;王得賢等[20]利用自注意力機制獲取法律文書的內部特征表示,有效確定了證據名、證實內容和卷宗號等實體邊界。以上方法將部分領域知識特征應用于NER 任務中,而民間文學文本一詞多義問題更加突出,要求模型具備更強的分類能力,常規(guī)模型難以滿足需求。
為此,針對民間文學文本中存在的一詞多義與實體分類問題,本文提出TBERT-BiLSTM-CRF 模型,修改傳統BERT 模型的嵌入層結構,增加實體類別標簽表征,從而使詞向量包含實體類別信息,增強了字符對應向量的表達能力,亦加強了模型對于實體類別的劃分能力。針對民間文學文本中存在較多領域專業(yè)名詞的問題,利用未標記的民間文學專有領域語料增量預訓練BERT 模型,在一般中文BERT 模型的基礎上添加了民間文學文本語義特征,使得模型輸出更符合民間文學文本的語境。該模型的創(chuàng)新之處在于通過添加類型嵌入層使傳統BERT 模型具備表征實體標簽的能力,通過民間文學語料增量預訓練進一步優(yōu)化了TBERT 模型的輸出,結合BiLSTM-CRF 模型根據序列依賴特征與標簽約束規(guī)則輸出全局最優(yōu)結果,改善了傳統NER 方法對于民間文學文本NER 任務的局限性。
民間文學文本的NER 問題可被視作一項序列標注任務。例如,給定一段民間文學文本序列S={w1,w2,…,wn},其中wi為序列中的第i個字符(i≥1),民間文學文本NER 任務旨在準確充分地預測出該字符序列對應的標簽序列L={l1,l2,…,ln},以最終識別出其中所有實體的位置和類別。本文提出的TBERT-BiLSTM-CRF模型總體框架如圖1 所示,主要包括TBERT、序列依賴學習與實體識別3 個部分:①TBERT。TBERT 模型學習實體類別特征,同時利用民間文學文本語料進行增量預訓練進一步優(yōu)化TBERT 模型的輸出,從而將輸入文本轉化為含有字符類型信息與文本語義信息的字符表示;②序列依賴學習。BiLSTM 模型學習序列上下文依賴特征并對序列進行建模;③實體識別。CRF 模型對序列進行解碼,根據標簽依賴規(guī)則輸出全局最優(yōu)結果。

Fig.1 Main framework of TBERT-BiLSTM-CRF圖1 TBERT-BiLSTM-CRF 模型總體框架
預訓練模型能夠挖掘文本中的深層語義知識并通過語言模型進行表達,針對民間文學領域的預訓練模型,若采用通用的BERT 模型則難以恰當地表達出存在著較多領域專屬名詞的民間文學的語境。因此本文首先利用未經標記民間文學的文本語料對BERT 進行預訓練,使最終模型中的字符表示包含民間文學領域相關深層特征知識。BERT 模型采用遮蔽策略(Masked Language Modeling,MLM)以[MASK]標記對輸入的字符隨機遮蔽,并根據其上下文語義預測被遮蔽的詞。此外,模型還針對訓練語句進行預測下一句任務(Next Sentence Prediction,NSP),若輸入的兩個句子為前后句關系,則使用[isNext]標記,反之則以[notNext]標記,通過這種方式能夠捕獲句子級別的上下文關系。
設Encoder 中的參數為θ,被遮蔽的單詞集合為M,輸出層中MLM 任務使用的參數分別為θ1,詞典為V,則模型采用負對數似然函數計算其損失。表示為:
若NSP 任務的輸出層參數為θ2,預測標簽集合為N,則模型計算NSP 任務的損失函數表示為:
重新訓練模型將花費巨大開銷,因此本文采用增量訓練方式,使用BERT 模型的初始權重,在保留通用領域知識的基礎上對模型進行民間文學領域知識擴展,從而使其融合民間文學文本的語義特征。
民間文學文本中的同一個字符可能表示不同類型的實體。目前通用BERT 模型采用詞嵌入ew、句子嵌入es與位置嵌入ep相加的方式生成文本的向量表示,其中詞嵌入生成字符本身的向量,反映了其語義;句子嵌入表示當前句子的歸屬,使模型具備一定的文本分類能力;位置嵌入記錄字符的位置信息以保證文本輸入的時序性。對于民間文學文本NER 任務而言,實體類別信息作為最終的預測目標直接影響NER 結果的好壞,能否高效準確地表達字符的類別信息是NER 任務的關鍵所在,而通用BERT 模型無法表征實體類別信息。因此,本文提出Type based Bidirectional Encoder Representation from Transformers(TBERT)模型,利用嵌入層生成實體類別標簽向量,并與文本字符向量相結合對實體類別特征進行捕獲,使模型能夠到學習實體類別信息,以更好地完成序列標注任務。
將文本字符與其對應的實體類別標簽作為TBERT 模型的輸入,利用模型原始的3 層嵌入對文本字符進行表征以生成字符向量(ew,es,ep)。該模型額外增加了一層類型嵌入,由于實體標簽間不存在明顯的上下文語義聯系,采用One-Hot 技術對各實體及非實體類型進行統一編碼并對齊BERT 模型向量,然后將實體類別向量與字符向量相加得到最終向量表示eb。公式為:
TBERT 模型堆疊使用全連接Transformer 編碼器(Encoder)結構,具體如圖2 所示,主要包括多頭注意力機制(Multi-head Attention)、前饋神經網絡(Feedforward Network)與歸一化操作(Add and Norm)。

Fig.2 Framework of Transformer encoder圖2 Transformer編碼器結構
Attention 機制的通用表達式如式(5)所示,其中V表示輸入,Q與K表示計算注意力的權重,三者由eb經過線性變換得到;dk表示Q與V的維度。通過Softmax 函數對Q與K的點積運算結果作歸一化處理并乘以V獲得輸出向量。
多頭注意力機制利用多個Attention 層計算文本語句權重以獲取字符關系信息,將各Attention 層的結果整合輸出。為了避免Attention 機制對于上述操作的擬合程度不夠,Encoder 結構使用前饋神經網絡對結果修飾,并再次歸一化處理獲得最終輸出eb’,如公式(6)所示,其中n表示Attention 的頭數,W表示權重矩陣,b表示偏置。
在BERT 預訓練的基礎上,利用TBERT 再次對標記字符類型數據進行微調更新,使得模型增加字符的類型信息。TBERT 結合了文本字符信息與對應實體類別標簽信息的詞向量,可更輕易地區(qū)分一詞多義類實體。例如:“千瓣蓮花”在語句1 中表示角色,在語句2 中表示物品。原始BERT 模型能夠在考慮當前語境的情況下將語句1 中的“千瓣蓮花”以向量v=(v0,v1,…,vn)表示,語句2 中的“千瓣蓮花”以向量v'=(v'0,v'1,…,v'n)表示,但由于其未采用實體類別信息,導致兩者在數值上近似而令模型難以區(qū)分。而TBERT 模型能夠將實體類別標簽轉化為向量并疊加至原有字符向量中,擴大了v與v'的數值差距,從而有效增強了模型對于實體的分類能力。
民間文學文本NER 作為一項序列標注任務旨在輸出文本序列對應的標簽序列,因此利用BiLSTM 模型對TBERT 產生的詞嵌入進行編碼以學習序列上下文依賴特征。BiLSTM 模型由前向LSTM 層與后向LSTM 層組成,解決了循環(huán)神經網絡的梯度消失問題[21],從而更適用于民間文學中長文本的編碼工作。
如式(7)、式(8)、式(9)、式(10)所示,LSTM 網絡使用細胞狀態(tài)記錄當前最重要的信息,同時利用遺忘門ft與輸入門it控制中信息的更新,通過Sigmoid 函數σ將輸出值控制在0~1之間,其中0表示完全舍棄,1表示完全保留。
式中:W表示權重矩陣,b表示偏置量,t表示時刻,ht-1表示t-1 時刻的隱藏狀態(tài),xt表示t時刻的輸入,ot表示輸出門。
根據細胞狀態(tài),利用tanh 函數確定最終的輸出值ht。計算公式為:
最后將雙向LSTM 層的結果進行拼接作為CRF 層的輸入進行解碼操作。
BIO(Begin-Inside-Outside)標注規(guī)則中,“I-X”標簽只可能存在于實體的中間位置,不可能出現在實體的開頭或單獨出現。若僅使用一個線性層選取BiLSTM 輸出中概率最高的標簽作為最終結果,則很可能產生不合理的序列,如“B-CHA O O I-CHA”。因此,本文利用CRF 模型對BiLSTM 層的輸出進行修正并計算出全局最優(yōu)序列[22]。
對于給定的輸入h=(h0,h1,…,hn),其對應的預測輸出標簽L={l0,l1,…,ln}的得分計算公式為:
PR(L|h)為h的預測結果為L的概率,計算公式為:
式中:L'為真實標簽,Lh為所有可能存在標簽組合。
在最終預測階段,根據式(15)輸出最優(yōu)結果:
本文提出的TBERT-BiLSTM-CRF 模型在BERT 模型利用未經標記的民間文學文本語料進行增量預訓練的基礎上,通過字符類型嵌入并再次優(yōu)化產生含有字符類型信息與文本語義信息的字符表示,然后由BiLSTM 模型進行序列依賴學習,經CRF 模型預測輸出最優(yōu)結果。該模型算法具體步驟為:
輸入:原始未標記民間文學文本語料,BERT 模型,帶類型標記數據
S={w1,w2,…,wn'}:句子
輸出:L*:句子對應標簽序列
本文使用的民間文學文本語料包括《千瓣蓮花》、《傣族文本》、《娥并與桑洛》與《云南少數民族古典史詩全集》,字數信息如表1所示。

Table 1 Word count for the corpus of folk literature texts表1 民間文學文本語料字數信息
由于民間文學文本語料規(guī)模龐大且需要人工標注,且以上4 則文本在內容與形式上具有相似性,挑選其中1 824句能夠反映民間文學文本一詞多義等特點的語句,利用BIO 標注的方式產生數據集,共計5 921 個標簽。人名(PER)、地點(LOC)與組織(ORG)是3 種廣泛應用于NER任務的標簽,其同樣適用于民間文學的NER 工作。考慮到民間文學中不僅會出現人名,還會有許多擬人化的動植物角色,因此將PER 替換為角色(CHA)。此外,民間文學中描述了一些對于劇情發(fā)展具有推動作用的“寶物”,本文對該類實體也進行了標注,并用物品標簽(OBJ)表示。表2為序列標簽集。數據集以8∶2 的比例隨機劃分為訓練集與測試集,其中語句和各類實體的分布情況如表3所示。

Table 2 The sequence labels表2 序列標簽集

Table 3 Statistics of the datasets表3 數據集統計信息
NER 任務旨在識別出文本中的預定義語義類別,能否準確全面地進行識別在NER 模型性能評價中占據重要地位,因此本文使用準確率P、召回率R與F1 值評價實驗結果。計算公式分別為:
式中:Np表示模型識別的正確實體數量,NA表示測試集中的實體數量,NF表示模型識別的實體數量。P、R和F1取值范圍均為0~1,其值越大越好。
實驗平臺為Intel(R)Xeon(R)CPU E5-2650 v3 @2.30GHz 處理器,RTX 2080Ti GPU,256 GB 內存,Ubuntu20.04.1 操作系統,Python 3.6 語言,Tensorflow-gpu 1.11.0框架。
預訓練在chinese_L-12_H-768_A-12模型的基礎上進行,民間文學文本數據經處理后生成tf.record 文件。同時設置最大句子長度為128,batch_size 為32,學習率為2e-5進行訓練。模型參數設置見表4。

Table 4 Model parameter settings表4 模型參數設置
3.4.1 不同模型比較
在民間文學數據集上對本文模型(TBERT-BiLSTMCRF)與目前廣泛應用于NER 任務的BERT-BiLSTMCRF[17]、BiLSTM-CRF[18]、BiLSTM[21]、CRF[22]模型的表現進行比較,結果見表5。可以看出,將CRF 與BiLSTM 結合后,3 項評價指標相較單獨結構均有明顯提高;在此基礎上添加一般中文語料BERT 預訓練模型后,3 項指標比BiLSTM-CRF 模型分別提高了1.15%、2.24%、1.75%;將一般中文語料BERT 預訓練模型更換為本文方法生成的TBERT模型后,相比BERT-BiLSTM-CRF 3 項指標分別提高了3.61%、2.14%、2.89%。說明同時利用民間文學的語義特征與實體類別特征可使模型理解民間文學的領域知識并加強對實體的劃分,從而在識別出更多實體的同時確保分類的準確率。

Table 5 Experimental result comparison of each model表5 各模型實驗結果比較
比較TBERT-BiLSTM-CRF、BiLSTM-CRF、BERT-BiLSTM-CRF 3 種模型對民間文學數據集中4 種不同類型實體的準確率、召回率與F1值,結果見表6、表7、表8。

Table 6 Precision comparison of each model for different entity categories表6 各模型對不同類型實體識別準確率比較 (%)

Table 7 Recall comparison of each model for different entity categories表7 各模型對不同類型實體召回率比較 (%)
由表6 可知,TBERT-BiLSTM-CRF 模型對各類實體識別的準確率均優(yōu)于其他模型約2%,說明利用標簽信息能使模型更好地區(qū)分一詞多義類實體,使識別更加準確。
由表7 可知,TBERT-BiLSTM-CRF 模型對3 類實體的召回率超出其他模型0.7%~3%,表現優(yōu)異。
由表8 可知,TBERT-BiLSTM-CRF 模型對各類實體識別的F1 值均超過其他模型1%~5%。由于F1 值的計算綜合考慮了模型識別準確率與召回率,說明TBERT-BiLSTM-CRF 模型較目前廣泛使用的NER 模型能夠更準確完整地識別出民間文學文本中存在的實體。
3.4.2 案例分析
以下列舉了BiLSTM-CRF、BERT-BiLSTM-CRF 模型與TBERT-BiLSTM-CRF 模型對于民間文學文本具體句子案例的識別結果,其中加粗部分表示模型識別的實體,括號內記錄其對應的類型。
(1)BiLSTM-CRF 模型。國王(CHA)的第七個姑娘她說的每一句話會變成一朵千瓣蓮花(OBJ)漂在天上,噴發(fā)出馥郁的清香,世上千萬個美麗的姑娘我一個也不看在心上,我單單愛上千瓣蓮花(OBJ)姑娘,我真有福氣能來到與莫板森林(LOC)遇見美麗的蓮花(OBJ)姑娘。
(2)BERT-BiLSTM-CRF 模型。國王(CHA)的第七個姑娘她說的每一句話會變成一朵千瓣蓮花(OBJ)漂在天上,噴發(fā)出馥郁的清香,世上千萬個美麗的姑娘我一個也不看在心上,我單單愛上千瓣蓮花(OBJ)姑娘,我真有福氣能來到與莫板森林(LOC)遇見美麗的蓮花(CHA)姑娘。
(3)TBERT-BiLSTM-CRF 模型。國王(CHA)的第七個姑娘她說的每一句話會變成一朵千瓣蓮花(OBJ)漂在天上,噴發(fā)出馥郁的清香,世上千萬個美麗的姑娘我一個也不看在心上,我單單愛上千瓣蓮花(CHA)姑娘,我真有福氣能來到與莫板森林(LOC)遇見美麗的蓮花(CHA)姑娘。
可以看出,BiLSTM-CRF 模型利用Word2Vec 技術生成的詞向量較為單一,導致涉及“蓮花”的實體皆判斷為物品,且其因缺少民間文學領域知識而未將實體“莫板森林”完整地識別出來。這個問題同樣出現在BERT-BiLSTMCRF 模型的識別結果中,該模型雖然能夠根據上下文將“蓮花姑娘”中的“蓮花”正確判斷為角色,但對于文字表述上完全相同的兩個“千瓣蓮花”并沒有進行區(qū)分而均判斷為物品。TBERT-BiLSTM-CRF 模型因融合了民間文學的語義特征與實體類別特征,在實體識別的準確度方面表現良好。
嵌套類實體會對TBERT-BiLSTM-CRF 模型造成干擾,如表9 中的案例1 與案例2 所示,其分別為地名嵌套角色名實體與組織名嵌套角色名實體。對于前后文關系緊密的民間文學文本,若前后文割裂輸入進模型,則模型難以根據前后文判斷出實體的正確類別,如表9 中的案例3所示。

Table 9 Error analysis表9 錯誤分析
本文針對民間文學文本領域名詞眾多和一詞多義的特點提出TBERT-BiLSTM-CRF 模型,將民間文學的語義特征與實體類別特征融入一般中文BERT 模型,使其具備識別具有領域特色實體與多重詞義實體的能力;同時結合BiLSTM 模型與CRF 模型,根據上下文信息與序列間存在的強依賴關系使模型獲得全局最優(yōu)結果。與經典模型CRF、BiLSTM、BiLSTM-CRF 與BERT-BiLSTM-CRF 相比,本文模型在民間文學文本數據集上獲得了最高的準確率、召回率與F1 值。然而,本文仍存在一定不足:一方面是并未構建較為完備的民間文學文本數據集,另一方面是模型效果未在其他領域數據集中得到驗證。未來將進一步探索完備數據集上的領域知識NER 工作。