周 康,曲衛東,楊藝琛
(長安大學 信息工程學院,陜西 西安 710064)
隨著互聯網的迅速發展,網絡文本數量呈現指數級增長,逐漸成為21世紀最有價值的資源之一。以文章為主體進行情感分析、輿情監測等任務也逐漸成為自然語言處理(natural language processing,NLP)領域的熱門方向之一。識別文章的核心實體是進行情感分析、輿情監測等工作的基礎步驟,要想從互聯網上海量的文本信息中獲取文章核心實體,依靠傳統人工閱讀的方式需要消耗大量時間和人力成本,如何迅速準確地獲取文章的核心實體成為當下亟待解決的問題。隨著機器學習技術在自然語言處理領域的興起,針對文本信息中語義不明晰等問題,命名實體識別(named entity recognition,NER)的研究逐漸轉向了機器學習方向,特別是隨著近年來深度神經網絡的應用命名實體識別系統的性能得到了大幅提高。Collobert等人[1]率先將深度神經網絡應用到命名實體識別,極大地改進了識別的性能。尹繼澤等人[2]運用注意力機制和長短期記憶網絡(long short-term memory,LSTM),通過提取文本全局和局部特征,進一步提高了識別性能。目前雙向長短期記憶網絡(bidirectional long short-term memory,BiLSTM)結合條件隨機場(conditional random field,CRF)已被廣泛應用于文本情感分析[3]、關鍵詞提取[4]、命名實體識別[5]等自然語言處理任務中,其中以生物學領域的命名實體識別研究最為成功[6-9]。
實體是人、物、地區、機構、團體、企業、行業、某一特定事件等固定存在,且可以作為文章主體的實體詞。命名實體識別一般針對特定領域的實體詞,由于局部特征明顯,模型多使用句子級的特征,模型的識別能力比較強。與一般命名實體識別不同,文章核心實體是文章主要描述或擔任文章主要角色的實體詞。文章核心實體的識別則需要基于文章篇章級的理解,簡單的實體詞附近的局部特征信息并不適用于該任務。同時文章核心實體識別面向通用領域,文章復雜多類,核心實體又是篇章語義上的全文核心詞,需要結合篇章級的特征信息進行識別。
此外,網絡文章通常涉及的范圍十分廣泛,不同領域文章的表述方式也差別較大,其領域特征信息復雜多樣,目前流行的識別方法并不能很好地適應文章核心實體識別任務的要求。為此該文提出一種基于增強BiLSTM的文章核心實體識別方法。該方法通過發揮BiLSTM對變長序列的處理和記憶能力來捕捉文章篇章級的特征信息[10],同時引入AdaBoost集成學習算法,通過調整訓練數據分布對讓系統對數據集不同側面分別進行模型化,最后通過組合各細分子類的多分類器全面準確地模型化多領域混合的復雜數據,進而增強模型總體的識別能力。
傳統的命名實體識別由于實體詞附近的局部特征明顯,識別時大多只需要句子級的特征,且針對單一領域語料具有很好的效果。而網絡文章核心實體的識別由于是基于內容理解進行識別,所以還需要篇章級的結構特征信息,其抽取所要結合的全文語義關系特征并不明顯。同時網絡文章面向通用領域,內容包含復雜多類的領域特征信息,很難通過單個模型進行全面描述。
針對以上問題,該文將長短不一的文章按照字符映射入BiLSTM模型變長的網絡結構中,利用BiLSTM的記憶單元和雙向特性解決篇章級的語義理解問題。但模型還是難以同時應對復雜的多領域特征信息,為此該文又引入AdaBoost集成學習算法以增強原有模型對數據復雜多類的特征進行捕捉刻畫,通過調整訓練集數據分布,針對數據特征不同側面訓練多個模型,每個模型只關注數據集復雜特征的一個側面,最終通過組合多個關注數據特征不同側面的子模型來刻畫復雜數據的全局特性,增強模型總體的識別能力。
網絡文章的篇幅長短不一致,文章核心實體的數量、位置也不確定,其抽取難度非常大,需要結合篇章級的語義理解,結合不同文本類別的文檔特征來識別出文章的核心實體,同時忽略其他語義類別的實體。

BERT(bidirectional encoder representation from transformers)[12]是Google提出的一種新型語言模型,該模型較完整地保存了文本語義信息,提升了模型的上下文雙向特征抽取能力,在各類NLP任務上取得了目前最好的結果。
為充分利用文本的篇章級語義信息,該文采用BERT預訓練模型編碼字符級別的語境信息,提升字嵌入的上下文語義質量,增強模型的語義表達能力。同時還在BiLSTM后加入CRF層使用條件隨機場模型對輸出進行解碼,通過標簽間約束條件進一步提升標簽序列預測準確性,更好地把握文章全局特性,得到最終的預測標簽序列。采用的BiLSTM模型結構如圖1所示。
由于網絡文章核心實體識別是面向通用領域的抽取任務,而且多領域導致文章具有復雜的篇章語義等特性,單個的BiLSTM模型難以同時對多個領域復雜類型的語料進行很好地模型化,使得核心實體識別效果較差,因此提升模型對復雜多類數據特征的模型化能力在實際應用中很有必要。

