林德萍,汪紅娟
(北京印刷學(xué)院,北京 102600)
自然語言處理是當(dāng)前人工智能領(lǐng)域中一個重要的研究方向,有著極其重要的地位,其目的在于研究如何將人類的語言或者說是人類的想法傳達(dá)給計算機(jī),從而實現(xiàn)人與計算機(jī)之間的交流。人類與動物之間的主要區(qū)別在于人類有著其他生物所沒有的語言系統(tǒng),而動物無法進(jìn)行直接的語言交流。因此人類信息的傳遞需要借助大量的語言文字,人類的各種發(fā)明、創(chuàng)新思維和經(jīng)驗知識等都需要通過語言文字的形式傳承下去。所以說人工智能的核心就是自然語言處理,自然語言處理可以應(yīng)用在人類實際生活中的諸多方面,例如機(jī)器翻譯、輿情監(jiān)測、自動摘要、觀點提取、文本分類等方面[1]。隨著計算機(jī)技術(shù)的不斷發(fā)展及計算機(jī)的不斷升級更新?lián)Q代,計算機(jī)已經(jīng)可以通過學(xué)習(xí)逐漸達(dá)到人類的水平,在各方面得到擴(kuò)展進(jìn)而處理越來越多的自然語言處理任務(wù)。
而我們今天要研究的則是其中一個重要方面:新聞文本分類不同模型的對比試驗??偟膩碚f就是通過兩個不同的已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)分類模型,將同一新聞文本數(shù)據(jù)集代入其中進(jìn)行訓(xùn)練,通過實驗得出將新聞文本數(shù)據(jù)集進(jìn)行標(biāo)簽分類的準(zhǔn)確率等評價指標(biāo),再將兩個實驗結(jié)果進(jìn)行對比從而比較兩個方法的優(yōu)缺點。具體的細(xì)節(jié)將在后面的章節(jié)詳細(xì)說明。
在人類豐富而燦爛的歷史當(dāng)中,文字起著傳承和發(fā)揚(yáng)文明的重要作用。五千年的華夏文明,只有通過文字這個必不可少的傳輸介質(zhì)才能源遠(yuǎn)流長,才能讓后人感受并學(xué)習(xí)先人的智慧。不僅僅是對歷史的傳承,在當(dāng)今社會中,我們的日常生活更是離不開文字。一方面,我們需要借助文字才能進(jìn)行知識的學(xué)習(xí)和日常的溝通交流;另一方面隨著計算機(jī)技術(shù)的普及和應(yīng)用領(lǐng)域越來越廣泛,借助計算機(jī)來處理文字信息,學(xué)習(xí)文字信息,最終將有效的信息傳達(dá)給人類實現(xiàn)人工智能,對現(xiàn)代人類來說變得更加意義非凡。
隨著大數(shù)據(jù)時代的到來,人類在使用電子產(chǎn)品的過程中每天都會產(chǎn)生大量的數(shù)據(jù)信息[2],同樣互聯(lián)網(wǎng)內(nèi)記錄每天世界各地的新聞信息也在不斷更新。為了更好更快地處理這些海量新聞,提取出人們相對感興趣的新聞文本,將新聞文本信息進(jìn)行分類就是其中的關(guān)鍵環(huán)節(jié)。文本分類,是將復(fù)雜的數(shù)據(jù)進(jìn)行很好的歸納總結(jié),從而更加高效地對事物進(jìn)行判斷和改進(jìn)。其中新聞文本分類就是分類問題的中的重要組成部分,也是人工智能領(lǐng)域中的基礎(chǔ)問題。在過去計算機(jī)尚未發(fā)明出來的時代,海量且冗余的信息只能耗費(fèi)大量的人力物力來實現(xiàn)并不顯著的分類效果,效率低下且分類質(zhì)量不佳。因此,利用計算機(jī)遠(yuǎn)超過人類的計算能力以及節(jié)約資源等優(yōu)點,通過機(jī)器學(xué)習(xí)的過程,讓計算機(jī)進(jìn)行文本分類,不僅節(jié)約了大量資源更具有劃時代的重大意義。
而面對眾多學(xué)者提出的不同分類算法和訓(xùn)練模型,為人類篩選出更為高效、更為精準(zhǔn)的分類方法,使計算機(jī)在文本分類過程中達(dá)到最佳分類效果也因此意義重大。新聞文本分類因此能夠更好地實現(xiàn)新聞分類的精確,這不僅僅是精度上的提高,在人類的實際生活中更是實現(xiàn)了利益最大化,資源合理化,實實在在地把人類的生活提高了一個檔次,在實際應(yīng)用過程中有著卓越意義。
本文主要分為以下四個章節(jié)進(jìn)行具體研究:
第一章為本文的研究背景及意義,主要闡述了進(jìn)行文本分類的研究意義,進(jìn)而引出本文針對新聞文本分類來進(jìn)行對比試驗以此找出更加高效且精準(zhǔn)的分類模型的現(xiàn)實意義。
第二章為相關(guān)理論與技術(shù)的概述,本章主要介紹了當(dāng)下流行的文本分類模型,包括循環(huán)神經(jīng)網(wǎng)絡(luò)、長短期記憶網(wǎng)絡(luò)以及Transformer模型和BERT模型的基礎(chǔ)知識。
第三章為兩個新聞文本分類模型的對比實驗分析,以新聞數(shù)據(jù)集為基礎(chǔ),對比了兩個模型之間的異同,根據(jù)評價指標(biāo)分析用于文本分類模型的優(yōu)勢之處。
第四章為對本文的總結(jié)和展望,總結(jié)了本文的工作,并對下一步分類模型的改進(jìn)和創(chuàng)新方向提出展望。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)和傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)相比,它不僅僅是通過連接不同層次來進(jìn)行信息傳遞,而是在網(wǎng)絡(luò)中引入環(huán)狀結(jié)構(gòu)來建立神經(jīng)元到自身的連接[3]。通過該環(huán)狀結(jié)構(gòu)增加上一節(jié)點存儲在網(wǎng)絡(luò)中的記憶,從而影響下一步的網(wǎng)絡(luò)輸出。循環(huán)神經(jīng)網(wǎng)絡(luò)的改進(jìn),是推進(jìn)深度學(xué)習(xí)領(lǐng)域快速發(fā)展中濃墨重彩的一筆,目前已經(jīng)應(yīng)用在了自然語言處理等諸多領(lǐng)域,文本分類就是其中一個非常具有現(xiàn)實意義的研究方向。許多學(xué)者對文本分類的研究與改進(jìn)就是基于循環(huán)神經(jīng)網(wǎng)絡(luò)的,文本分類本質(zhì)上可以說是一種特征提取,而循環(huán)神經(jīng)網(wǎng)絡(luò)為特征提取提供了有效的解決方式,因此能夠為文本分類提供很好的解決思路。
2.1.1 RNN循環(huán)神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)屬于遞歸神經(jīng)網(wǎng)絡(luò),輸入序列數(shù)據(jù)后在其演進(jìn)方向遞歸,連接所有節(jié)點(循環(huán)單元)的方式是鏈?zhǔn)絒4]。和卷積網(wǎng)絡(luò)的輸入數(shù)據(jù)相比,循環(huán)神經(jīng)網(wǎng)絡(luò)不僅輸入數(shù)據(jù)X,還將每一步的輸出作為下一步的輸入,每一次循環(huán)都采用相同的激活函數(shù)和參數(shù)。典型的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型如圖1所示,右側(cè)是將其按照時間序列展開之后的網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖1 基礎(chǔ)循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
2.1.2 LSTM長短期記憶網(wǎng)絡(luò)
以序列化方向演進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò),每次只能通過一個參數(shù)進(jìn)行傳播,但當(dāng)輸入信息量大且復(fù)雜的時候,序列化輸入一個參數(shù)并不能滿足需求,因此長短期記憶網(wǎng)絡(luò)(Long Short Term Memory,LSTM)就誕生了,用來解決此類問題。LSTM屬于門控算法,其單元包含了3個門控分別是輸入門、遺忘門和輸出門[5]。這個機(jī)制可以有選擇地輸入輸出需要的信息,或者選擇性地遺忘不需要的信息。LSTM是RNN的一種改進(jìn)結(jié)構(gòu),和RNN隱藏層的遞歸運(yùn)算相比,LSTM隱藏層節(jié)點結(jié)構(gòu)是由三個門控單元組成的并在LSTM單元的內(nèi)部建立了自循環(huán),LSTM網(wǎng)絡(luò)單元結(jié)構(gòu)如圖2所示:
圖2 長短期記憶網(wǎng)絡(luò)單元結(jié)構(gòu)
詳細(xì)來說,輸入門決定內(nèi)部單元該添加什么信息;遺忘門決定丟棄一些不需要的信息;輸出門通過對前面狀態(tài)的更新判斷決定輸出什么信息[6]。LSTM單元的更新方式如下:
式中fh,fs為系統(tǒng)狀態(tài)和內(nèi)部狀態(tài)的激勵函數(shù),通常為雙曲正切函數(shù),g為隨時間步更新的門控,本質(zhì)上是以Sigmoid函數(shù)為激勵函數(shù)的前饋神經(jīng)網(wǎng)絡(luò),使用Sigmoid函數(shù)的原因是其輸出在[0,1]區(qū)間,等效于一組權(quán)重。式中腳標(biāo)i,f,o表示輸入門、遺忘門和輸出門。
由于RNN自身的網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)勢,它可以將不同長度大小的數(shù)據(jù)信息從前往后進(jìn)行線性傳導(dǎo)[7],且經(jīng)過改進(jìn)成LSTM結(jié)構(gòu)后引入三個門控,可以捕獲更長距離的數(shù)據(jù)特征。因此從某種角度來說,RNN天然適合解決NLP這種線性序列應(yīng)用的問題場景,這也是為什么RNN在發(fā)展之初就迅速占領(lǐng)了自然語言處理領(lǐng)域的高地,并在文本分類的處理任務(wù)上曾經(jīng)風(fēng)靡一時的原因。然而隨著技術(shù)的不斷發(fā)展,近幾年后起之秀Transformer逐漸占據(jù)了主導(dǎo)地位,成為新的主流方法。究其原因,主要還是RNN本身的序列依賴結(jié)構(gòu)并不適用于信息量巨大的并行運(yùn)算[8]。從并行計算能力來看Transformer目前具有明顯的優(yōu)勢。近年來基于Transformer的文本分類模型越來越多,并在新聞文本分類等具體實際上的應(yīng)用取得了較好的效果,引發(fā)了越來越多學(xué)者的關(guān)注。
2.2.1 Transformer模型整體
Transformer模型最早是由Google提出的,該模型的提出是為了解決機(jī)器翻譯任務(wù)中傳統(tǒng)網(wǎng)絡(luò)訓(xùn)練時間過長,難以較好實現(xiàn)并行計算的問題。經(jīng)過大量實驗表明,這個模型對于語序特征的提取和傳統(tǒng)的RNN、LSTM相比效果較好因此逐漸廣泛應(yīng)用。
Transformer模型并行效果好且訓(xùn)練速度快的原因在于它不再是傳統(tǒng)的時序結(jié)構(gòu),而是一種編碼機(jī)制,該編碼同時包括了語義信息(Multi-Head Attention)和位置信息(Positional Encoding)[10]。
Transformer模型大量使用了注意力機(jī)制來代替RNN中的時序結(jié)構(gòu)因此讓整個模型實現(xiàn)并行計算,如圖3為Transformer模型的整體結(jié)構(gòu)圖。整個模型分為Encoder以及Decoder兩部分(分別對應(yīng)圖3的左邊和右邊)。
圖3 Transformer模型的整體結(jié)構(gòu)
2.2.2 BERT模型
BERT(Bidirectional Encoder Representations from Transformer)模型可以說是一個多層雙向的Transformer編碼器,它的架構(gòu)就是基于Transformer模型。雙向指的是通過某個信息數(shù)據(jù)可以獲取上下文語義的功能。
BERT模型是以數(shù)據(jù)信息通過矩陣轉(zhuǎn)化為原始詞向量作為輸入的,詞向量不僅可以隨機(jī)初始化,通過相關(guān)算法進(jìn)行預(yù)訓(xùn)練后還能作為初始值再輸入[11];輸出的則是原始向量融合全文語義信息后的向量表示[12]。如圖4所示為BERT 模型示意圖。
圖4 BERT模型
圖4中E1是指的單個字或詞,T1指的是最終計算得出的隱藏層,序列里面的每一個字經(jīng)過注意力機(jī)制和加權(quán)之后,當(dāng)前這個字等于用這句話中其他所有字重新表達(dá)了一遍,每個字含有了這句話中所有成分的信息[13]。
BERT語言模型是用于學(xué)習(xí)自然語言本質(zhì)的,比如學(xué)習(xí)英文單詞后通過已有詞匯自動生成英文文章。BERT模型預(yù)訓(xùn)練的目的是通過調(diào)整模型參數(shù)來使輸出結(jié)果能夠描述自然語言的本質(zhì),為此專家提出了兩個預(yù)訓(xùn)練任務(wù):Masked LM和Next Sentence Prediction[14]。
Masked LM的任務(wù)描述為:隨機(jī)地隱藏所給語句中的若干詞匯,可以根據(jù)剩余詞匯預(yù)測所隱藏的詞匯是什么[15],如圖5所示。
圖5 MLM訓(xùn)練任務(wù)圖
Next Sentence Prediction的任務(wù)描述為:判斷所給的兩個語句在文章中是否屬于上下文關(guān)系,如圖6所示。
圖6 NSP訓(xùn)練任務(wù)圖
針對自然語言處理任務(wù)中的文本分類問題,很多學(xué)者提出了不同的分類算法和訓(xùn)練模型,尋找出更為高效、更為精準(zhǔn)的分類模型是當(dāng)前很多學(xué)者和專家越來越關(guān)注的問題。尤其是在對新聞文本分類的研究對比工作相對較少,因此對現(xiàn)在流行的分類模型效果進(jìn)行對比對新聞文本分類有著重大的現(xiàn)實意義。本文主要就是針對新聞文本數(shù)據(jù)集,通過經(jīng)典的RNN模型和新興的BERT模型進(jìn)行實際訓(xùn)練實驗,以此來分析兩者的效率與性能。
3.1.1 實驗環(huán)境
新聞本文分類所需要的實驗硬件環(huán)境如表1所示,采用windows 10系統(tǒng),由于所用電腦本身環(huán)境配置的局限問題,本次實驗軟件環(huán)境采用的是Google實驗室所提供的實驗環(huán)境作為深度學(xué)習(xí)框架訓(xùn)練的工具。GPU采用的是NVIDIA GeForce MX250內(nèi)存8GB。
表1 硬件配置表
3.1.2 實驗數(shù)據(jù)
本實驗使用的是“ag_news_subset”數(shù)據(jù)集進(jìn)行模型訓(xùn)練。該新聞文本數(shù)據(jù)集包含了超過一百萬條新聞文章。其中的新聞文章是由學(xué)術(shù)團(tuán)體從2000多個新聞來源中收集而來的,為學(xué)者們研究數(shù)據(jù)挖掘等學(xué)術(shù)活動所用。AG的新聞主題分類數(shù)據(jù)集是由張翔從其中的新聞數(shù)據(jù)集中構(gòu)建而來的[16]。AG的新聞主題分類數(shù)據(jù)集構(gòu)建了4個最大類別,其中訓(xùn)練樣本總數(shù)為120000,測試樣本為7600。
3.1.3 評價指標(biāo)
本次實驗評價指標(biāo)采用的是通用的準(zhǔn)確率、損失率。準(zhǔn)確率(accuracy)表示的是測試數(shù)據(jù)集上正確分類的樣本數(shù)和總樣本數(shù)之比,損失率(loss)則表示構(gòu)建模型時得到的預(yù)測值與真實值之間的差距。
3.2.1 實驗參數(shù)設(shè)置
本文主要采用了RNN和新聞文本分類這兩個訓(xùn)練模型來進(jìn)行新聞文本分類的對比,這兩個模型實驗所用的共同參數(shù)如表2所示。
表2 兩模型的相同參數(shù)
3.2.2 實驗訓(xùn)練
本實驗是在Google實驗室上進(jìn)行網(wǎng)絡(luò)訓(xùn)練的,配置好tensorflow環(huán)境后,下載所需數(shù)據(jù)集,分別定義RNN和BERT訓(xùn)練模型,再代入同一新聞文本數(shù)據(jù)集進(jìn)行模型訓(xùn)練。
通過RNN模型對數(shù)據(jù)集進(jìn)行訓(xùn)練得出了訓(xùn)練集準(zhǔn)確率和驗證集準(zhǔn)確率,如圖7所示。隨著網(wǎng)絡(luò)的不斷訓(xùn)練,訓(xùn)練集上網(wǎng)絡(luò)的準(zhǔn)確性不斷提高,最終達(dá)到98.1%。 相反,驗證集的準(zhǔn)確率在第3個時期達(dá)到91.35%,此后準(zhǔn)確率趨于穩(wěn)定。
圖7 RNN模型準(zhǔn)確率
通過RNN模型對數(shù)據(jù)集進(jìn)行訓(xùn)練得出了訓(xùn)練集損失值和驗證集損失值,如圖8所示。類似地,訓(xùn)練集的損失在不斷減少,而驗證集的損失也在減少,但在第2個時期達(dá)到最低28.9%后再次增加。
圖8 RNN模型損失率
通過BERT模型對數(shù)據(jù)集進(jìn)行訓(xùn)練得出了訓(xùn)練集準(zhǔn)確率和驗證集準(zhǔn)確率,如圖9所示。隨著網(wǎng)絡(luò)的不斷訓(xùn)練,訓(xùn)練集上網(wǎng)絡(luò)的準(zhǔn)確性不斷提高,最終達(dá)到99.6%。不同的是,驗證集的準(zhǔn)確率緩慢上升,在第4個時期達(dá)到93.48%,此后準(zhǔn)確率趨于穩(wěn)定。
圖9 BERT模型準(zhǔn)確率
通過BERT模型對數(shù)據(jù)集進(jìn)行訓(xùn)練得出了訓(xùn)練集損失值和驗證集損失值,如圖10所示。類似地,訓(xùn)練集的損失在不斷減少,而驗證集的損失從一開始處于穩(wěn)定狀態(tài),但隨著訓(xùn)練次數(shù)的增加驗證集的損失率出現(xiàn)上升趨勢。
圖10 BERT模型損失值
在構(gòu)建模型的過程中,如果準(zhǔn)確率和驗證準(zhǔn)確率存在較大的差異,則說明該模型存在過擬合現(xiàn)象。
通過觀察RNN及BERT模型驗證集的變化趨勢,可以看出,當(dāng)訓(xùn)練時期超過3時,兩種模型都會處于過度擬合狀態(tài)。對于特定的樣本數(shù)據(jù)集,當(dāng)訓(xùn)練周期較長時經(jīng)過過長時間的訓(xùn)練,訓(xùn)練集的損失函數(shù)值會越來越小,而驗證集/測試集上的損失函數(shù)值反而會越來越大,兩者之間的差距越來越大,從而造成過擬合狀態(tài)。產(chǎn)生的主要原因是迭代次數(shù)過多,訓(xùn)練時間過長,擬合了訓(xùn)練數(shù)據(jù)中的噪音和訓(xùn)練樣例中沒有代表性的特征,使得模型的泛化能力降低。我們可以通過設(shè)定合適的停止標(biāo)準(zhǔn),限制訓(xùn)練時間重新進(jìn)行訓(xùn)練來避免過擬合現(xiàn)象。
3.2.3 實驗結(jié)果對比分析
本節(jié)通過使用不同的深度學(xué)習(xí)方法對同一個新聞文本分類的數(shù)據(jù)集AG進(jìn)行訓(xùn)練,得到了測試的樣本集中分類的準(zhǔn)確率與損失率,通過畫折線圖對兩個訓(xùn)練模型得出的數(shù)據(jù)結(jié)果進(jìn)行了對比。
如圖11所示,對于損失值來說,RNN和BERT模型均是在訓(xùn)練10個周期過程中,損失值逐步下降再緩慢回升,均存在了過擬合現(xiàn)象。但在前三個未產(chǎn)生過擬合現(xiàn)象的訓(xùn)練周期中,BERT模型的損失值明顯低于RNN模型。
圖11 損失值對比
如圖12所示,對于準(zhǔn)確率來說,RNN和BERT模型的驗證準(zhǔn)確率在整個訓(xùn)練過程中都處于緩慢上升后偶有下降,最終趨于平穩(wěn)的趨勢, 但BERT模型的驗證準(zhǔn)確率明顯高于RNN模型。
圖12 準(zhǔn)確率對比
通過對比RNN和BERT模型對同一新聞文本數(shù)據(jù)集進(jìn)行分類訓(xùn)練的實驗結(jié)果來看,BERT模型的分類準(zhǔn)確率高于RNN模型,且其分類的損失值會低于RNN模型,因此BERT模型的分類效果是優(yōu)于RNN模型的。
在本文中,我們首先將本次新聞文本分類所用神經(jīng)網(wǎng)絡(luò)模型相關(guān)的理論知識與技術(shù)進(jìn)行了簡單的介紹。然后通過實際的實驗訓(xùn)練,在Google實驗室內(nèi)配置實驗環(huán)境并使用新聞文本數(shù)據(jù)集進(jìn)行訓(xùn)練,得出了RNN和BERT模型對同一新聞數(shù)據(jù)集進(jìn)行訓(xùn)練得出的準(zhǔn)確率和損失率。分析對比了兩者的實驗結(jié)果,驗證了BERT模型在新聞文本分類中的精確性和先進(jìn)性。
本文雖然對比了基于新聞文本數(shù)據(jù)集的文本分類模型,明確了文本分類算法的基本原理和步驟,根據(jù)實驗結(jié)果對比分析驗證出了兩者的優(yōu)異,但并沒有提出具體可行的改進(jìn)和優(yōu)化方法,從算法的角度上來說仍然存在很大的不足之處。從實驗結(jié)果來說,產(chǎn)生的過擬合現(xiàn)象也是實驗訓(xùn)練需要改進(jìn)的地方。
在接下來的日子里我們將進(jìn)行進(jìn)一步的研究,對于訓(xùn)練中出現(xiàn)的過擬合現(xiàn)象,我們將從減少訓(xùn)練時間、增加數(shù)據(jù)集規(guī)模、交叉驗證數(shù)據(jù)集及通過正則化降低模型復(fù)雜性等方面來改進(jìn)實驗結(jié)果,降低過擬合。針對循環(huán)神經(jīng)網(wǎng)絡(luò),我們將從如何提高該神經(jīng)網(wǎng)絡(luò)并行運(yùn)算能力入手,減小其不能進(jìn)行并行運(yùn)算的局限性;對于BERT模型來說,雖然它是當(dāng)前的主流方法,性能優(yōu)于傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò),但BERT模型的未來研究前景依然廣闊,我們在考慮如何在不降低準(zhǔn)確率的情況下減少參數(shù)量,從而提高BERT模型的工作效率。