吳一珩,李軍輝,朱慕華
(1.蘇州大學計算機科學與技術學院,江蘇 蘇州 215006;2.美團,北京 100000)
篇章關系識別作為篇章分析的子任務,可以解析出篇章中的邏輯特征,因此對翻譯[1]、對話[2]等下游任務都有諸多益處。根據是否存在明確的邏輯線索,篇章關系識別任務通常被分為2個子任務:顯式篇章關系識別EDRR(Explicit Discourse Relationship Recognition)和隱式篇章關系識別IDRR(Implicit Discourse Relationship Recognition)。由于IDRR缺少語言線索與明確的邏輯連接,僅能依據篇章間隱藏的語義進行分類,因此IDRR被視作一個更具挑戰性的任務。
從直觀的角度看,IDRR作為分類任務,其本質是找到來自不同類別的篇章單元DU(Discourse Unit)特征并加以區分,因此早期的研究主要集中在特征工程的應用上[3-5]。隨著神經網絡的快速發展,IDRR研究的重心轉移到了設計合適的神經網絡模型來挖掘篇章單元之間的潛在語義聯系,這也是提升IDRR識別效果最有效的手段之一。以語言嵌入模型ELMo(Embeddings from Language Models)[6],雙向Transformer編碼表示模型BERT(Bidirectional Encoder Representation from Transformer)[7]和魯棒優化的BERT預訓練方法模型RoBERTa(Robustly optimized BERT Pretraining approach)[8]為代表的表征預訓練模型具有強大的繼承上下文語義的能力,如今相當多的研究表明,在表征預訓練模型后堆疊合理的神經網絡模塊,能提升最終的IDRR分類性能[9-12]。對于IDRR任務而言,高質量的表征意味著不同類別的表征之間更易被區分。單純復雜化神經網絡模型雖然能有效地獲取更高質量的篇章單元表征,但是,這種做法不僅會顯著增加計算開銷,還會引入大量額外的參數[12]。顯然地,增加來自不同類別的表征之間的區分度對于分類結果有積極影響。受此啟發,本文將對比學習CL(Contrastive Learning)引入IDRR,以更好地區分不同類別之間的表征。
對比學習基于錨點(Anchor)、正樣例和負樣例這3大元素構建。其基本思想是,將語義上鄰近的正樣例拉近錨點,將語義上遠離的負樣例驅離錨點[13],因此對比學習對獲取高質量語義表征大有裨益[14,15]。依據構建正負樣例的方式,對比學習可以分為自監督對比學習和有監督對比學習,其中有監督對比學習強調樣例類別的影響。標簽錨點對比學習[16]屬于有監督對比學習的一個應用,與之前的方法不同,其考慮到類別標簽本身已包含的語義信息,因而將錨點設置為類別標簽的詞嵌入表示,該方法已經在一些文本分類任務中取得了成效[17]。
本文使用的輕量級IDRR模型源自于Liu等人[12]提出的模型,同時本文基于不同的視角,探索3種可用于IDRR的對比學習方法。具體來說,本文方法基于有監督對比學習與標簽錨點對比學習設計,并由3種不同視角的對比學習組成。在訓練過程中,本文在預測層之前取出篇章單元對的表征,并使用該表征計算相應的對比學習損失,將其與通過預測層輸出計算的分類損失相加并進行參數更新。
本文的主要工作如下:
(1)探索了基于多視角,即樣例層級、批層級和群層級3種不同的對比學習在IDRR中的應用,并探索了不同視角對比學習融合之后的效果。
(2)提出的多視角對比學習方法使用簡單,在簡潔的基準模型上,僅需引入極少的額外參數,并在幾乎不增加計算開銷的情況下,即可達到最優性能。
由于EDRR已經包含了可以表達特定邏輯關系的連接詞,因此EDRR任務在四分類任務上已達到超過90%的正確率[18]。目前絕大多數的DRR研究集中在IDRR任務上。
篇章單元編碼器一向是IDRR模型設計的重中之重,它直接決定了分類表征質量的高低。早期的IDRR研究主要集中在特征工程的應用上,例如基于句法依存樹挖掘篇章單元對之間的關系[3]和基于單詞對與動詞類型對篇章單元對建模[4]。近年來隨著機器學習的發展,神經網絡模型層出不窮,長短時序神經網絡、卷積神經網絡都有作為IDRR的篇章單元編碼器的應用[10,19]。
除此之外,篇章單元對之間進行語義交互也有助于表征學習,以此為出發點的IDRR工作主要集中在注意力機制的改進或者引進外部知識重新建模篇章單元對。例如,使用門控注意力機制解決篇章單元對彼此之間的特征融合問題[20];使用多層注意力模型解決編碼器過長時底層網絡與頂層網絡所獲取的特征偏向不同的問題[21],兩者均取得了不錯的效果;使用知識圖譜挖掘出篇章單元對潛藏的語義特征[22],并構建出篇章單元對在語義空間中的幾何關系;將篇章單元編碼器中的注意力機制分為交互注意力和自注意力的特殊設計[11]。目前中文IDRR的研究大多數都遵循英語對應的方式,例如通過引入依存樹特征[23,24]和語境特征[25]來增強篇章單元表征和信息交互。簡而言之,IDRR研究工作的重心集中在編碼器的構造上。
對比學習已經在自然語言處理領域的表征學習中獲得了廣泛的應用。對比學習可以分為有監督對比學習和無監督對比學習。無監督對比學習通常使用數據增強等技巧構造正樣例。而有監督對比學習則充分利用標簽,其思想是相同類別的樣例相較于不屬于該類別的樣例在語義空間中彼此之間要更加接近[13],因此有監督對比學習非常適合應用于存在類別標簽的文本分類任務中[26]。標簽錨點對比學習是有監督對比學習的一個應用,其將標簽嵌入技術引入對比學習,認為標簽嵌入表示作為錨點有利于相同類別表征的語義對齊。借助標簽錨點對比學習,多個文本分類任務的性能已經獲得了很大的提升[16,26]。
總之,為了獲得更具區分度的篇章單元表征,絕大多數的IDRR研究重心都放在了網絡結構的設計上,通過擁有更強語義捕捉能力的神經網絡提取出質量更高的語義信息和邏輯特征。本文針對不同類別中篇章單元表征區分度不強的問題,直接使用對比學習對表征學習進行約束。
本節主要介紹模型結構與多視角對比學習的細節。
由于隱式篇章關系識別任務難度較高,因此目前普遍的做法是在預訓練上下文編碼模型之后接入各種復雜神經網絡模塊。本文的研究目標為多視角對比學習在簡單模型上取得優異的效果,因此直接使用了Liu等人[12]提出的模型中的基礎特征抽取層,并去掉了原模型中起關鍵作用的多視角匹配層。本文從以下4個組件對模型結構進行詳細介紹。
3.1.1 RoBERTa
本文使用RoBERTa將篇章單元從文本轉化為高維表征。為了盡可能地利用預訓練模型的上下文語義建模能力,本文將篇章單元對進行拼接。如圖1所示,長度為M與長度為N的2個篇章單元H0,S0與〈SEP〉,〈CLS〉連接后送入RoBERTa層,其中〈SEP〉與〈CLS〉是RoBERTa放置在句子起始與結束的特殊符號[8]。RoBERTa舍棄了NSP(Next Sentence Prediction)任務,因此其不存在段嵌入向量(Segment embedding),然而篇章單元對內部存在前后順序,為了能體現出篇章單元對之間的邏輯性,本文額外增加了可訓練的段嵌入向量。篇章單元對經過RoBERTa層如式(1)所示:

