朱 磊 董林靖 黑新宏 王一川 彭 偉 劉雁孝 盤 隆
1(西安理工大學 西安 710048) 2(陜西省網(wǎng)絡計算與安全技術重點實驗室(西安理工大學) 西安 710048)3(深圳市騰訊計算機系統(tǒng)有限公司 廣東深圳 518054)
隨著我國城市中各種各樣的安全突發(fā)事件不斷增多,形成了大量的案例文本信息.現(xiàn)階段公共安全事件輿情中的知識與信息不能有效地抽取和復用,無法為公共安全事件管理提供充分的協(xié)助和預警.在現(xiàn)有的自然語言處理研究領域,對中文公共安全事件領域的語料分析研究[1]較少.命名實體識別是領域工作中的基礎,直接影響自然語言處理任務中語法分析、語義分析和關系抽取任務的性能,其主要的目的是從非結構化文本中識別預定義實體[2].
基于規(guī)則和詞典的命名實體識別方法[3]主要是人工構建有限規(guī)則,結合專家構建的實體詞匯表,對每條規(guī)則設置權重,然后通過實體與規(guī)則的匹配程度來進行實體類型分類.但是人工制定這些規(guī)則的成本較大,構建詞匯表與數(shù)據(jù)量相差懸殊,經(jīng)過制訂固定的規(guī)則模板來識別出結構復雜的命名實體;這樣的方法雖然準確率相對較高,然而工作量巨大,可行性較低;其次,人為制訂的規(guī)則模板復用性太低,不同領域數(shù)據(jù)結構可能不同,將此規(guī)則模板遷移至其他領域不適用.
基于統(tǒng)計機器學習的方法可以將命名實體識別任務當作詞組級別的多分類任務,先使用模型識別出實體的邊界,再使用分類器對文本中的命名實體進行分類[4];或者將命名實體識別任務當作字符級別的序列標注任務[5]:首先,根據(jù)領域數(shù)據(jù)人為預先定義若干個實體類別,對于文本中每個字符可以有多個候選的類別標簽;然后根據(jù)每個字符在實體中的位置,確定每個字符的標簽,最終將1組字符的標簽整理在一起,獲得識別出的實體和實體所屬類別[6].
基于神經(jīng)網(wǎng)絡模型的深度學習[7]使用詞向量來表示詞語的方法,加入詞向量減少了人為特征工程的工作量,能夠潛移默化地發(fā)現(xiàn)人工選擇特征時未包含的語義信息.該方法還解決了在基于詞典方法中由于高維度向量空間而出現(xiàn)的數(shù)據(jù)密度稀疏的問題,并且能夠將不同結構的文本轉化為相同維度大小的矩陣進行向量表示.
為了研究中文公共安全事件的命名實體識別方法,本文分析了《中文突發(fā)事件語料庫》,將預訓練模型作為研究重點.在對比了現(xiàn)有基于BERT模型的工作[8]基礎上,本文提出了優(yōu)化的中文預訓練模型RoBERTa+完成公共安全領域的預訓練任務.具體地,將更新的安全領域詞典和10萬條新聞語料嵌入到預訓練模型中,同時使用動態(tài)的全詞覆蓋機制修正網(wǎng)絡參數(shù).將預訓練語言模型以及輸出的動態(tài)詞向量作為下游命名實體識別任務的輸入進行微調.接著采用BiLSTM-CRF模型提取文本的上下文關系,并標注出實體字符的類別.經(jīng)實驗證明,基于領域預訓練的公共安全事件命名實體識別的性能均得到了提升.
BERT模型是基于Transformer模型的雙向編碼器表示[9],其結構如圖1所示.BERT模型能夠學習句子中詞和詞之間的上下文關系,當處理1個詞時,能同時考慮到當前詞的前一個詞和后一個詞的信息,從整體獲取詞的語義特征.
圖1 Transformer編碼單元Encoder
Transformer編碼單元主要運用了多層Self-Attention機制,其中Self-Attention機制為輸入向量的每個單詞學習一個權重.雙向的Transformer編碼器的連接組成BERT模型結構,它可以獲取所在層中的左右2側語境.
Hochreiter等人[10]在1997年提出了長短時記憶網(wǎng)絡(long short-term memory,LSTM)能夠解決循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)在時間維度上出現(xiàn)的梯度消失問題.LSTM主要利用其特有的3個門結構來保持和更新狀態(tài),以達到長期記憶功能,并能夠選擇性地遺忘部分歷史信息.LSTM模型將部分輸入信息與通過遺忘門、輸入門和輸出門獲得的狀態(tài)結合形成輸出狀態(tài),從而達到可以比RNN捕獲更長距離的依賴信息.此外,為了同時反映每個字符與上文信息和下文信息之間的關系,Graves等人[11]提出了BiLSTM模型.將文本向量按照從左向右及從右向左的順序分別輸入正序及逆序LSTM單元.BiLSTM模型可以考慮上下文2個方向的信息,綜合輸出字標簽得分向量.
Lafferty等人[12]在2001年首次提出條件隨機場模型CRF,條件隨機場模型在自然語言處理領域中主要應用是文本序列化標注.條件隨機場可以實現(xiàn)在給定一組隨機的X的條件下,它能夠輸出目標Y的條件概率分布.在命名實體識別任務中使用CRF模型主要是為了給BiLSTM模型輸出的每組預測標簽添加一些實體內位置約束,從而保證每組預測標簽的有序性.
事實上,相鄰字標簽之間是存在約束關系的.如圖2所示,例如標簽“B-PER”和標簽“I-LOC”相鄰,文本開頭的字標簽不可能是“I-”標簽或者“O”標簽.CRF模型能夠自動學習到各字標簽之間的約束信息,利用每個字標簽的得分與字標簽之間的轉移得分來計算不同標簽序列出現(xiàn)的概率,從中選取出現(xiàn)概率最大的序列,并將具有合法性的序列作為文本最優(yōu)標簽序列.
圖2 CRF線性鏈式結構圖
為了提升公共安全領域事件實體的識別效率,本文在公開的新聞領域數(shù)據(jù)集上進行預訓練,對RoBERTa進行優(yōu)化,提出基于領域預訓練的公共安全領域命名實體識別模型.在提出的模型中:首先對輸入字符進行向量映射,接著使用RoBERTa進行預訓練,生成預訓練語言模型及含有語義的動態(tài)字詞向量;然后使用BiLSTM對輸入信息進行上下文特征提取,對每一個字符輸出每個預定義類的標簽預測分值;最后,使用CRF自動學習轉移特征,通過添加約束條件保證預測的標簽順序的合法性,選取最優(yōu)標注序列生成實體識別結果.模型結構如圖3所示:
國家對建筑材料的質量有著嚴格的規(guī)定和劃分,個別企業(yè)也有自己的材料使用質量標準,但是個別施工單位為了追求額外效益,會有意無意地在工程項目建設過程中使用一些不規(guī)范的工程材料,造成工程項目的最終質量存在問題。
圖3 RoBERTa-BiLSTM-CRF模型結構
RoBERTa 模型的輸入是由3種embedding相加得到:token embeddings,segment embeddings,position embeddings.token embeddings是詞向量,第1個單詞是 CLS 標志,可以用于分類任務;segment embeddings用來區(qū)分2種句子,可以用于以2個句子為輸入的分類任務;position embeddings表示位置.3種embedding都是通過訓練得來的.
本文提出PreTrain100K+RoBERTa+-BiLSTM-CRF模型主要是對RoBERTa模型進行改進,采用數(shù)據(jù)增強的方式加強深度學習模型對公共安全領域的命名識別能力.在爬取的部分公共安全事件詞典的基礎上,對RoBERT進行了2步改進:1)將原始的單字符掩碼機制修改為全詞掩碼機制,并在分詞函數(shù)中引入公共安全事件實體詞典;2)對改進的RoBERTa模型進行領域預訓練,即在爬取的10萬條新聞語料庫上進行詞掩蓋預訓練任務.
RoBERTa模型在輸入時采用動態(tài)掩碼機制,該機制采用以字符為單位進行切分.在生成訓練樣本時,句中的詞會被切分為多個詞組,并且這些詞組會被隨機掩碼.但是中文和英文的區(qū)別是英文最小的單位是一個單詞,而中文最小的單位是以字為粒度進行切分,單個字可能不包含完整的語義信息.在中文中包含語義信息的單位是詞,詞是由1個或多個字組成,并且1個完整的句子中詞和詞之間沒有明顯的邊界標志.
本文采用全詞掩碼機制來替換字符掩碼機制.如果1個完整的詞的部分子詞被掩碼,那么意味著同屬于該詞的其他部分也應該被掩蓋掉.基于這個中文語法,全詞掩碼使模型能夠更好地學習中文語言表述方式.具體實例如表1所示:
學校對實驗教學的管理是根本性管理。對是否能夠真正實現(xiàn)、實踐實戰(zhàn)能力強的應用型專業(yè)人才培養(yǎng)目標,具有根本性、決定性作用。
表1 全詞Mask
針對表1的情況,在全詞掩碼機制中,首先對文本進行分詞操作,并且在分詞過程中引入公共安全事件的實體詞典,使其能全詞掩碼機制預測時保留公共安全事件文本實體完整的語義,具體模型結構如圖4所示:
圖4 PreTrain100K+RoBERTa+模型結構
同時,為了增強中文相關背景知識的遷移和學習,本文以公開的微軟亞洲研究院MSRA數(shù)據(jù)集、人民日報語料集和今日頭條中文新聞數(shù)據(jù)集作為預訓練語料.新聞語料中也包含公共安全事件的語料,與本文特定任務語料十分相關,方便用于領域預訓練.這些新聞語料包含了10萬條未標注的新聞,將這些語料輸入到RoBERTa-base版本[13]預訓練模型中.在大規(guī)模無標注的語料上采用自監(jiān)督的方式訓練語言模型,并且將訓練后的語言模型與下游任務模型連接,采用微調方式調優(yōu)模型參數(shù).在預訓練語料中,MSRA語料集包含46 365條數(shù)據(jù),人民日報語料集包含23 061條數(shù)據(jù),今日頭條新聞數(shù)據(jù)集包含30 626條數(shù)據(jù),共計10萬余條語料數(shù)據(jù).
本文使用Python語言和Tensorflow框架.實驗運行環(huán)境為Win10操作系統(tǒng),內存64GB,處理器型號為lntel?CoreTMi7-10700CPU@2.90 GHz,GPU顯卡型號為NVIDIAGeForceRTX2080Ti.
本文的實驗數(shù)據(jù)是公開的安全事件案例《中文突發(fā)事件語料庫》(Chinese Emergency Corpus,CEC).CEC[14]數(shù)據(jù)集共有332條公共安全事件實例,該數(shù)據(jù)集含有5類預定義的實體.針對denoter,time,location,participant,object標簽進行命名實體識別,將標簽分別簡記為DEN,TIME,LOC,PAR,OBJ,分別表示行為、時間、位置、參與者和對象.
在實驗中,根據(jù)CEC實例數(shù)目對文檔進行劃分,在332條數(shù)據(jù)集中選取30條規(guī)范作為驗證集,其次對332條數(shù)據(jù)集按7∶3的比例劃分訓練集和測試集,具體數(shù)目信息如表2所示:
表2 數(shù)據(jù)集類別及字符數(shù)
注:362條數(shù)據(jù)中有30條重復實例.
本文以漢字作為輸入單元,標注體系選用經(jīng)典的BIO方法.BIO是B(begin),I(intermediate),O(other)的縮寫,其中,begin指所識別對象開始位置上的字符,intermediate指所識別對象最中間的字符,other指所識別對象中的非實體字符.本文數(shù)據(jù)集中5類預定義實體轉化的待預測標簽如表3所示:
表3 待預測標簽
實體邊界和實體標注是NER評估主要的方向.在預測過程中,只有當實體標簽的類型與預定義的實體類型完全一致時,才判斷該實體預測正確.NER的評價指標為:Accuracy(精確率)、Precision(準確率)、Recall(召回率)和F1值.具體公式為
(1)
(2)
(3)
(4)
其中:TP統(tǒng)計實體實際標簽和預測標簽都是正確的實體數(shù)目;TN統(tǒng)計實體實際標簽和預測標簽都是錯誤的實體數(shù)目;FP統(tǒng)計實體實際標簽是錯誤的但預測的標簽是正確的實體數(shù)目;FN統(tǒng)計實體實際標簽是正確的但預測的標簽是錯誤的數(shù)目.
深度學習的效果很大程度上取決于參數(shù)調節(jié)的好壞.深度學習超參數(shù)中最重要的2個可調參數(shù)是學習率和批樣本數(shù)量.由于硬件限制,批樣本數(shù)量的選取存在上限.針對RoBERTa-BiLSTM-CRF模型,在機器上訓練:當batch_size>22時,就會出現(xiàn)內存溢出;當batch_size=22時,既可以保證不發(fā)生內存溢出,還能夠保證GPU利用率達到90%以上.因此本文將確定batch_size的大小,分別研究學習率和迭代次數(shù)對模型擬合度的影響.
2.5.1 學習率對模型訓練的影響
學習率在模型迭代訓練中把握著整個過程的學習進度,直接關系到模型的可優(yōu)化空間.同時,將學習率調至最優(yōu)才能夠讓梯度下降得最快.設置不同學習率觀察RoBERTa-BiLSTM-CRF模型的準確率、精確率、召回率和F1值變化,實驗結果對比如圖5所示:
圖5 學習率對模型性能的影響
在圖5中,當學習率大于10-4時,準確率不超30%,精確率、召回率和F1值都不到10%.以指數(shù)形式逐漸減小學習率,當學習率等于10-4時,準確率和F1值達到最優(yōu).但是當學習率小于10-5時,性能在不斷下降.所以,本文的模型將學習率設置為最優(yōu)值10-4.
2.5.2 迭代次數(shù)對模型訓練的影響
用全部數(shù)據(jù)對模型進行多次完整的訓練稱為迭代訓練.確定batch_size和learning_rate的大小,多次改變迭代次數(shù)的大小,觀察模型的準確率的變化情況.在實驗中,設定迭代次數(shù)范圍為[50,350],從50開始步長為50依次增大設置,實驗結果如圖6所示.
圖6 迭代次數(shù)對模型性能的影響
從圖6可以看出,當?shù)螖?shù)為250時,準確率和F1都達到最優(yōu).同時,在250次時模型性能已經(jīng)趨于穩(wěn)定,并且波動較小,所以將迭代次數(shù)設置為250為最佳.
除了學習率和迭代次數(shù),模型的其他參數(shù)同樣通過類似的部分實驗獲取,具體超參數(shù)設定如表4所示:
表4 參數(shù)值設置
本文針對中文公共突發(fā)事件語料庫CEC進行分析,通過對中文預訓練模型的優(yōu)化,構建公共安全領域的PreTrain100K+RoBERTa+-BiLSTM-CRF模型.在實現(xiàn)中,我們選擇BiLSTM-CRF,BERT-BiLSTM-CRF和未加領域預訓練的RoBERTa+-BiLSTM-CRF等模型作為對比實驗,具體的實驗結果如表5所示.
表5 實體識別模型實驗結果對比 %
首先,對比BiLSTM-CRF和BERT-CRF模型的實驗結果,后者的F1值比前者高10.85%.由此可看出,BERT模型[15]依據(jù)單詞上下文計算的表示向量,比Word2Vec直接在此表中查找某個詞的表示向量更具有語義信息.因此,后者的效果要優(yōu)于前者.
對比BERT-CRF,增加了BiLSTM模型,性能得到了顯著提高,F(xiàn)1值提高了8.41%.這種情況說明了在BERT預訓練模型后直接使用CRF模型,缺少BiLSTM學習觀測序列上的依賴關系,整個模型在觀測序列上學習力就會下降.相比較BERT-BiLSTM-CRF,RoBERTa的預訓練效果性能更好,從結果可以得到RoBERTa-BiLSTM-CRF模型將精確率提高了0.66%,F(xiàn)1值提高了0.85%.因為原版的BERT依賴隨機掩碼和預測token,在數(shù)據(jù)預處理期間執(zhí)行1次掩碼,得到1個靜態(tài)掩碼;借助于動態(tài)掩碼機制,RoBERTa模型對預訓練語料中的實體名詞進行不同概率和順序的多次訓練,從而增強安全領域的實體名詞嵌入表示.因此,后者表現(xiàn)優(yōu)于前者.對比加入原始版的RoBERTa的模型,本文改進的RoBERTa+-BiLSTM-CRF模型的F1值表現(xiàn)較好.說明了加入實體詞典的全詞Mask機制能夠保留領域實體完整的語義,對下游公共安全事件命名實體識別任務有一定的提升.
對比RoBERTa+-BiLSTM-CRF模型,本文提出的PreTrain100K+RoBERTa+-BiLSTM-CRF模型將準確率和F1值分別提高了0.28%和0.29%.說明了對RoBERTa+模型在大規(guī)模的無標注語料上進行領域預訓練后能夠在一定程度上使模型學習到公共安全領域文本的領域特征,進而提升命名實體識別的性能.同時,實驗結果對比提升效果較小,說明領域預訓練語料不足,需要大量相關領域數(shù)據(jù)進行充分預訓練.
本文主要是對公共安全領域進行中文命名實體識別研究,提出了改進的命名實體識別模型PreTrain100K+RoBERTa+-BiLSTM-CRF.在對原始的RoBERTa模型進行領域預訓練優(yōu)化過程中,加入公共安全領域詞典的全詞Mask機制,并且對相關的10萬條中文語料庫進行預訓練,使PreTrain100K+RoBERTa+模型具備更好的中文語言模型能力.然后,將生成的預訓練語言模型和領域實體輸入到BiLSTM-CRF模型[16]中進行實體識別訓練.該模型在中文突發(fā)事件語料庫CEC上取得了較好的性能.
未來計劃在擴充公共安全事件語料的基礎上再進行預訓練模型的優(yōu)化,并且還計劃在命名實體識別任務中加入領域實體關系特征,從而提升公共安全領域的信息識別能力.