?

面向中文法律裁判文書的抽取式摘要算法

2024-01-26 07:47溫嘉寶
集成技術 2024年1期
關鍵詞:編碼器文書裁判

溫嘉寶 楊 敏

1(中國科學院深圳先進技術研究院 深圳 518055)2(中國科學院大學 北京 100049)

1 引 言

隨著人民群眾法律意識的提高和案件數量增長速度的加快,截至 2023 年 1 月,中國裁判文書網已公布超過 1.3 億份的裁判文書,并以每日數千份的速度繼續增加。這些文書包括民事、刑事、行政、賠償、執行等多種類型,經過篩選和專業處理后被公布,形成了法律領域中數據量最大的數據庫,為司法智能化、信息化提供了強有力的數據基礎。優質裁判文書的不斷增加對司法領域的發展具有重要意義,如可以為法律從業者提供更多的案例參考,緩解“同案不同判”的困境。然而,這也帶來了一些新的問題。

裁判文書是法律從業者日常工作中接觸的重要資料之一,包括進行類案檢索和撰寫類案檢索報告。隨著裁判文書數據量的增加,法律從業者需要從檢索出的大量裁判文書中挑選出最合適的裁判文書。然而,裁判文書通常較長,平均長度可達數千字,甚至有少數文件長達上萬字,從中查找出關鍵信息并進行分析無疑變得越來越困難。因此,對裁判文書進行自動摘要,以去除冗余信息、精簡文本內容,能極大程度地減少法律從業者的工作量,使得他們有更多的精力從事更有價值的工作,從而提升司法行業的效率。由此可見,裁判文書自動摘要對司法領域有著重要研究價值和現實意義。

根據摘要方式,自動摘要模型可分為抽取式模型和生成式模型,本文提出的方法屬于抽取式模型。抽取式模型通過從原文中直接選擇若干個重要句子進行排列重組,以形成摘要。根據學習方式的不同,抽取式摘要算法可進一步劃分為無監督式抽取和有監督式抽取。無監督抽取式文本摘要方法因運行速度快,且無須人工標注訓練數據而廣受應用。相比之下,有監督抽取式文本摘要方法的優勢在于其具有更高的準確性。

2 抽取式摘要研究現狀

抽取式摘要是一種直接從原文中抽取關鍵句的方式,這種方式在句法上錯誤率低。從學習方式上,抽取式摘要算法可以分為無監督和有監督兩大類。無監督抽取式摘要通常采用圖、聚類等方式。而有監督抽取式摘要多采用基于神經網絡的方法。

2.1 無監督抽取式摘要算法

無監督抽取式摘要最簡單的實現方式是“Lead-3”法,即從文本前 3 個句子中提取信息,并作為摘要。由于作者通常在文章的標題和開頭部分闡述文章的主題(如新聞報道),因此,這種方式在該類文本中較為有效。然而,法律裁判文書的關鍵信息分布較為均勻,因此,采用 Lead-3法進行法律裁判文書的摘要不能達到理想效果。

2004 年,Erkan 等[1]提出的 LexRank 是一種基于圖排序的抽取式摘要算法,其以句子為節點,以句子間相似度為邊的權值,構建無向有權圖。該算法采用詞袋模型表示句子向量,維度是目標語言中單詞的數量。對于出現在句子中的每個單詞來說,句子向量中相應維數的值是該單詞的 TF-IDF[2]值。通過計算句子向量與圖中質心之間的相似度,判斷句子是否為重要句子。其中,兩個句子之間的相似性由向量間的余弦相似度定義,而質心是由文檔中 TF-IDF 值超過某一閾值的詞構成的向量。該算法具有簡單和易于實現的優點。然而,它在表示句子向量的方式上存在一定的缺陷。其一,維度較大,導致生成的句子向量非常稀疏。其二,句子向量中相應維數的值是該單詞的 TF-IDF 值。由于 TF-IDF 基于詞頻統計,無法考慮語義信息,因此,LexRank 在判斷句子相似性時無法充分考慮語義層面的相似度。