Figure 1 Baseline model of IDRR
(H1,S1)=RoBERTa([H0,〈SEP〉,S0])
(1)
其中,H1∈R(M+1)×d,S1∈R(N+1)×d為RoBERTa層的計算結果,d為段嵌入向量維度。
3.1.2 門控多頭注意力層
經過RoBERTa編碼之后的篇章單元嵌入表示已經充分融合了相鄰篇章單元的信息,但是對于自身語義信息的挖掘還不夠深入??紤]到模型既不能破壞原有表征中已包含的上下文語境信息,又要新增自身的語義信息,因此本文使用門控多頭注意力層對單個篇章單元進行進一步編碼。
門控多頭注意力機制的結構與普通Transformer層結構的區別在于少了歸一化,并用門控機制替代殘差連接。這種設計使得門控注意力層具備足夠強的信息挖掘能力,同時減少了對原本文本表征的影響。具體的推導過程如式(2)所示:
Q=K=V=H1
(2)
H2=GatedMultiHead(WQQ,WKK,WVV)
(3)

3.1.3 卷積層
本文使用的卷積層包含J種卷積操作、最大池化和高速網絡(Highway Network)。卷積操作的主要目的是利用大小為1,2,…,J的卷積核捕捉篇章單元中的1-gram,2-gram,…,J-gram信息,同時使用最大池化獲得固定維度的表征為最后的預測層做準備。高速網絡是跳層連接(Shortcut)的一種應用,使用高速網絡與門控多頭注意力機制有著相似的好處,兩者都起到了保護原有信息的作用。具體的推導過程如式(4)~式(6)所示:
oj=ReLU(maxpool(Convj(H2)))
(4)
o=Flatten([o1,…,oJ])
(5)
H3=Highway(o)
(6)
其中,oj∈Rdj為卷積操作Convj的計算結果,共有卷積核大小分別為1,2,…,J的J個卷積操作,且每個卷積操作的輸出維度均為dj。maxpool(·)表示最大池化,Flatten(·)表示將特征拉平為一維,o∈R(J×dj)為[o1,…,oJ]經Flatten(·)處理之后的結果,H3∈R(J×dj)為卷積層的最終計算結果。獲取S3的計算流程與H3完全相同,推導過程在此省略。
3.1.4 前饋神經網絡層
前饋神經網絡層即預測層,其本質為一個分類器。若該任務為C分類任務,則預測過程如式(7)所示:

