孫 新,唐 正,趙永妍,張穎捷
(北京市海量語(yǔ)言信息處理與云計(jì)算應(yīng)用工程技術(shù)研究中心 北京理工大學(xué) 計(jì)算機(jī)學(xué)院,北京 100081)
文本分類(lèi)是自然語(yǔ)言處理的核心任務(wù)之一,在新聞分類(lèi)、情感分析、主題檢測(cè)等領(lǐng)域均有廣泛應(yīng)用。傳統(tǒng)的機(jī)器學(xué)習(xí)分類(lèi)算法通過(guò)特征工程選擇合適的特征來(lái)表示文本,然后把文本特征輸入到不同的分類(lèi)模型中得到分類(lèi)結(jié)果,例如,樸素貝葉斯(Na?ve Bayes, NB)[1]、K近鄰(K-nearest neighbor, KNN)[2],支持向量機(jī)(support vector machine, SVM)[3]等算法。但是,隨著文本數(shù)量的日益龐大,傳統(tǒng)機(jī)器學(xué)習(xí)的分類(lèi)算法中復(fù)雜的特征工程成了制約其發(fā)展的瓶頸。
深度學(xué)習(xí)模型能夠從大規(guī)模數(shù)據(jù)樣本中自主學(xué)習(xí)樣本的特征,提高了建模的智能化,簡(jiǎn)化了分類(lèi)流程,因此成為文本分類(lèi)領(lǐng)域的研究熱點(diǎn)。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[4]是深度學(xué)習(xí)中的常用模型之一。紐約大學(xué)的Yoon Kim在2014年的EMNLP會(huì)議[4]中提出了TextCNN模型[5],利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)文本建模并分類(lèi),得到了不遜色于復(fù)雜的基于機(jī)器學(xué)習(xí)的分類(lèi)器模型的結(jié)果,由此引發(fā)了對(duì)基于深度學(xué)習(xí)的文本分類(lèi)模型研究的熱潮。
在自然語(yǔ)言處理任務(wù)中,循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)通常一次處理一個(gè)單詞,并根據(jù)復(fù)雜的單詞序列學(xué)習(xí)特征,因此RNN能夠捕獲對(duì)自然語(yǔ)言處理任務(wù)有用的語(yǔ)言模式,尤其是在較長(zhǎng)的文本段上。Liu等人[6]利用基于長(zhǎng)短期記憶(LSTM)的循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)文本進(jìn)行編碼獲得了較好的效果。
卷積神經(jīng)網(wǎng)絡(luò)可以提取局部特征,循環(huán)神經(jīng)網(wǎng)絡(luò)可以提取全局特征,均表現(xiàn)出不錯(cuò)的效果。但是,當(dāng)文檔長(zhǎng)度較長(zhǎng)時(shí),直接把文檔作為長(zhǎng)序列處理,不僅會(huì)給模型的性能帶來(lái)很大挑戰(zhàn),同時(shí)也會(huì)忽略掉文檔層次結(jié)構(gòu)中包含的信息。因此有研究者研究分層的神經(jīng)網(wǎng)絡(luò)模型[7-9],使用層次網(wǎng)絡(luò)模型進(jìn)行文本分類(lèi),但是層次網(wǎng)絡(luò)模型在訓(xùn)練過(guò)程中通常使用全局目標(biāo)向量,無(wú)法關(guān)注到每個(gè)文本最明顯的語(yǔ)義特征。
在對(duì)句子使用注意力機(jī)制時(shí),當(dāng)前已有方法通常使用全局參數(shù)作為所有類(lèi)別的目標(biāo)向量,這一方面不利于表示每個(gè)句子各自的特征,另一方面也不能突出句子中具有明顯類(lèi)別特征的詞。針對(duì)當(dāng)前文本分類(lèi)算法在長(zhǎng)文本分類(lèi)中的優(yōu)勢(shì)和不足,本文提出基于層次混合注意力機(jī)制的文本分類(lèi)模型(hierarchical mixed attention networks, HMAN),采用基于RNN的層次模型對(duì)長(zhǎng)文本分類(lèi),同時(shí)引入注意力機(jī)制來(lái)關(guān)注文本中的重要部分。在句注意力層,除了訓(xùn)練一個(gè)全局目標(biāo)向量之外,還利用最大池化從句子的詞向量矩陣中提取每個(gè)維度上最重要的信息作為句子特定的目標(biāo)向量,使用兩個(gè)目標(biāo)向量共同對(duì)句子中的單詞打分,從而使得到的句子編碼的類(lèi)別特征更加明顯,能夠更好地關(guān)注到每個(gè)文本最具區(qū)別性的語(yǔ)義特征。
最后,在公開(kāi)數(shù)據(jù)集以及企業(yè)年報(bào)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),驗(yàn)證了HMAN模型的有效性。尤其針對(duì)具有層次特征、長(zhǎng)文本的企業(yè)年報(bào)數(shù)據(jù)集,HMAN模型在句注意力層通過(guò)提取句子中各維度的最大特征來(lái)獲取每個(gè)句子特定的重要特征,在一級(jí)行業(yè)分類(lèi)和二級(jí)行業(yè)分類(lèi)的分類(lèi)準(zhǔn)確率上均有良好表現(xiàn)。
基于深度學(xué)習(xí)的文本分類(lèi)算法通常使用低維、實(shí)數(shù)值的詞向量來(lái)表示文本中的單詞,然后構(gòu)建神經(jīng)網(wǎng)絡(luò)模型對(duì)文本建模,獲得包含了全部文本信息的文本表示,用最終的文本表示來(lái)對(duì)文本分類(lèi)。
TextCNN模型[5]是經(jīng)典的基于深度學(xué)習(xí)的文本分類(lèi)模型。之后,研究者陸續(xù)提出了許多基于TextCNN的改進(jìn)方案。Xiao等人[10]提出了基于CNN的字符級(jí)別的分類(lèi)模型,在CNN的基礎(chǔ)上加上了一層循環(huán)層來(lái)捕獲句子中長(zhǎng)期依賴(lài)的信息。Conneau等人[11]則是通過(guò)增加CNN的深度來(lái)獲取序列上的依賴(lài)信息。Johnson和Zhang[12]研究了如何加深CNN的詞粒度對(duì)文本進(jìn)行全局表達(dá),提出一種簡(jiǎn)單的金字塔型的CNN網(wǎng)絡(luò)結(jié)構(gòu),既增加了網(wǎng)絡(luò)深度、提升了準(zhǔn)確率,又沒(méi)有過(guò)多地增加計(jì)算量。
受到TextCNN的啟發(fā),并考慮到RNN在處理文本數(shù)據(jù)時(shí)的優(yōu)勢(shì),也有研究者使用RNN及其變體結(jié)構(gòu)對(duì)文本進(jìn)行建模并分類(lèi)。Liu等人[6]利用LSTM結(jié)構(gòu)對(duì)文本進(jìn)行編碼,同時(shí)為了解決單個(gè)任務(wù)中標(biāo)注數(shù)據(jù)較少的問(wèn)題,基于RNN設(shè)計(jì)了三種不同的信息共享機(jī)制進(jìn)行訓(xùn)練,并在四個(gè)基準(zhǔn)的文本分類(lèi)任務(wù)中都獲得了較好的效果。為了解決RNN在對(duì)長(zhǎng)文本進(jìn)行編碼時(shí)存儲(chǔ)單元不足的問(wèn)題,Xu等人[13]提出了一種具有高速緩存的LSTM結(jié)構(gòu)來(lái)捕獲長(zhǎng)文本中的整體語(yǔ)義信息,從而使網(wǎng)絡(luò)能夠在一個(gè)循環(huán)單元中更好地保存情感信息。
除了能夠捕捉長(zhǎng)文本上的序列信息,RNN用于文本分類(lèi)的另一個(gè)優(yōu)勢(shì)在于其可以很好地與注意力機(jī)制(attention mechanism)結(jié)合,在文本建模時(shí)把注意力重點(diǎn)放在關(guān)鍵信息上,從而提高文本分類(lèi)的效果。注意力機(jī)制最初是在計(jì)算機(jī)視覺(jué)領(lǐng)域提出的[14],在自然語(yǔ)言處理領(lǐng)域,注意力機(jī)制最先被引入到機(jī)器翻譯任務(wù)的基于RNN的編解碼器模型中[15]。注意力機(jī)制通過(guò)目標(biāo)向量對(duì)輸入序列打分,把注意力集中在輸入序列中更重要的部分,使輸出結(jié)果更加精確,因而逐漸被推廣應(yīng)用到包括文本分類(lèi)在內(nèi)的多種的NLP任務(wù)中。
在處理由許多句子組成的長(zhǎng)文檔表示時(shí),直接把文檔作為長(zhǎng)序列處理,會(huì)忽略掉文檔的層次結(jié)構(gòu)中包含的信息,因此有研究者采用分層的神經(jīng)網(wǎng)絡(luò)模型對(duì)文檔建模來(lái)進(jìn)行文本分類(lèi)。Tang等人[7]構(gòu)建了自底向上的文檔表示方法,先用CNN對(duì)句子進(jìn)行編碼,然后利用帶有門(mén)控結(jié)構(gòu)的RNN構(gòu)建文檔表示,最后通過(guò)softmax層得到分類(lèi)結(jié)果,實(shí)驗(yàn)證明,這種模型在當(dāng)時(shí)得到了對(duì)長(zhǎng)文檔分類(lèi)的最好效果。類(lèi)似地,Yang等人[8]提出了分層注意力模型,該模型將注意力機(jī)制納入分層GRU模型,使模型能更好地捕獲文檔的重要信息,進(jìn)一步提高了長(zhǎng)文檔分類(lèi)的準(zhǔn)確率。
為了捕捉長(zhǎng)文本上的序列信息,同時(shí)更好地利用長(zhǎng)文檔數(shù)據(jù)中的層次結(jié)構(gòu),本文提出基于層次混合注意力機(jī)制的文本分類(lèi)模型(hierarchical mixed attention networks, HMAN),使用基于RNN的層次模型,引入注意力機(jī)制關(guān)注文本中的重要部分,在句注意力層通過(guò)提取句子中各維度的最大特征來(lái)獲取每個(gè)句子的重要特征。
模型的基本思想是: 按照單詞組成句子、句子組成文檔的層次結(jié)構(gòu)分別對(duì)句子和文檔編碼。為了把句子或文檔表示的語(yǔ)義重點(diǎn)放在其重要的組成成分上,在每個(gè)層級(jí)分別使用注意力機(jī)制。最后根據(jù)構(gòu)建的文檔表示對(duì)文檔分類(lèi)。
通常注意力機(jī)制首先設(shè)定一個(gè)任務(wù)特定的目標(biāo)向量并與輸入序列匹配,然后通過(guò)計(jì)算輸入序列中每個(gè)元素與目標(biāo)向量的相似度來(lái)為其分配注意力得分,將得分歸一化后,對(duì)所有元素加權(quán)求和得到最終的表示結(jié)果。在文本分類(lèi)中,以往的做法是在網(wǎng)絡(luò)中學(xué)習(xí)一個(gè)全局的上下文向量作為目標(biāo)向量,通過(guò)計(jì)算每個(gè)單詞與目標(biāo)向量的相似度對(duì)單詞打分。
然而,當(dāng)所有類(lèi)別共同使用一個(gè)目標(biāo)向量時(shí),它在每個(gè)特征維度上的信息就會(huì)相對(duì)平均,不能突出句子的顯著特征。即使句子里出現(xiàn)了具有明顯類(lèi)別特征的詞,全局的目標(biāo)向量也無(wú)法為它分配一個(gè)與其顯著性相匹配的注意力得分。
因此,HMAN模型在句注意力層使用混合的注意力機(jī)制,即除了使用全局目標(biāo)向量之外,對(duì)每個(gè)句子構(gòu)建其特有的目標(biāo)向量。直接從句子的詞向量矩陣中抽取每個(gè)維度上最大的值,也就是最明顯的信息作為句子特有的目標(biāo)向量。
HMAN模型共有五層,自底向上分別為: 句編碼層、句注意力層、文檔編碼層和文檔注意力層和文檔分類(lèi)層,模型結(jié)構(gòu)如圖1所示。
圖1 基于層次混合注意力機(jī)制的文本分類(lèi)模型
在句編碼層,將句子中的每個(gè)詞依次輸入來(lái)構(gòu)建句子表示。為了獲取句子中的序列信息,使用RNN對(duì)句子建模。然而在基礎(chǔ)的RNN中,隨著序列在時(shí)間上的傳播,序列中的歷史信息會(huì)逐漸被遺忘,而誤差累積卻越來(lái)越多。因此在HMAN中,使用特殊的RNN結(jié)構(gòu)——門(mén)循環(huán)單元(gate recurrent unit, GRU)解決長(zhǎng)期記憶和反向傳播中的梯度更新問(wèn)題。
(3)
由于句子中每個(gè)單詞對(duì)分類(lèi)目標(biāo)的貢獻(xiàn)度是不一樣的,在編碼時(shí)對(duì)分類(lèi)越重要的詞的權(quán)值應(yīng)該越大。因此在句注意力層,采用注意力機(jī)制給句子中的每個(gè)單詞計(jì)算一個(gè)注意力得分,然后通過(guò)單詞及其得分形成句子的向量表示。
特別地,在句注意力層,HMAN模型使用混合的注意力機(jī)制,除了使用全局目標(biāo)向量vg之外,還為每個(gè)句子構(gòu)建其特有的目標(biāo)向量vs。由于詞向量的每個(gè)維度都表示了一個(gè)屬性信息,類(lèi)似于CNN中的最大池化(Maxpooling),直接從句子的詞向量矩陣中抽取每個(gè)維度上最大的值,也就是最明顯的信息作為句子特有的目標(biāo)向量,更加突出具有明顯類(lèi)別特征的語(yǔ)義信息。
圖2 使用Maxpooling提取目標(biāo)向量
同時(shí),設(shè)置一個(gè)全局的目標(biāo)向量vg來(lái)表示“哪些單詞對(duì)于分類(lèi)目標(biāo)更重要”,在訓(xùn)練過(guò)程中隨機(jī)初始化并作為一個(gè)參數(shù)不斷學(xué)習(xí)。
(6)
然后對(duì)于句子中的所有單詞,分別計(jì)算它和兩個(gè)目標(biāo)向量的相似度并歸一化,得到針對(duì)兩種目標(biāo)向量的注意力得分,如式(7)~式(10)所示。
將兩個(gè)分?jǐn)?shù)按照一定的權(quán)重相加作為最終的注意力分?jǐn)?shù),根據(jù)所有單詞及其注意力分?jǐn)?shù)得到句子的編碼,如式(11)所示。
(11)
通過(guò)這樣的方式,對(duì)于文檔中的每個(gè)句子都能得到其對(duì)應(yīng)的向量表示,并且文本里分類(lèi)特征比較明顯的詞得到的權(quán)重會(huì)更大,在最終的句子表示中會(huì)占據(jù)主導(dǎo)地位。
在得到句子的向量表示s(i)后,類(lèi)似句編碼層,同樣使用雙向GRU對(duì)s(i)編碼,如式(12)、式(13)所示。
(14)
文檔中的各個(gè)句子對(duì)文檔分類(lèi)結(jié)果的貢獻(xiàn)程度也是不一樣的,因此在文檔注意力層,同樣使用注意力機(jī)制來(lái)對(duì)每個(gè)句子打分。這里我們只關(guān)注文檔的全局信息,因此使用一個(gè)文檔級(jí)別的全局目標(biāo)向量vd來(lái)衡量句子的重要性。目標(biāo)向量vd表示了“哪些句子更重要”,在訓(xùn)練過(guò)程中同樣被隨機(jī)初始化并共同學(xué)習(xí)。
類(lèi)似句注意力層,首先需要用全連接層對(duì)句子的注解h(i)進(jìn)行處理,如式(15)所示。
h′(i)=tanh(Wdh(i)+bd)
(15)
然后根據(jù)文檔級(jí)別的全局目標(biāo)向量vd計(jì)算相似度并歸一化,得到注意力得分,然后通過(guò)加權(quán)的方式得到包含了文檔中全部句子信息的文檔向量d,如式(16)~式(18)所示。
文檔向量d是文檔的高階表示,可以直接用作文檔分類(lèi)的特征,通過(guò)softmax來(lái)計(jì)算每個(gè)類(lèi)別的概率,如式(19)所示。
p=softmax(Wcd+bc)
(19)
整個(gè)模型訓(xùn)練過(guò)程中使用交叉熵作為損失函數(shù),如式(20)所示。
(20)
其中,pdj是文檔d屬于類(lèi)別j的概率。
綜上,HMAN模型首先用雙向GRU和混合的注意力機(jī)制對(duì)句子編碼,得到文檔中每個(gè)句子的向量表示;然后使用雙向GRU和基礎(chǔ)的注意力機(jī)制對(duì)文檔編碼。最終得到的文檔表示包含了文檔中所有句子的語(yǔ)義信息,而且重要句子占據(jù)了其中更大的比重。同樣,在每個(gè)句子中,特征越明顯的單詞比重也越大。最后,在文檔分類(lèi)層,根據(jù)得到的文檔表示進(jìn)行分類(lèi),可以得到文檔對(duì)應(yīng)每個(gè)類(lèi)別的概率。基于這樣的層次結(jié)構(gòu)可以得到類(lèi)別特征更加明顯的文檔表示。
為驗(yàn)證HMAN模型的效果,本文設(shè)計(jì)了兩組實(shí)驗(yàn),一組使用公開(kāi)數(shù)據(jù)集,另一組是在企業(yè)年報(bào)數(shù)據(jù)這類(lèi)具有層次結(jié)構(gòu)的長(zhǎng)文本數(shù)據(jù)集上進(jìn)行驗(yàn)證,數(shù)據(jù)集的統(tǒng)計(jì)信息如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集統(tǒng)計(jì)信息(單位: 字)
第一組實(shí)驗(yàn)采用的是復(fù)旦大學(xué)中文文本分類(lèi)數(shù)據(jù)集和GitHub官網(wǎng)下載的今日頭條短文本分類(lèi)數(shù)據(jù)集。復(fù)旦大學(xué)中文文本分類(lèi)數(shù)據(jù)集共有20個(gè)類(lèi)別,9 832條數(shù)據(jù)。今日頭條短文本分類(lèi)數(shù)據(jù)集共有382 688條數(shù)據(jù),15個(gè)類(lèi)別,將“新聞標(biāo)題”信息作為文本數(shù)據(jù),“分類(lèi)名稱(chēng)”信息作為分類(lèi)標(biāo)簽。
第二組實(shí)驗(yàn)采用的上市公司年報(bào)數(shù)據(jù)集共有31 230條企業(yè)年報(bào)數(shù)據(jù),以“董事會(huì)討論”信息作為文本數(shù)據(jù),分別提取一級(jí)分類(lèi)和二級(jí)分類(lèi)作為分類(lèi)標(biāo)簽進(jìn)行文本分類(lèi),其中一級(jí)分類(lèi)共有18類(lèi),二級(jí)分類(lèi)共有78類(lèi)。
在訓(xùn)練過(guò)程中,將數(shù)據(jù)集中的全部數(shù)據(jù)按9∶1劃分為訓(xùn)練集和測(cè)試集,訓(xùn)練集中又取10%作為開(kāi)發(fā)集。
實(shí)驗(yàn)將HMAN模型與以下分類(lèi)模型進(jìn)行比較:
(1)基于機(jī)器學(xué)習(xí)的分類(lèi)模型:貝葉斯模型、決策樹(shù)模型。其中貝葉斯模型分別訓(xùn)練伯努利貝葉斯分類(lèi)器[1]和多項(xiàng)式樸素貝葉斯分類(lèi)器[16],決策樹(shù)模型分別訓(xùn)練基于信息熵的ID3決策樹(shù)[17]和基于GINI不純度的CART決策樹(shù)[18]。
(2)基于深度學(xué)習(xí)的分類(lèi)模型:包括不使用層次模型的TextCNN[5]、TextRNN[19],以及使用層次模型的HAN[8]。
HMAN模型的部分訓(xùn)練參數(shù)設(shè)置如表2所示。其中批量樣本的大小設(shè)為32,GRU中隱藏單元的個(gè)數(shù)為50,詞向量的維度為200,Adam優(yōu)化算法中的學(xué)習(xí)率為0.001,梯度裁剪的閾值為5。句注意力層的超參數(shù)λ經(jīng)過(guò)調(diào)整和驗(yàn)證,在λ=0.2時(shí)取得的效果最好。
表2 HMAN部分訓(xùn)練參數(shù)設(shè)置
第一組實(shí)驗(yàn)對(duì)比了傳統(tǒng)機(jī)器學(xué)習(xí)算法、卷積神經(jīng)網(wǎng)絡(luò)文本分類(lèi)模型TextCNN、循環(huán)神經(jīng)網(wǎng)絡(luò)文本分類(lèi)模型HAN以及本文提出的HMAN,實(shí)驗(yàn)結(jié)果如表3所示,其中,TextCNN模型、HAN模型與HMAN模型取分類(lèi)效果收斂之后的十次平均分類(lèi)準(zhǔn)確率作為分類(lèi)結(jié)果。
表3 各模型在公開(kāi)數(shù)據(jù)集上的分類(lèi)結(jié)果
樸素貝葉斯模型假設(shè)屬性之間是相互獨(dú)立的,但是在實(shí)際應(yīng)用中,這個(gè)假設(shè)往往不成立,在屬性數(shù)目比較多時(shí),樸素貝葉斯的性能表現(xiàn)不好。KNN算法在K取值為1時(shí),在復(fù)旦大學(xué)中文數(shù)據(jù)集上取得的效果較好,在今日頭條短文本分類(lèi)數(shù)據(jù)集上的效果較差,KNN算法的K值與數(shù)據(jù)集本身有很大的關(guān)系,K值的確定目前還沒(méi)有特定的經(jīng)驗(yàn)公式,因此在對(duì)新的數(shù)據(jù)集進(jìn)行訓(xùn)練時(shí),需要重新對(duì)K取不同的值進(jìn)行實(shí)驗(yàn)來(lái)確定最佳K值。在兩組實(shí)驗(yàn)數(shù)據(jù)集上,GINI不純度決策樹(shù)的分類(lèi)準(zhǔn)確率比信息熵決策樹(shù)的分類(lèi)準(zhǔn)確率要高。這是由于信息熵對(duì)不純度的敏感度要高于基尼系數(shù),因此當(dāng)把信息熵作為指標(biāo)時(shí),決策樹(shù)的生長(zhǎng)會(huì)更加“精細(xì)”,在數(shù)據(jù)的維度高或者數(shù)據(jù)噪聲大時(shí),信息熵很容易過(guò)擬合。
TextCNN在兩組數(shù)據(jù)集上都取得了很好的分類(lèi)效果,均高于傳統(tǒng)機(jī)器學(xué)習(xí)分類(lèi)模型的準(zhǔn)確率。HAN分類(lèi)效果略高于TextCNN。HMAN模型在公開(kāi)數(shù)據(jù)集上取得了與HAN相當(dāng)?shù)慕Y(jié)果,在復(fù)旦大學(xué)數(shù)據(jù)集上,HMAN模型的分類(lèi)準(zhǔn)確率達(dá)到95.43%,略好于HAN模型,差異值為0.014左右。在今日頭條短文本分類(lèi)數(shù)據(jù)集上,HMAN模型的分類(lèi)準(zhǔn)確率達(dá)到87.81%,和HAN模型效果相當(dāng),差異值為0.001左右。相比短文本,HMAN模型更能關(guān)注到長(zhǎng)文本中最具區(qū)別性的語(yǔ)義特征,效果更好。
為驗(yàn)證HMAN模型在具有層次結(jié)構(gòu)的長(zhǎng)文本數(shù)據(jù)集上的性能,本節(jié)采用上市公司的年報(bào)數(shù)據(jù)庫(kù)數(shù)據(jù),企業(yè)年報(bào)數(shù)據(jù)庫(kù)提供了企業(yè)董事會(huì)信息和經(jīng)營(yíng)產(chǎn)品信息包括: 記錄ID、股票代碼、股票簡(jiǎn)稱(chēng)、行業(yè)分類(lèi)、產(chǎn)品名稱(chēng)、董事會(huì)討論、主要產(chǎn)品、經(jīng)營(yíng)范圍、年份等字段。其中,“董事會(huì)討論”是企業(yè)董事會(huì)討論與分析的文本內(nèi)容,“行業(yè)分類(lèi)”根據(jù)不同粒度劃分為四個(gè)級(jí)別。
本組實(shí)驗(yàn)以“董事會(huì)討論”信息作為文本數(shù)據(jù),分別提取一級(jí)分類(lèi)和二級(jí)分類(lèi)作為分類(lèi)標(biāo)簽進(jìn)行文本分類(lèi),確定企業(yè)所屬類(lèi)別。其中一級(jí)分類(lèi)共有18類(lèi),二級(jí)分類(lèi)共有78類(lèi)。企業(yè)年報(bào)數(shù)據(jù)示例如表4所示。
表4 企業(yè)年報(bào)數(shù)據(jù)示例
各模型在一級(jí)行業(yè)分類(lèi)和二級(jí)行業(yè)分類(lèi)的準(zhǔn)確率如表5所示??梢钥闯?,基于深度學(xué)習(xí)的文本分類(lèi)模型整體效果好于基于機(jī)器學(xué)習(xí)的分類(lèi)模型。一方面,基于機(jī)器學(xué)習(xí)的分類(lèi)模型會(huì)依賴(lài)某種規(guī)則,約束了分類(lèi)的準(zhǔn)確率;另一方面,特征工程會(huì)對(duì)基于機(jī)器學(xué)習(xí)的分類(lèi)模型的分類(lèi)結(jié)果產(chǎn)生很大影響,這里使用了基于文檔的統(tǒng)計(jì)信息的詞頻和逆文檔頻率作為文本特征,不能表示文本的語(yǔ)義。而基于深度學(xué)習(xí)的文本分類(lèi)模型使用了包含單詞上下文信息的語(yǔ)義特征,同時(shí)用CNN或RNN能進(jìn)一步提取文本序列的特征,更有助于對(duì)文本進(jìn)行分類(lèi)。
表5 各模型行業(yè)分類(lèi)準(zhǔn)確率(%)
對(duì)于不使用層次模型的TextCNN和TextRNN,TextCNN使用不同大小的卷積核可以提取文檔中不同窗口大小的固定特征,而TextRNN可以捕捉文本序列中的依賴(lài)信息,同時(shí)注意力機(jī)制的使用可以使編碼后的文檔向量更關(guān)注文本中的重要特征。兩者均有各自的優(yōu)勢(shì),在一級(jí)分類(lèi)的結(jié)果上不分伯仲,而在類(lèi)別較多的二級(jí)分類(lèi)上TextRNN略好于TextCNN。另一方面,在訓(xùn)練效率上TextCNN相對(duì)TextRNN要快很多。
使用層次模型可以進(jìn)一步提高分類(lèi)效果。HAN和HMAN在一級(jí)分類(lèi)和二級(jí)分類(lèi)上的準(zhǔn)確率均明顯高于不使用層次模型的TextCNN、TextRNN。這說(shuō)明引入文檔的層次結(jié)構(gòu)可以在不同層級(jí)分別關(guān)注文本的句子特征和文本特征,有助于提升文檔級(jí)別的文本分類(lèi)的效果。
本文提出的HMAN在句子級(jí)別的注意力機(jī)制中,在全局目標(biāo)向量的基礎(chǔ)上,從詞向量矩陣中利用最大池化提取句子中每個(gè)維度上的最大特征作為目標(biāo)向量,能夠更加突出具有明顯類(lèi)別特征的語(yǔ)義信息,分類(lèi)效果好于HAN。
另外,為了觀察基于深度學(xué)習(xí)的分類(lèi)模型在訓(xùn)練過(guò)程中的變化趨勢(shì),以一級(jí)分類(lèi)為示例繪制了各模型在開(kāi)發(fā)集上的準(zhǔn)確率變化曲線,如圖3所示。從圖3中可以看出,由于直接通過(guò)提取的方式獲得目標(biāo)向量,不需要額外的參數(shù)訓(xùn)練,HMAN的收斂速度比HAN快。
圖3 一級(jí)分類(lèi)準(zhǔn)確率變化曲線
從表5也可以看出,無(wú)論采用何種分類(lèi)模型,二級(jí)分類(lèi)的準(zhǔn)確率都明顯低于一級(jí)分類(lèi)準(zhǔn)確率。主要原因在于: 一級(jí)分類(lèi)只有18類(lèi),而二級(jí)分類(lèi)有78類(lèi),類(lèi)別數(shù)量越多,分類(lèi)產(chǎn)生的錯(cuò)誤可能就越多。由于一級(jí)分類(lèi)粒度較大,各類(lèi)別的區(qū)分度比較明顯,因此比較容易捕獲文本的類(lèi)別特征。由于二級(jí)分類(lèi)是在一級(jí)分類(lèi)的基礎(chǔ)上進(jìn)行的細(xì)分,同一大類(lèi)的各個(gè)小類(lèi)的區(qū)分性也不大,特征不夠明顯,因此會(huì)對(duì)分類(lèi)的準(zhǔn)確度造成影響。
綜合上述分析,HMAN模型在分類(lèi)準(zhǔn)確率和模型的性能上都達(dá)到了預(yù)期的實(shí)驗(yàn)效果,在實(shí)驗(yàn)數(shù)據(jù)集為結(jié)構(gòu)化長(zhǎng)文本時(shí),更能體現(xiàn)出HMAN模型的分類(lèi)優(yōu)勢(shì)。
本文研究基于深度學(xué)習(xí)的文本分類(lèi)算法,提出基于層次混合注意力機(jī)制的文本分類(lèi)模型HMAN。首先,改進(jìn)分層注意力模型,在句編碼時(shí),提出為文本中每個(gè)句子設(shè)置特定的目標(biāo)向量,結(jié)合全局目標(biāo)向量,按照一定的權(quán)重對(duì)所有詞項(xiàng)及其注意力得分進(jìn)行綜合得到句編碼。然后,通過(guò)分層注意力模型中文檔編碼層、文檔注意力層和文檔分類(lèi)層,獲得文檔對(duì)應(yīng)每個(gè)類(lèi)別的概率,即實(shí)現(xiàn)文本分類(lèi)。通過(guò)對(duì)公開(kāi)數(shù)據(jù)集和企業(yè)年報(bào)數(shù)據(jù)上的數(shù)據(jù)進(jìn)行行業(yè)分類(lèi),實(shí)驗(yàn)表明HMAN在一級(jí)分類(lèi)和二級(jí)分類(lèi)上的分類(lèi)準(zhǔn)確率均好于傳統(tǒng)機(jī)器學(xué)習(xí)的文本分類(lèi)模型和當(dāng)前已有的基于深度學(xué)習(xí)的文本分類(lèi)模型。