2004 年,Mihalcea 等[3]提出的 TextRank 算法是一種基于圖的排序算法,其設計靈感源自于 PageRank[4]網絡排序算法。該算法將文檔表示為圖模型,將文檔中的每個句子作為圖中的一個節點,節點之間的連邊表示句子之間的相關性。然后,通過 PageRank 算法計算每個節點的TextRank 值,以確定文檔中最重要的句子,并選擇其中得分最高的幾個句子作為摘要。然而,TextRank 的句子相似度衡量方式采用了兩個句子之間的共現詞數量,即采用了詞袋模型,無法考慮同義詞、詞序等其他信息。這使得 TextRank算法的表現會受到一定的限制。

2016 年,Padmakumar 等[5]提出了一種基于聚類的抽取算法。首先,利用 Skip Thought Vectors 進行無監督學習,得到句子的嵌入向量。然后,通過聚類算法對生成的句子嵌入向量進行聚類。最后,將距離簇質心最近的向量所對應的句子作為文本摘要。Skip Thought Vectors 的思想是通過一個句子預測它上下文的句子,具體做法是通過 LSTM[6]編碼器將中間句子編碼為向量,再用兩個獨立的 LSTM 解碼器將句子向量解碼出前后句子。這種方式與 2013 年 Mikolov 等[7]提出的 Word2Vec 中的 Skip-gram 訓練策略相似,依據的原則是一個句子與其前后相鄰句子之間存在語義聯系。在該論文中,Padmakumar 等[5]嘗試了 K-means 和 Mean-shift 兩種聚類方法。然而,該算法的不足之處在于 LSTM 無法實現并行訓練,以及在處理長序列時可能面臨梯度消失和梯度爆炸的風險。

2021 年,Padmakumar 等[8]提出了一種基于點互信息的摘要算法。該算法利用 GPT-2[9]計算給定兩個句子之間的點互信息,而點互信息定義為在給定前句的情況下,得到后句的概率。通過對摘要與原文檔中所有句子對的點互信息進行求和,可以得到摘要與原文檔的相關性。同時,通過對摘要內部所有句子對的點互信息進行求和,可以確定摘要的冗余性。最終,摘要由一個句子集合組成,該集合能最大化相關性減去冗余性的值。該算法的優點在于利用預訓練語言模型計算句子間的點互信息,從而實現無監督抽取式摘要。然而,缺點在于其時間復雜度較高,需要計算所有句子之間的點互信息。當文檔句子數量較大時,推理時間將會較長。

2.2 有監督抽取式摘要算法

2017 年,Nallapati 等[10]提出了一種名為SummaRuNNer 的方法,將文本摘要任務轉化為序列標注問題。對文本中的每個句子都進行二分類(0 或 1):0 表示不納入摘要,1 表示納入摘要。最終的文本摘要由標記為 1 的句子組成。該模型包含兩個雙向門控循環單元[11]:第一個雙向門控循環單元對句子進行詞級建模,以獲得詞級表示,接著,對句子中各詞的詞級表示求平均,得到句子嵌入;第二個雙向門控循環單元則對句子嵌入進行句級建模,以獲取句級表示。最后,通過一個分類器對句級表示進行二分類,得到最終的摘要結果。該模型的優點在于,它不僅雙向考慮了句子的局部和全局信息,還充分考慮了句子與文檔的關系、句子與前后句子的關系、絕對位置和相對位置等因素。然而,該模型的缺陷在于采用循環神經網絡(recurrent neural network,RNN)進行特征提取,導致無法進行并行訓練。此外,在處理長序列時,模型可能會面臨梯度消失和梯度爆炸的風險。