(7)

多視角對比學習由3種不同視角的對比學習組成。3種視角基于對比學習作用對象的粒度進行劃分:(1)樣例層級對比學習的作用對象為單個樣例及標簽嵌入表示。(2)批層級對比學習的作用對象為一個批(Batch)中相同類別與其它類別的樣例。(3)群層級對比學習的作用對象為來自同一類別的樣例群體與來自其它類別的樣例群體。其中,涉及到標簽錨點對比學習的部分均使用相同的標簽嵌入表示。
3.2.1 樣例層級
樣例層級對比學習ICL(Instance-level Con- trastive Learning)[16]如圖2a所示,其中,實線表示錨點與正樣例之間的關系,虛線表示錨點與負樣例之間的關系,相同的顏色對應相同的類別。對于輸入的樣例及其標簽(xi,yi),ICL將xi視作錨點,xi對應的標簽嵌入表示為正樣例,xi不對應的標簽嵌入表示為負樣例。ICL的目的是使得篇章單元表征語義上靠近對應的標簽嵌入表示,而驅離不對應的標簽嵌入表示。本文使用余弦相似度來衡量語義上的相似性。ICL的構建需要一個正樣例和多個負樣例。標簽嵌入表示為隨機初始化參數并進行訓練。

Figure 2 Three contrastive learning approaches (4-way classification)
假設當前分類任務包含C種不同的類別,則創建標簽嵌入詞典如式(8)所示:
L=lookup([1,2,…,C])
(8)
其中,L∈RC×(J×dj)為可訓練的模型參數。其具體使用方法為,對于當前分類任務中的某一類別p,通過查詢其索引從詞典中L獲得類別p的標簽嵌入表示Lp。
ICL的損失函數定義如式(9)和式(10)所示:
μ=W([H3,S3])
(9)
(10)
其中,W∈R(J×dj)×(2×J×dj)為模型參數,其作用為融合篇章單元特征對,sim(·)為余弦相似度計算,|D|表示當前批中樣例的總數量,τ是一個溫度超參數,較低的τ會增加對比損失對難以區分樣例的影響,并對最終結果造成影響。
通過最小化ICL損失函數,篇章單元表征與標簽嵌入表示在同一語義空間中對齊,這樣做的好處是模型能夠為不同的類別學習到更具代表性的詞嵌入表示。
3.2.2 批層級
批層級對比學習BCL(Batch-level Contrastive Learning)[16]如圖2b所示。對于輸入的樣例及其標簽(xi,yi),BCL將類別的標簽嵌入表示Lp視作錨點,定義如式(11)和式(12)所示:
A(p)={xi|yi=p}
(11)
B(p)={xi|yi≠p}
(12)
其中,A(p)為正樣例集合,B(p)為負樣例集合。假設當前批中共有|P|個類別,BCL的損失函數定義如式(13)和式(14)所示:
P={p|1≤p≤C∧A(p)|>0}
(13)
(14)
使用BCL的好處是可以促使特定類別的篇章單元表征比來自其他類別的表征更加相似。與ICL不同的是,BCL包含有多個正樣例和多個負樣例。
3.2.3 群層級
群層級對比學習GCL(Group-level Contrastive Learning)如圖2c所示。GCL將屬于類別p篇章單元表征視作正樣例,不屬于類別p的表征視作負樣例。GCL將非當前樣例的所有正樣例視作一個正樣例群(Positive Group),將所有負樣例視作一個負樣例群(Negative Group),為方便計算,使用當前樣例與群中所有樣例表征相似度的均值作為錨點與群的相似度。假設當前批中共計有|D|個樣例,GCL的損失函數定義如式(15)所示:
GCL=
(15)
其中,avg(·)表示均值操作。GCL的目的是使得屬于同一類別的篇章單元表征在語義空間中更加相似,同時遠離非同一類別的表征。
3.2.4 多視角對比學習融合


