賈澎濤,孫 煒
(西安科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,陜西 西安 710600)
機(jī)器學(xué)習(xí)是一門多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計(jì)學(xué)、逼近論、凸分析、算法復(fù)雜度理論等多門學(xué)科,是人工智能的核心,是使計(jì)算機(jī)具有智能的根本途徑。機(jī)器學(xué)習(xí)主要應(yīng)用在計(jì)算機(jī)視覺(jué)與自然語(yǔ)言處理等方面中,其中自然語(yǔ)言處理中的文本分類是近幾年的研究熱點(diǎn)[1]。文本分類是由Lunhn等人在1957年提出。在1961年,Maron[2]發(fā)表了第一篇關(guān)于自動(dòng)文本分類的文章。文本分類是用電腦對(duì)文本集(或其他實(shí)體或物件)按照一定的分類體系或標(biāo)準(zhǔn)進(jìn)行自動(dòng)分類標(biāo)記,文本分類技術(shù)有著廣泛的應(yīng)用前景[3],它是信息過(guò)濾、信息檢索和文檔分類等領(lǐng)域的技術(shù)支持。
近年來(lái),國(guó)內(nèi)外學(xué)者對(duì)文本分類問(wèn)題做了許多的探索和研究,主要包括傳統(tǒng)的機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法?;跈C(jī)器學(xué)習(xí)的文本分類主要包括文本表示、特征選擇和構(gòu)造分類器。文本表示的主要方法有布爾模型(Boolean Model)、概率模型(Probabilistic Model)和向量空間模型(Vector Space Model)。特征選擇的方法主要為:特征頻率、文檔頻率、信息增益、互信息、CHI統(tǒng)計(jì)、期望交叉熵、文本證據(jù)權(quán)、優(yōu)勢(shì)率、低損降維法和頻率差法等[4],其中CHI統(tǒng)計(jì)方法和信息增益法是最常用的2個(gè)特征選擇指標(biāo)。在基于機(jī)器學(xué)習(xí)的文本分類中,機(jī)器學(xué)習(xí)算法主要有樸素貝葉斯、邏輯回歸、支持向量機(jī)和K-近鄰算法,這些算法在文本分類的過(guò)程中存在一些優(yōu)缺點(diǎn)[5]。基于樸素貝葉斯的文本分類,主要優(yōu)點(diǎn)是執(zhí)行速度快、算法簡(jiǎn)單且分類精度較高,由于對(duì)特征項(xiàng)之間的獨(dú)立性假設(shè),可能會(huì)使分類效果不好?;贙NN的文本分類[6],主要優(yōu)點(diǎn)是算法穩(wěn)定、分類精度高,適用于類域的交叉或重疊較多的文本集。但當(dāng)樣本不平衡時(shí),大容量樣本占多數(shù)時(shí),可能會(huì)導(dǎo)致分類錯(cuò)誤。基于支持向量機(jī)的文本情感分類[7],主要優(yōu)點(diǎn)是參數(shù)少、速度快,對(duì)線性可分?jǐn)?shù)據(jù),其分類效果明顯,可以降低高維空間問(wèn)題的求解難度,具有較好的泛化推廣能力。但該方法需要大量的存儲(chǔ)空間,如果數(shù)據(jù)量很大,訓(xùn)練時(shí)間就會(huì)比較長(zhǎng)。
基于機(jī)器學(xué)習(xí)的文本分類方法忽略了詞與詞之間的關(guān)系以及句子和句子間的關(guān)系,對(duì)高維數(shù)據(jù)的處理和泛化能力都比較差。在2006年,Hinton等人[8]提出的深度學(xué)習(xí)的概念,解決了以往淺層結(jié)構(gòu)算法對(duì)復(fù)雜函數(shù)的表示能力有限等問(wèn)題。自此之后,基于深度學(xué)習(xí)的文本分類研究逐漸取代傳統(tǒng)機(jī)器學(xué)習(xí)方法成為文本分類領(lǐng)域的主流研究方向,所使用的深度學(xué)習(xí)模型包括卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、注意力機(jī)制等其他模型。卷積神經(jīng)網(wǎng)絡(luò)(CNN)最初在圖像領(lǐng)域取得巨大成功,它的核心在于捕捉局部相關(guān)性,類似于文本中的N-Gram。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是以序列數(shù)據(jù)為輸入,在序列的演進(jìn)方向進(jìn)行遞歸且所有節(jié)點(diǎn)(循環(huán)單元)按鏈?zhǔn)竭B接遞歸神經(jīng)網(wǎng)絡(luò)。注意力機(jī)制(Attention Mechanisms)是自然語(yǔ)言處理領(lǐng)域中一種常用的建模長(zhǎng)時(shí)間記憶機(jī)制,通過(guò)計(jì)算不同時(shí)刻詞向量的概率權(quán)重,使不同的詞得到不同的關(guān)注,從而提高隱藏層特征提取的質(zhì)量。這些深度學(xué)習(xí)模型用于文本分類領(lǐng)域都取得了較好的實(shí)驗(yàn)效果。
深度學(xué)習(xí)(Deep Learning)作為機(jī)器學(xué)習(xí)的分支,主要利用包含復(fù)雜結(jié)構(gòu)或由多隱層感知器構(gòu)成的多個(gè)處理層對(duì)數(shù)據(jù)進(jìn)行高層抽象,從而取代手工獲取文本特征?;谏疃葘W(xué)習(xí)的文本分類主要利用深度學(xué)習(xí)模型的自動(dòng)獲取特征表達(dá)能力,替代傳統(tǒng)方法中復(fù)雜的人工特征工程,提高分類的效率。深度學(xué)習(xí)模型用于文本分類的主要過(guò)程有文本預(yù)處理、文本表示、構(gòu)建深度學(xué)習(xí)模型和性能評(píng)價(jià)等步驟,如圖1所示。
圖1 文本分類的主要過(guò)程
數(shù)據(jù)集的選擇對(duì)文本分類實(shí)驗(yàn)結(jié)果有著重要的影響,目前文本分類常用的開(kāi)源數(shù)據(jù)集如下:
1)Amazon Review Dataset包含數(shù)百萬(wàn)條亞馬遜客戶評(píng)論和星級(jí)評(píng)定,該數(shù)據(jù)集主要用來(lái)了解如何訓(xùn)練FastText用于情感分析。
2)IMDB數(shù)據(jù)集包含用于自然語(yǔ)言處理或文本分析的5萬(wàn)條影評(píng),包括用于訓(xùn)練的25000條觀點(diǎn)鮮明的影評(píng)和用于測(cè)試的25000條影評(píng),該數(shù)據(jù)集是用于文本分類中使用率最高的數(shù)據(jù)集,所有的深度學(xué)習(xí)模型都可使用。
3)NLPCC2013是微博語(yǔ)料,標(biāo)注了7種心情,共有14000條微博,45431個(gè)句子,在情感分析中經(jīng)常使用。
4)20Newsgroups包含20組不同主題的英文新聞數(shù)據(jù),主要用于英文新聞分類研究。
5)SST-1為情感分類數(shù)據(jù)集,包含11800條電影評(píng)論語(yǔ)句,有非常積極、積極、中性、消極和非常消極5類。目前,該數(shù)據(jù)集在S-LSTM[9]和文獻(xiàn)[10]所提出的模型上表現(xiàn)不錯(cuò)。
6)Yelp數(shù)據(jù)集可用于個(gè)人、教育和學(xué)術(shù)等用途,它是Yelp的小部分商家、評(píng)論和用戶數(shù)據(jù),在自然語(yǔ)言處理中可用于推斷語(yǔ)義、商戶屬性和情感。
文本預(yù)處理是從文本中提取關(guān)鍵詞來(lái)表示文本的處理過(guò)程,文本預(yù)處理根據(jù)語(yǔ)言不同分為中文文本預(yù)處理和英文文本預(yù)處理。英文文本預(yù)處理主要對(duì)英文進(jìn)行分詞,其步驟為根據(jù)空格拆分單詞、刪除停用詞、詞干提取或詞元化。Martin在1980年提出的波特詞干提取算法[11]在簡(jiǎn)單性和效率之間取得了平衡,所以它是最受歡迎和最廣泛使用的英語(yǔ)詞干提取法。
中文文本預(yù)處理通常要經(jīng)過(guò)分詞、去除停用詞、低頻詞過(guò)濾等過(guò)程。分詞的方法有隱馬爾科夫模型(HMM)[12]和隨機(jī)場(chǎng)模型(CRF)[13]這些傳統(tǒng)的分詞方法。近年來(lái),隨著基于深度學(xué)習(xí)算法的中文分詞方法的提出,其分詞效果優(yōu)于傳統(tǒng)的分詞方法,例如,Peng等人[14]提出使用長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(LSTM)來(lái)獲取中文分詞的特征,并使用CRF來(lái)共同解碼標(biāo)簽,其分類結(jié)果比傳統(tǒng)的分詞效果有明顯的提高。
文本表示是文本分類的基礎(chǔ),要將自然語(yǔ)言處理問(wèn)題轉(zhuǎn)化成機(jī)器可學(xué)習(xí)的數(shù)學(xué)模型,首先要對(duì)詞和文本進(jìn)行向量化建模。傳統(tǒng)文本表示主要使用布爾模型、概率模型和向量空間模型,忽略了詞語(yǔ)間語(yǔ)義關(guān)系,存在數(shù)據(jù)高維稀疏問(wèn)題[15]。近年來(lái),詞向量成為文本表示的主流,詞向量[16]是一種分布式的詞表示形式,即將單詞表示為在連續(xù)空間上的低維稠密向量形式,可以直接刻畫詞與詞之間的相似度,大大緩解了維數(shù)災(zāi)難的問(wèn)題,彌補(bǔ)淺層表示學(xué)習(xí)的不足。詞向量主要包括Word2vec和Doc2vec這2種模型。
Word2vec是谷歌在2013年發(fā)布的詞向量訓(xùn)練工具,能夠從大規(guī)模未經(jīng)標(biāo)注的語(yǔ)料中高效地生成詞的向量形式,并提供了CBOW和Skip-gram這2種模型[17]。Doc2vec又叫Paragraph Vector,是Le等人[18]基于Word2vec模型提出的一個(gè)無(wú)監(jiān)督學(xué)習(xí)算法,用于預(yù)測(cè)一個(gè)向量來(lái)表示不同的文檔。該模型優(yōu)點(diǎn)是不用固定句子長(zhǎng)度,可以接受不同長(zhǎng)度的句子做訓(xùn)練樣本。Doc2vec模型通過(guò)增加一個(gè)段落向量,彌補(bǔ)Word2vec模型在詞向量處理階段忽略單詞之間排列順序的缺陷,增強(qiáng)模型表示文本語(yǔ)義的準(zhǔn)確性和完整性[19]。除了上述模型應(yīng)用于詞向量,還有Joulin等人[20]提出的詞向量訓(xùn)練和文本分類的工具FastText,也可以用于詞向量提取。
基于深度學(xué)習(xí)的文本分類中,將經(jīng)過(guò)文本預(yù)處理和文本表示的數(shù)據(jù)集,輸入到深度學(xué)習(xí)模型中,最后使用Softmax進(jìn)行分類,完成文本分類。
Kim[21]最先提出的CNN分類模型用于文本分類,該模型包含以下部分:輸入層、卷積層、池化層、全連接層。其主要過(guò)程如圖2所示,CNN用于文本分類的主要算法過(guò)程如算法1所示。與傳統(tǒng)方法相比,CNN模型在很多數(shù)據(jù)集和任務(wù)中都取得了較好的效果,適用于大多數(shù)的文本分類場(chǎng)景和短文本分類。
圖2 CNN用于文本分類的過(guò)程
算法1 基于CNN算法的文本分類。
輸入:無(wú)標(biāo)簽的數(shù)據(jù)集D,訓(xùn)練集D-train,測(cè)試集D-test。
輸出:測(cè)試集的情感標(biāo)簽。
1.將訓(xùn)練集和測(cè)試集中的數(shù)據(jù)進(jìn)行預(yù)處理。
2.通過(guò)初始化Word2vec的參數(shù),獲取模型,并且得到所有詞匯的詞向量。
3.初始化CNN的參數(shù),訓(xùn)練模型。
4.For Sentences L in D-train:
a)對(duì)于L中的每個(gè)詞匯,找到其對(duì)應(yīng)的詞向量,放入輸入層。
b)通過(guò)CNN的卷積層、池化層和全連接層,在全連接層加上Softmax層,計(jì)算分類類別的概率值。
c)訓(xùn)練階段結(jié)束,將模型用來(lái)預(yù)測(cè)測(cè)試集。
End for
5.導(dǎo)出模型,用于測(cè)試集的情感分類。
6.For Sentences L in D-test:
a)對(duì)于L中的每個(gè)詞匯,找到其對(duì)應(yīng)的詞向量,放入輸入層。
b)通過(guò)CNN的卷積層、池化層和全連接層,在全連接層加上softmax層,計(jì)算分類類別的概率值。
End for
CNN用于文本分類關(guān)鍵的2層是卷積層和池化層,卷積層可以進(jìn)行特征提取,池化層進(jìn)行降維。這樣可以減少訓(xùn)練參數(shù),而且可以提取更高層次的文本特征。在Kim提出模型之后,Zhang[22]也提出了CNN模型用于文本分類,與Kim的不同之處在于并沒(méi)有把句子轉(zhuǎn)化為一個(gè)向量,而是仍然按照句子矩陣的形式排列,所以在選卷積核的時(shí)候,對(duì)應(yīng)核的長(zhǎng)度就是這個(gè)詞向量的維度。Kim和Zhang等人提出的CNN模型都是淺層的卷積神經(jīng)網(wǎng)絡(luò)用于文本分類,文獻(xiàn)[23-24]提出了基于字符級(jí)的深層卷積神經(jīng)網(wǎng)絡(luò)(VDCNN),與淺層的卷積神經(jīng)網(wǎng)絡(luò)對(duì)比,深層卷積網(wǎng)絡(luò)的分類效果有著顯著的提升。同時(shí),Johnson等人[25]提出了深度金字塔卷積神經(jīng)網(wǎng)絡(luò)(DPCNN),該模型的復(fù)雜度較低,分類效果也較為出色。Yao等人[26]提出了基于圖的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)GCN;Ma等人[27]結(jié)合樹(shù)結(jié)構(gòu)模型提出了基于依賴的卷積神經(jīng)網(wǎng)絡(luò)模型DBCNN;同時(shí),Mou等人[28]提出了基于樹(shù)狀結(jié)構(gòu)的卷積模型(TBCNN)來(lái)提高特征提取表現(xiàn);文獻(xiàn)[29]提出了結(jié)合XGBoost的卷積神經(jīng)網(wǎng)絡(luò),在數(shù)據(jù)集THUCNews上表現(xiàn)出較好的分類效果。這些方法都是通過(guò)對(duì)CNN的改進(jìn)或者與其他方法的融合,最終提高了文本分類效果。
RNN是由Jordan等人[30]在Hopfield網(wǎng)絡(luò)結(jié)合存儲(chǔ)概念和分布式并行處理理論下建立的循環(huán)神經(jīng)網(wǎng)絡(luò)。循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體結(jié)構(gòu)用于文本分類的過(guò)程如圖3所示。RNN對(duì)于文本前后關(guān)系中“距離”較近的關(guān)系能較好地表現(xiàn)出來(lái),但對(duì)于過(guò)長(zhǎng)文本則效果不佳,因此在長(zhǎng)文本中常用的是LSTM或GRU模型。
圖3 RNN用于文本分類的過(guò)程
RNN主要是處理序列數(shù)據(jù),具有處理變長(zhǎng)輸入和發(fā)掘長(zhǎng)期依賴的能力,但同時(shí)RNN面臨梯度爆炸或梯度消失等問(wèn)題。許多RNN的變體被提出用來(lái)克服RNN的不足之處,并且獲得了很好的表現(xiàn)。例如Koutnik等人[31]提出了CW-RNNs,其使用時(shí)鐘頻率來(lái)驅(qū)使RNN獲得優(yōu)于序列LSTM的結(jié)果表現(xiàn)。Socher等人[32]提出了一種遞歸神經(jīng)網(wǎng)絡(luò)模型,通過(guò)一種樹(shù)結(jié)構(gòu)來(lái)捕捉句子語(yǔ)義,取得了較好的效果。單向的RNN只能利用一個(gè)方向的信息,而雙向的RNN可以同時(shí)利用過(guò)去時(shí)刻和未來(lái)時(shí)刻2個(gè)方向上的信息,從而使得最終的分類結(jié)果更加準(zhǔn)確。對(duì)此,Schuster等人[33]提出雙向循環(huán)神經(jīng)網(wǎng)絡(luò),模型包含2個(gè)不同方向的隱藏層,可以充分學(xué)習(xí)到文本的上下文信息。
長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)由Schmidhuber[34]在1997年提出,是一種特殊的RNN,其結(jié)構(gòu)有3個(gè)門函數(shù):遺忘門、輸入門和輸出門。與RNN相比,有效地解決長(zhǎng)期記憶依賴和反向傳播中的梯度消失等問(wèn)題,在自然語(yǔ)言處理中所用到的RNN大部分是LSTM,在長(zhǎng)文本和篇章級(jí)中的文本處理效果更好,各個(gè)分類任務(wù)中都適用。在文本分類任務(wù)中,LSTM每一層的輸入對(duì)應(yīng)一篇文本的詞Xi,將最后一個(gè)詞的隱狀態(tài)Ht,輸入到全連接層Softmax,輸出分類結(jié)果[35]。
Zhang等人[36]提出了基于句子狀態(tài)的LSTM,該模型融入了詞和句子的語(yǔ)義相關(guān)性,取得了不錯(cuò)的效果。Miyato等人[37-38]通過(guò)引入對(duì)抗和虛擬對(duì)抗,提升了LSTM的性能,得到更好的分類效果。文獻(xiàn)[39]提出了P-LSTM模型;文獻(xiàn)[40]提出了結(jié)合樹(shù)結(jié)構(gòu)的Tree-LSTM;文獻(xiàn)[9]提出了S-LSTM模型并通過(guò)記憶單元反映歷史信息。這3個(gè)文獻(xiàn)提出的模型是LSTM的變體結(jié)構(gòu),通過(guò)結(jié)構(gòu)的改變提高模型對(duì)文本的分類能力。除了單向LSTM,還可以有雙向的LSTM。文獻(xiàn)[41]首次將雙向LSTM神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于分類問(wèn)題,并取得了較單向LSTM神經(jīng)網(wǎng)絡(luò)模型更為出色的分類結(jié)果。文獻(xiàn)[42]將Word2vec、TF-IDF與LDA這3種模型提取的特征向量組合成輸入矩陣,輸入到Bi-LSTM,該方法在新聞簡(jiǎn)訊數(shù)據(jù)上表現(xiàn)出較好的分類效果。
門控循環(huán)單元(GRU)是LSTM網(wǎng)絡(luò)的一種效果很好的變體。它與LSTM網(wǎng)絡(luò)相比,只有2個(gè)門函數(shù):更新門和重置門。其結(jié)構(gòu)更加簡(jiǎn)單,可以節(jié)省很多時(shí)間,因此也是當(dāng)前非常流形的一種網(wǎng)絡(luò)。GRU既然是LSTM的變體,因此也是可以解決RNN網(wǎng)絡(luò)中的長(zhǎng)依賴問(wèn)題,這2種模型的算法過(guò)程如算法2所示。
算法2 基于LSTM或GRU算法的文本分類。
輸入:無(wú)標(biāo)簽的數(shù)據(jù)集D,訓(xùn)練集D-train,測(cè)試集D-test。
輸出:測(cè)試集的情感標(biāo)簽。
1.將訓(xùn)練集和測(cè)試集中的數(shù)據(jù)進(jìn)行預(yù)處理。
2.通過(guò)初始化Word2vec的參數(shù),獲取模型,并且得到所有詞匯的詞向量。
3.初始化LSTM或者GRU的參數(shù),訓(xùn)練模型。
4.For Sentences L in D-train:
a)對(duì)于L中的每個(gè)詞匯,找到其對(duì)應(yīng)的詞向量,放入輸入層。
b)通過(guò)多層LSTM或者GRU產(chǎn)生輸出,將輸出與softmax層進(jìn)行全連接,計(jì)算分類類別的概率值。
c)訓(xùn)練階段結(jié)束,將模型用來(lái)預(yù)測(cè)測(cè)試集。
End for
5.導(dǎo)出模型,用于測(cè)試集的情感分類。
6.For Sentences L in D-test:
a)對(duì)于L中的每個(gè)詞匯,找到其對(duì)應(yīng)的詞向量,放入輸入層。
b)通過(guò)多層LSTM或者GRU產(chǎn)生輸出,將輸出與softmax層進(jìn)行全連接,計(jì)算分類類別的概率值。
End for
GRU是由Cho等人[43]提出的,它的參數(shù)相對(duì)于LSTM更少,而且在收斂方面表現(xiàn)更優(yōu)。文獻(xiàn)[44]構(gòu)造了一種基于棧結(jié)構(gòu)的GRU神經(jīng)網(wǎng)絡(luò)模型,使用樹(shù)形結(jié)構(gòu)來(lái)捕捉長(zhǎng)期依賴信息;文獻(xiàn)[45]提出了一種基于全關(guān)注的雙向GRU(Bi-GRU)神經(jīng)網(wǎng)絡(luò)(FABG)。該模型使用Bi-GRU來(lái)學(xué)習(xí)文本的語(yǔ)義信息,并使用全關(guān)注機(jī)制來(lái)學(xué)習(xí)Bi-GRU在每個(gè)步驟中先前和當(dāng)前輸出的權(quán)重,從而使每個(gè)步驟的表示都可以獲取重要信息并忽略無(wú)關(guān)的信息,增強(qiáng)了分類效果;文獻(xiàn)[46]提出了將均值原型網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)相結(jié)合,并在Yelp數(shù)據(jù)集和新聞數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。這3個(gè)文獻(xiàn)提出的改進(jìn)是GRU結(jié)構(gòu)改進(jìn)或與其他模型融合。除此之外,GRU和Attention的結(jié)合,也表現(xiàn)出較出色的文本能力。例如,孫明敏[47]提出了GRU和Attention的結(jié)合,將經(jīng)過(guò)預(yù)處理的詞向量輸入GRU模型中,在隱藏層引入Attention,GRU-Attention模型的表現(xiàn)性能優(yōu)于經(jīng)典的GRU模型。同時(shí)文獻(xiàn)[48]提出的基于GRU和注意力機(jī)制的混合模型是用來(lái)解決這種多標(biāo)簽情感分類任務(wù),并通過(guò)NLP&CC提供的數(shù)據(jù)集進(jìn)行測(cè)試,可以取得良好的效果,驗(yàn)證了該模型的有效性。
注意力機(jī)制的主要目的是利用有限的注意力資源從大量信息中快速篩選出高價(jià)值的信息,在文本分類工作中依然適用。Bahdanau等人[49]首次將Attention機(jī)制應(yīng)用于自然語(yǔ)言處理領(lǐng)域中。Luong等人[50]在機(jī)器翻譯中定義了全局Attention和局部Attention的概念。
2017年谷歌團(tuán)隊(duì)提出的自注意力機(jī)制受到了大家廣泛關(guān)注[51],該模型中沒(méi)有采用常見(jiàn)的RNN和CNN網(wǎng)絡(luò),而是采用自注意力機(jī)制進(jìn)行文本分類,這樣可以減少訓(xùn)練的時(shí)間。隨后,Shen等人[52]提出了定向自注意網(wǎng)絡(luò)(DiSAN),可以將序列壓縮成一個(gè)向量表示,并在多種句子編碼方法中獲得較高測(cè)試精度。Tan等人[53]將自注意力機(jī)制應(yīng)用到語(yǔ)義角色標(biāo)注任務(wù)上,使用深度注意力網(wǎng)絡(luò)進(jìn)行標(biāo)注,并在多個(gè)數(shù)據(jù)集上取得優(yōu)異的結(jié)果。自注意力機(jī)制與深度學(xué)習(xí)模型混合使用,在文本分類中也取得了不錯(cuò)的結(jié)果。比如,賈紅雨等人[54]提出了一種結(jié)合自注意力機(jī)制的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)文本分類模型RCNN_A,在該文獻(xiàn)中,將注意力矩陣和詞向量矩陣相結(jié)合作為后續(xù)結(jié)構(gòu)的輸入,很好地解決了特征表征不突出的問(wèn)題。文獻(xiàn)[55]提出了基于字向量的Self-Attention和Bi-LSTM用于中文文本情感分析,分類效果比單獨(dú)使用LSTM、CNN等神經(jīng)網(wǎng)絡(luò)有所提高。文獻(xiàn)[56]在文獻(xiàn)[55]的基礎(chǔ)上提出了基于句向量的Self-Attention+Bi-LSTM的模型并添加CNN網(wǎng)絡(luò),該模型的分類效果優(yōu)于文獻(xiàn)[55]。
HAN模型總共包含3層,分別是詞匯層、句子層和輸出層,其中詞匯層和句子層都包含一層encoder和一層attention層。HAN是目前文本分類中較新穎且效果較好的模型。Yang等人[57]針對(duì)文本分類任務(wù)提出了一個(gè)層次化attention機(jī)制模型,該模型有2個(gè)層次的attention機(jī)制,分別存在于詞層次和句子層次。Pappas等人[58]在2017年提出了一個(gè)多語(yǔ)言層次注意網(wǎng)絡(luò)學(xué)習(xí)文檔結(jié)構(gòu),使用共享編碼器和跨語(yǔ)言的共享注意機(jī)制。除了上述的單獨(dú)使用,層次注意力機(jī)制與RNN/CNN等模型進(jìn)行混合使用,也取得了不錯(cuò)的分類效果。例如,趙勤魯?shù)热薣59]提出了LSTM和層次注意力機(jī)制結(jié)合,利用LSTM對(duì)文本的詞語(yǔ)與詞語(yǔ)和句子與句子的特征信息進(jìn)行提取,然后使用分層的注意力機(jī)制網(wǎng)絡(luò)層分別對(duì)文本中重要的詞語(yǔ)和句子進(jìn)行選擇,最后使用softmax分類器進(jìn)行文本分類。文獻(xiàn)[60]提出了Bi-GRU和Attention機(jī)制,該模型分別對(duì)句子和文檔進(jìn)行分層建模。
隨著深度學(xué)習(xí)用于文本分類的研究,許多研究者發(fā)現(xiàn)只使用CNN、RNN、LSTM和GRU這些單一的深度學(xué)習(xí)模型,分類效果無(wú)法進(jìn)一步提升。所以學(xué)者提出了將這些深度學(xué)習(xí)模型進(jìn)行混合,CNN用于文本分類時(shí)具有從全局信息中提取局部特征的能力,但其無(wú)法捕獲長(zhǎng)距離依賴關(guān)系[61]。而RNN、LSTM和GRU可以捕獲長(zhǎng)度的信息,Attention機(jī)制可以使特征提取更加全面。所以經(jīng)常將CNN、RNN、LSTM、GRU和Attention結(jié)合用于文本分類。
RNN與CNN的結(jié)合在文本分類中較少,下面提到的文獻(xiàn)中利用該模型都取得了不錯(cuò)的分類效果。Lai等人[62]提出了一種循環(huán)卷積神經(jīng)網(wǎng)絡(luò)用于文本分類,該模型選擇的是Bi-RNN和CNN的結(jié)合,利用了2種模型的優(yōu)點(diǎn),提升了文本分類的性能。文獻(xiàn)[63]提出了一種基于卷積注意的情緒分類模型,該結(jié)構(gòu)將RNN與基于卷積的注意力模型相結(jié)合,進(jìn)一步將注意力模型進(jìn)行疊加,構(gòu)建用于情緒分析的分層注意力模型。
在文本分類任務(wù)中,CNN和LSTM的結(jié)合是最為常見(jiàn)的。Zhang等人[64]提出了LSTM和CNN的混合模型,文獻(xiàn)[65]也提出了CNN和LSTM的混合模型,這2篇論文都是結(jié)合了CNN和LSTM的優(yōu)點(diǎn),不同之處在于文獻(xiàn)[64]中的LSTM-CNN,LSTM使用在CNN之前,將其輸出矩陣輸入至CNN中進(jìn)行文本特征的提取。文獻(xiàn)[65]的CNN-LSTM模型中,CNN使用在LSTM層之前,將CNN的輸出矩陣作為L(zhǎng)STM的輸入。彭玉青等人[66]提出了一種深層超深卷積神經(jīng)網(wǎng)絡(luò)(VDCNN)與長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)相結(jié)合的混合模型,是深層的CNN的應(yīng)用,該混合模型表現(xiàn)出比淺層CNN更好的文本效果。上述的文獻(xiàn)都只是CNN和單向的LSTM的混合,文獻(xiàn)[67]提出了Bi-LSTM-CNN方法,采用Bi-LSTM模型獲得2個(gè)方向的表示,然后通過(guò)卷積神經(jīng)網(wǎng)絡(luò)將2個(gè)方向的表示組合成一個(gè)新的表達(dá)式。Felbo等人[68]提出了2層的Bi-LSTM和Attention的結(jié)合,在表情符號(hào)對(duì)文本情感分類效果上有較好的應(yīng)用。Wang等人[69]提出了一種包含CNN、雙向LSTM(BiLSTM)、注意機(jī)制和卷積層的新型統(tǒng)一架構(gòu),稱為基于注意的雙向長(zhǎng)短時(shí)記憶卷積層(AC-BiLSTM)。
除了CNN和RNN/LSTM的結(jié)合,CNN和GRU結(jié)合在文本分類中表現(xiàn)出其特有的優(yōu)勢(shì)。比如,文獻(xiàn)[70]提出了CNN和Bi-GRU的結(jié)合,在譚松波博士的酒店評(píng)論語(yǔ)料中取得了不錯(cuò)的結(jié)果。楊東等人[10]提出的Attention-based C-GRU用于文本分類,該模型結(jié)合CNN中的卷積層和GRU,通過(guò)引入Attention機(jī)制,突出了關(guān)鍵詞和優(yōu)化特征提取過(guò)程。文獻(xiàn)[71]提出了LDA進(jìn)行文本表示,帶有門控循環(huán)單元(GRU)的CNN被用作分類器進(jìn)行的文本情感分類,該方法有效提高了其準(zhǔn)確性。
預(yù)訓(xùn)練模型從最開(kāi)始的Word2vec、Glove到通用語(yǔ)言文本分類模型ULMFiT[72]和ELMo[73]等。預(yù)訓(xùn)練一般分為2步,首先用某個(gè)較大的數(shù)據(jù)集訓(xùn)練好模型,使模型訓(xùn)練到一個(gè)良好的狀態(tài),下一步則根據(jù)不同的任務(wù),改造預(yù)訓(xùn)練模型,用這個(gè)任務(wù)的數(shù)據(jù)集在預(yù)訓(xùn)練模型上進(jìn)行微調(diào)。Transformer模型由Vaswani等人[74]提出,是一種完全基于自注意力機(jī)制所構(gòu)建的,它不但可以并行運(yùn)算而且可以捕獲長(zhǎng)距離特征依賴。同時(shí)BERT、XLNeT和ERNIE等模型都是對(duì)Transformer的一種改造。
BERT[75]是基于Transformer的雙向深度語(yǔ)言模型,可以捕獲雙向上下文語(yǔ)義,其模型結(jié)構(gòu)如圖4所示。BERT模型在機(jī)器翻譯、文本分類、文本相似性等多個(gè)自然語(yǔ)言處理任務(wù)中表現(xiàn)優(yōu)異,是目前預(yù)訓(xùn)練方法常用的模型。Liu等人[76]將預(yù)訓(xùn)練的BERT模型和多任務(wù)學(xué)習(xí)進(jìn)行結(jié)合,以求獲取更好的效果。文獻(xiàn)[77]研究了BERT在多個(gè)文本分類任務(wù)上的表現(xiàn),詳細(xì)分析了BERT的特點(diǎn)與優(yōu)勢(shì)。
圖4 BERT模型結(jié)構(gòu)圖
雖然BERT在文本分類中獲得較好的效果,但也有一定的缺點(diǎn),比如,在訓(xùn)練時(shí)的收斂速度較慢;因?yàn)樵陬A(yù)訓(xùn)練過(guò)程和生成過(guò)程不一致,導(dǎo)致在自然語(yǔ)言生成任務(wù)中效果不佳,不能完成文檔級(jí)別的NLP任務(wù),所以適用于句子和段落級(jí)別的任務(wù)。
XLNet[78]是一種廣義自回歸的語(yǔ)言模型,是基于Transformer-XL[79]構(gòu)建的,而Transformer-XL是對(duì)Transformer的改進(jìn),解決了Transformer的字符之間的最大依賴距離受輸入長(zhǎng)度的限制和訓(xùn)練效率下降的問(wèn)題。因?yàn)門ransformer-XL的測(cè)試速度更快,可以捕獲更長(zhǎng)的上下文長(zhǎng)度,所以XLNet在包含長(zhǎng)文本序列的任務(wù)中表現(xiàn)更為突出,同時(shí)在文本分類、情感分析、問(wèn)答以及自然語(yǔ)言推理上都達(dá)到最先進(jìn)的水平。
文獻(xiàn)[80]利用對(duì)比研究法,從模型側(cè)和實(shí)驗(yàn)側(cè)分別比較傳統(tǒng)模型與該模型在CR、MR、MPQA、Subj、SST-2和TREC這6個(gè)數(shù)據(jù)集上的效果差異,結(jié)果表明XLNet表現(xiàn)最優(yōu)。
ERNIE[81]是一種知識(shí)增強(qiáng)語(yǔ)義表示模型,其核心是由Transformer構(gòu)成,該模型結(jié)構(gòu)主要包括下層和上層2個(gè)模塊,其中下層模塊的文本編碼器主要負(fù)責(zé)捕獲來(lái)自輸入標(biāo)記的基本詞匯以及語(yǔ)句信息;上層模塊的知識(shí)編碼器負(fù)責(zé)從下層獲取的知識(shí)信息集成到文本信息中,以便將標(biāo)記和實(shí)體的異構(gòu)信息表示成一個(gè)統(tǒng)一的特征空間中。該模型在文獻(xiàn)[81]中的關(guān)系提取任務(wù)中獲得較高的準(zhǔn)確率。
雖然ERNIE是以中文語(yǔ)料訓(xùn)練得出的一種語(yǔ)言模型,但它在英文語(yǔ)料中的基準(zhǔn)測(cè)試中,也超過(guò)了BERT和XLNet這2個(gè)模型。ERNIE在處理中文語(yǔ)料時(shí),通過(guò)對(duì)預(yù)測(cè)漢字進(jìn)行建模,學(xué)習(xí)到更大語(yǔ)義單元的完整語(yǔ)義表示,在語(yǔ)言推斷、語(yǔ)義相似度以及文本分類等多個(gè)NLP中文任務(wù)上具有優(yōu)異表現(xiàn)。
除了上述3個(gè)預(yù)訓(xùn)練模型,還有一些其他的預(yù)訓(xùn)練模型,比如最新提出的T5和BPT。
T5[82](Transfer Text-to-Text Transformer)模型是谷歌新提出來(lái)的,使用Transfer learning來(lái)完成各種自然語(yǔ)言處理任務(wù),可以將NLP任務(wù)都轉(zhuǎn)換成Text-to-Text形式,使用同樣的模型,同樣的損失函數(shù),同樣的訓(xùn)練過(guò)程,同樣的解碼過(guò)程來(lái)完成所有NLP任務(wù)。
BPT[83]將Transformer視為一個(gè)圖神經(jīng)網(wǎng)絡(luò),旨在提高自注意力機(jī)制的效率。在實(shí)驗(yàn)過(guò)程中,BPT在中英機(jī)器翻譯上達(dá)到了SOTA的成績(jī)(BLEU評(píng)分:19.84);該模型結(jié)合Glove在IMDb數(shù)據(jù)集情緒分析的準(zhǔn)確率達(dá)到了92.12%。
本文對(duì)基于深度學(xué)習(xí)的文本分類領(lǐng)域中具有代表性的算法作了一個(gè)比較全面的綜述,并分析了各類技術(shù)的主要特點(diǎn)。基于深度學(xué)習(xí)的文本分類提出了豐富的文本分類的相關(guān)理論,并為其他相關(guān)領(lǐng)域的研究提供了新技術(shù)和新思路,研究前景廣闊。近年來(lái)雖然有很多研究人員致力于該方面的研究,取得了很多的研究成果,但仍有一些問(wèn)題需要在未來(lái)的研究任務(wù)中得到突破:
1)提出新的模型和新方法。對(duì)于深度學(xué)習(xí),提出新的模型用于文本分類,提高分類的精度。
2)算法的運(yùn)行效率和算法的精度之間的權(quán)衡。目前文本分類的研究中考慮更多的是算法的有效性(比如正確率、召回率、準(zhǔn)確率),算法的運(yùn)行效率也是未來(lái)文本分類研究需要考慮的一個(gè)因素。因此模型的深度優(yōu)化依然是深度學(xué)習(xí)領(lǐng)域的研究課題。
3)文本分類的研究和它的實(shí)際應(yīng)用在某種程度上存在脫節(jié),比如對(duì)于信息檢索來(lái)說(shuō),文本分類中采用的數(shù)據(jù)量對(duì)比實(shí)際需要搜索的網(wǎng)頁(yè)數(shù)量,對(duì)于小的數(shù)據(jù)集上比較高效的算法對(duì)于大的數(shù)據(jù)集不一定成立。所以,如何保證算法在大的數(shù)據(jù)集上仍有較好的分類效果是值得研究和突破的。
4)深度學(xué)習(xí)的可解釋性。深度學(xué)習(xí)模型在特征提取、語(yǔ)義挖掘方面有著獨(dú)特的優(yōu)勢(shì),在文本分類任務(wù)中取得了不俗的成績(jī)。然而,深度學(xué)習(xí)在訓(xùn)練過(guò)程中難以復(fù)現(xiàn),可解釋性較差。
5)跨語(yǔ)種或多語(yǔ)種的文本分類。跨語(yǔ)言的文本分類在跨國(guó)組織和企業(yè)中的應(yīng)用越來(lái)越多。將在源語(yǔ)言中訓(xùn)練的分類模型應(yīng)用于目標(biāo)語(yǔ)言的分類任務(wù),其挑戰(zhàn)性在于源語(yǔ)言數(shù)據(jù)的特征空間與目標(biāo)語(yǔ)言數(shù)據(jù)之間缺乏重疊[84]。