2017 年,Isonuma 等[12]將文本分類任務與摘要任務相結合,以提升摘要效果。該方法首先采用卷積神經網絡對句子進行編碼,獲取句子向量;然后使用基于 RNN 的編碼器-解碼器框架為每個句子生成摘要概率。具體而言,在編碼器中,為每個句子生成隱藏狀態;在解碼器中,利用前一個句子的摘要概率、句子向量和隱藏狀態生成當前句子的隱藏狀態,并根據該隱藏狀態計算當前句子的摘要概率。接著,以摘要概率為權重,對句子向量進行加權平均,得到文本向量。最后,利用文本向量預測文本的類別。Isonuma等[12]認為,文本的類別可以被視為文本的粗糙摘要。若模型能根據文本向量準確預測文本類別,則說明模型具有抽取關鍵信息的能力。因此,可以將摘要概率較高的句子作為文本的摘要。該方法的優點在于利用文本分類任務增強模型的摘要能力。然而,該方法也存在一些缺點:(1)卷積神經網絡主要通過局部卷積操作捕捉文本中的局部特征,對長距離依賴關系的捕捉能力較弱;(2)卷積神經網絡的卷積操作對輸入的順序不敏感,在捕捉文本中的詞序信息方面存在局限;(3)基于 RNN 的編碼器-解碼器架構無法并行計算,且存在梯度消失和梯度爆炸的風險;(4)計算過程為單向操作,在計算當前句子摘要概率時,無法考慮后續句子的信息。

2019 年,Liu[13]首次將 BERT[14]應用于抽取式摘要任務,提出了名為 BERTSUM 的方法。即在每個句子前插入[CLS]詞元,句子后添加[SEP]詞元,最終將每個[CLS]對應的輸出視為每個句子的句子向量。Liu[13]采用了 3 種方式對句子進行分類:(1)連接線性層和 Sigmoid 函數,計算句子的重要性得分;(2)句子向量表示單獨接入 Transformer[15]進行分類;(3)將句子向量表示單獨接入 LSTM 進行分類。BERTSUM 的優勢在于充分利用了預訓練語言模型的強大特征提取能力。通過對輸入數據進行簡單的預處理和微調預訓練語言模型,便可完成抽取式摘要任務。此方法具有實現相對簡單、訓練代價較低等優點。然而,BERTSUM 也存在一定的缺陷,即需要將整篇文本一次性輸入到 BERT 中,當文本長度超出模型輸入限制時,則難以完成摘要任務。

2020 年,Zhong 等[16]提出了 MatchSum 模型,將摘要任務轉化為文本匹配任務。該模型利用預訓練語言模型對文本進行編碼,通過比較文檔上下文表示與真實摘要及候選摘要的上下文表示,計算相似度并更新參數。模型認為目標摘要與原文檔之間的相似度應最為接近,因此,當存在比目標摘要更接近原文檔的摘要時,計算損失并更新參數。文檔的候選集由多個句子的所有組合構成。為防止文檔句子過多導致組合爆炸,Zhong 等[16]采用 BERTSUM 進行粗略摘要,將部分不重要的句子剔除。在推理階段,選擇與原文檔語義相似度最高的候選摘要作為摘要結果。該算法的優點在于將摘要任務轉換為文本匹配任務,僅需將匹配得分最高的候選結果作為摘要答案。然而,該算法也存在一些缺點:(1)使用BERTSUM 進行粗略摘要,在處理長文本時,可能會截斷文本,導致信息丟失;(2)不適用于處理句子較多的文本,當文本句子數量較大時,候選摘要集規模也會很大,將增加計算成本。

2022 年,Shi 等[17]提出了一個基于星形架構的抽取式摘要模型 StarSum:首先,通過BERTSUM 生成每個句子的句子表示;其次,將句子表示與位置嵌入相加;再次,輸入星形 Transformer 進行文檔級編碼;最后,利用Sigmoid 函數對最后一層每個句子的輸出進行分類,從而得到文本摘要。星形 Transformer 由多個衛星節點和一個星節點組成,構成一個全連接的星形結構。在此結構中,文本序列中第i個句子的特征由第i個衛星節點的狀態表示。星形Transformer 包括環連接和基本連接兩種連接方式。衛星節點通過類似雙向 RNN 的環狀連接從其鄰居節點收集信息(其中,第一個和最后一個衛星節點相互連接),而星節點則通過基本連接從所有衛星節點獲取信息。衛星節點可以通過星節點以兩跳的方式實現信息的相互傳播。這種架構的優點在于提高了計算效率和處理長期依賴關系的能力。然而,其缺點在于利用 BERTSUM生成句子向量表示,在處理長文本摘要時,BERTSUM 可能會截斷文本,從而導致信息丟失。

3 基于 Transformer 編碼器的抽取式摘要算法