圖1 BiLSTM模型結構
Boosting是一種重要的集成學習技術,能夠有效提升弱分類器的準確率。目前有很多Boosting算法,常用的Boosting算法是Freund和Schapire于1995年提出的AdaBoost(adaptive boosting)算法[13]。AdaBoost是一種把多個簡單弱分類器組合成強分類器的方法,最終的輸出是由關注數據特征不同側面的子分類器加權合成計算而得。
常見的AdaBoost與弱分類器組合有:使用AdaBoost提升決策樹準確率[14]以及使用AdaBoost提升支持向量機(support vector machine,SVM)的準確率[15-16]等。新聞事件核心實體識別過程本質上是對預測標簽序列進行分類的過程,受此啟發,該文提出使用AdaBoost算法框架,改善BiLSTM模型對復雜數據全局特征的捕獲能力,通過將多個關注不同細分子類的子模型組合為更強大的模型,來提高模型整體的分類預測能力。
由于BiLSTM模型與決策樹、SVM等分類器不同,需要對原有AdaBoost算法與弱分類器結合的方法進行適當修改,以使得AdaBoost與序列預測模型結合。AdaBoost是通過調整訓練集中樣本權重值來改變每個子模型訓練數據的分布,從而獲得關注數據特征不同側面的模型,然后通過各個子模型的正確率來判定各個子模型對最終識別結果的貢獻。下面給出該算法的實現細節。

算法:AdaBoost算法。
輸入:已標注樣本集〈(x1,y1),…,(xn,yn)〉、樣本權重向量D、BiLSTM模型參數、迭代次數K。
(1)fork=1,2,…,K
(2)從已標注樣本集中依照權重Dk隨機抽取訓練集T。
(3)使用訓練集T訓練BiLSTM模型hk。


(7)end for
輸出:模型最終輸出為各子模型加權預測結果H(xi)=sign(∑hk(xi)*βk)。
“大概有四個月了,腿也有點麻木,但不是很明顯,現在最遠也就能走個三十丈吧。想我前年還能縱馬馳騁疆場,一桿槍可擋千萬兵馬,如今卻老邁如此,唉!”
該文提出的經AdaBoost增強的BiLSTM模型總體結構如圖2所示。

圖2 增強BiLSTM模型結構
AdaBoost算法以迭代的方式訓練BiLSTM網絡,經過K輪迭代后得到關注數據特征不同側面的K個BiLSTM模型。在每一輪迭代中,通過對已標注新聞語料進行概率隨機抽樣形成訓練集并送入BiLSTM網絡進行模型訓練,訓練結束后根據各模型的錯誤率生成模型權重β并調整訓練數據集的樣本概率權重,從而改變下一輪數據分布。數據分布的調整遵照加大錯誤樣本權重減小正確樣本權重的原則進行,這就使得下一輪的模型訓練更關注于模型未準確捕捉的數據特征的那些樣本集合。最后依照模型權重組合K個BiLSTM模型得到增強BiLSTM模型來進行網絡文章核心實體的識別。
實驗所涉及的語料來自搜狐新聞門戶網站爬取的新聞數據,其時間范圍為2019-03-01至2019-03-10,共計5萬篇新聞報道,涉及民生、娛樂、科技、政治等多個領域,文章結構、表述方式復雜多樣。采用人工統計法標注新聞數據集,每篇新聞文本依據所報道事件標明2到3個核心實體,圖3為語料樣例,核心實體為:“3d”,“工業”和“機器視覺”。圖4為標記樣本片段。

圖3 語料樣例

圖4 標記樣本片段
其中,標簽策略借鑒命名實體識別的BIO系統,B表示核心實體的首字符,I表示核心實體首字符以外的其他實體字符,O表示非核心實體字符。實驗中將帶有核心實體標簽的數據分為訓練集和測試集。各數據集中的文本統計情況如表1所示。