(16)
L=CE+λ1*ICL+λ2*BCL+λ3*GCL
(17)
其中,λ1、λ2和λ3為權重系數,用于控制各種對比學習損失對最終損失的影響程度。
數據集:發布于2008年的賓夕法尼亞大學篇章樹庫PDTB 2.0(the Penn Discourse TreeBank 2.0)[27]為篇章關系識別任務中最大的語料庫,它為篇章關系定義了一個多層的語義關系,并完善了標注體系。PDTB 2.0根據連接詞中心法對近2 500篇來自華爾街日報WSJ(Wall Street Journal)的新聞報道進行標注,其將數據集劃分為00~24這25個章節,共標注了40 600個篇章關系實例,其中隱式篇章關系實例16 224個。為了與前人的工作保持一致,本文使用的數據集為PDTB 2.0[27],并匯報四分類(PDTB-4)任務,十一分類任務(PDTB-11)和Temporal(Tem.),Contingency(Con.),Comparison(Com.)與Expansion(Exp.)4個類別的二分類任務結果。十一分類數據集實際由四分類數據集經更細粒度地劃分得到;二分類任務數據集由四分類任務數據集經一對多(One-versus-all)處理之后得到。本文遵循最流行的數據集切分方式PDTB-Ji[28],將2~20章節作為訓練集,0、1章節作為開發集,21、22章節作為測試集。四分類數據集詳細統計數據如表1所示;十一分類數據集詳細統計數據如表2所示。

Table 1 Dataset of 4-way classification