本文所提抽取式摘要模型由一個基于RoBERTa-Large[18]的句子向量生成模型和一個基于 Transformer 編碼器的句分類模型組成,最后接入全連接層進行二分類,得到句子重要性,文本摘要則由重要句子組成,如圖1~2 所示。

圖1 句向量生成模型Fig.1 Sentence vector generative model

圖2 抽取式摘要模型結構Fig.2 Extractive summarization model

3.1 基于預訓練語言模型的句子向量生成模型

抽取式摘要實際上可以建模為序列標注任務,核心思想是對文本中每個句子進行二分類,0 表示不重要,1 表示重要,所有標簽為 1 的句子組成文本摘要。使用預訓練語言模型處理文本分類問題常見的方式是在文本前插入[CLS]詞元,并使用該詞元所對應的輸出進行全連接分類。但裁判文書屬于長文本,其長度普遍超過常見預訓練語言模型的單次輸入長度,如BERT(512 個 token),甚至會超過一些可以處理長文本的預訓練語言模型的單次輸入最大長度,如 Longformer[19](4 096 個 token),因此無法使用在每個句子前插入[CLS]詞元,并以[CLS]詞元作為句子分類特征的方式。本文所用方法將抽取式摘要分解為句向量生成模型和句分類模型。

基于預訓練語言模型的句向量生成模型單次處理一個句子,將預訓練語言模型最后一層的輸出進行平均池化,得到句向量,最終裁判文書的表示為 。這種方式可以有效增加模型可處理文本長度,并減少內存需要,但無法對句向量生成模型進行微調。

3.2 基于 Transformer 編碼器的句分類模型

第 3.1 小節中用句子向量生成模型對每個句子單獨編碼,并不包含句子的上下文信息,而抽取式摘要需要考慮到上下文,因此不能直接對所生成的句向量進行分類。

對于一個給定的句子來說,它的輸入表示由句子向量、位置嵌入及長度嵌入求和得到。句子向量代表句子所包含的基本語義信息。位置嵌入代表句子在裁判文書中的位置,其中,每個位置對應一個可訓練向量。長度嵌入表示當前句子所包含的長度信息,將句子長度按區間劃分,每一個長度區間對應同一個可訓練向量,計算方式如公式(1)所示。其中, 為句子長度;interval為區間間隔,一般取 5 或 10;idx為區間下標,對應長度嵌入中具體的一個可訓練向量。

模型訓練過程分為 5 步:(1)將一個裁判文書中每個句子的句子向量、位置嵌入及長度嵌入求和,得到每個句子的輸入特征;(2)將裁判文書中所有句子輸入特征按順序拼接輸入由 Transformer 編碼器組成的文本級編碼器中;(3)通過多頭自注意力機制,從多維度融合句子上下文信息,生成句子的文本級表示;(4)通過全連接層對句子文本級表示進行二分類,得到句子重要性,0 表示不重要,1 表示重要;(5)計算損失,更新模型。句子輸入特征計算過程如公式(2)所示。

4 實驗分析與評估

4.1 數據集與評價指標

本文使用 CAIL2020 摘要數據集作為實驗數據,該數據集共收錄 13 531 份一審民事判決書,涵蓋了侵權責任、借款合同、繼承合同、勞動合同、租賃合同等多種民事糾紛類別。樣本中的裁判文書預先以多個句子劃分,每個句子均有是否重要的標簽,同時提供與之對應的全文參考摘要。文書字數平均為 2 586 個,其中,最長的一篇達 14 413 個字,所有文本長度超過 512 個字,99.7% 的文書長度超過 1 024 個字,63.4% 的文書長度超過 2 048 個字。平均每個文書包含 57 個句子,最多的一份達 496 個句子。每篇文書平均抽取 12 個句子作為摘要,最多抽取 69 個句子。每個句子平均包含 44 個字,最長的一個句子長達 640 個字。文書摘要字數平均為 791 個字,最長的一個摘要長達 3 790 個字。數據集中共包含782 879 個句子,其中,171 745 個句子為重要句子,611 134 個句子為非重要句子,即正負樣本的比例為 1∶3.55。該數據集屬于長文本摘要數據集。