表1 數據集文本分布
在增強BiLSTM模型的各子模型訓練過程中,首先要得到句子級字向量序列。模型以句子為單位送入Bert模型生成字嵌入向量序列。輸入句子最大長度為512,長度不足的句子以
接下來進入BiLSTM層學習文本中全局特征信息。在BiLSTM參數學習過程中,隱含層設置為400維,BiLSTM輸出隱含層后經過一個全連接網絡對其進行線性變換,降低維度,最終送入CRF層。輸出層的神經元個數為3,即3種分類標簽。在訓練過程中,輸入的批量文本大小batch_size為50,學習率初始值為0.001。模型使用優化的隨機梯度下降算法訓練網絡參數并動態更新學習率的大小,其迭代次數設為100。
CRF++和BiLSTM分別是統計和深度學習領域比較有代表性的序列標注模型,為此該文除了使用增強BiLSTM進行模型的構建與實驗,還引入了普通BiLSTM和CRF++進行對比實驗來驗證所提出模型的有效性。
實驗中核心實體詞識別的綜合得分F1-score計算方法如下:
F1-score(Entities)=
(1)
實驗使用TensorFlow深度學習框架,借助GPU加速模型的訓練過程,表2展示了文中方法、普通BiLSTM模型和CRF++在測試數據集上核心實體識別的精準度(Precision)、召回率(Recall)和F1-score綜合得分情況。

表2 模型性能對比
由表2中的數據可看出,在進行文章核心實體識別時,普通BiLSTM模型的識別效果略優于CRF++,該文提出的增強BiLSTM模型在精準度、召回率和F1-score上均優于普通BiLSTM模型和CRF++。說明在應對復雜類型語料時,CRF++和普通BiLSTM模型無法獲得數據的全局特征,而增強BiLSTM模型在普通BiLSTM的基礎上極大地提高了模型化復雜數據全局特征的能力。增強BiLSTM模型通過從不同側面關注數據特征,組合多個關注數據集不同側面的子模型形成最終的增強預測模型。實驗結果證明了提出的模型的有效性,其識別性能比普通BiLSTM方法提升了17.03%,比CRF++提升了19.37%。
AdaBoost算法框架對BiLSTM模型的增強效果取決于各個子模型對數據集特征的捕獲能力,為此實驗對各個子模型的特征捕獲能力進行了實驗研究。實驗使用同一測試集對各個子模型進行了測試,并對各個測試結果中的正確預測樣例集合進行了對比分析。采用Jaccard相似系數(Jaccard similarity coefficient)來衡量各個正確預測樣例集合的相似度與差異性,Jaccard相似系數計算方法如下:
(2)
其中,A表示子模型A的預測結果中的正確預測樣例集合,B表示子模型B的預測結果中的正確預測樣例集合。Jaccard相似系數的值域是0到1,相似系數越大,兩個子模型對測試集的正確預測樣例集合相似度越高,兩個子模型的能力越相近,它們所捕獲的特征也就越相似。實驗計算了所有子模型對應的正確預測樣例集合兩兩之間的Jaccard相似系數,平均相似系數為0.483。這說明各個子模型所捕獲的數據集的特征不完全相同,它們對同一測試集展現出不同的預測能力。例如:子模型1對應的正確預測樣例集合中大多是關于娛樂新聞的文章,其核心實體大多包含明星姓名;而子模型4對應的正確預測樣例集合中多是關于金融的文章,其核心實體大多包含公司名稱。從而推斷子模型1和子模型4具有不同的能力特性,它們捕獲了不同的數據特征。因此,AdaBoost可以通過自適應的調整數據分布使得各個子模型的訓練數據具有不同偏向性,從而使各個子模型能夠捕獲數據集特征的不同側面,即數據集的特征中的一部分。
實驗還對增強BiLSTM模型中AdaBoost算法中的迭代次數K對模型的影響進行了實驗研究,圖5展示了當K從1到20時模型F1值的變化趨勢。

圖5 F1值變化趨勢
由圖5可以看出,增強BiLSTM模型隨著迭代次數的增加,模型性能逐漸提升,當迭代次數達到20時,模型性能提升趨勢趨于平緩。增強BiLSTM通過調整數據分布來關注數據的不同側面,每增加一次迭代,其實是對數據集為模型化特征的一次模型化,表現為增加錯誤率高的樣本的權重使得下一次訓練重點關注該樣本。隨著迭代次數的增加,在模型能力范圍內未被模型刻畫的特征逐漸變少,模型的增強效果趨勢變緩。因此,較于普通BiLSTM模型,增強BiLSTM模型在面對復雜領域數據時性能較好,但并不能通過無限增加子模型數量來提升模型整體性能,合適的迭代次數K值應依據數據集特征的復雜程度和模型實際效果而定。
介紹了基于增強BiLSTM的文章核心實體識別方法:通過BiLSTM模型關注文本中字符之間的聯系,挖掘文章篇章級的語義特征,使用AdaBoost增強模型加強對通用領域復雜數據特征的捕捉能力,從而更全面地刻畫數據集全局特征。實驗結果表明,該方法在核心實體識別任務上相比傳統模型性能有了進一步的提升,從而為情感分析、輿情監測等任務提供更好的支持。增強BiLSTM的不足之處是其結構導致模型不能較好地支持并行訓練,訓練時間成本較高,如何提高模型的并行訓練能力將是接下來的研究重點。