胡俊清,楊志豪,施敬磊
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650000)
短文本通常較短,一般不超過(guò)150 個(gè)字符。短文本分類廣泛應(yīng)用于電子商務(wù)[1]、社交媒體[2]、商品評(píng)論等方向,是自然語(yǔ)言處理中最重要的任務(wù)之一。隨著電子設(shè)備的普及和電商平臺(tái)的崛起,海量用戶在網(wǎng)上購(gòu)物,商品評(píng)論文本急劇增加,如何對(duì)這些文本進(jìn)行科學(xué)有效的分類管理成為研究熱點(diǎn)之一。評(píng)論文本的正確分類,可以影響用戶的購(gòu)買(mǎi)行為,同時(shí)也對(duì)商家和電商平臺(tái)的營(yíng)銷決策起重要作用。
基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)方法近年來(lái)受到廣泛關(guān)注,其方法也在不斷進(jìn)步和演化,但是在圖結(jié)構(gòu)數(shù)據(jù)上受到了很大的限制。比如,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)不能直接處理圖結(jié)構(gòu)數(shù)據(jù),因?yàn)镃NN 不能維持平移不變性,而且CNN 的卷積核大小固定,限制了依賴的范圍。因此,基于圖卷積網(wǎng)絡(luò)(Graph Convolution Network,GCN)[3]的文本分類方法越發(fā)受到研究人員們的重視[4]。雖然GCN 正逐漸成為基于圖的文本分類中一種比較好的選擇,但總體來(lái)說(shuō)仍然存在一些弊端。
由于GCN 只聚合直接相鄰節(jié)點(diǎn)的信息,在短文本中忽略了非常有用的詞節(jié)點(diǎn)表示和詞序中的語(yǔ)義信息,要想獲得距離較長(zhǎng)的上下文關(guān)系,只有利用增加圖卷積層數(shù)來(lái)解決。但經(jīng)研究發(fā)現(xiàn),GCN層數(shù)過(guò)多會(huì)導(dǎo)致極高空間復(fù)雜度的出現(xiàn),而且網(wǎng)絡(luò)層數(shù)的增加也會(huì)使得節(jié)點(diǎn)信息過(guò)度平滑,不利于文本分類[5]。為了克服文本中上下文相關(guān)信息缺失的問(wèn)題,本文在原有GCN 的基礎(chǔ)上引入了雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,BiLSTM)[6],提出一種改進(jìn)的GCN(BERT_BGCN)文本分類方法,討論融合上下文信息后的圖卷積網(wǎng)絡(luò)模型對(duì)文本分類的影響。
與傳統(tǒng)的依靠人工提取特征的分類方法不同,目前基于深度學(xué)習(xí)的分類方法利用神經(jīng)網(wǎng)絡(luò)自動(dòng)獲取特征進(jìn)行文本分類。例如,TAI 等[7]在序列化LSTM 中結(jié)合依存關(guān)系、短語(yǔ)構(gòu)成等特性,使情感分析的語(yǔ)義表達(dá)更加明確。ZHANG 等[8]通過(guò)將情感詞信息引入BiLSTM 對(duì)文本進(jìn)行分類。YANG 等[9]在文本分類任務(wù)中引入了層次化的attention 機(jī)制,從句子和文檔兩個(gè)角度使用注意力機(jī)制,以提高文本分類的準(zhǔn)確性。
圖卷積神經(jīng)網(wǎng)絡(luò)近年來(lái)在自然語(yǔ)言處理領(lǐng)域有大量的應(yīng)用。BASTINGS 等[10]將圖卷積神經(jīng)網(wǎng)絡(luò)作用于依存句法樹(shù)上,應(yīng)用在英語(yǔ)和德語(yǔ)、英語(yǔ)和捷克語(yǔ)的機(jī)器翻譯任務(wù)。LI 等[11]提出了一種基于任務(wù)自適應(yīng)構(gòu)造新拉普拉斯矩陣并生成不同任務(wù)驅(qū)動(dòng)卷積核的方法,該方法在處理多任務(wù)數(shù)據(jù)集方面優(yōu)于GCN。YAO 等[12]將GCN 引入文本分類,并將整個(gè)語(yǔ)料庫(kù)建模為一個(gè)異構(gòu)網(wǎng)絡(luò),在不使用預(yù)訓(xùn)練模型和外部知識(shí)的情況下取得了非常好的結(jié)果。盡管GCN 在文本分類中表現(xiàn)良好,但它仍然不能解決短文本分類任務(wù)中上下文語(yǔ)義信息缺乏和語(yǔ)義稀疏的問(wèn)題。針對(duì)這個(gè)問(wèn)題,提出融合上下文信息后圖卷積網(wǎng)絡(luò)的短文本分類模型。
本文通過(guò)對(duì)基于神經(jīng)網(wǎng)絡(luò)的文本分類研究,提出一種改進(jìn)GCN(BERT_BGCN)短文本分類方法。模型結(jié)構(gòu)分為文本預(yù)處理、得到初始特征矩陣、提取文本特征、構(gòu)建鄰接矩陣、拼接特征、訓(xùn)練網(wǎng)絡(luò)以及分類器預(yù)測(cè)等部分。首先,利用BERT 得到分字后文檔的初始特征表示,將其輸入到BiLSTM 中獲得更深層的文本特征,從而有效地利用了上下文信息。同時(shí)也將其輸入到第一層GCN,將兩種特征信息聚合形成BGCN 需要的特征矩陣。其次,為了提高分類效率,本文將文檔中每一個(gè)字設(shè)為圖節(jié)點(diǎn),為每個(gè)輸入文本單獨(dú)構(gòu)建一個(gè)全局點(diǎn)互信息(Pointwise Mutual Information,PMI)共享的圖。再次,將特征矩陣和鄰接矩陣輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。由于本文沒(méi)有將文檔作為節(jié)點(diǎn),因此最后進(jìn)行圖讀出操作(ReadOut),通過(guò)全連接層進(jìn)行節(jié)點(diǎn)聚合分類。模型框架如圖1 所示。
圖1 BERT_BGCN 總體框架
本文為每個(gè)輸入文本構(gòu)建全局參數(shù)共享的圖,而不是為整個(gè)語(yǔ)料庫(kù)構(gòu)建單個(gè)圖。這種方法消除了單個(gè)文本和支持在線測(cè)試的整個(gè)語(yǔ)料庫(kù)之間的依賴性負(fù)擔(dān),但仍然保留了全局信息。為了確定節(jié)點(diǎn)間的關(guān)系,合理計(jì)算全局字共現(xiàn)信息,最常用的方法是使用一種關(guān)聯(lián)度量即計(jì)算節(jié)點(diǎn)之間的點(diǎn)互信息量(PMI)。節(jié)點(diǎn)x和y的PMI 值計(jì)算如式(1)所示:
計(jì)算文本中x和y的概率分布,一般采用的是滑動(dòng)窗口的計(jì)算公式,即使用一個(gè)固定長(zhǎng)度的滑動(dòng)窗口在文本上滑動(dòng),統(tǒng)計(jì)滑動(dòng)窗口中字出現(xiàn)的次數(shù),記錄滑動(dòng)窗口總數(shù)目,通過(guò)節(jié)點(diǎn)在滑動(dòng)窗口中單獨(dú)出現(xiàn)的次數(shù)以及共現(xiàn)的次數(shù)計(jì)算他們的概率分布,如式(2)、式(3)所示。
式中:#W為滑動(dòng)窗口的總數(shù)目,#W(x)為x出現(xiàn)在滑動(dòng)窗口的次數(shù),#W(x,y)為共同出現(xiàn)在滑動(dòng)窗口的次數(shù)。
圖卷積網(wǎng)絡(luò)(GCN)是一種能處理圖數(shù)據(jù)進(jìn)行深度學(xué)習(xí)的模型,它通過(guò)運(yùn)算將鄰居節(jié)點(diǎn)的特征聚合到自身節(jié)點(diǎn),多次聚合后捕獲到節(jié)點(diǎn)與高階鄰域信息的依賴關(guān)系。對(duì)于一個(gè)圖G=(V,E),V表示為圖中節(jié)點(diǎn)的集合,E為邊的集合。圖卷積網(wǎng)絡(luò)層與層的傳播形式如式(4)所示。通過(guò)式(5)計(jì)算。
式中:A表示鄰接矩陣,D表示度矩陣,l表示GCN 疊加層數(shù)。當(dāng)l為0 時(shí),Hl=X0,X0∈Rn×d是初始特征矩陣即第一層網(wǎng)絡(luò)的輸入,n為圖中節(jié)點(diǎn)數(shù),d代表每個(gè)節(jié)點(diǎn)特征的嵌入維度,A∈Rn×n為鄰接矩陣表示節(jié)點(diǎn)之間的關(guān)系,Wl∈Rd×m為第l層的權(quán)重參數(shù)矩陣。(·)為非線性激活函數(shù),例如ReLU。
以往,GCN 通過(guò)建立一個(gè)全局字典進(jìn)行onehot 編碼,只能提取淺層的初始特征,而初始特征質(zhì)量往往影響到整個(gè)模型的性能。BiLSTM 分前向、后向兩個(gè)LSTM,能有效保留前后文信息,分析出所有節(jié)點(diǎn)的相關(guān)聯(lián)系,通過(guò)BiLSTM 模型可以更好地捕獲雙向的語(yǔ)義關(guān)系。因此本文利用BiLSTM 提取文本的更深層次的文本特征,還可以保留文本的位置信息并捕獲文本的序列化特征。本文利用BERT生成的初始特征矩陣同時(shí)輸入至BiLSTM 和GCN網(wǎng)絡(luò),得到兩個(gè)隱向量矩陣hBiLSTM和hGCN,將兩個(gè)隱向量矩陣的特征信息聚合在一起,得到融合上下文信息的新特征矩陣hBGCN。操作如圖2 所示。
圖2 特征信息聚合過(guò)程
運(yùn)算結(jié)果通過(guò)式(6)、式(7)、式(8)得到。
本節(jié)使用隨機(jī)梯度下降法對(duì)模型進(jìn)行訓(xùn)練,模型的損失函數(shù)采用交叉熵代價(jià)函數(shù)。模型的輸出層使用softmax 函數(shù)將向量壓縮為每個(gè)類別的概率進(jìn)行輸出:
本文使用3 個(gè)二分類數(shù)據(jù)集,分別是譚松波酒店評(píng)論數(shù)據(jù)集、外賣(mài)評(píng)論數(shù)據(jù)集、京東網(wǎng)購(gòu)評(píng)論數(shù)據(jù)集。其中,譚松波酒店評(píng)論數(shù)據(jù)集來(lái)源于網(wǎng)絡(luò)公開(kāi)數(shù)據(jù)集,包括投宿者對(duì)酒店服務(wù)的正、反兩面評(píng)論,外賣(mài)評(píng)論數(shù)據(jù)集的內(nèi)容主要包含點(diǎn)餐用戶對(duì)于食物味道的好壞、店家服務(wù)質(zhì)量等方面的評(píng)價(jià),京東網(wǎng)購(gòu)數(shù)據(jù)集包括買(mǎi)家對(duì)商品及賣(mài)家服務(wù)的正、反兩面評(píng)論。
本文使用Accuracy評(píng)價(jià)模型的性能。令TP、FP、FN、TN分別代表正陽(yáng)性、假陰性、假陽(yáng)性、正陰性的分類數(shù)量。評(píng)價(jià)指標(biāo)計(jì)算公式如下:
本文使用Python 3.7 的運(yùn)行環(huán)境,實(shí)驗(yàn)基于Keras 2.2.4 和Tensorflow 1.14.0 深度學(xué)習(xí)框架構(gòu)建,實(shí)驗(yàn)操作環(huán)境為Intel(R)Core(TM)i7-8700k,內(nèi)存為8 GB。
本文模型使用的特征提取網(wǎng)絡(luò)模型為KIPF 等人提出的GCN,每層特征維度為256 維,batch_size為128,學(xué)習(xí)率為0.01,激活函數(shù)使用ReLU 函數(shù)。在得到字向量過(guò)程中使用的BERT 版本為基礎(chǔ)版本,有12 層神經(jīng),輸出維度為786,多頭注意力為12 頭,總共110 MB 參數(shù)。
為了評(píng)估BERT_BGCN 的模型性能,本文用以下幾個(gè)基線模型與本文模型進(jìn)行比較。
(1)LSTM。該模型是一個(gè)經(jīng)典序列模型,直接使用輸入處理過(guò)的文本數(shù)據(jù),僅使用一個(gè)LSTM 對(duì)文本數(shù)據(jù)進(jìn)行建模,將輸出層輸出的特征向量送入softmax 函數(shù)進(jìn)行分類。
(2)BiLSTM。該模型使用兩個(gè)不同方向的LSTM 對(duì)文本數(shù)據(jù)建模,解決了傳統(tǒng)LSTM 模型只保留文本過(guò)去信息而忽視了下文信息的弊端。
(3)Self-attention。該模型是谷歌開(kāi)發(fā)的Transfomer 模型的基礎(chǔ)架構(gòu),使用注意力機(jī)制的思想,解決了文本信息長(zhǎng)距離傳輸?shù)膯?wèn)題。本文使用編碼器和譯碼器均為6 層的模塊進(jìn)行堆疊,得到最終的輸出。
(4)BiGRU-Capsnet。該模型是一種將BiGRU雙向門(mén)控循環(huán)單元和Capsnet 膠囊神經(jīng)網(wǎng)絡(luò)結(jié)合的模型,有效地結(jié)合兩個(gè)模型的優(yōu)點(diǎn)。
(5)GCN。該模型除了沒(méi)使用BiLSTM 層提取上下文相關(guān)性之外,其余部分模塊和參數(shù)與本文模型一樣。
為了驗(yàn)證BERT_BGCN 的性能,本文將文本分類中的幾個(gè)經(jīng)典模型作為基線模型進(jìn)行對(duì)比實(shí)驗(yàn),對(duì)比結(jié)果如表1 所示。
表1 模型性能對(duì)比
在3 個(gè)中文評(píng)論數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果證實(shí)了BERT_BGCN 的性能優(yōu)于其他基線模型,這表明本文方法在評(píng)論短文本數(shù)據(jù)上的有效性。本文模型相較于普通GCN 有一定提升。普通GCN 在3 個(gè)數(shù)據(jù)集上的精確度除了LSTM 比其他幾個(gè)基模型都低,分別為92.32%、82.51%、91.12%,這是因?yàn)镚CN 在情感分類中不能充分利用上下文依賴關(guān)系。在3 個(gè)數(shù)據(jù)集上,與原始GCN 相比,引入BiLSTM的BERT_BGCN 模型分別將精確度提高了1.32%、5.94%、3.04%,雖然兩個(gè)模型的初始特征表示相同,但是本文模型利用BiLSTM 進(jìn)行特征提取具有很大的優(yōu)勢(shì),說(shuō)明模型引入BiLSTM 確實(shí)豐富了GCN 上下文語(yǔ)義相關(guān)性,提取出了更深層次的特征,提高了分類性能。在譚松波酒店評(píng)論數(shù)據(jù)集上,BERT_BGCN 的準(zhǔn)確率只比其他基線模型中最好的Selfattention 模型高0.07%,這可能是因?yàn)榇藬?shù)據(jù)集文本長(zhǎng)度相對(duì)較長(zhǎng),無(wú)關(guān)節(jié)點(diǎn)增多,為無(wú)關(guān)節(jié)點(diǎn)添加邊會(huì)影響分類性能。在較短的平均文本長(zhǎng)度下,本文模型性能提升更加明顯,如外賣(mài)評(píng)論數(shù)據(jù)集和京東網(wǎng)購(gòu)評(píng)論數(shù)據(jù)集。而文本長(zhǎng)度較長(zhǎng)的情況下,與其他模型相比,本文模型提升較少。
本文結(jié)合雙向LSTM 和圖神經(jīng)網(wǎng)絡(luò)構(gòu)建了一個(gè)融合上下文圖卷積的分類模型。利用BERT 得到需要分類文本的初始特征,將其輸入至BiLSTM和GCN 模型中,然后將兩者輸出結(jié)合作為融合上下文信息的新特征矩陣,利用雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)捕捉上下文語(yǔ)義信息得到更深層次的特征表示,彌補(bǔ)GCN 網(wǎng)絡(luò)的弊端。在3 個(gè)中文評(píng)論短文本數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),準(zhǔn)確率同基線模型相比都有不同程度的提升。下一步將探究如何融合更多特征和外部知識(shí)進(jìn)行分類,同時(shí)將本文模型應(yīng)用到多分類任務(wù)上。