數據集格式如表1 所示。其中,id 表示案例唯一標識;summary 字段表示人工總結的與文檔對應的全文參考摘要;text 字段是一個列表,按順序包含案例中每個句子,text 中的一個元素表示文本的一個帶標簽的句子,帶標簽的句子中包含 sentence 和 label;sentence 表示句子具體內容;label 表示這個句子是否重要,0 表示不重要,1 表示重要。本文所研究的方法為抽取式摘要算法,只用到 text 字段,summary 字段屬于生成式摘要所需標注的數據,對本文所研究方法作用不大,因此舍棄。

表1 司法摘要數據集格式Table 1 Legal summarization dataset format

鑒于將抽取任務轉化為對句子的分類任務,將F1作為評估指標,比精確率(Precision)和召回率(Recall)更能準確評價一個模型的好壞。F1指標如公式(10)所示。為了更好地與基線模型對比,本實驗還使用 ROUGE[20]指標,該指標包含多種度量摘要之間相似性的自動評估方法,是一種常用的文本摘要評價指標。ROUGE-N的召回率如公式(6)所示。

其中,PredSums 為預測摘要。ROUGE-L 的計算公式如公式(8)和公式(9)所示。

其中,LCS用于計算兩個字符串最長公共子串的長度;m為目標摘要長度;n為預測摘要長度。

本實驗的實驗超參數說明如表2 所示。Max_sent_len 表示句子向量生成模型所能處理的最大句子長度。Seq_len 表示句子分類模型能處理的最大句子數量。Pos_weight 和 Neg_weight表示正例和負例的權重,由于數據集中摘要句子的正負例失衡,負例數量是正例的 3.55 倍,因此,設置正負例權重糾正偏差。Interval 表示長度間隔,模型通過長度間隔引入句子的長度信息,具體做法是將處于相同長度區間內的句子映射到同一個可訓練的長度嵌入,具體如公式(1)所示。Layer 表示句子分類模型中 Transformer 編碼器的層數。

表2 實驗超參數Table 2 Hyperparameters in experiment

4.2 實驗結果

本文提出的模型將 RoBERTa-Large 作為句子編碼器,將多層 Transformer 編碼器結構作為句子分類模型,將抽取任務轉化為句子的分類任務,并且與無監督 TextRank 基線模型進行了對比,證明了該模型的有效性。此外,本文在抽取式摘要模型中引入了與長度相關的特征,進一步提升了模型效果。實驗結果如表3~5 所示,與基線模型相比,本文提出的抽取式摘要模型在ROUGE-1、ROUGE-2 和 ROUGE-L 指標上均有明顯提升。

表3 模型在不同長度間隔上實驗的結果Table 3 Experimental results of the model on differentlength intervals

4.3 討論與分析

經過數據分析發現,句子長度信息對句子重要程度有一定影響,因此,本實驗引入了句子長度信息。具體方式是將文本長度位于相同區間的文本共享同一個可訓練向量,并在文本輸入階段與句子嵌入、句子位置融合,得到句子向量。實驗結果如表3 所示,表中結果為 Transformer 編碼器為 4 層的實驗結果。由表3 可知,加入長度信息后,F1指標有一定提升。長度間隔為 5時,F1提升 2.586%;長度間隔為 10 時,F1提升2.706%??梢钥闯?,句子長度信息是抽取句子所需的重要信息之一。

為了選擇最優的 Transformer 編碼器層數,本研究進行了一系列實驗,針對 1~6 層分別計算了 Recall、Precision 和F1指標,結果如表4 所示。從表4 可以看出,隨著編碼器層數的增加,Precision 指標逐漸提高,而 Recall 指標則呈逐漸下降的趨勢。然而,F1指標與層數之間并沒有太大的相關性,這表明層數對模型的整體性能影響有限。在本實驗中,當編碼器層數為 4 時,模型在F1指標上取得了最佳效果。

表4 模型在不同 Transformer 編碼器層數上實驗的結果Table 4 Experimental results of the model on differentTransformer encoder layers

