張 虎,季 澤,王宇杰,李 茹,2
(1. 山西大學 計算機與信息技術(shù)學院,山西 太原 030006;2. 山西大學 計算智能與中文信息處理教育部重點實驗室,山西 太原 030006)
近年來,人工智能與大數(shù)據(jù)技術(shù)的快速發(fā)展推動了智慧司法服務(wù)的廣泛應(yīng)用,當前面向司法行業(yè)真實需求的司法服務(wù)越來越多地依賴于自然語言處理技術(shù),我國司法部2019年在開展的“數(shù)字法治、智慧司法”信息化建設(shè)中指出,運用大數(shù)據(jù)和人工智能等技術(shù)引領(lǐng)和帶動司法事業(yè)發(fā)展是一項意義重大的任務(wù)。為進一步促進智慧司法相關(guān)技術(shù)的發(fā)展,推動自然語言處理技術(shù)在裁判文書爭議焦點提取問題中的應(yīng)用,“中國法研杯”司法人工智能挑戰(zhàn)賽 (CAIL) 于2020年開設(shè)了論辯挖掘任務(wù)。
裁判文書訴辯雙方互動論點對的識別是歸納案件爭議焦點的前提和基礎(chǔ)。訴辯雙方互動論點對由原告訴方的控訴和被告辯方相應(yīng)的抗辯組成。裁判文書只記載了法院審判過程中訴辯雙方的完整陳述,并沒有進一步細化形成條理清晰、邏輯鮮明的訴辯交互論點對,仍需要法官人工閱讀并對其進行分析與整理,這一步會耗費大量的時間與精力。圖1顯示了裁判文書中的訴辯雙方陳述交互示例。
圖1 裁判文書中的訴辯雙方陳述交互示例
目前針對論辯中互動論點對識別的研究主要面向英文論壇數(shù)據(jù),Tan等人[1]依托國外社交網(wǎng)站辯論版塊中豐富的辯論資源構(gòu)建了英文辯論數(shù)據(jù)集,Ji等人[2]在此基礎(chǔ)上構(gòu)建了一個互動論點對數(shù)據(jù)集,提出了互動論點對識別任務(wù)。已有研究主要從重構(gòu)論點表示入手,未利用效果更好的預訓練語言模型獲得通用的語言特征表示,也未考慮模型的魯棒性與泛化性能。基于此,本文主要面向中文司法領(lǐng)域的數(shù)據(jù)集進行互動論點對識別研究,主要貢獻包括:
(1) 基于預訓練語言模型和微調(diào)方式實現(xiàn)訴辯論點的特征表示;
(2) 利用注意力機制獲得訴辯論點的交互表示;
(3) 采用對抗訓練增強模型的魯棒性與泛化能力。
目前關(guān)于互動論點對識別的相關(guān)研究主要有以下幾個方面: 論點與論辯的定義、計算論辯的發(fā)展及自然語言處理技術(shù)在其中的應(yīng)用,以及對抗訓練的相關(guān)內(nèi)容。
論點是對所要論述的問題提出的主張及理由。Walton等人[3]定義論點由三類部件構(gòu)成: 一系列前提,一個結(jié)論以及從前提到結(jié)論的推論。論辯則是使用論點來達到說服、同意的效果。根據(jù)論辯類型的不同,Wachsmuth等人[4]將論辯分為獨白式論辯和對話式論辯,按表達方式的不同又可細分為口述式和文本式,獨白式論辯可看作由一位參與者對某一特定問題進行論述,例如,政治演說、主題演講屬于口述式獨白論辯,新聞社論、議論文寫作屬于文本式獨白論辯。Besnard等人[5]認為對話式論辯可看作由多位參與者進行的一系列論點的互動。Hunter等人[6]認為對話式論辯發(fā)生在討論、辯論、勸說、談判等過程中,是參與者之間直接觀點沖突的對話過程,例如,辯論賽、日常爭論屬于口述式對話論辯,在線論壇討論、社交網(wǎng)站上的評論反駁屬于文本式對話論辯。
近年來,計算論辯成為自然語言處理的一個研究熱點。當前工作主要針對文本形式的論辯,即文本式獨白論辯與文本式對話論辯。主要研究方向有論點與論辯的計算模型、論辯分析與總結(jié)的計算方法、用于論辯開發(fā)與評估的語料資源和基于論辯模型與方法的應(yīng)用等[4]。計算論辯在應(yīng)用方面有Wachsmuth等人[7]研究的論點搜索引擎,可根據(jù)用戶輸入的主題,自動返回與主題相關(guān)的論點;Rinott等人[8]研究的決策支持助手,可根據(jù)用戶給定的結(jié)論,自動給出支持的前提(也叫證據(jù));Wang等人[9]研究的自動論點摘要,能夠從大量的觀點性信息中生成簡潔連貫的觀點摘要;Samadi等人[10]的研究主張正確性檢測是一項有趣的研究,給定一些斷言(也叫主張),然后驗證、提取從網(wǎng)絡(luò)上搜集到的支持或反對主張的證據(jù),再對證據(jù)來源的可靠性以及斷言正確性進行聯(lián)合評估;Stab[11]研究的議論文寫作支持,能夠自動解析議論文中的論證結(jié)構(gòu)。
基于自然語言處理技術(shù)進行計算論辯研究的主要內(nèi)容有論辯挖掘、論辯評估和論辯生成等。論辯挖掘是要自動地從文本中挖掘論點及其關(guān)系,Cabrio等人[12]將其分為兩步: 一是論點提取,首先要從文本中檢測出論點,需要細粒度地識別論點構(gòu)成部件,如前提和主張;二是關(guān)系預測,預測前一階段提取到的論點間的關(guān)系,如支持或反對。廖祥文等人[13]提出了將論辯挖掘的子任務(wù)聯(lián)合并行訓練的多任務(wù)迭代學習方法。論辯評估是對論點與論辯性質(zhì)的評估,包括論辯結(jié)構(gòu)評估、論辯推理評估、論辯質(zhì)量評估等。Wachsmuth等人[14]提出修辭動作流模型,將文本映射到全局特征空間以捕捉獨白式論辯的語篇級論證結(jié)構(gòu)。Feng等人[15]介紹了舉例論證、因果論證、后驗論證等論證推理模式,并按其對論點分類。Wachsmuth等人[16]認為論辯質(zhì)量包括邏輯、修辭、辯證等方面,邏輯性質(zhì)由論點說服力體現(xiàn),修辭和辯證則由論辯的有效性和合理性體現(xiàn)。Ji等人[17]提出了一種基于共同注意力機制的模型,可捕捉對話論辯中參與者之間的交互以應(yīng)用于論辯說服力評估。Taghipour等人[18]探索了基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法建模論文內(nèi)容與分數(shù)的關(guān)系以進行論文自動打分。論辯生成是對論點與論辯的總結(jié)。Bilu等人[19]利用從主張中回收的謂語來生成新的論點主張。Sanchan等人[20]研究利用聚類方法從大量對話論辯信息中生成論辯話題摘要。Chen等人[21]利用自編碼器生成與新聞標題中政治偏見相反立場的觀點。楊亮等人[22]針對裁判文書案情描述與判決結(jié)果,利用生成對抗網(wǎng)絡(luò)模型進行控辯焦點的生成。
對話論辯是生活中隨處可見的一種論辯方式,多數(shù)對話論辯都是非標準化與非結(jié)構(gòu)化的,其內(nèi)容和形式與標準論證結(jié)構(gòu)有很大差別,目前Misra等人[23]對相似論點識別進行了研究,而對語義有更高要求的互動論點對識別的研究還較少。
為了使模型在解決特定問題的同時還能兼顧其魯棒性與泛化能力,有關(guān)自然語言處理領(lǐng)域中對抗訓練的研究逐漸出現(xiàn)。對抗訓練可看作應(yīng)用于監(jiān)督學習模型的一種正則化手段,通過向原樣本中添加微小擾動構(gòu)建出可能使模型產(chǎn)生誤判的對抗樣本,再將其與原樣本一起在模型中訓練,期望模型對原樣本與對抗樣本能產(chǎn)生相同的輸出分布。Miyato等人[24]提出在模型詞嵌入位置添加基于梯度的對抗擾動來構(gòu)建對抗樣本,相關(guān)實驗結(jié)果表明,相比于添加隨機噪音,這種方法能學到更好的語言特征表示。Sato等人[25]將對抗擾動的方向限制為詞向量空間中已有詞的位置,從可解釋性角度研究了添加到詞向量空間中的對抗擾動,在文本分類與序列標注任務(wù)上取得了一定的效果。
鑒于預訓練語言模型、交互方法和對抗訓練在很多任務(wù)上的優(yōu)勢,本文結(jié)合以上技術(shù)提出了裁判文書訴辯雙方互動論點對識別方法。
互動論點對識別任務(wù)具體描述如下: 給定一句訴方論點sc,五句候選辯方論點candidates=[bc1,bc2,bc3,bc4,bc5],其中包括一項與訴方論點sc在邏輯交互關(guān)系上最匹配的辯方論點bcpositive,四項不存在交互關(guān)系或存在弱交互關(guān)系的辯方論點bcnegative,以及訴方論點與辯方論點所在裁判文書中訴辯雙方的完整陳述,模型需要從候選辯方論點candidates中選出與訴方論點sc最具交互關(guān)系的一項。
本文結(jié)合預訓練語言模型BERT、注意力交互方法Attention和對抗訓練FGM提出的互動論點對識別模型 (BERTAF) 主要包括四部分: 編碼層、交互層、預測層和對抗學習層,模型結(jié)構(gòu)如圖2所示。模型的輸入為一句訴方論點與一句候選辯方論點,輸出為0~1之間的概率值,代表其交互匹配程度。
圖2 模型結(jié)構(gòu)圖
2.2.1 編碼層
編碼層將訴方論點與辯方論點的文本符號表示轉(zhuǎn)換為語義空間的向量表示,這里我們利用BERT實現(xiàn)編碼轉(zhuǎn)換,輸入格式如式(1)所示。
Input=[CLS]+sc+[SEP]+bc+[SEP]
(1)
其中,sc代表經(jīng)BERTTokenizer處理后的訴方論點句的字符級表示,sc={Tok1,…,TokN},bc代表辯方論點句的字符級表示,bc={Tok′1,…,Tok′M},[SEP]為分隔符, 用于區(qū)分訴方論點與辯方論點,
[CLS]為整個輸入序列的語義標志位,在向量轉(zhuǎn)換時可作為整個輸入序列的集成語義表示。
BERT對輸入序列編碼后有兩個輸出,如式(2)所示。
S,C=BERT(Input)
(2)
其中,S代表輸入序列Input編碼后的向量表示,S={T[CLS],T1,…,TN,T[SEP],T′1,…,T′M,T[SEP]},S∈RL×h,L為輸入序列Input的長度,L=N+M+3,N代表訴方論點句sc的長度,M代表辯方論點句bc的長度,h為BERT向量編碼維度,T為輸入序列Input中每個字符經(jīng)BERT編碼轉(zhuǎn)換后的特征表示,T∈Rh。C代表提取的編碼后的[CLS]語義標志位的信息,其融合了整個輸入序列編碼后的語義信息,C∈Rh。
2.2.2 交互層
交互層Attention Layer的作用是使訴方論點感知到辯方論點,通過計算訴方論點到辯方論點的注意力,獲得了訴方論點的新特征表示Attnsc,具體如圖3所示。
圖3 交互層結(jié)構(gòu)圖
(3)
(4)
(5)
(6)
2.2.3 預測層
2.2.4 對抗學習層
對抗學習層的工作是構(gòu)建對抗樣本進行對抗訓練。模型在訓練時以交叉熵作為損失函數(shù),損失loss具體計算如式(9)、式(10)所示,其中,logits為預測層輸出的不匹配與匹配的概率,label為該輸入對應(yīng)的標簽,label∈{0,1},label=1代表輸入的訴方論點與辯方論點存在邏輯交互關(guān)系即是匹配的,label=0則相反。
loss(logits,label)=-logits[label]+log(U)
(9)
(10)
輸入序列Input展開如式(11)所示,送入BERT后首先經(jīng)過BERT詞向量矩陣O編碼,O∈RV×h,V為BERT詞匯表大小,得到輸入序列對應(yīng)的詞向量矩陣E,E∈RL×h,如式(12)所示。
Input={[CLS],Tok1,…,TokN,[SEP],Tok′1,…,Tok′M,[SEP]}
(11)
E={E[cls],E1,…,EN,E[sep],E′1,…,E′M,E[sep]}
(12)
前向傳播后交叉熵損失函數(shù)計算損失loss,再進行反向傳播計算損失對相關(guān)參數(shù)的梯度,其中包括對bert詞向量矩陣的梯度g,g∈RV×h,據(jù)此構(gòu)造對抗擾動r,r∈RV×h,具體計算如式(13)、式(14)所示。
其中,ε為超參數(shù),||g||2為梯度g的L2范數(shù)。然后將所得的對抗擾動r與BERT詞向量矩陣O相加得到新的詞向量矩陣Or,Or∈RV×h。將輸入序列Input再次送入模型進行預測,先經(jīng)BERT詞向量矩陣Or編碼后得到對抗樣本Er,如式(15)所示。
(15)
前向傳播結(jié)束后,利用交叉熵損失函數(shù)計算對抗損失lossadv。對抗訓練反向傳播時與之前原樣本反向傳播時得到的梯度疊加,對抗訓練結(jié)束后將添加了擾動的BERT詞向量矩陣Or恢復到原詞向量矩陣O以準備下一輪訓練,此時優(yōu)化器再根據(jù)所求梯度對模型相關(guān)參數(shù)進行更新。
實驗數(shù)據(jù)來源于CAIL2020論辯挖掘任務(wù),每條數(shù)據(jù)都是經(jīng)人工標注的存在互動關(guān)系的論點對(1)一句訴方論點,五句候選辯方論點以及正確答案。,數(shù)據(jù)集示例如表1所示。
表1 數(shù)據(jù)集樣例
CAIL2020公布了評測過程中兩階段的訓練數(shù)據(jù),共3 264組人工標注的互動論點對,本文將人工標注的互動論點對按3:1:1的比例劃分為訓練集、驗證集和測試集,具體數(shù)據(jù)分布如表2所示。
表2 數(shù)據(jù)集分布
驗證集上的評價指標采用宏平均F1macro,即求出每個選項標簽的F1值再求平均,具體計算如式(16)、式(17)所示。我們在驗證集上調(diào)整參數(shù),保證模型性能最優(yōu),再應(yīng)用到測試集上進行測試。測試集上的評價指標采用準確率Accuracy,其計算如式(18)所示,其中,N+代表模型選對的樣例數(shù)量,N代表測試集總樣例數(shù)量。
本文使用PyTorch版本的BERT-Base-Chinese預訓練語言模型,BERT隱藏層維度為768,設(shè)置最大輸入序列長度為512。訓練期間設(shè)定初始學習率為3e-4,采用線性學習率預熱方法,預熱步數(shù)設(shè)為總訓練步數(shù)的50%左右,預熱期間學習率從0線性增加到設(shè)置的初始學習率,預熱階段之后學習率會從初始學習率線性降低到0。優(yōu)化器采用AdamW,梯度裁剪中設(shè)置梯度最大范數(shù)為1e-3,隨機dropout比例為0.01,批處理大小為24,共訓練10輪。采用兩塊GPU并行訓練,GPU型號為Tesla P100-PCIE-16GB,Python版本為3.6.9,PyTorch(1.5.0+cu101)。實驗所用全部代碼將放在Github:https://github.com/findQin/interactive-argument-pair-ide-ntify。
為了驗證所提方法的有效性,本文使用傳統(tǒng)機器學習模型與深度學習模型作為基線對比。機器學習模型使用詞重疊方法Word Overlap和基于詞頻-逆文檔頻率的余弦相似度方法Cosine(TF-IDF)。深度學習方法使用了神經(jīng)網(wǎng)絡(luò)模型與預訓練語言模型,神經(jīng)網(wǎng)絡(luò)模型如CNN、GRU、GRU結(jié)合CNN、Transformer;預訓練語言模型如論辯挖掘評測基線Bert、Bert結(jié)合CNN、Bert結(jié)合BiGRU、Bert結(jié)合多項選擇框架、Bert結(jié)合注意力機制。表3列出了基線模型與本文方法預測結(jié)果的對比情況。
表3 模型實驗結(jié)果
從表3的結(jié)果可以看出,基于TF-IDF的余弦相似度的方法效果較差,主要由于缺少特定領(lǐng)域的逆向文檔頻率 (IDF) 語料庫,TF-IDF提取句子中關(guān)鍵詞的能力有限,并且余弦相似度雖可識別相似度較高的兩段文本,但對兩段無顯式交互特征的對話性質(zhì)的文本的識別能力較弱;Word Overlap方法對訴方論點句與候選辯方論點句分詞后選取與訴方論點句詞重疊程度最高的辯方論點句作為答案,僅能簡單地選擇具有表面淺層相關(guān)性的答案,無法識別更高級的具有語義交互關(guān)系的答案。
神經(jīng)網(wǎng)絡(luò)系列模型如CNN、GRU等結(jié)構(gòu)簡單,參數(shù)量少,采用隨機初始化的詞向量,整體運行速度快,但準確率較低。CNN可捕捉文本序列的局部特征,在文本序列上的卷積操作相當于N-gram,其卷積核數(shù)量沒有確定的標準,會影響特征提取的效果。GRU是RNN的一種變體,通過門控機制將重要的歷史特征信息保存下來并向后傳遞,適合處理文本序列這種具有前后依賴性的數(shù)據(jù)。Transformer模型中引入了多頭自注意力機制,也能較好地捕捉長距離依賴特征。
基于預訓練語言模型進行微調(diào)的BERT+CNN,BERT+BiGRU,結(jié)合多項選擇框架對5個候選辯方論點之間的關(guān)系進行建模的BERT+MC(Multiple Choice),以及結(jié)合注意力機制以便讓訴方論點感知到辯方論點的BERT+Attnsc,這些模型都是在已具有較好特征表示能力的預訓練模型BERT的基 礎(chǔ)上添加了一些特定的神經(jīng)網(wǎng)絡(luò)層,以期在本任務(wù)上能夠進一步提升特征表示與特征提取的能力。其中,BERT+MC模型借鑒了機器閱讀理解多項選擇自動答題任務(wù)的模型框架,此任務(wù)在形式上一般包括閱讀材料、相關(guān)問題和對應(yīng)的多個候選答案選項,閱讀理解模型根據(jù)問題和閱讀材料從候選項中選出正確答案[26]。本文研究的任務(wù)在形式上等同于沒有加入閱讀材料的多項選擇題,因此,我們嘗試用閱讀理解模型的答題框架進行互動論點對識別。然而,實驗結(jié)果表明,上述這些模型的魯棒性與泛化能力普遍不太好,不能有效捕獲深層的語義交互特征。
本文方法在驗證集和測試集上都取得了最好的效果,在測試集上的準確率比論辯挖掘評測基線BERT提升了1.39個百分點。為了進一步驗證所提方法的有效性,本文通過對比BERT系列模型在測試集上的預測結(jié)果,選取了一條支持本文方法的正向樣例,如圖4所示。該示例中針對訴方提出的“張某上訴稱一審量刑重”這一論點,本文方法成功捕捉到了第二項候選辯方論點中的“…檢察院出庭意見: …建議二審量刑…對張某酌情從輕”這一符合邏輯又具有語義交互的論點。除本文方法外的其他BERT系列模型,均在第一項與第四項候選辯方論點上混淆,泛化能力較弱。結(jié)果表明了本文方法的有效性。
圖4 正向樣例
為了評估本文方法不同部分的貢獻,我們分別嘗試去除對抗訓練模塊和注意力機制模塊進行了消融實驗,實驗結(jié)果如表4所示。
表4 消融實驗結(jié)果
續(xù)表
從表4的結(jié)果可以看出,去除對抗訓練模塊FGM之后模型為BERT+Attnsc,在驗證集和測試集上的效果均有下降, 說明對抗訓練模塊對模型的魯棒性與泛化能力有一定幫助;去除注意力機制模塊Attnsc后此時模型為BERT+FGM,在驗證集與測試集上的效果比只去除對抗訓練模塊FGM又有所下降,說明注意力模塊在捕捉訴辯論點的交互中也發(fā)揮了作用;將對抗訓練模塊FGM與注意力模塊Attnsc都去除后模型為評測所給基線,在驗證集上效果繼續(xù)下降,在測試集上無明顯變化,這主要是因為實驗測試數(shù)據(jù)存在一些標注錯誤的問題。
盡管本文所提方法已取得了較好的結(jié)果,但與真實應(yīng)用的要求還存在一定差距。通過分析已有數(shù)據(jù)集,發(fā)現(xiàn)其中包含一些標注錯誤或不一致的問題,例如,在一條訴方論點中提到了n個被告,而這些被告也都作了回應(yīng),這就形成一條訴方論點對應(yīng)n條辯方論點的情況,現(xiàn)有數(shù)據(jù)集將這種情況拆分成了n條數(shù)據(jù)樣例,即用該訴方論點分別搭配這n條辯方論點,具體示例如圖5所示。
圖5 干擾數(shù)據(jù)樣例
圖5的具體示例顯示,兩條不同的標注數(shù)據(jù)包含同樣的訴方論點,但其對應(yīng)的互動辯方論點在一個樣本中標注為正確,在另一個樣本中卻標注為錯誤。類似的數(shù)據(jù)標注錯誤會對模型學習造成困擾,影響模型的效果。
本文針對裁判文書訴辯雙方互動論點對識別問題進行研究,首先基于預訓練語言模型BERT實現(xiàn)訴辯論點的特征表示,再利用注意力機制獲得訴辯論點的交互表示,最后采用對抗訓練增強模型的魯棒性與泛化能力。在裁判文書互動論點對識別數(shù)據(jù)集上的實驗結(jié)果表明,本文方法在提升互動論點對識別能力的同時也具備一定的魯棒性。
本文所提方法在處理同一訴方論點對應(yīng)多條辯方論點的情況時能力較弱。未來工作中,我們將繼續(xù)探索新的方法以解決發(fā)現(xiàn)的問題,進一步提升識別裁判文書訴辯雙方互動論點對的能力。