周 康,曲衛(wèi)東,楊藝琛
(長安大學(xué) 信息工程學(xué)院,陜西 西安 710064)
隨著互聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)絡(luò)文本數(shù)量呈現(xiàn)指數(shù)級增長,逐漸成為21世紀(jì)最有價值的資源之一。以文章為主體進行情感分析、輿情監(jiān)測等任務(wù)也逐漸成為自然語言處理(natural language processing,NLP)領(lǐng)域的熱門方向之一。識別文章的核心實體是進行情感分析、輿情監(jiān)測等工作的基礎(chǔ)步驟,要想從互聯(lián)網(wǎng)上海量的文本信息中獲取文章核心實體,依靠傳統(tǒng)人工閱讀的方式需要消耗大量時間和人力成本,如何迅速準(zhǔn)確地獲取文章的核心實體成為當(dāng)下亟待解決的問題。隨著機器學(xué)習(xí)技術(shù)在自然語言處理領(lǐng)域的興起,針對文本信息中語義不明晰等問題,命名實體識別(named entity recognition,NER)的研究逐漸轉(zhuǎn)向了機器學(xué)習(xí)方向,特別是隨著近年來深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用命名實體識別系統(tǒng)的性能得到了大幅提高。Collobert等人[1]率先將深度神經(jīng)網(wǎng)絡(luò)應(yīng)用到命名實體識別,極大地改進了識別的性能。尹繼澤等人[2]運用注意力機制和長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM),通過提取文本全局和局部特征,進一步提高了識別性能。目前雙向長短期記憶網(wǎng)絡(luò)(bidirectional long short-term memory,BiLSTM)結(jié)合條件隨機場(conditional random field,CRF)已被廣泛應(yīng)用于文本情感分析[3]、關(guān)鍵詞提取[4]、命名實體識別[5]等自然語言處理任務(wù)中,其中以生物學(xué)領(lǐng)域的命名實體識別研究最為成功[6-9]。
實體是人、物、地區(qū)、機構(gòu)、團體、企業(yè)、行業(yè)、某一特定事件等固定存在,且可以作為文章主體的實體詞。命名實體識別一般針對特定領(lǐng)域的實體詞,由于局部特征明顯,模型多使用句子級的特征,模型的識別能力比較強。與一般命名實體識別不同,文章核心實體是文章主要描述或擔(dān)任文章主要角色的實體詞。文章核心實體的識別則需要基于文章篇章級的理解,簡單的實體詞附近的局部特征信息并不適用于該任務(wù)。同時文章核心實體識別面向通用領(lǐng)域,文章復(fù)雜多類,核心實體又是篇章語義上的全文核心詞,需要結(jié)合篇章級的特征信息進行識別。
此外,網(wǎng)絡(luò)文章通常涉及的范圍十分廣泛,不同領(lǐng)域文章的表述方式也差別較大,其領(lǐng)域特征信息復(fù)雜多樣,目前流行的識別方法并不能很好地適應(yīng)文章核心實體識別任務(wù)的要求。為此該文提出一種基于增強BiLSTM的文章核心實體識別方法。該方法通過發(fā)揮BiLSTM對變長序列的處理和記憶能力來捕捉文章篇章級的特征信息[10],同時引入AdaBoost集成學(xué)習(xí)算法,通過調(diào)整訓(xùn)練數(shù)據(jù)分布對讓系統(tǒng)對數(shù)據(jù)集不同側(cè)面分別進行模型化,最后通過組合各細分子類的多分類器全面準(zhǔn)確地模型化多領(lǐng)域混合的復(fù)雜數(shù)據(jù),進而增強模型總體的識別能力。
傳統(tǒng)的命名實體識別由于實體詞附近的局部特征明顯,識別時大多只需要句子級的特征,且針對單一領(lǐng)域語料具有很好的效果。而網(wǎng)絡(luò)文章核心實體的識別由于是基于內(nèi)容理解進行識別,所以還需要篇章級的結(jié)構(gòu)特征信息,其抽取所要結(jié)合的全文語義關(guān)系特征并不明顯。同時網(wǎng)絡(luò)文章面向通用領(lǐng)域,內(nèi)容包含復(fù)雜多類的領(lǐng)域特征信息,很難通過單個模型進行全面描述。
針對以上問題,該文將長短不一的文章按照字符映射入BiLSTM模型變長的網(wǎng)絡(luò)結(jié)構(gòu)中,利用BiLSTM的記憶單元和雙向特性解決篇章級的語義理解問題。但模型還是難以同時應(yīng)對復(fù)雜的多領(lǐng)域特征信息,為此該文又引入AdaBoost集成學(xué)習(xí)算法以增強原有模型對數(shù)據(jù)復(fù)雜多類的特征進行捕捉刻畫,通過調(diào)整訓(xùn)練集數(shù)據(jù)分布,針對數(shù)據(jù)特征不同側(cè)面訓(xùn)練多個模型,每個模型只關(guān)注數(shù)據(jù)集復(fù)雜特征的一個側(cè)面,最終通過組合多個關(guān)注數(shù)據(jù)特征不同側(cè)面的子模型來刻畫復(fù)雜數(shù)據(jù)的全局特性,增強模型總體的識別能力。
網(wǎng)絡(luò)文章的篇幅長短不一致,文章核心實體的數(shù)量、位置也不確定,其抽取難度非常大,需要結(jié)合篇章級的語義理解,結(jié)合不同文本類別的文檔特征來識別出文章的核心實體,同時忽略其他語義類別的實體。
BERT(bidirectional encoder representation from transformers)[12]是Google提出的一種新型語言模型,該模型較完整地保存了文本語義信息,提升了模型的上下文雙向特征抽取能力,在各類NLP任務(wù)上取得了目前最好的結(jié)果。
為充分利用文本的篇章級語義信息,該文采用BERT預(yù)訓(xùn)練模型編碼字符級別的語境信息,提升字嵌入的上下文語義質(zhì)量,增強模型的語義表達能力。同時還在BiLSTM后加入CRF層使用條件隨機場模型對輸出進行解碼,通過標(biāo)簽間約束條件進一步提升標(biāo)簽序列預(yù)測準(zhǔn)確性,更好地把握文章全局特性,得到最終的預(yù)測標(biāo)簽序列。采用的BiLSTM模型結(jié)構(gòu)如圖1所示。
由于網(wǎng)絡(luò)文章核心實體識別是面向通用領(lǐng)域的抽取任務(wù),而且多領(lǐng)域?qū)е挛恼戮哂袕?fù)雜的篇章語義等特性,單個的BiLSTM模型難以同時對多個領(lǐng)域復(fù)雜類型的語料進行很好地模型化,使得核心實體識別效果較差,因此提升模型對復(fù)雜多類數(shù)據(jù)特征的模型化能力在實際應(yīng)用中很有必要。
圖1 BiLSTM模型結(jié)構(gòu)
Boosting是一種重要的集成學(xué)習(xí)技術(shù),能夠有效提升弱分類器的準(zhǔn)確率。目前有很多Boosting算法,常用的Boosting算法是Freund和Schapire于1995年提出的AdaBoost(adaptive boosting)算法[13]。AdaBoost是一種把多個簡單弱分類器組合成強分類器的方法,最終的輸出是由關(guān)注數(shù)據(jù)特征不同側(cè)面的子分類器加權(quán)合成計算而得。
常見的AdaBoost與弱分類器組合有:使用AdaBoost提升決策樹準(zhǔn)確率[14]以及使用AdaBoost提升支持向量機(support vector machine,SVM)的準(zhǔn)確率[15-16]等。新聞事件核心實體識別過程本質(zhì)上是對預(yù)測標(biāo)簽序列進行分類的過程,受此啟發(fā),該文提出使用AdaBoost算法框架,改善BiLSTM模型對復(fù)雜數(shù)據(jù)全局特征的捕獲能力,通過將多個關(guān)注不同細分子類的子模型組合為更強大的模型,來提高模型整體的分類預(yù)測能力。
由于BiLSTM模型與決策樹、SVM等分類器不同,需要對原有AdaBoost算法與弱分類器結(jié)合的方法進行適當(dāng)修改,以使得AdaBoost與序列預(yù)測模型結(jié)合。AdaBoost是通過調(diào)整訓(xùn)練集中樣本權(quán)重值來改變每個子模型訓(xùn)練數(shù)據(jù)的分布,從而獲得關(guān)注數(shù)據(jù)特征不同側(cè)面的模型,然后通過各個子模型的正確率來判定各個子模型對最終識別結(jié)果的貢獻。下面給出該算法的實現(xiàn)細節(jié)。
算法:AdaBoost算法。
輸入:已標(biāo)注樣本集〈(x1,y1),…,(xn,yn)〉、樣本權(quán)重向量D、BiLSTM模型參數(shù)、迭代次數(shù)K。
(1)fork=1,2,…,K
(2)從已標(biāo)注樣本集中依照權(quán)重Dk隨機抽取訓(xùn)練集T。
(3)使用訓(xùn)練集T訓(xùn)練BiLSTM模型hk。
(7)end for
輸出:模型最終輸出為各子模型加權(quán)預(yù)測結(jié)果H(xi)=sign(∑hk(xi)*βk)。
“大概有四個月了,腿也有點麻木,但不是很明顯,現(xiàn)在最遠也就能走個三十丈吧。想我前年還能縱馬馳騁疆場,一桿槍可擋千萬兵馬,如今卻老邁如此,唉!”
該文提出的經(jīng)AdaBoost增強的BiLSTM模型總體結(jié)構(gòu)如圖2所示。
圖2 增強BiLSTM模型結(jié)構(gòu)
AdaBoost算法以迭代的方式訓(xùn)練BiLSTM網(wǎng)絡(luò),經(jīng)過K輪迭代后得到關(guān)注數(shù)據(jù)特征不同側(cè)面的K個BiLSTM模型。在每一輪迭代中,通過對已標(biāo)注新聞?wù)Z料進行概率隨機抽樣形成訓(xùn)練集并送入BiLSTM網(wǎng)絡(luò)進行模型訓(xùn)練,訓(xùn)練結(jié)束后根據(jù)各模型的錯誤率生成模型權(quán)重β并調(diào)整訓(xùn)練數(shù)據(jù)集的樣本概率權(quán)重,從而改變下一輪數(shù)據(jù)分布。數(shù)據(jù)分布的調(diào)整遵照加大錯誤樣本權(quán)重減小正確樣本權(quán)重的原則進行,這就使得下一輪的模型訓(xùn)練更關(guān)注于模型未準(zhǔn)確捕捉的數(shù)據(jù)特征的那些樣本集合。最后依照模型權(quán)重組合K個BiLSTM模型得到增強BiLSTM模型來進行網(wǎng)絡(luò)文章核心實體的識別。
實驗所涉及的語料來自搜狐新聞門戶網(wǎng)站爬取的新聞數(shù)據(jù),其時間范圍為2019-03-01至2019-03-10,共計5萬篇新聞報道,涉及民生、娛樂、科技、政治等多個領(lǐng)域,文章結(jié)構(gòu)、表述方式復(fù)雜多樣。采用人工統(tǒng)計法標(biāo)注新聞數(shù)據(jù)集,每篇新聞文本依據(jù)所報道事件標(biāo)明2到3個核心實體,圖3為語料樣例,核心實體為:“3d”,“工業(yè)”和“機器視覺”。圖4為標(biāo)記樣本片段。
圖3 語料樣例
圖4 標(biāo)記樣本片段
其中,標(biāo)簽策略借鑒命名實體識別的BIO系統(tǒng),B表示核心實體的首字符,I表示核心實體首字符以外的其他實體字符,O表示非核心實體字符。實驗中將帶有核心實體標(biāo)簽的數(shù)據(jù)分為訓(xùn)練集和測試集。各數(shù)據(jù)集中的文本統(tǒng)計情況如表1所示。
表1 數(shù)據(jù)集文本分布
在增強BiLSTM模型的各子模型訓(xùn)練過程中,首先要得到句子級字向量序列。模型以句子為單位送入Bert模型生成字嵌入向量序列。輸入句子最大長度為512,長度不足的句子以
接下來進入BiLSTM層學(xué)習(xí)文本中全局特征信息。在BiLSTM參數(shù)學(xué)習(xí)過程中,隱含層設(shè)置為400維,BiLSTM輸出隱含層后經(jīng)過一個全連接網(wǎng)絡(luò)對其進行線性變換,降低維度,最終送入CRF層。輸出層的神經(jīng)元個數(shù)為3,即3種分類標(biāo)簽。在訓(xùn)練過程中,輸入的批量文本大小batch_size為50,學(xué)習(xí)率初始值為0.001。模型使用優(yōu)化的隨機梯度下降算法訓(xùn)練網(wǎng)絡(luò)參數(shù)并動態(tài)更新學(xué)習(xí)率的大小,其迭代次數(shù)設(shè)為100。
CRF++和BiLSTM分別是統(tǒng)計和深度學(xué)習(xí)領(lǐng)域比較有代表性的序列標(biāo)注模型,為此該文除了使用增強BiLSTM進行模型的構(gòu)建與實驗,還引入了普通BiLSTM和CRF++進行對比實驗來驗證所提出模型的有效性。
實驗中核心實體詞識別的綜合得分F1-score計算方法如下:
F1-score(Entities)=
(1)
實驗使用TensorFlow深度學(xué)習(xí)框架,借助GPU加速模型的訓(xùn)練過程,表2展示了文中方法、普通BiLSTM模型和CRF++在測試數(shù)據(jù)集上核心實體識別的精準(zhǔn)度(Precision)、召回率(Recall)和F1-score綜合得分情況。
表2 模型性能對比
由表2中的數(shù)據(jù)可看出,在進行文章核心實體識別時,普通BiLSTM模型的識別效果略優(yōu)于CRF++,該文提出的增強BiLSTM模型在精準(zhǔn)度、召回率和F1-score上均優(yōu)于普通BiLSTM模型和CRF++。說明在應(yīng)對復(fù)雜類型語料時,CRF++和普通BiLSTM模型無法獲得數(shù)據(jù)的全局特征,而增強BiLSTM模型在普通BiLSTM的基礎(chǔ)上極大地提高了模型化復(fù)雜數(shù)據(jù)全局特征的能力。增強BiLSTM模型通過從不同側(cè)面關(guān)注數(shù)據(jù)特征,組合多個關(guān)注數(shù)據(jù)集不同側(cè)面的子模型形成最終的增強預(yù)測模型。實驗結(jié)果證明了提出的模型的有效性,其識別性能比普通BiLSTM方法提升了17.03%,比CRF++提升了19.37%。
AdaBoost算法框架對BiLSTM模型的增強效果取決于各個子模型對數(shù)據(jù)集特征的捕獲能力,為此實驗對各個子模型的特征捕獲能力進行了實驗研究。實驗使用同一測試集對各個子模型進行了測試,并對各個測試結(jié)果中的正確預(yù)測樣例集合進行了對比分析。采用Jaccard相似系數(shù)(Jaccard similarity coefficient)來衡量各個正確預(yù)測樣例集合的相似度與差異性,Jaccard相似系數(shù)計算方法如下:
(2)
其中,A表示子模型A的預(yù)測結(jié)果中的正確預(yù)測樣例集合,B表示子模型B的預(yù)測結(jié)果中的正確預(yù)測樣例集合。Jaccard相似系數(shù)的值域是0到1,相似系數(shù)越大,兩個子模型對測試集的正確預(yù)測樣例集合相似度越高,兩個子模型的能力越相近,它們所捕獲的特征也就越相似。實驗計算了所有子模型對應(yīng)的正確預(yù)測樣例集合兩兩之間的Jaccard相似系數(shù),平均相似系數(shù)為0.483。這說明各個子模型所捕獲的數(shù)據(jù)集的特征不完全相同,它們對同一測試集展現(xiàn)出不同的預(yù)測能力。例如:子模型1對應(yīng)的正確預(yù)測樣例集合中大多是關(guān)于娛樂新聞的文章,其核心實體大多包含明星姓名;而子模型4對應(yīng)的正確預(yù)測樣例集合中多是關(guān)于金融的文章,其核心實體大多包含公司名稱。從而推斷子模型1和子模型4具有不同的能力特性,它們捕獲了不同的數(shù)據(jù)特征。因此,AdaBoost可以通過自適應(yīng)的調(diào)整數(shù)據(jù)分布使得各個子模型的訓(xùn)練數(shù)據(jù)具有不同偏向性,從而使各個子模型能夠捕獲數(shù)據(jù)集特征的不同側(cè)面,即數(shù)據(jù)集的特征中的一部分。
實驗還對增強BiLSTM模型中AdaBoost算法中的迭代次數(shù)K對模型的影響進行了實驗研究,圖5展示了當(dāng)K從1到20時模型F1值的變化趨勢。
圖5 F1值變化趨勢
由圖5可以看出,增強BiLSTM模型隨著迭代次數(shù)的增加,模型性能逐漸提升,當(dāng)?shù)螖?shù)達到20時,模型性能提升趨勢趨于平緩。增強BiLSTM通過調(diào)整數(shù)據(jù)分布來關(guān)注數(shù)據(jù)的不同側(cè)面,每增加一次迭代,其實是對數(shù)據(jù)集為模型化特征的一次模型化,表現(xiàn)為增加錯誤率高的樣本的權(quán)重使得下一次訓(xùn)練重點關(guān)注該樣本。隨著迭代次數(shù)的增加,在模型能力范圍內(nèi)未被模型刻畫的特征逐漸變少,模型的增強效果趨勢變緩。因此,較于普通BiLSTM模型,增強BiLSTM模型在面對復(fù)雜領(lǐng)域數(shù)據(jù)時性能較好,但并不能通過無限增加子模型數(shù)量來提升模型整體性能,合適的迭代次數(shù)K值應(yīng)依據(jù)數(shù)據(jù)集特征的復(fù)雜程度和模型實際效果而定。
介紹了基于增強BiLSTM的文章核心實體識別方法:通過BiLSTM模型關(guān)注文本中字符之間的聯(lián)系,挖掘文章篇章級的語義特征,使用AdaBoost增強模型加強對通用領(lǐng)域復(fù)雜數(shù)據(jù)特征的捕捉能力,從而更全面地刻畫數(shù)據(jù)集全局特征。實驗結(jié)果表明,該方法在核心實體識別任務(wù)上相比傳統(tǒng)模型性能有了進一步的提升,從而為情感分析、輿情監(jiān)測等任務(wù)提供更好的支持。增強BiLSTM的不足之處是其結(jié)構(gòu)導(dǎo)致模型不能較好地支持并行訓(xùn)練,訓(xùn)練時間成本較高,如何提高模型的并行訓(xùn)練能力將是接下來的研究重點。