Table 2 Dataset of 11-way classification
評測標準:與目前絕大多數IDRR工作匯報的評測標準保持一致。本文使用宏平均F1分數(Macro-averagedF1)和正確率ACC作為四分類任務的指標;正確率ACC作為十一分類任務的評測指標,F1分數作為二分類任務的評測指標。
本文使用的模型與算法均由PyTorch實現。RoBERTa層使用的是RoBERTa-base(https://huggingface.co/roberta-base)。使用下限為0.1,上限為1,步數為0.1的網格搜索確定λ1,λ2和λ3。表3給出了本文模型的維度設置。本文使用AdamW作為優化器,學習率為0.001,批大小batch-size大小為24,模型最大輸入長度為512,使用RoBERTa開源的詞表對篇章單元文本進行分詞。所有的實驗都在一個32 GB NVIDIA?V100 Tesla Core GPU上完成。

Table 3 Dimensions of the proposed model
本文選擇以下6種方法進行實驗對比:
(1)Dai等人[19]方法:該方法對整個篇章進行建模并編碼,并對篇章中的所有篇章單元對同時進行分類。
(2)Bai等人[10]方法:該方法對篇章單元進行包括子詞粒度、詞粒度和句子粒度的混合編碼,并且首次引入連接詞分類任務和IDRR進行聯合學習。
(3)Zhang等人[29]方法:該方法基于圖注意力模型對整個篇章進行上下文建模,并設計了篇章單元間與篇章單元內部2種粒度的注意力交互機制。
(4)Varia等人[30]方法:該方法提出了一種針對篇章單元對中詞對編碼的卷積神經網絡,并基于門控機制融合篇章單元對的表征,聯合EDRR和IDRR進行學習。
(5)Wu等人[31]方法:該方法利用層級篇章關系的特性,結合條件隨機場與卷積神經網絡對篇章單元建模。它也是第一個將BERT作為詞嵌入層的IDRR模型。
(6)Jiang等人[32]方法:該方法聯合了文本生成任務。利用預訓練模型的先驗知識,該方法輸出包含篇章類別具體描述的文本序列和各個篇章類別的概率。
(7)Liu等人[12]方法:該方法包含了多個對篇章分析有幫助的匹配組件與信息融合組件,并探索了預訓練模型的使用方法。
本文標明了各比較方法使用的預訓練模型。本文的基準方法(Baseline)包括RoBERTa、門控多頭注意力層、卷積層和前饋神經網絡層這4層結構。為了表格簡潔易讀,B,I和G分別表示BCL,ICL和GCL。
由于預訓練詞嵌入模型和預訓練表征模型對文本表征的質量有著直接的影響,因此本文在表4與表5中標明了比較方法所使用的預訓練模型。本文從2個角度對實驗結果進行分析。

Table 4 Results of PDTB 2.0 multi-classification task

Table 5 Comparison of FLOPs and parameters
(1)多分類任務。
表4展示了多分類任務實驗結果。
首先,加入了多視角對比學習方法(+B.I.G)與基準方法(Baseline)相比,四分類任務正確率提升了2.49%,十一分類正確率提升了1.92%??梢哉J為多視角對比學習的加入使得本文方法的性能取得了實質性的提升。
其次本文方法與使用word2vec或者ELMo的方法相比,在正確率與宏平均F1分數上基本都有超過10%的提升;與使用T5與BERT方法相比,也有相當的差距。Liu等人[12]的方法是目前最先進的模型之一,為達到最優性能,其分別從整體、最大池化、注意力和最大注意力4個角度對篇章單元對進行編碼,表5所示為本文方法與其FLOPs、模型參數量的比較結果。由于Baseline僅僅是Liu等人[12]方法的基礎特征抽取層,因此性能相較更低。本文方法(+B.I.G)不僅在參數量和計算速度上與Baseline幾乎沒有差別,并且在參數量只有Liu等人[12]方法約80%的情況下,就能在四分類與十一分類任務中超越其約1%正確率。
(2)二分類任務。
表6給出了二分類任務中每個類別的實驗結果。

Table 6 Results of PDTB 2.0 binary classification task
首先,加入了多視角對比學習方法(+B.I.G)與基準Baseline相比,在每個類別中幾乎都有提升。其中針對Temporal和Contingency的二分類任務改善效果最明顯,分別提升了1.28%和2.21%的F1分數。由表1可知,Tem.與Con. 2個類別在數據集中占比較低,這可以說明本文提出的對比學習方法對數據規模不敏感。
其次,本文方法(+B.I.G)與使用word2vec或者ELMo的方法相比,在Tem.與Com. 2個類別中有超過10%F1分數的進步;與使用T5的方法相比,在4個類別上的F1分數上都占據絕對優勢;與使用RoBERTa的方法相比,在3個小數量類別(Tem.,Com.,Con.)上都有明顯提升。特別地,基準方法Baseline在Con.類別上已經超越了Liu等人[12]方法2.15%的F1分數。
本文從2個角度對實驗結果進行分析。
(1)多分類任務。
表7給出了多分類任務中消融實驗的結果。

Table 7 Ablation results of PDTB 2.0 multi-classification task
首先,對僅使用單個對比損失函數進行分析。3個對比損失函數都對分類結果有著積極的影響,其中,ICL和BCL對結果的影響最大,ICL提升了四分類任務1.18%的F1分數,BCL提升了四分類任務2.2%的正確率。在十一分類任務上,ICL與BCL的提升不相上下,約為1%。ICL與BCL作為標簽錨點對比學習,效果比與GCL組合更優,本文推測是得益于標簽嵌入表示。標簽嵌入表示本身具有語義,因此能在語義空間中更有效地對齊對應類別的表征,而GCL沒有標簽的指引,受樣例自身的影響更大。
其次,對同時使用2個對比損失函數進行分析。在四分類與十一分類任務中表現最好的均為BCL聯合ICL。兩者聯合的優勢尤其體現在正確率上,四分類正確率幾乎達到了70%,十一分類正確率相較基準方法提升了1.63%。結合表4中比較方法的結果,可以認為此時方法已經達到了最先進的性能。然而,GCL與BCL結合之后的實驗結果略遜一籌。本文推測是因為GCL與BCL設計的出發點均為聚類相同類別的篇章表征,造成兩者使用時出現冗余,導致最終分類效果不佳。
(2)二分類任務。
表8給出了二分類任務中消融實驗的結果。

Table 8 Ablation results of PDTB 2.0 binary classification task
首先,二分類任務受到BCL與GCL冗余的影響更明顯,使用單個對比損失函數的結果要優于同時使用3個對比損失函數,這與多分類任務的結果完全不同。
其次,在二分類任務中,Tem.與Con.分類結果的最高值出現在BCL與ICL聯合使用,Com.與Exp.分類結果的最高值出現在ICL與GCL聯合使用;結合表4中比較方法的結果,可以看出在Tem.,Con.和Com. 3個類別上的最高值,要遠高于目前的最先進方法,這也表明了本文方法受訓練樣例數量的影響很小,也暗示了方法參數的增加不一定對二分類任務有好處。與前文中的推測相符合,GCL與BCL聯合使用效果不佳,主要體現在Con.與Com. 2個類別的F1分數低于基準方法。
本文利用對比學習在表征學習中的優勢,提出了一個基于多視角對比學習的方法。該方法可以在訓練過程中對表征進行約束,使相同類別的篇章單元表征在語義空間中更加接近,不同類別的表征更加疏遠。本文的方法計算簡單,無需增加額外參數。實驗結果表明本文的方法在PDTB 2.0上達到了最先進的性能。