趙金榜,秦紹偉,武 浩
(云南大學 信息學院,云南 昆明 650500)
人類社會進入信息時代以后,文本數(shù)據(jù)開始了爆發(fā)式的增長,這些文本中包含著大量有價值的信息,但由于文本信息的非結(jié)構(gòu)性,對其組織和有效利用面臨著很大的困難.文本分類是指根據(jù)文本從給定的標簽集合中選取出合適類別標簽的過程,對其后續(xù)的處理具有很重要的現(xiàn)實意義.對文本的分類有人工分類和自動分類兩種方法,人工分類通過人工閱讀對文本標注,雖然有高質(zhì)量的分類結(jié)果,但費時費力成本較高;自動分類使用人工智能技術(shù)批量快速的對文本進行分類,逐漸成為研究熱點.
隨著文本自動分類技術(shù)在學術(shù)界和工業(yè)界的廣泛研究和使用,眾多的方法被應用到文本多標簽分類中,包括一對多模型[1-2]、嵌入模型[3]、基于樹的模型[4-6]和深度學習模型[7-19]等,其中深度學習由于具有強大的擬合能力,在多標簽分類中取得了顯著的成果,如卷積神經(jīng)網(wǎng)絡[7]、遞歸神經(jīng)網(wǎng)絡[8-9]、多重注意力網(wǎng)絡[10]、預訓練模型[11]等.在深度神經(jīng)網(wǎng)絡的基礎上,進一步利用文檔和標簽的隱含線索可以提升模型的分類性能[12-14],深度神經(jīng)網(wǎng)絡結(jié)合降維等方法可以處理大規(guī)模數(shù)據(jù)集[15-16],深度神經(jīng)網(wǎng)絡結(jié)合注意力機制在文本分類中表現(xiàn)出了優(yōu)異的性能[17-19].通過自適應的特征聚集加快模型的分類速度,這些模型對文本分類問題的建模主要集中在文檔的詞和標簽關(guān)系之間,缺乏對文檔多義性的關(guān)注,只獲取單一文檔特征表示.文本多義性指的是文本中的線索在不同的語境中具有不同的含義,如“蘋果”一詞既可以指水果也可以指科技公司,在不同的語境下使用同一種特征表示文檔里的線索是不合理的.
為此,本文從文檔中詞語的多義性出發(fā),構(gòu)建了聚類感知的文本分類(Clustering Perceptual Text Classifier,CPTC)模型.利用注意力機制提取多個文檔語義特征,用于建模文檔在不同語境下的不同特征,然后將這些不同特征和標簽的嵌入交互,充分挖掘文檔和標簽之間的線索.在4 個數(shù)據(jù)集上進行實驗,結(jié)果表明該方法是有效的.
文本多標簽分類由于其重要的現(xiàn)實意義,長時間以來一直是學術(shù)界和工業(yè)界的研究熱點.目前主流的分類方法按照對文檔和標簽的建模方法可以分為兩類,第一類是基于分類器的方法,直接利用文檔?標簽的關(guān)系,將文檔的稀疏表示轉(zhuǎn)換為稠密向量,然后通過構(gòu)建多個分類器進行分類;第二類是基于嵌入的方法,結(jié)合標簽和文檔的特征以挖掘文檔和標簽的全局關(guān)系,將文檔和標簽做嵌入表示,利用文檔標簽之間的關(guān)聯(lián)進行分類.
基于分類器的方法:文獻[7]最早使用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN) 提取文檔特征,CNN 通過權(quán)值共享減少了參數(shù)的數(shù)量,訓練速度較快,但卷積和池化的操作忽略了文檔中詞的語序信息.相比于CNN,循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)被更廣泛應用到文本分類任務中,如長短期記憶網(wǎng)絡[8](Long shortterm memory,LSTM),基于LSTM 的門控循環(huán)網(wǎng)絡[9](Gate Recurrent Unit,GRU)等,循環(huán)神經(jīng)網(wǎng)絡可以對序列內(nèi)容建模,優(yōu)點是捕獲了詞語在時間維度上的關(guān)系,可以帶來更好的分類效果,但通常需要訓練的參數(shù)更多,容易出現(xiàn)梯度消失和梯度爆炸的問題.上述基于分類器的方法只建模了文檔到標簽的直接映射關(guān)系,而忽視了標簽自身信息的利用,因此分類的效果仍有提升的空間.
基于嵌入的方法:文獻[11]使用卷積神經(jīng)網(wǎng)絡提取文檔特征,并將標簽做嵌入表示,結(jié)合標簽信息進行分類,可以處理大規(guī)模文本分類任務,但仍然存在對文檔和標簽的隱含關(guān)系利用不充分,分類效果一般的問題;文獻[12]將單詞和標簽嵌入到同一個空間,使用單詞和標簽的共同嵌入表示文檔,建模了詞和標簽的隱含關(guān)系,但是在標簽數(shù)量較少時不能最大化利用標簽的信息,影響分類性能;文獻[13]在文本編碼器的基礎上增加對文檔和標簽互信息矩陣的分解,實現(xiàn)了對文檔和標簽的協(xié)同表示學習,能有效捕獲文檔和標簽之間的關(guān)系,但帶來了計算量的增加;文獻[14]分別對文檔和標簽使用嵌入表示,其中標簽的嵌入為構(gòu)成標簽的詞的嵌入向量的平均,通過相同的詞向量建模了文檔和標簽的關(guān)系,但是標簽的語義嵌入不能很好地反映標簽和文檔的共現(xiàn)關(guān)系.以上這些嵌入方法利用標簽信息做嵌入表示,增強分類效果,但仍然缺乏對文本內(nèi)不同詞多義性的關(guān)注,只能獲取單一的文本特征表示.
對原始文本和標簽的處理是提升文本分類效果的關(guān)鍵.一方面通過構(gòu)建合理的模型,可以較好地建模文檔的特征,如RNN 相比于CNN 可以更好地建模詞的時序關(guān)系;另一方面是通過對標簽進行嵌入表示,更好地利用標簽語義信息進行文本分類.本文從文檔中詞語的多義性出發(fā),建模文檔在不同語境下的不同特征表示,具體做法是引入多個簇心向量,使用注意力機制[20]為句子中的每個詞分配不同的權(quán)重,代表詞在不同語境下受到的不同關(guān)注程度,從而得到文本在不同語境下的特征.同時將標簽做嵌入表示與得到的文本增強特征點乘進行預測,其結(jié)構(gòu)如圖1 所示.
圖1 中,{w1,w2,···,wn}是一個文檔里詞的序列,E是詞的嵌入向量,H是嵌入向量經(jīng)過雙向GRU 網(wǎng)絡輸出的詞的隱含向量,d是詞的隱含向量H通過自注意力模塊后得到文檔的原始特征,{c1,c2,···,ck}是k個簇心向量,詞隱含向量通過Bahdanau 注意力機制在簇心向量的影響下,得到文檔在k個簇下的特征 {s1,s2,···,sk},S是這些特征的組合,dc是組合特征S通過自注意力機制得到文檔的聚類感知特征.d′是文檔原始特征與聚類感知特征融合后的增強特征.{t1,t2,···,tm}是 所有的標簽序列,T是標簽嵌入的組合,{p1,p2,···,pm}是對標簽的預測概率.
圖1 聚類感知模型結(jié)構(gòu)Fig.1 The structure of clustering perceptual mode
2.1 文檔原始特征提取本文基于深度學習模型,將詞的嵌入向量通過雙向GRU 網(wǎng)絡和自注意力模塊生成文檔的特征.詞的序列 {w1,w2,···,wn}經(jīng)過嵌入層獲取詞的向量表示E,嵌入層使用GloVe[21]進行初始化,其中不在GloVe 詞表中的詞被表示為隨機初始化的向量.將詞嵌入表示通過雙向GRU 網(wǎng)絡得到文檔的詞的隱含向量H,將H中的多個隱含特征通過自注意力機制加權(quán)平均得到文檔原始特征表示d.
2.2 文檔的聚類感知特征提取為了生成文檔在不同語境下的特征,引入簇心向量{c1,c2,···,ck},作為Bahdanau 注意力機制的查詢向量,注意力機制的作用是為文檔中的每一個詞的隱含向量分配權(quán)重,加權(quán)平均后得到文檔的一個特征向量.本文引入多個不同的簇心向量,多次使用注意力機制為文檔中的詞分配權(quán)重,簇心向量作為注意力機制的參數(shù),不同的簇心向量會導致注意力機制每次為文檔中相同的詞分配的權(quán)重是不同的,代表了在不同的語境中對詞關(guān)注程度的不同.在反向傳播中自動更新簇心向量的值,實現(xiàn)語境的自動提取,每個簇心就是一個語境,達到了聚類感知的效果.簇心向量的個數(shù)是超參數(shù),人為指定,其向量的初始值采用隨機初始化的方式獲得.經(jīng)過注意力機制整合后,文檔的特征被重新整合為多個關(guān)注不同語境的新特征 {s1,s2,···,sk},其公式如下:
式中,ν、W1、W2是Bahdanau 注意力模型中的權(quán)重參數(shù),通過反向傳播自動更新,αk,n是文檔中詞的隱含向量hn在 簇心向量ck上的權(quán)重,將文檔中詞的隱含向量hn和權(quán)重 αk,n相乘再求和,得到每個詞在簇心上的新特征sk.設定簇心的數(shù)量k,可以得到文檔在k個語境下的不同特征表示,將這k個不同特征組合在一起得到組合特征S.
2.3 標簽嵌入與文檔特征交互為了方便和標簽的嵌入表示交互,使用自注意力機制將組合特征S轉(zhuǎn)換成文檔的語境特征dc,自注意力的實現(xiàn)方式如下:
式中,ν、W、b是自注意力的參數(shù),通過反向傳播自動更新,αk是特征sk的權(quán)重,將公式(3)中求得的組合特征sk和 其對應的權(quán)重 αk相乘再求和,得到代表文檔在不同語境下的特征dc,同時將文檔通過RNN 網(wǎng)絡得到的特征H通過同樣的自注意力網(wǎng)絡得到文檔原始特征d,將文檔原始特征和文檔不同語境下的特征相加,得到文檔的最終特征d′,其公式如下:
將所有標簽 {t1,t2,···,tm}通過標簽嵌入層得到標簽的嵌入表示特征T,將文檔和標簽的特征矩陣點乘得到標簽的預測矩陣P,其公式如下:
得到標簽的預測矩陣后,獲取預測值最高的N個標簽,作為模型對標簽的預測輸出.
2.4 損失函數(shù)模型的輸出是對每一個標簽的預測值,使用二元交叉熵損失(Binary Cross Entropy Loss,BCE Loss)計算損失,其定義如下:
式中,yi是標簽的標注值,若標簽ti屬 于該文檔則yi為1,否則為0,是模型對于標簽ti是否屬于該文檔的預測值,得到損失之后,模型優(yōu)化的目標是最小化該損失值,在反向傳播中優(yōu)化方法使用自適應矩估計(Adaptive moment estimation,Adam)優(yōu)化器.
3.1 實驗數(shù)據(jù)集實驗中,采用文本多標簽分類中常使用的Reuter、PW-20K、CiteULike-t 和Eurlex,其中Reuter 數(shù)據(jù)集是1987 年路透社新聞的集合,其文檔由路透社有限公司的人員按類別進行匯編和索引,它被廣泛應用于文本分類的研究領域[22];PW-20K 是從ProgrammableWeb 網(wǎng)站中搜集的,作為全球最大的Web API 在線注冊網(wǎng)站,其記錄了超過20 000 個開放Web API 和數(shù)千個應用程序;CiteULike-t 數(shù)據(jù)集是Wang 等[23]從CiteULike網(wǎng)站和谷歌學術(shù)中收集,其中每一篇學術(shù)文章都有摘要、標題和標簽,數(shù)據(jù)集中文檔和標簽關(guān)系非常稀疏,包含許多重復的標簽,通過刪除低頻率標簽、識別重復標簽來預處理數(shù)據(jù)集;Eurlex 數(shù)據(jù)集[24]是歐盟法律的集合,數(shù)據(jù)集中使用EUROVOC 描述歐洲法律不同方面的主題層次結(jié)構(gòu).各數(shù)據(jù)集的參數(shù)如表1 所示.
表1 實驗數(shù)據(jù)集參數(shù)Tab.1 Parameters of experimental dataset
3.2 參數(shù)設置實驗中會影響到模型性能的超參數(shù)有文檔和標簽嵌入維度、簇心數(shù)量、學習率和文檔最大長度,本文采用的設置如表2 所示.
表2 CPTC 模型使用的超參數(shù)情況Tab.2 Hyperparametric conditions used by CPTC model
3.3 評價指標文本多標簽分類常用的評價指標有精確率(Precision)、召回率(Recall)和歸一化折損累積增益(Normalized Discounted Cumulative Gain,NDCG),從不同的維度評估算法性能.
精確率是指模型預測正確的標簽數(shù)量和模型預測出的所有標簽數(shù)量的比值,用于評估正樣本結(jié)果中的預測準確程度,計算方法如下:
式中,N為推薦序列的長度,yreal是文檔對應的真實標簽序列,ytopN是模型推薦的前N個標簽的集合.
召回率是指模型預測正確的標簽數(shù)量和真實標簽數(shù)量的比值,用于評估模型對正確標簽的覆蓋程度,計算方法如下:
NDCG 除了對準確性的考量,還考慮到標簽的先后排名情況,使得排名靠前的標簽得分更高,計算方法如下:
當?shù)趇個標簽與文檔相關(guān)時,γi=1,否則 γi=0,C是理想狀態(tài)下,標簽按照相關(guān)性從大到小排列的集合.
3.4 對比方法本文使用TagSpace、TextCNN、LEAM、GILE、BGRU-Att 等基線模型對比實驗結(jié)果,這些基線模型覆蓋了多標簽分類的不同方法.
TagSpace[11]:使用卷積神經(jīng)網(wǎng)絡提取文檔特征,并將標簽做嵌入表示,使用文檔與標簽之間的點積計算進行預測分類,其中卷積窗口大小設置為5,卷積核數(shù)量為128.
TextCNN[7]:在預訓練的詞向量的基礎上使用卷積神經(jīng)網(wǎng)絡來學習文檔的特征,最后使用一個分類層進行預測,實驗中上下文窗口大小為[3,4,5],卷積核數(shù)量為128.
LEAM[13]:利用標簽嵌入信息結(jié)合文本詞嵌入增強文本特征表示,并使用全連接層進行分類,使用二元交叉熵損失訓練模型.
GILE[14]:將標簽使用預訓練詞向量初始化,與文檔特征結(jié)合得到交互特征,最后使用一個全連接層進行分類.
BGRU-Att[25]:使用雙向GRU 獲取文檔的向量表示,通過全連接層和sigmoid 激活函數(shù)獲得預測值,并使用二元交叉熵作為損失函數(shù).
3.5 實驗結(jié)果對數(shù)據(jù)集PW-20K,Reuter,Eurlex和CiteULike-t 使用同樣的預處理方法清洗之后,使用TagSpace、TextCNN、LEAM、GILE、BGRUAtt 和本文提出的CPTC 模型分別計算精確度、召回率和NDCG,結(jié)果如表3~6 所示.
表3 Reuter 數(shù)據(jù)集下實驗結(jié)果Tab.3 Experimental results under Reuter dataset
TagSpace 和TextCNN 同樣使用CNN 來提取文檔的特征、建模文檔和標簽的關(guān)系,TextCNN 使用了多個不同大小的卷積核獲取文檔特征,因此其分類效果在實驗的4 個數(shù)據(jù)集中都要優(yōu)于TagSpace.LEAM 和GILE 在深度網(wǎng)絡的基礎上,將文檔和標簽嵌入到同一個特征空間,更加充分地建模了文檔和標簽的關(guān)系,因此它們的分類效果優(yōu)于只利用文檔與標簽直接關(guān)系的TagSpace 和TextCNN.BGRUAtt 采用深度網(wǎng)絡與注意力機制結(jié)合的方法提取文本特征,一方面BGRU 解決了文檔中單詞的遠距離依賴問題,另一方面注意力機制通過內(nèi)置神經(jīng)元的學習為文檔中的詞分配合適的權(quán)重,突出了關(guān)鍵信息的作用.在文本多標簽分類中表現(xiàn)尤為出色,在Reuter 數(shù)據(jù)集中P@1、R@1、NDCG@5 低于GILE 模型,在PW-20K、Eurlex 和CiteULike-t 數(shù)據(jù)集中全部指標優(yōu)于其他基線模型,在所有基線模型中表現(xiàn)最好.
表4 PW-20K 數(shù)據(jù)集下實驗結(jié)果Tab.4 Experimental results under PW-20K dataset
表5 Eurlex 數(shù)據(jù)集下實驗結(jié)果Tab.5 Experimental results under Eurlex dataset
表6 Citeulike-t 數(shù)據(jù)集下實驗結(jié)果Tab.6 Experimental results under Citeulike-t dataset
與基線方法相比,本文提出的CPTC 在現(xiàn)有方法的基礎上,使用聚類感知的方法建模文檔在不同語境下的特征,彌補了現(xiàn)有方法使用單一文檔特征無法充分利用文檔線索的缺點,充分挖掘了文檔和文檔之間的隱含關(guān)系,因此相較于基線模型效果更好.結(jié)果表明CPTC 在所有指標中相較于傳統(tǒng)基線模型均有較大提升.其中相較于基線模型中表現(xiàn)最好的BGRU-Att 模型在CiteULike-t 數(shù)據(jù)集中,P@{1~5}取得了2.59%~4.74%的提升,R@{1~5}取得了1.39%~2.43%的提升,NDCG@{1~5}取得了3.59%~4.74%的提升.
3.6 示例分析為了驗證聚類感知建模文檔在不同語境下特征的效果,在CiteULike-tt 數(shù)據(jù)集中使用TagSpace、BGRU-Att 和CPTC 進行示例分析,其中預測正確的標簽用粗體標識出來,表7 的第一個示例是使用基因?qū)χZ氏瘧原蟲研究的論文,在前5 項預測中,TagSpace 命中了1 個標簽,BGRUAtt 命中了2 個標簽,CPTC 命中了全部的4 個標簽;表7 的第二個示例是對基因組、轉(zhuǎn)錄組和蛋白質(zhì)組研究的論文,在該示例中,TagSpace 沒有命中,BGRU-ATT 命中了1 個標簽,CPTC 命中了3 個標簽;表7 的第三個示例是對非裔美國大學生的研究,在該示例中TagSpace 沒有命中,BGRU-Att 命中了2個標簽,CPTC 同樣命中了全部4 個標簽.
表7 示例分析結(jié)果Tab.7 Results of sample analysis
示例分析驗證了CPTC 模型在文本多標簽分類任務中的有效性,相較于基線模型可以更全面地預測出真實的標簽,體現(xiàn)了聚類感知建模出不同語境下特征的作用.
3.7 參數(shù)分析模型中最重要的參數(shù)為簇心數(shù)量k,其代表了不同語境的數(shù)量,是影響模型效果的主要因素,在模型中簇心向量是額外引入的,可以任意更改其數(shù)量,其值使用隨機初始化的方式產(chǎn)生,并在反向傳播中更新.設置不同的簇心數(shù)量,保持其他條件不變,計算模型分類的精確度,得到的實驗結(jié)果見圖2.從圖2 中結(jié)果可以看出在不同的數(shù)據(jù)集下,聚類中心數(shù)量從0 到7 的區(qū)間內(nèi),精確度整體上處于一直上升態(tài)勢,說明隨著建模中語境數(shù)量的增加,分類效果也在提升,在7 之后分類性能開始波動,可見在實驗的4 個數(shù)據(jù)集中,語境數(shù)量在7 左右可以達到對精度提升的上限.同時也進一步驗證了使用聚類感知方法建模出文檔在不同語境下的不同特征對于分類任務是有效的.
圖2 不同簇心數(shù)量下模型精確率的表現(xiàn)Fig.2 Performance of model accuracy under different number of cluster centers
3.8 消融實驗為了進一步驗證聚類感知模型的有效性,保留原有模型的其他部分,去除聚類感知
部分,將文檔經(jīng)過深度模型的特征直接輸出,將公式(7)改為:
保持模型其他參數(shù)一致的情況下,在原有4 個數(shù)據(jù)集上測試,得到去除聚類感知后模型的性能表現(xiàn)對比如圖3 所示.圖3 中CPTC-0 指不帶有聚類感知的模型,CPTC-7 是指帶聚類感知并且簇心數(shù)量為7 的模型,橙色的部分代表精確度的增量.從結(jié)果可以看出,聚類感知模塊在所有數(shù)據(jù)集上都可以有效提升性能,其中在CiteULike-t 數(shù)據(jù)集上,相較于表現(xiàn)最好的基線模型BGRU-Att 在P@1 指標上取得了4.62%的效果提升.
圖3 聚類感知對模型的影響Fig.3 The effect of clustering perceptual on model
本文從文本詞語的多義性出發(fā),提出了聚類感知文本分類模型.該模型使用深度模型獲取文本的詞隱含向量,通過聚類感知注意力機制來建模文檔中詞語在不同語境下的不同特征,增強了文本的特征表示.實驗表明,與其他基線方法相比,本文提出的聚類感知文本分類模型在性能上取得了顯著的效果提升.盡管模型更加充分地建模了文檔和標簽的隱含關(guān)系,但在多個文檔特征和標簽向量交互時采用了傳統(tǒng)點積的方式,在處理標簽規(guī)模大的數(shù)據(jù)集時需要占用大量空間,未來可以考慮采用基于樹的方法對其進行優(yōu)化.