在與基線模型進行對比的實驗中,采用了ROUGE-1、ROUGE-2、ROUGE-L 指標,實驗結果詳見表5。其中,RoBERTa-Large-Transformer編碼器的 Transformer 層數為 4。

表5 模型與基準模型的指標對比Table 5 Comparison of metrics between the model and the baseline model

Lead-3 模型直接將文檔前 3 句話作為摘要,這種方式并不適用于重要信息比較均勻的法律文本,因此其指標并不高。

TextRank 在選擇召回分數最高的 15 個句子時表現最佳。由表5 可知,與無監督的 TextRank模型相比,RoBERTa-Large-Transformer 編碼器在3 個指標上均有較大提升。其中,ROUGE-1 的F1指標提升 16.44%;ROUGE-2 的F1指標提升21.87%;ROUGE-L 的F1指標提升 18.05%,3 個指標平均提升 18.79%。

BERTSUM 模型是 BERT 在抽取式摘要中的首次應用。其具體做法是在句子之前插入[CLS]詞元,在句子之后插入[SEP]詞元,通過預訓練語言模型提取特征,根據[CLS]詞元對應的輸出預測句子的重要性。然而,這種方法的缺點是輸入長度受到預訓練語言模型的限制。例如,BERT 僅能輸入 512 個詞元,而即使 Longformer和 Lawformer 極大程度地增加了模型的可輸入長度,數據集中依舊有超過一半的數據超出其長度限制。本實驗采用了截斷的方式來處理超出長度限制的部分。

基于 BERT 的 BERTSUM 模型在精確率方面具有較高的表現,但由于信息截斷的影響,其召回率較低,因此,F1值相對較低。相反,基于 Longformer 的 BERTSUM 模型具有較高的召回率,但精確率偏低,同樣導致F1值較低。與基于 Longformer 的 BERTSUM 模型相比,RoBERTa-Large-Transformer 編碼器在 ROUGE-1的F1指標上提升了 22.58%;在 ROUGE-2 的F1指標上提升了 26.42%;在 ROUGE-L 的F1指標上提升了 23.08%,3 個指標的平均提升為24.03%。

5 結 論

本文針對中文裁判文書摘要任務提出一種基于 Transformer 編碼器的抽取式摘要模型。該模型首先通過預訓練語言模型采用平均池化的方式為每個句子生成句嵌入;然后通過 Transformer編碼器將句子嵌入、句子位置嵌入及句子長度嵌入融合;最后通過全連接網絡對句子表示進行分類,從而完成抽取式摘要任務。本文所提出模型避免了直接將長文本輸入模型導致超出預訓練語言模型的最大輸入長度的問題,從而極大程度地擴大了摘要模型可處理的文本長度。此外,抽取式摘要算法將句子長度以區間劃分,并進行映射,從而使模型可以考慮句子的長度信息,提升模型效果。本文所提出的抽取式摘要算法在ROUGE-1、ROUGE-2、ROUGE-L 指標上均遠超過基線模型。

中文法律裁判文書的抽取式摘要任務仍處于早期探索階段,由于缺乏公開數據集,或是數據集中裁判文書種類不全,裁判文書屬于長文本,而常見的預訓練語言模型并不支持長文本等原因,該任務依然面臨著巨大挑戰。而從模型層面,長文本抽取式摘要仍有許多待解決的問題,例如:根據現在的分句標準,句子長度極其不均衡,一些句子長度過長,進行句子嵌入生成時,信息可能會被過度壓縮,導致語義信息丟失。而如果對句子進行更細致的分割,則又可能導致少部分文本句子數量過多,從而使得處于末尾部分的位置嵌入無法得到充分訓練,并會出現模型抽取少句子的文本效果好,而抽取多句子的文本效果差的情況。這些問題亟待進一步研究解決。

猜你喜歡
編碼器文書裁判
太行山文書精品選(17)
法官如此裁判
法官如此裁判
監獄執法文書規范探討
法律裁判中的比較推理
黑水城出土《宋西北邊境軍政文書》中“砲”類文書再討論
清代刑事裁判中的“從重”
基于FPGA的同步機軸角編碼器
基于PRBS檢測的8B/IOB編碼器設計
JESD204B接口協議中的8B10B編碼器設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合