王晨曦, 張瑩祺
(華南師范大學(xué) 計(jì)算機(jī)學(xué)院, 廣州 510631)
文本分類是自然語言處理(natural language processing, NLP)中的經(jīng)典問題之一, 其目的是為文本單位, 例如句子、查詢、段落或文檔等分配標(biāo)簽[1]. 這項(xiàng)任務(wù)具有廣泛的應(yīng)用場景, 包括問題解答, 垃圾郵件檢測, 情感分析, 新聞分類等. 其中的文本數(shù)據(jù)可以來源于網(wǎng)絡(luò)數(shù)據(jù), 電子郵件, 用戶評(píng)論以及客戶服務(wù)的問題和解答等不同場景. 近年來, 圖神經(jīng)網(wǎng)絡(luò)(graph neural network, GNN)[2-5]的新型神經(jīng)網(wǎng)絡(luò)引起了廣泛的關(guān)注, 并在文本分類中表現(xiàn)出卓越的性能[6-9]. 與卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)[10,11]和循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)[12,13]等序列學(xué)習(xí)模型不同, GNN可直接處理復(fù)雜的圖結(jié)構(gòu)化數(shù)據(jù), 同時(shí)能優(yōu)先考慮圖的全局結(jié)構(gòu)信息. 當(dāng)基于GNN來進(jìn)行文本學(xué)習(xí)時(shí), 文本的結(jié)構(gòu)特征和單詞之間的長距離交互能有效地捕獲, 以提高最終的文本分類性能.
基于GNN的文本分類包括兩個(gè)階段: 1)根據(jù)文本信息構(gòu)建圖. 2)建立對(duì)文本圖的學(xué)習(xí)模型. 盡管現(xiàn)有的基于圖的方法已經(jīng)取得了令人滿意的結(jié)果, 但存在兩個(gè)局限性限制了分類性能的提升. 其一, 現(xiàn)有方法存在語序和歧義問題, 大多數(shù)模型中將文本中的詞節(jié)點(diǎn)定義為一個(gè)集合(set). 如在TextING[6]中, 將文本中多次出現(xiàn)的同一個(gè)單詞視為唯一的詞節(jié)點(diǎn). 雖然這樣能使圖中的詞節(jié)點(diǎn)緊密地連接, 但忽略了在文本中不同位置出現(xiàn)同一個(gè)詞具有不同的語序和語義信息. 其二, 現(xiàn)有研究缺乏對(duì)文檔中節(jié)點(diǎn)之間不同上下文信息進(jìn)行有效交互和提取. 具體來說, 如在TextGCN[9]中構(gòu)建了一個(gè)包含語料庫中所有文檔和詞之間全局關(guān)系的單一圖,這樣的方式忽略了文本中細(xì)粒度的詞交互. 并且, 在整個(gè)語料庫級(jí)別的大圖中設(shè)計(jì)文檔節(jié)點(diǎn)連接到所有相關(guān)詞節(jié)點(diǎn), 會(huì)使文本的結(jié)構(gòu)信息在詞節(jié)點(diǎn)進(jìn)行消息傳遞(message passing)的過程中被文檔節(jié)點(diǎn)模糊, 這也限制了模型對(duì)新文檔進(jìn)行歸納式學(xué)習(xí)(inductive learning).
為了解決上述限制, 本文提出了一種新的基于圖的文本分類方法TextIGAT, 以便準(zhǔn)確地對(duì)文本自身特征進(jìn)行提取整合, 來滿足歸納式文本分類. 首先, 為了在文本圖的構(gòu)建中保留完整的文本序列, 將文檔中所有重復(fù)出現(xiàn)的詞保留為單獨(dú)的詞節(jié)點(diǎn). 其次, 為每個(gè)輸入的文本基于文中單詞和上下文關(guān)系構(gòu)建有向文本圖,此文本圖通過詞之間的共現(xiàn)和句法依賴關(guān)系構(gòu)建, 且不計(jì)算任何邊的權(quán)重來減少構(gòu)圖的操作. 然后, 模型使用自監(jiān)督的圖注意力網(wǎng)絡(luò)(self-supervised graph attention network, SuperGAT)[14]和門控循環(huán)單元(gated recurrent unit, GRU)[15]作為基礎(chǔ), 對(duì)詞節(jié)點(diǎn)與其鄰接點(diǎn)進(jìn)行消息傳遞, 并更新詞節(jié)點(diǎn)的隱藏層狀態(tài). 模型中利用自注意力機(jī)制(self-attention)初始化整個(gè)文本的全局表示, 并設(shè)計(jì)單向連接的文檔節(jié)點(diǎn)在更新過程中與局部詞節(jié)點(diǎn)交互, 以此保留文本的結(jié)構(gòu)信息并更好地融入全局信息. 由于本文提出的文本圖保留了文本序列, 能通過GRU的雙向模型(Bi-GRU)來增強(qiáng)詞節(jié)點(diǎn)在整體文本中的順序表示. 最后, 通過注意力機(jī)制對(duì)每個(gè)輸入文本最終的詞節(jié)點(diǎn)表示進(jìn)行整合, 并訓(xùn)練和分類.
現(xiàn)有基于深度學(xué)習(xí)的文本分類方法主要可以分為兩類, 一類聚焦于對(duì)詞嵌入的研究, 而另一類針對(duì)于深度神經(jīng)網(wǎng)絡(luò)模型的研究. 近些年來的研究表明, 深度學(xué)習(xí)在文本分類任務(wù)上的成功, 很大程度上取決于詞嵌入的有效性[16]. 詞嵌入是文本學(xué)習(xí)的數(shù)字表示模型, 它從大型未標(biāo)記語料庫中提取單詞或短語的語義和句法信息, 并通過極大地降低向量的維數(shù)將詞映射到實(shí)數(shù)的連續(xù)向量空間. 通過對(duì)詞嵌入的研究, Joulin等人[17]提出一種簡單有效的文本分類方法fastText, 它將詞或n-gram嵌入的平均值視為文檔嵌入, 然后將文檔嵌入使用線性分類器進(jìn)行分類. Shen等人[18]使用池化(pooling)對(duì)詞向量進(jìn)行操作的模型SWEM, 并在與深度神經(jīng)網(wǎng)絡(luò)的實(shí)驗(yàn)對(duì)比中取得更好的結(jié)果. 在對(duì)深度神經(jīng)網(wǎng)絡(luò)模型的研究中, CNN和RNN這兩種具有代表性的模型, 已經(jīng)證明了在文本分類任務(wù)上的優(yōu)越性.Kim[10]提出了TextCNN模型來使用包含多個(gè)尺寸不一卷積核的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行句子分類. Liu等人[12]基于長短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)設(shè)計(jì)了3種不同的詞表示共享機(jī)制, 并在文本分類中獲得了較好的效果. Lai等人[19]提出了CNN和RNN的組合模型TextRCNN, 結(jié)合兩種網(wǎng)絡(luò)的優(yōu)勢來對(duì)文本分類的效果進(jìn)行提升. 為了進(jìn)一步提高深度網(wǎng)絡(luò)模型的表達(dá)能力, Yang等人[20]使用注意力機(jī)制(attention mechanism)為文本分類的模型的組成部分, 并取得了不錯(cuò)的分類結(jié)果. 這些深度學(xué)習(xí)模型在文本分類任務(wù)上實(shí)用且應(yīng)用廣泛, 但主要關(guān)注的是局部和順序特征,很少使用全局上下文信息, 也不能充分地捕捉詞與詞間的長期依賴關(guān)系.
近年來, 由于在圖結(jié)構(gòu)數(shù)據(jù)的表示學(xué)習(xí)方面取得了巨大成功, 一些研究集中在基于圖的方法來提高文本分類任務(wù)的性能. Rousseau等人[21]將文本分類視為圖分類問題, 通過對(duì)文本圖進(jìn)行子圖挖掘來提取特征,但通過子圖挖掘的方式容易造成特征的損失. Peng等人[22]先構(gòu)建詞的共現(xiàn)圖, 再應(yīng)用廣度優(yōu)先遍歷來得到文本子圖進(jìn)行卷積操作, 以此達(dá)到分類的目的. 隨著GNN的發(fā)展, 越來越多的基于GNN的模型被應(yīng)用于文本分類中. Defferrard等人[23]提出了圖卷積神經(jīng)網(wǎng)絡(luò)(graph convolutional networks, GCN), 并且首先在文本分類任務(wù)中使用, 并優(yōu)于傳統(tǒng)的CNN模型. Yao等人[6]在整個(gè)語料庫構(gòu)建的單個(gè)大圖上使用圖卷積網(wǎng)絡(luò)進(jìn)行文本分類, 提出了TextGCN模型, 取得了出色的效果. 為了考慮更多的上下文特征, Liu等人[7]根據(jù)文本, 分別構(gòu)造語義信息、句法信息和共現(xiàn)信息3種類型的文本圖,提出了TensorGCN模型. 其中, 節(jié)點(diǎn)信息可以在圖內(nèi)和圖之間兩種方式傳遞, 這樣能充分挖掘文本的結(jié)構(gòu)信息, 但需要占用較大的存儲(chǔ)資源. Huang等人[24]為每個(gè)文本構(gòu)建具有全局參數(shù)共享的圖, 并提出Text-level GNN模型進(jìn)行訓(xùn)練. 然而, 這些模型本質(zhì)上是轉(zhuǎn)導(dǎo)式學(xué)習(xí)(transductive learning), 所以無法對(duì)含有新結(jié)構(gòu)和新單詞的文檔進(jìn)行分類. 在基于GNN的文本分類的歸納式學(xué)習(xí)中, Zhang等人[9]提出TextING用于歸納文本分類, 該模型為每個(gè)文檔構(gòu)建單獨(dú)的圖, 并使用門控圖神經(jīng)網(wǎng)絡(luò)(gated graph sequence neural networks,GGNN)[25]來學(xué)習(xí)單詞表示. 歸納式學(xué)習(xí)是基于圖進(jìn)行文本分析的趨勢, Ding等人[26]使用超圖(hypergraph)來基于注意力機(jī)制對(duì)每個(gè)文檔進(jìn)行建模, 并提出HyperGAT來支持文本超圖上的表示學(xué)習(xí). 與現(xiàn)有的方法不同, 本文通過增強(qiáng)詞之間的上下文關(guān)系交互, 對(duì)基于GNN的方法缺少文本順序特征的改進(jìn), 有效地整合文檔中復(fù)雜的特征來提高最終文本分類的效果.
對(duì)于從語料庫中給定的一個(gè)單詞的文本W(wǎng)=w1,w2,w3,···,wn, 其中每個(gè)單詞的表示為wn, n是文本長度. 為每個(gè)文本W(wǎng) 構(gòu)建一個(gè)有向文本圖G =(V,E), 其中節(jié)點(diǎn)V 表示文本中的單詞, 而邊E 表示詞節(jié)點(diǎn)之間的關(guān)系. 文本圖 G中將文本重復(fù)出現(xiàn)的單詞被視為的不同節(jié)點(diǎn), 所以保留了完整的文本序列和句法依賴關(guān)系. 為了增強(qiáng)文本中單詞之間的交互, 本文提出的文本圖G 通過共現(xiàn)(co-occurrences)和句法依賴(syntactic dependency)兩種上下文關(guān)系, 以及全局文檔節(jié)點(diǎn)構(gòu)成.
首先, 通過固定大小的滑動(dòng)窗口內(nèi)出現(xiàn)單詞來得邊指向詞節(jié)點(diǎn). 最后, 每個(gè)詞節(jié)點(diǎn)創(chuàng)建一條有向邊來連接自身. 文本圖構(gòu)造如圖1所示, 其中 d oc代表文檔節(jié)點(diǎn), wn代表詞節(jié)點(diǎn), 圖中只保留w3和w4窗口大小為3的共現(xiàn)關(guān)系與句法依賴關(guān)系合并, 便于闡明文本圖的結(jié)構(gòu).到單詞之間的共現(xiàn)關(guān)系, 其默認(rèn)窗口大小為3, 這種方式已廣泛用于GNN的文本表示學(xué)習(xí). 其次, 利用Stanza工具[27]對(duì)文本中包含的句子和單詞進(jìn)行據(jù)句法分析,以此來得到詞節(jié)點(diǎn)間含有句法依賴關(guān)系的邊. 其中, 邊保留了提取句法關(guān)系的方向, 但刪除了部分不重要和冗余的關(guān)系, 例如: 代表標(biāo)點(diǎn)符號(hào)和單詞之間關(guān)系的“punct”和代表助動(dòng)詞關(guān)系的“aux”. 在為每個(gè)文本構(gòu)建有向圖時(shí), 部分詞節(jié)點(diǎn)之間根據(jù)共現(xiàn)與句法依賴兩種關(guān)系構(gòu)建的邊會(huì)出現(xiàn)重合. 然而, 在基于GNN的方法中每個(gè)圖的節(jié)點(diǎn)只能通過唯一的邊連接到其他節(jié)點(diǎn),所以本文提出的構(gòu)圖方法中將重合的邊合并. 文本圖中還針對(duì)每個(gè)輸入文本建立文檔節(jié)點(diǎn), 并通過單一的
圖1 文本圖的構(gòu)建示例
本文提出的文本圖G 保留了重復(fù)出現(xiàn)的詞, 能對(duì)詞節(jié)點(diǎn)的表示進(jìn)行訓(xùn)練和更新來保留完整的序列和語義信息. 通過共現(xiàn)和句法依賴關(guān)系的合并, 使圖中包含比單個(gè)關(guān)系文本圖更多的邊來連接詞節(jié)點(diǎn), 并增強(qiáng)了長依賴交互, 能夠使用較淺的GNN學(xué)習(xí)到較好的文本表示, 從而避免過度參數(shù)化和因堆疊更多GNN層而導(dǎo)致過度平滑. 其次, 文檔節(jié)點(diǎn)通過單向的邊連接詞節(jié)點(diǎn)可以避免在節(jié)點(diǎn)交互過程中, 全局信息對(duì)詞結(jié)構(gòu)信息的模糊. 此外, 連接節(jié)點(diǎn)自身的邊能使詞節(jié)點(diǎn)自身的特征參與傳遞. 文本圖G 適用于對(duì)含有新結(jié)構(gòu)和新單詞的文檔進(jìn)行分類, 能夠?qū)ξ谋具M(jìn)行歸納式學(xué)習(xí).
TextIGAT模型主要包括3個(gè)部分: 基于GAT的單詞交互、文本序列特征交互, 以及文本表示學(xué)習(xí), 整體架構(gòu)如圖2所示.
圖2 TextIGAT模型示例圖
令輸入文本的嵌入為E =e1,e2,e3,···,en, 其中en∈Rdw為詞嵌入, dw是 詞嵌入的維度. 當(dāng)在第t層GNN網(wǎng)絡(luò)時(shí),文本圖中節(jié)點(diǎn)的隱藏狀態(tài)表示為 Ht=···,, 其中 h是每個(gè)詞節(jié)點(diǎn)的隱藏狀態(tài). 對(duì)于初始狀態(tài)H0將第i個(gè)節(jié)點(diǎn)的隱藏狀態(tài)∈Rdw設(shè)置為它的嵌入ei, 即
模型中使用自注意力機(jī)制(self-attention)[28]對(duì)輸入文檔計(jì)算全局特征來初始化文檔節(jié)點(diǎn)的向量, 使得局部詞節(jié)點(diǎn)能與全局文本表示進(jìn)行交互. 自注意力機(jī)制只需要通過對(duì)序列中的詞向量進(jìn)行計(jì)算, 因此不需要詞節(jié)點(diǎn)之間關(guān)系的參與. 文檔全局表示使用縮放的點(diǎn)積注意力機(jī)制(scaled dot-product attention)[29]進(jìn)行計(jì)算, 這是點(diǎn)積注意力機(jī)制變體的一種, 注意力權(quán)重基于以下等式計(jì)算:
其中, 鍵K (key)和值V (value)的查詢Q (query)是相同的向量并且等于 Ht, 分母是控制注意力分?jǐn)?shù)比例的比例因子. 然后對(duì) A進(jìn)行的平均池化(avg pooling)得到文檔全局表示 D∈Rdw, 其思想是從加權(quán)詞節(jié)點(diǎn)中保留整體的特征來表示全局文本信息.
3.1.2 聚合
通過GAT的消息傳遞, 圖中的每個(gè)節(jié)點(diǎn)都可以根據(jù)其相連接的節(jié)點(diǎn)中最具代表性的特征聚合成自身的節(jié)點(diǎn)特征. 為了在文本圖上自適應(yīng)的通過節(jié)點(diǎn)之間的重要程度進(jìn)行消息傳遞, 本文提出的模型中使用SuperGAT[14]來聚合來自鄰居節(jié)點(diǎn)和文檔節(jié)點(diǎn)的信息.SuperGAT是將GAT中注意力的計(jì)算方式與點(diǎn)積注意力機(jī)制相結(jié)合的圖神經(jīng)網(wǎng)絡(luò), 能夠更有效為重要的相鄰節(jié)點(diǎn)分配更大的權(quán)重. 令初始狀態(tài)表示為, 節(jié)點(diǎn)i 在t層聚合來自鄰接點(diǎn)特征的表示可以如下獲得:
其中, aT是注意力機(jī)制中的單層前饋神經(jīng)網(wǎng)絡(luò), W?和Wr是模型中可訓(xùn)練的參數(shù), σ為非線性函數(shù)Sigmoid,LeakyReLU為激活函數(shù), Ni代表節(jié)點(diǎn)i在圖中的鄰節(jié)點(diǎn),R為多頭注意力(multi-head attention)機(jī)制中頭(head)的數(shù)量, 默認(rèn)大小為3. 通過將SuperGAT應(yīng)用于建立的文本圖上, 單詞節(jié)點(diǎn)可以靈活地聚合來自鄰居節(jié)點(diǎn)和文檔節(jié)點(diǎn)中更多重要特征.
3.1.3 更新
在聚合詞節(jié)點(diǎn)信息之后, 模型基于GGNN[25]的思想來更新文本圖中詞節(jié)點(diǎn)的隱藏狀態(tài). GGNN是采用循環(huán)神經(jīng)網(wǎng)絡(luò)思想來處理圖結(jié)構(gòu)數(shù)據(jù)和圖嵌入的GNN, 其通過門控機(jī)制有效地決定如何更新節(jié)點(diǎn)的隱藏狀態(tài). 本模塊使用GRU的基礎(chǔ)循環(huán)結(jié)構(gòu)作為更新節(jié)點(diǎn)狀態(tài)的主要組件, 詞節(jié)點(diǎn)更新公式如下:
其中, Wx, Ux, bx( x∈{z,r,h})是可訓(xùn)練的權(quán)重和偏差值,tanh 表示雙曲正切激活函數(shù).和作為更新門和重置門分別控制有助于當(dāng)前節(jié)點(diǎn)嵌入的信息. 由于第一層圖神經(jīng)網(wǎng)絡(luò)能對(duì)一階鄰居進(jìn)行操作, 通過堆疊GNN網(wǎng)絡(luò)層數(shù)T后能獲得每個(gè)節(jié)點(diǎn)的最終隱藏狀態(tài)HT=是節(jié)點(diǎn)數(shù)量.
該模塊旨在提取整個(gè)文檔的詞序信息, 進(jìn)一步地增強(qiáng)詞節(jié)點(diǎn)的表達(dá)能力. 循環(huán)神經(jīng)網(wǎng)絡(luò)可以根據(jù)其結(jié)構(gòu)特征有效地提取文本序列特征, 因此使用雙向門控循環(huán)神經(jīng)網(wǎng)絡(luò)(Bi-GRU)能夠增強(qiáng)詞節(jié)點(diǎn)的序列表示.Bi-GRU模型由兩個(gè)GRU組件組成, 可以同時(shí)處理來自前向和后向的輸入. 在構(gòu)建文本圖的過程中, 由于將每個(gè)文檔中重復(fù)出現(xiàn)的詞作為不同的詞節(jié)點(diǎn), 而保留了完整的文本序列. 因此, 最終經(jīng)過GNN的隱藏狀態(tài)可以看作是Bi-GRU的起始狀態(tài), Bi-GRU的隱藏狀態(tài)定義如下:
模型最后通過所有的詞節(jié)點(diǎn)的最終表示Si計(jì)算文本表示z來對(duì)輸入的文本進(jìn)行分類. 基于注意力機(jī)制[30]使用以下公式計(jì)算每個(gè)詞節(jié)點(diǎn)的注意力權(quán)重:
其中, Wα表示權(quán)重矩陣, wα是 權(quán)重向量, bα是偏差值,f 是非線性激活函數(shù), 如雙曲正切變換. S oftmax用于對(duì)詞節(jié)點(diǎn)的注意力權(quán)重進(jìn)行歸一化. 注意力權(quán)重Ci通過計(jì)算詞節(jié)點(diǎn)向量的加權(quán)和, 以此產(chǎn)生一個(gè)集成的文本向量表示z:
最后, 通過將文本表示z輸入到 S oftmax 層來預(yù)測標(biāo)簽. 通過以下交叉熵函數(shù)來最小化損失:
其中, Wy和by分別是權(quán)重和偏差值,是預(yù)測的標(biāo)簽分?jǐn)?shù),表示文本的第k個(gè)正確標(biāo)簽(ground truth). 因此TextIGAT方法可以通過最小化所有標(biāo)記文檔的損失函數(shù)L 進(jìn)行學(xué)習(xí).
為了實(shí)驗(yàn)結(jié)果對(duì)比的一致性, 本文對(duì)TextING模型中的4個(gè)廣泛使用的英文文本數(shù)據(jù)集(MR、Ohsumed、R8和R52)進(jìn)行實(shí)驗(yàn).
MR[31]: 用于二元情感分類的電影評(píng)論數(shù)據(jù)集, 其中包含5 331條正面評(píng)論和5 331條負(fù)面評(píng)論, 每條評(píng)論只包含一個(gè)句子. 實(shí)驗(yàn)中訓(xùn)練集和測試集的劃分來自于Tang等人[32].
Ohsumed: 臨床數(shù)據(jù)集MEDLINE的子集, 涵蓋了5年(1987-1991年)的270種醫(yī)學(xué)期刊的所有參考文獻(xiàn). 數(shù)據(jù)集中的每個(gè)醫(yī)學(xué)摘要都有來自23個(gè)心血管疾病類別的一個(gè)或多個(gè)相關(guān)類別, Ohsumed僅使用了屬于一類的7 400份文件.
R8和R52: Reuters 21578數(shù)據(jù)集的子集. R8有8個(gè)類別, 可以拆分為5 485個(gè)訓(xùn)練和2 189個(gè)測試文檔. R52有52個(gè)類別, 可以拆分為6 532個(gè)訓(xùn)練文檔和2 568個(gè)測試文檔. 兩個(gè)數(shù)據(jù)集中的每個(gè)文檔只與一個(gè)主題相關(guān)聯(lián).
表1中展示了評(píng)估數(shù)據(jù)集的統(tǒng)計(jì)數(shù)據(jù)及其補(bǔ)充信息. 通過在文獻(xiàn)[10]中的文本清理和標(biāo)記為來預(yù)處理所有數(shù)據(jù)集, 并刪除了NLTK中定義的停用詞, 以及Ohsumed、R8和R52出現(xiàn)少于5次的低頻詞. 因?yàn)镸R屬于短文本, 因此不對(duì)其中的單詞進(jìn)行刪減.
表1 評(píng)估數(shù)據(jù)集的統(tǒng)計(jì)表
實(shí)驗(yàn)中, 對(duì)比的基線模型可以分為3種類型:
(1)基于序列的模型: 方法從局部連續(xù)詞序列中捕獲文本特征, 包括: CNN-non-static[10]和Bi-LSTM[33]兩種基于CNN和RNN的代表性模型.
(2)基于詞嵌入的模型: 方法基于預(yù)先訓(xùn)練的詞嵌入對(duì)文檔進(jìn)行分類, 包括: fastText[17]和 SWEM[18]兩種對(duì)詞嵌入使用平均池化或最大池化(max pooling)提取特征.
(3)基于圖的模型: 方法基于圖形結(jié)構(gòu)來進(jìn)行單詞之間的交互, 包括: Graph-CNN[22]對(duì)文本子圖進(jìn)行卷積運(yùn)算; TextGCN[6]利用GCN來學(xué)習(xí)整個(gè)語料庫級(jí)別圖的單詞和文檔嵌入; TensorGCN[7]在詞張量圖上采用圖內(nèi)和圖之間傳播; Text-level GNN[24]構(gòu)建具有全局參數(shù)共享的文檔圖進(jìn)行文本表示學(xué)習(xí); HyperGAT[26]為每個(gè)文檔構(gòu)建超圖并使用雙重注意機(jī)制進(jìn)行歸納分類;TextING[9]是基于圖的歸納式文本分類的SOTA模型.
出于公平比較, 所有實(shí)驗(yàn)在Intel Xeon E5-2 680 v4 CPU和RTX 3 090 GPU上運(yùn)行. 數(shù)據(jù)集選用文獻(xiàn)[9]中提供的訓(xùn)練集和測試集, 隨機(jī)選擇訓(xùn)練集的10%作為驗(yàn)證集, 并根據(jù)驗(yàn)證集的性能調(diào)整超參數(shù)的最佳值.本文基于PyTorch框架實(shí)現(xiàn)TextIGAT模型, 默認(rèn)堆疊兩層GNN. 模型中采用Adam優(yōu)化器[34]對(duì)參數(shù)進(jìn)行更新, Ohsumed數(shù)據(jù)集的學(xué)習(xí)率為0.001, 其他數(shù)據(jù)集的學(xué)習(xí)率為0.000 3. 為防止模型訓(xùn)練中過擬合, Dropout在每個(gè)模塊中設(shè)置為0.5, 并應(yīng)用于詞嵌入的初始狀態(tài).文本圖中隨機(jī)刪除節(jié)點(diǎn)間連接的邊, 概率設(shè)置為0.3,以獲得最佳性能. R8數(shù)據(jù)集的L2正則化參數(shù)(weight decay)設(shè)置為5E-5, 其他數(shù)據(jù)集為5E-6.
實(shí)驗(yàn)使用300維度的GloVe詞向量[35]來初始化詞嵌入. 針對(duì)歸納式文本分類任務(wù), 初始的詞嵌入在模型訓(xùn)練期間不進(jìn)行更新. 不包含在語料庫中的詞(outof-vocabulary, OOV)在預(yù)處理中會(huì)被替換為UNK, 并從均勻分布 [-0.01, 0.01] 中隨機(jī)采樣初始化詞嵌入. 基線模型使用其原始論文和復(fù)現(xiàn)中的默認(rèn)參數(shù)設(shè)置.
表2展示了本文方法和其他基線方法的文本分類的準(zhǔn)確度結(jié)果, 其中TextIGAT在4個(gè)評(píng)估數(shù)據(jù)集上均達(dá)到了較好的分類效果, 展示了其出色文本分類能力.
對(duì)比表2中的結(jié)果, 基于圖的模型通常優(yōu)于CNN、LSTM和fastText等傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型. 這是由于圖形結(jié)構(gòu)的特性造成的, 圖形結(jié)構(gòu)有利于文本處理能使詞節(jié)點(diǎn)能夠通過不同的搭配來學(xué)習(xí)更準(zhǔn)確的表示. 這一觀察表明文本分類性能可以通過捕獲長距離詞節(jié)點(diǎn)交互提高. 其中, 基于GCN的方法本質(zhì)上是轉(zhuǎn)導(dǎo)式學(xué)習(xí),這會(huì)降低測試具有新詞和關(guān)系的文檔的性能. TextING和Text-level GNN在基于圖的歸納式文本分類取得了不錯(cuò)的結(jié)果, 但由于欠缺對(duì)詞關(guān)系的進(jìn)一步考慮, 性能受到了限制. HyperGAT模型使用超圖構(gòu)建的文本圖能夠減少計(jì)算消耗, 但也忽視了整體文本中的結(jié)構(gòu)特征.TextIGAT模型中文本圖含有的邊比其他基線方法要多, 能夠減少圖的直徑并增強(qiáng)了節(jié)點(diǎn)之間的消息傳遞.
表2 評(píng)估數(shù)據(jù)集上各種模型的準(zhǔn)確率(%)
TextIGAT模型通過結(jié)合循環(huán)結(jié)構(gòu)和GNN, 顯示出比大多數(shù)基于圖的基線方法更強(qiáng)大的分類能力. 上下文序列特征在短文本或情感分類中起著關(guān)鍵作用,例如在MR電影評(píng)論數(shù)據(jù)集中. 現(xiàn)有方法通常采用詞之間的共現(xiàn)來引入順序信息, 但這樣的方式在整個(gè)文本圖中表達(dá)詞序的能力有限. 采用循環(huán)結(jié)構(gòu)來對(duì)GNN的最終隱藏狀態(tài)進(jìn)行轉(zhuǎn)換, 可以有效地保持文本整體的順序特征. 通過實(shí)驗(yàn)表明, 本文提出的TextIGAT模型在對(duì)比其他基于圖的基線模型取得了不錯(cuò)的提升.
實(shí)驗(yàn)通過消融實(shí)驗(yàn)對(duì)TextIGAT模型各模塊進(jìn)行分析, 結(jié)果如表3中所示. 其中, w/o global, w/o self-loop,w/o co-occurrence和w/o dependency是文本圖的變體,分別指文本圖中刪除連接全局文檔節(jié)點(diǎn)、自循環(huán)、共現(xiàn)信息和句法依賴的邊. w/o sequential是模型中去除文本順序特征的交互. 從實(shí)驗(yàn)結(jié)果可見, 刪除文本圖中任何關(guān)系所連接的邊都會(huì)導(dǎo)致準(zhǔn)確率下降. 其中, w/o global和TextIGAT之間的性能差距顯示了將文檔節(jié)點(diǎn)單向與詞節(jié)點(diǎn)更新相結(jié)合的重要性. 此外, 不同關(guān)系的邊在不同的數(shù)據(jù)集中有不一樣的作用. 如在不使用共現(xiàn)的MR數(shù)據(jù)集和不使用句法依賴的Ohsumed數(shù)據(jù)集的準(zhǔn)確度結(jié)果較差. 這表明共現(xiàn)在MR數(shù)據(jù)集中起著重要作用, 而句法依賴在Ohsumed數(shù)據(jù)集中是必不可少的. 而TextIGAT模型通過共現(xiàn)和句法依賴關(guān)系的合并, 能讓兩種關(guān)系相互補(bǔ)充, 在不同的數(shù)據(jù)集中發(fā)揮出更好的分類效果. 其次, 通過將w/o sequential與原始模型的結(jié)果進(jìn)行比較, 表明與序列交互的結(jié)合可以增強(qiáng)TextIGAT模型表達(dá)能力, 尤其是對(duì)于短文本的MR數(shù)據(jù)集. 因此, 所有模塊對(duì)于本文所提出的TextIGAT模型都是必需的.
表3 TextIGAT模型在消融實(shí)驗(yàn)上的準(zhǔn)確率(%)
圖3中記錄不同數(shù)量的圖層數(shù)的方法的模型性能.在MR和Ohsumed數(shù)據(jù)集上, 當(dāng)層數(shù)為兩個(gè)或更多時(shí),模型達(dá)到了最佳的文本分類性能. 由于在文本圖中引入了更多的邊, 單詞節(jié)點(diǎn)可以接收傳遞更多的信息, 且更準(zhǔn)確地學(xué)習(xí)單詞表示. 同時(shí), 為了評(píng)估標(biāo)記訓(xùn)練數(shù)據(jù)大小的影響, 實(shí)驗(yàn)比較了幾個(gè)具有不同訓(xùn)練數(shù)據(jù)比例的基線模型. 圖4記錄在MR和Ohsumed數(shù)據(jù)集上使用不同訓(xùn)練集占比的測試準(zhǔn)確率. 隨著標(biāo)記訓(xùn)練數(shù)據(jù)百分比的增加, 所有進(jìn)行實(shí)驗(yàn)的模型都提高其分類性能. 而TextIGAT模型可以在標(biāo)記文檔有限的情況下顯著優(yōu)于其他基線, 證明了其在文本分類中的有效性.
圖3 GNN的層數(shù)對(duì)準(zhǔn)確率的影響
圖4 訓(xùn)練數(shù)據(jù)比例對(duì)準(zhǔn)確率的影響
圖5中展示了在MR數(shù)據(jù)集中正面評(píng)論和負(fù)面評(píng)論兩個(gè)類別的注意力機(jī)制可視化效果. 其中, 突出顯示的單詞與注意力權(quán)重成正比, 并且在文本圖中與之相連的詞節(jié)點(diǎn)較為緊密, 它們與類別標(biāo)簽呈正相關(guān). 通過本個(gè)案分析結(jié)果表示, TextIGAT模型可以在注意力機(jī)制和圖注意力模型的結(jié)合下, 準(zhǔn)確地提取關(guān)鍵的文本信息來得到富有表現(xiàn)力的文本表示, 以此最終達(dá)到提升文本分類的目的.
圖5 MR數(shù)據(jù)集的注意力機(jī)制可視化
本文提出了一種基于門控圖注意力網(wǎng)絡(luò)的歸納式文本分類方法, 以有效地整合文本中的復(fù)雜特征和提取不同的上下文關(guān)系來提升分類效果. 該方法為語料庫中每個(gè)輸入文本構(gòu)建圖, 圖中根據(jù)不同的上下文關(guān)系連接詞節(jié)點(diǎn), 增強(qiáng)了在單個(gè)的文本圖中節(jié)點(diǎn)交互的距離和信息. 其次, 通過單向的文檔節(jié)點(diǎn)引入全局文本信息的交互, 靈活避免對(duì)文本結(jié)構(gòu)信息的模糊. 此外,模型中對(duì)于GRU結(jié)構(gòu)的利用, 提升了詞節(jié)點(diǎn)的詞順序表示以及信息的更新. TextIGAT模型專注于文本本身的特征, 能夠?qū)行聠卧~和新結(jié)構(gòu)的文本進(jìn)行歸納式文本分類. 本文通過進(jìn)行廣泛的實(shí)驗(yàn)并與基線模型的對(duì)比, 實(shí)驗(yàn)結(jié)果證明了本文提出的TextIGAT模型有效提升了基于圖神經(jīng)網(wǎng)絡(luò)的文本分類效果.