許梓濤,黃炳森,潘微科,明 仲
(深圳大學(xué) a.大數(shù)據(jù)系統(tǒng)計(jì)算技術(shù)國家工程實(shí)驗(yàn)室,b.人工智能與數(shù)字經(jīng)濟(jì)廣東省實(shí)驗(yàn)室(深圳),c.計(jì)算機(jī)與軟件學(xué)院,廣東 深圳 518060)
隨著司法體制改革的推進(jìn),我國有關(guān)政法領(lǐng)域的各項(xiàng)改革任務(wù)逐步完成,司法體系正不斷得到完善。而隨著改革的推進(jìn),“類案不同判”現(xiàn)象成為改革中一塊難啃的“硬骨頭”。為了解決該問題,我國最高人民法院早在2010年11月便出臺(tái)了《最高人民法院關(guān)于案例指導(dǎo)工作的規(guī)定》。但作為普適性文件,指導(dǎo)書無法全面涵蓋各類案件,同時(shí)各個(gè)基層法官對案件的解讀不同,對法律裁判尺度的把握也可能存在差異,“類案不同判”的問題仍得不到很好地解決?;谠摫尘?,大數(shù)據(jù)、人工智能等現(xiàn)代信息技術(shù)開始應(yīng)用于司法體系,輔助司法人員進(jìn)行“類案同判”,進(jìn)而提高司法公信力,保證司法公正并提升司法效率[1]。
類案是指與待決案件在基本事實(shí)、爭議焦點(diǎn)、法律適用問題等方面具有相似性且經(jīng)人民法院裁判生效的案件[2]。類案匹配和推薦則是利用深度學(xué)習(xí)等人工智能技術(shù)對案件裁判文書進(jìn)行智能分析,進(jìn)而在數(shù)據(jù)庫中找到類案,達(dá)到對比分析輔助判案的目的。進(jìn)行類案匹配和推薦的研究,能提高分析和匹配大量法律文本的效率,減少法官查找相似案件的時(shí)間,提高工作效率。
現(xiàn)有常用的類案推薦方式主要有三種[1]:1) 根據(jù)關(guān)鍵詞進(jìn)行檢索(如輸入“民間借貸”檢索查詢相關(guān)的案件);2) 選擇標(biāo)簽進(jìn)行檢索,其中標(biāo)簽的設(shè)置較為寬泛(例如借貸、故意殺人、醉駕、入室盜竊等與案件相關(guān)的標(biāo)簽);3) 利用詞頻統(tǒng)計(jì)等初級的自然語言處理和文本匹配算法進(jìn)行類案匹配。上述三種類案推薦方法的優(yōu)點(diǎn)是查找速度快、運(yùn)行效率高。但都缺乏對文本上下文信息和局部重點(diǎn)信息的提取和建模。
為了解決這一問題,本文提出了一種基于上下文感知的類案匹配和推薦方法(context-aware similar case matching and recommendation,CASCMR).通過雙向LSTM(Bi-LSTM)[3]獲取法律文本的上下文信息,確保模型能從兩個(gè)方向上捕獲文本序列信息。之后利用CNN獲取文本的局部信息,從而捕獲文本中的重點(diǎn)法律信息。訓(xùn)練時(shí)通過多文本間的比對來提高模型在類案匹配上的精度,得到的模型可以實(shí)現(xiàn)端到端的類案推薦。
本文主要貢獻(xiàn)如下:
1) 提出了一個(gè)新的基于上下文感知的類案匹配和推薦模型,能同時(shí)解決法律人工智能中的匹配和推薦問題。
2) 根據(jù)中國“法研杯”2018(CAIL2018)的數(shù)據(jù)集,構(gòu)建了一個(gè)新的三元組法律文本數(shù)據(jù)集,可用于類案推薦任務(wù)的訓(xùn)練與測試。
3) 將本文提出的模型應(yīng)用于CAIL2019的相似案件匹配任務(wù),與目前最好的方法相比,匹配精度的提升效果較為明顯。
本文提出的模型是文本匹配技術(shù)在法律人工智能中的應(yīng)用,下面將對相關(guān)工作進(jìn)行介紹。
文本匹配是自然語言處理中的一項(xiàng)基本任務(wù)。法律人工智能中的許多任務(wù)可以描述為文本匹配問題,如法律問答、類案匹配等。用于文本匹配的深度學(xué)習(xí)模型可以分為三類:基于單語義文檔表達(dá)的深度學(xué)習(xí)模型、基于多語義文檔表達(dá)的深度學(xué)習(xí)模型和直接建模匹配模式的深度學(xué)習(xí)模型[4]。
單語義模型使用孿生網(wǎng)絡(luò)架構(gòu)[5],即利用CNN、RNN等深度學(xué)習(xí)模型進(jìn)行獨(dú)立編碼,之后在輸出的高維度向量上構(gòu)建分類器以預(yù)測輸出結(jié)果。編碼的獨(dú)立性使得模型可以提前計(jì)算并存儲(chǔ)文本向量,從而提高運(yùn)算速度,但單語義模型忽略了句子的局部結(jié)構(gòu),且無法處理長序列文本。
為了解決單語義模型的缺點(diǎn),多語義文檔表達(dá)模型綜合考慮了文本的局部信息(如單詞、短語等)和全局信息(如句子、段落等),從多個(gè)粒度獲取文本向量表達(dá),從而彌補(bǔ)了單語義模型在學(xué)習(xí)文本表征過程中信息丟失的問題[6-9]。因此,多語義模型不僅具備單語義模型的優(yōu)點(diǎn),而且能從多個(gè)粒度捕捉文本信息,增強(qiáng)模型對長序列文本的處理能力。本文提出的CASCMR模型就是參考多語義模型進(jìn)行設(shè)計(jì)的。
上述兩種模型都注重優(yōu)化單個(gè)文本的語義表達(dá)能力,而不能識(shí)別可用于匹配文本的有用信息。直接建模匹配模型則考慮編碼過程中文本對之間的交互[8,10-12],它們結(jié)合文本對的特征,使編碼器能專注于對匹配任務(wù)最有用的特征。但是,因?yàn)闊o法對文本進(jìn)行預(yù)先編碼和存儲(chǔ),所以存在耗時(shí)的缺點(diǎn)。
法律人工智能(legal artificial intelligence,LegalAI)主要專注于應(yīng)用人工智能技術(shù)來幫助解決法律任務(wù)。人工智能與法律的結(jié)合,不但使該領(lǐng)域的工作者受益匪淺,也使人們能獲得更多的法律援助。近年來,LegalAI在法律判決預(yù)測、法律問答、類案匹配等方向取得了一定的研究與應(yīng)用成果[13]。
法律判決預(yù)測是根據(jù)案件的事實(shí)描述和法律法條內(nèi)容來預(yù)測判決結(jié)果[14-18]。最新的研究大多會(huì)考慮法條預(yù)測、刑期預(yù)測和判決預(yù)測間的相互關(guān)系[19-20],并根據(jù)三者之間的關(guān)系進(jìn)行建模。法律問答則注重回答法律領(lǐng)域的問題,為非法律專業(yè)人士提供可靠的法律咨詢服務(wù)[21-24]。類案匹配與推薦則是本文研究的問題,相關(guān)內(nèi)容在引言中已做出介紹。
中國“法研杯”2019相似案例匹配評測競賽[25]主要是針對多篇法律文書進(jìn)行相似度的計(jì)算和判斷。具體而言,對于每份文書提供的事實(shí)描述文本,需要從兩篇候選文書中找到與查詢文書更為相似的一篇文書。本文的類案匹配任務(wù)和相關(guān)數(shù)據(jù)集與該競賽一致。
類案推薦任務(wù)是在類案匹配任務(wù)的基礎(chǔ)上進(jìn)一步提出來的,目標(biāo)是從包含多篇文書的法律文本庫中,找到與查詢文書最為相似的若干篇文書。
本文提出了一個(gè)基于上下文感知的類案匹配和推薦模型,下面首先給出問題的定義,然后介紹模型的網(wǎng)絡(luò)架構(gòu),最后討論如何將模型用于類案匹配和推薦任務(wù)。
本文主要研究法律人工智能中的類案匹配和推薦問題。在訓(xùn)練時(shí),給定一個(gè)四元組的集合{(da,db,dc,y)},其中da是錨文本,db和dc是樣本數(shù)據(jù),而y∈{0,1}是標(biāo)簽。如果y=0,表示da與db的相似度大于da與dc的相似度,即sim(da,db)>sim(da,dc).反之,當(dāng)y=1時(shí),sim(da,db) 2.1.1類案匹配 類案匹配的目標(biāo)是,給定一個(gè)三元組的集合{(da,db,dc)},判斷錨文本da與待匹配文本db和dc中的哪一個(gè)文本更加相似。 2.1.2類案推薦 類案推薦的目標(biāo)是,對于給定的查詢文本dq,從法律文本庫D中找到與dq最相似的若干個(gè)文本。 本文提出的基于上下文感知的類案匹配和推薦模型的架構(gòu)主要包括3層:編碼層(又稱詞嵌入層)、上下文信息提取層和局部語義特征提取層。模型采用三元組的形式作為輸入,包括錨點(diǎn)、正樣本(類案)和負(fù)樣本(非類案)。文本輸入后先經(jīng)過編碼層進(jìn)行詞嵌入,再經(jīng)過文本信息提取層進(jìn)行特征提取,文本信息提取層又可分為上下文信息提取層和局部語義特征提取層,最后通過損失函數(shù)來實(shí)現(xiàn)類案靠攏和非類案遠(yuǎn)離的效果。CASCMR的架構(gòu)如圖 1所示,下面對各層進(jìn)行詳細(xì)介紹。 圖1 上下文感知類案匹配和推薦模型架構(gòu)示意圖Fig.1 Illustration of the architecture of the context-aware similar case matching and recommendation model 2.2.1基于BERT的詞嵌入 相比其他用于詞嵌入的深度神經(jīng)網(wǎng)絡(luò)(例如LSTM[26]、ELMO[27]等),兩階段模型BERT[28]具有更好的普適性,其中第一個(gè)階段是利用語言模型進(jìn)行預(yù)訓(xùn)練,第二階段通過微調(diào)(fine-tuning)的方式解決下游任務(wù),讓它能更適用于案情復(fù)雜的法律文本。此外,BERT的每層自注意力網(wǎng)絡(luò)均是雙向結(jié)構(gòu),能更好地建模法律文本上下文的語義信息,捕獲文本長距離依賴信息。因此,使用BERT模型對文本進(jìn)行編碼。同時(shí),為了讓BERT更適用于法律文本領(lǐng)域,使用了基于中文民事文本預(yù)訓(xùn)練的民事文本BERT[29].對于輸入的四元組法律文本數(shù)據(jù){(da,db,dc,y)},分別求取文本da、db和dc的詞嵌入向量, xwdai=BERT(da,i),xwdai∈R1×k, (1) xwdbj=BERT(db,j),xwdbj∈R1×k, (2) xwdcm=BERT(dc,m),xwdcm∈R1×k, (3) 式中:k是BERT模型的隱藏層數(shù)量。Nda、Ndb和Ndc分別代表文本da、db和dc中的token數(shù)量。 最終,通過BERT詞嵌入模型,可以得到文本的詞嵌入向量: Xda=[xwda1;…;xwdaNda]∈RNda×k). (4) Xdb=[xwdb1;…;xwdbNdb]∈RNdb×k). (5) Xdc=[xwdc1;…;xwdcNdc]∈RNdc×k). (6) 2.2.2基于Bi-LSTM的上下文信息提取 在這一層中,使用雙向LSTM(Bi-LSTM)模型對文本的詞嵌入向量Xda、Xdb和Xdc進(jìn)行更深層次的特征提取。利用Bi-LSTM對序列中長距離依賴信息的捕捉能力來實(shí)現(xiàn)對文本的上下文信息的提取。 LSTM是RNN的一種特例,相比最原始的RNN單元,LSTM通過增加記憶單元來緩解長序列數(shù)據(jù)訓(xùn)練時(shí)所產(chǎn)生的梯度消失問題,適用于序列數(shù)據(jù)的信息提取。LSTM的結(jié)構(gòu)[26]如圖2所示。 圖2 LSTM網(wǎng)絡(luò)架構(gòu)Fig.2 Illustration of the architecture of LSTM 其中,At是LSTM在t時(shí)刻的計(jì)算單元,xt為當(dāng)前時(shí)刻的詞嵌入向量輸入,vt-1為收到的上一時(shí)刻LSTM的輸出值,ct-1為上一時(shí)刻的單元狀態(tài),每個(gè)單元中LSTM通過遺忘門、輸入門和輸出門來共同保護(hù)和控制每個(gè)神經(jīng)單元的狀態(tài),可以有效提取序列數(shù)據(jù)中的信息。但是,LSTM是沿序列信息方向單向進(jìn)行的,只能建模一個(gè)方向的序列信息。 Bi-LSTM[3]包含一個(gè)正向LSTM和一個(gè)反向LSTM,并在兩個(gè)方向上捕獲信息,能夠更加有效地提取文本的上下文信息,其結(jié)構(gòu)如圖3所示。 圖3 Bi-LSTM網(wǎng)絡(luò)架構(gòu)Fig.3 Illustration of the architecture of Bi-LSTM 圖3中Bi-LSTM從兩個(gè)方向處理輸入的嵌入向量,并得到如下向量: (7) (8) (9) 于是,通過Bi-LSTM模型,我們可以得到包含上下文信息的文本特征: (10) (11) (12) 2.2.3基于CNN的局部語義特征提取 除了對文本的上下文信息進(jìn)行提取,還對文本的局部信息進(jìn)行提取。這里采用了對文本局部信息抽取能力較為出色的TextCNN[30]模型。 TextCNN[30]是CNN在自然語言領(lǐng)域中的一個(gè)應(yīng)用,其網(wǎng)絡(luò)架構(gòu)和經(jīng)典的CNN模型類似,文本局部特征的抽取能力較強(qiáng),具有效果好、速度快等優(yōu)點(diǎn),其網(wǎng)絡(luò)架構(gòu)[30]如圖4所示。 圖4 TextCNN網(wǎng)絡(luò)架構(gòu)Fig.4 Illustration of the architecture of TextCNN 這里TextCNN的輸入是Bi-LSTM提取后的特征文本矩陣Vda、Vdb和Vdc.在池化過程中,采取了最大池化加平均池化的方法,從而更大程度地保留文本特征,而拼接后的最終文本特征不再像傳統(tǒng)TextCNN中的一樣直接用于分類,而是用來表征法律文本。 經(jīng)過第i個(gè)卷積核卷積后得到的特征向量為: (13) (14) (15) (16) (17) (18) 最大池化可以表示為: (19) (20) (21) (22) (23) (24) 另外,曾嘗試將BERT學(xué)習(xí)到的詞嵌入向量、雙向LSTM學(xué)習(xí)到的向量和CNN學(xué)習(xí)到的向量這3種向量進(jìn)行多種組合搭配(包括拼接),并作為最終的文本特征。而實(shí)驗(yàn)結(jié)果表明,使用BERT以及雙向LSTM和CNN結(jié)合起來逐層學(xué)習(xí)的向量作為最終的文本特征能夠取得最好的效果。 在這一層中,利用從TextCNN網(wǎng)絡(luò)中得到的向量對模型進(jìn)行訓(xùn)練,之后利用相同的網(wǎng)絡(luò)去計(jì)算查詢文本dq與法律文本庫中的文本di的距離,最后根據(jù)距離進(jìn)行排序,選出與dq最相似的若干個(gè)法律文本。 2.3.1Triplet損失函數(shù) Triplet損失函數(shù)[31]的輸入是一個(gè)三元組,刻畫的是兩個(gè)候選文本與查詢文本之間的距離差。為了方便說明,這里假設(shè)文本da與文本db的相似程度要大于文本dc. 在模型訓(xùn)練時(shí),通過最小化Triplet損失函數(shù)使得查詢文本da與兩篇候選文本中相似的文本db越來越相似,而與不相似的文本dc越來越不相似。 具體來說,Triplet損失函數(shù)輸入的參數(shù)是一個(gè)三元組向量,包括錨點(diǎn)向量、正樣本向量和負(fù)樣本向量,具體的計(jì)算公式如(25)所示。其中dis(Uda,Udb)是錨點(diǎn)與正樣本的距離,dis(Uda,Udc)是錨點(diǎn)與負(fù)樣本的距離,并通過間隔(margin)增加類間距離。 L=max(dis(Uda,Udb)-dis(Uda,Udc)+margin,0). (25) 本文選擇Triplet損失函數(shù),使得相似文本間的特征Uda與Udb更加接近,不相似文本間的特征Uda與Udc更加遠(yuǎn)離,這樣有利于更好地表征不同的文本,讓文本能夠直接嵌入到向量空間中。這樣,不僅能實(shí)現(xiàn)案件之間進(jìn)行比較的任務(wù),也便于后續(xù)進(jìn)行類案推薦。 2.3.2類案匹配 由于已經(jīng)獲取了文本最終的表征向量Uda、Udb和Udc,因此可以通過計(jì)算兩兩之間的文本相似度來進(jìn)行類案匹配。 文本間的相似度可以用向量間的二范數(shù)來度量: dis(Uda,Udb)=‖Uda-Udb‖2. (26) dis(Uda,Udc)=‖Uda-Udc‖2. (27) 其中,如果dis(Uda,Udb) 2.3.3類案推薦 完成模型訓(xùn)練之后,使用相同結(jié)構(gòu)的網(wǎng)絡(luò),計(jì)算輸入的法律文本dq與文本庫D中的法律文本的距離: Eqi=‖Udq-Udi‖2,i∈{1,…,|D|}. (28) 然后根據(jù)得到的距離值Eqi進(jìn)行排序,并根據(jù)需要推薦的法律文本數(shù)量進(jìn)行案件推送。 需要說明的是,由于文本庫D中的文本是確定的,因此只需要在開始時(shí)對文本庫D進(jìn)行一次計(jì)算,將表征出來的文本向量Udi保存下來。在進(jìn)行推薦時(shí),只需要對查詢文本dq進(jìn)行表征,得到Udq后再求與Udi的距離,并進(jìn)行排序即可完成類案推薦。本文的方法不需要每次都將所有案件經(jīng)過線性層計(jì)算相似度,因此,在效率上會(huì)明顯優(yōu)于傳統(tǒng)的方法,在實(shí)際應(yīng)用中能夠較好地保證實(shí)時(shí)性。 為了驗(yàn)證本文提出的方法的有效性,我們將其應(yīng)用到CAIL2019數(shù)據(jù)集上進(jìn)行類案匹配和推薦。 本文使用的是中國人工智能與法律2019類案匹配第二階段比賽的數(shù)據(jù)集(CAIL2019-SCM).數(shù)據(jù)集包含8 138條由“民間借貸”相關(guān)案件組成的四元組{(da,db,dc,y)},數(shù)據(jù)集的劃分如表1所示。每個(gè)案件均摘自中國裁判文書網(wǎng),案件內(nèi)容一般分為原被告信息、原告訴求、事實(shí)陳述和法院裁決4個(gè)部分,案件字?jǐn)?shù)范圍為500~800字。 表1 數(shù)據(jù)集劃分Table 1 Dataset partition 因?yàn)镃AIL2019-SCM數(shù)據(jù)集沒有包含案件罪名、刑期、法條等方面的標(biāo)簽,所以無法對類案推薦結(jié)果進(jìn)行直接評估。但是,類案匹配和類案推薦在編碼層和文本信息提取層的架構(gòu)是一樣的,只在最后的全連接輸出層存在差異,所以可以利用類案匹配的準(zhǔn)確率來評估模型性能,進(jìn)而評估類案推薦的效果。 在詞嵌入層,由于訓(xùn)練使用的數(shù)據(jù)是中文法律文檔,屬于民事案件,所以使用了OpenCLaP[29]中獲得的預(yù)訓(xùn)練BERT模型,該模型使用2 654萬件民事案件進(jìn)行了預(yù)訓(xùn)練。由于BERT只能處理長度不超過512的序列,因此使用尾部截?cái)鄟硖幚磔斎胄蛄?,這是因?yàn)楹竺娴奈谋就ǔ0男畔⒏唷T谑褂肂ERT時(shí),保持了模型默認(rèn)的超參數(shù)。 將BERT的隱藏層數(shù)量k設(shè)置為768, LSTM的隱藏層數(shù)量k2設(shè)置為256,CNN卷積核個(gè)數(shù)k3設(shè)置為64×3,采用3種區(qū)域大小不同的卷積核{(lán)3,4,5}進(jìn)行卷積,每種區(qū)域大小的卷積核有64個(gè);設(shè)置epoch的范圍為{4,6,8,10},批處理的范圍為batch size∈{16,20,24,32},優(yōu)化學(xué)習(xí)率的范圍設(shè)置為learning rate∈{2×10-5,3×10-5,5×10-5}.其中批處理的值需要根據(jù)顯存大小進(jìn)行選擇,本文中使用的數(shù)據(jù)集CAIL2019-SCM相對較小,所以epoch可以選擇較大的值,從而提高內(nèi)存利用率,且能獲得更加準(zhǔn)確的梯度下降方向。而learning rate與batch size的大小密切相關(guān),當(dāng)調(diào)大批處理大小時(shí),也需按比例調(diào)高優(yōu)化學(xué)習(xí)率的大小,從而使收斂更加穩(wěn)定。參數(shù)的范圍和數(shù)值選擇如表2所示。 表2 實(shí)驗(yàn)過程中超參數(shù)的設(shè)置范圍Table 2 Ranges of the values for the hyper-parameters to be tuned in the experiments 使用Adam[32]對模型進(jìn)行優(yōu)化,采用權(quán)重衰減代替L2正則化。相比Adam,通過AdamW能得到更好的訓(xùn)練損失和泛化誤差。此外,使用NVIDIA Apex實(shí)現(xiàn)混合精度訓(xùn)練,用于加快訓(xùn)練過程。訓(xùn)練時(shí)使用兩塊NVIDIA Tesla V100 GPU,其顯存大小為32 GB. 本文所涉及的源代碼和腳本可從https:∥github.com/zitaozz/CASCMR獲得。 表3展示了基準(zhǔn)模型(CNN、LSTM和BERT)、CAIL2019比賽相似案件匹配任務(wù)前3名(AlphaCourt、11.2yuan和backward)[25]以及本文模型CASCMR的實(shí)驗(yàn)結(jié)果,表格數(shù)據(jù)為模型的預(yù)測準(zhǔn)確率(百分比顯示)。為了便于與比賽結(jié)果直接進(jìn)行比較,實(shí)驗(yàn)中僅使用準(zhǔn)確率作為評價(jià)指標(biāo)。 表3 模型在CAIL2019-SCM數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 3 Experimental results of the models on CAIL2019-SCM 對于基準(zhǔn)算法中的CNN和LSTM,實(shí)驗(yàn)中先使用GloVe進(jìn)行詞嵌入,然后分別經(jīng)過CNN層和LSTM層,再進(jìn)行最大池化,得到特征h,最后用一個(gè)帶有softmax激活函數(shù)的線性層來計(jì)算相似度,并使用交叉熵作為損失函數(shù)。對于BERT,則是直接使用預(yù)訓(xùn)練好的中文BERT模型編碼,得到特征h,后面同樣經(jīng)過線性層計(jì)算相似度。 線性層的相似度計(jì)算公式如下: S(Aj)=softmax(exp(hAWhj)),j=B,C. (29) 從這個(gè)公式中,也可以很清晰地看到,對于基準(zhǔn)算法,其相似度計(jì)算需要對兩篇文本進(jìn)行兩兩交互,因此在進(jìn)行類案推薦時(shí),由于數(shù)據(jù)庫中文本較多,會(huì)導(dǎo)致很大的時(shí)間開銷,很難進(jìn)行實(shí)際應(yīng)用,而本文設(shè)計(jì)的模型能夠很好地解決這一問題。 從表3中可以看出,在測試集上相比基準(zhǔn)模型提高了5%~6%,且比目前最好的方法提高了1.08%.實(shí)驗(yàn)結(jié)果說明,模型通過提取上下文信息、提取局部特征和修改損失函數(shù)等方法,能提高法律文本的語義表征能力,使模型能學(xué)習(xí)更多文本間的相關(guān)性信息,進(jìn)而提高匹配精度。 為了驗(yàn)證主要模塊的作用,在數(shù)據(jù)集CAIL2019-SCM上設(shè)計(jì)了多個(gè)消融實(shí)驗(yàn)來評估模型的性能: 1) 探究特征提取對模型精度的影響,使用缺少特征的數(shù)據(jù)訓(xùn)練模型,即只使用BERT進(jìn)行編碼,觀察模型預(yù)測的準(zhǔn)確率。通過基于成對偏好假設(shè)的方式進(jìn)行訓(xùn)練。 2) 探究局部語義特征提取對模型精度的影響,去掉模型中的CNN網(wǎng)絡(luò),訓(xùn)練模型,觀察模型預(yù)測的準(zhǔn)確率。 3) 探究上下文信息提取對模型精度的影響,去掉模型中的Bi-LSTM網(wǎng)絡(luò),訓(xùn)練模型,觀察模型預(yù)測的準(zhǔn)確率。 消融實(shí)驗(yàn)的結(jié)果如表4所示。 表4 消融實(shí)驗(yàn)結(jié)果Table 4 Results of ablation studies 由表4可以看到,使用BERT編碼后的特征直接計(jì)算的結(jié)果并不理想,而如果在BERT編碼基礎(chǔ)上增加CNN和LSTM進(jìn)行更深層次的特征抽取,能有效提升模型預(yù)測的準(zhǔn)確率。對比基準(zhǔn)模型,LSTM是通過捕獲法律文本上下文信息來提高模型對法律文本的表征能力,而CNN是通過突出局部關(guān)鍵法律文本信息從而提高模型對法律文本的辨識(shí)能力。從表4中可以看出CNN的特征抽取效果要略優(yōu)于LSTM,而如果將兩者結(jié)合則準(zhǔn)確率能提升8%~10%. 數(shù)據(jù)集從CAIL2018-small[33]中生成,數(shù)據(jù)為三元組(A,B,C),用于類案匹配任務(wù)。數(shù)據(jù)集共分為兩類,分別包含92 322和69 741條數(shù)據(jù),共計(jì)162 063條數(shù)據(jù)。 CAIL2018-small處理前包含10個(gè)屬性,共151 254條數(shù)據(jù),只取其中的fact(事實(shí)陳述)、accusation(罪名)、relevant articles(相關(guān)法條)3個(gè)屬性,之后對數(shù)據(jù)進(jìn)行篩選:1) 去掉多罪名數(shù)據(jù),2) 選擇fact字?jǐn)?shù)在150~600的數(shù)據(jù),3) 去除重復(fù)的數(shù)據(jù)。 篩選后,數(shù)據(jù)包含190個(gè)罪名,共計(jì)92 325條數(shù)據(jù)。完成上面的操作后,定義了兩類數(shù)據(jù)(分別記為category1和category2):1) 第一類數(shù)據(jù)僅根據(jù)accusation(罪名)屬性進(jìn)行劃分,即法律文本A和B的罪名相同,法律文本A和C的罪名不同;2) 第二類數(shù)據(jù)根據(jù)accusation(罪名)和relevant-articles(相關(guān)法條)屬性進(jìn)行劃分,其中A、B的relevant-articles為單法條,C的relevant-articles為多法條,使得法律文本A和B的罪名和法條都相同,而法律文本A和C的罪名相同但法條數(shù)量不同,從而確保A和B之間的相似度大于A和C之間的相似度。 將上述數(shù)據(jù)集按8∶1∶1比例隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集和測試集。 CASCMR模型使用自定義數(shù)據(jù)集(CAIL2018-CASCMR)得到類案推薦結(jié)果,從圖5-圖8中可以判斷模型推薦的案例與查詢案例高度相關(guān)。但僅靠觀察難以評估模型的性能,為此把CASCMR應(yīng)用到類案匹配任務(wù)中,測試其匹配精度,從而確定模型的推薦性能。 表5展示了本文提出的模型在CAIL2018-CASCMR數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,表格數(shù)據(jù)為模型進(jìn)行類案匹配時(shí)的預(yù)測準(zhǔn)確率。 表5 模型在CAIL2018-CASCMR數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 5 Experimental results of the model on CAIL2018-CASCMR 從表5的結(jié)果可以知道,CASCMR可以精準(zhǔn)區(qū)分不同罪名的案例,準(zhǔn)確率達(dá)到了99.14%.在同罪名不同法條的易混淆案例上的準(zhǔn)確率也能達(dá)到95.53%,總的準(zhǔn)確率達(dá)到了98.67%.說明本文的模型對易混淆(同罪名不同法條)案例具有很好的辨別能力,因此在類案推薦上也能對相關(guān)案例進(jìn)行精準(zhǔn)推薦。 由于在CAIL2018-CASCMR數(shù)據(jù)集中,負(fù)樣本的罪名或法條與查詢案件不同,因此相比案件類型均為“民間借貸”的CAIL2019-SCM數(shù)據(jù)集更容易區(qū)分開來,且從數(shù)據(jù)集大小來看模型能夠得到更加充分的訓(xùn)練,因此準(zhǔn)確率也就更高了。 由于模型具有表征法律文本的特性,不難知道越相似的法律文本表征后在向量空間中就越接近,由此可以對所有向量進(jìn)行排序,將與輸入文本特征向量最接近的前若干個(gè)向量選取出來,并記錄它們對應(yīng)的文本,以及判決結(jié)果,然后返回給用戶。 模型訓(xùn)練完成之后,在實(shí)際應(yīng)用時(shí)并不需要每次都將所有案例重新進(jìn)行特征抽取??梢允褂糜?xùn)練后的模型,預(yù)先對所有法律文本進(jìn)行表征,將它們轉(zhuǎn)換為向量,并保存在本地。在實(shí)際應(yīng)用時(shí),只需要對新輸入的文本用訓(xùn)練好的模型進(jìn)行特征抽取,然后將該特征和已保存的特征向量進(jìn)行比較。 下面對類案推薦結(jié)果進(jìn)行分析。在完成對文本的所有表征后,選用的測試樣例如圖5所示,可以看到案例關(guān)鍵信息包括“無申報(bào)通道進(jìn)境,無書面向海關(guān)申報(bào),被海關(guān)關(guān)員截查”、“偷逃應(yīng)繳稅款人民幣216.90元”等。 圖5 查詢案件Fig.5 Query case 經(jīng)過計(jì)算和排序得到的前3個(gè)類案分別如圖6、圖7、圖8所示。 圖6 類案1Fig.6 Similar case 1 圖7 類案2Fig.7 Similar case 2 圖8 類案3Fig.8 Similar case 3 在此案件中,可見前3個(gè)相似案件的關(guān)鍵字都為“無申報(bào)通道進(jìn)境,無書面向海關(guān)申報(bào),被海關(guān)關(guān)員截查”,偷逃應(yīng)繳稅款金額較為接近。推薦的類案均為海關(guān)走私相關(guān)的案件,經(jīng)驗(yàn)證,這些案件的罪名、依據(jù)法條也都一致,且刑期接近,富有較高的參考價(jià)值。 針對類案匹配和推薦中存在的效率和準(zhǔn)確率低的問題,本文提出了一個(gè)基于上下文感知的類案匹配和推薦模型。該模型使用多語義文檔表達(dá)框架,通過文本向量的預(yù)計(jì)算,進(jìn)而提高文本匹配的效率。同時(shí),模型通過Bi-LSTM和CNN處理文本,分別提取文本的上下文序列信息和局部信息,用于提高模型的預(yù)測性能。實(shí)驗(yàn)結(jié)果驗(yàn)證了本文提出的模型的有效性。之后,針對法律文本的長文本、半結(jié)構(gòu)等的特點(diǎn),我們計(jì)劃嘗試其他文本壓縮和特征提取的方案,以進(jìn)一步提高文本的表征能力,進(jìn)而提升模型的準(zhǔn)確率。2.2 上下文感知類案匹配和推薦框架
?i∈{1,…,Nda} .
?j∈{1,…,Ndb}.
?m∈{1,…,Ndc} .2.3 訓(xùn)練預(yù)測
3 實(shí)驗(yàn)結(jié)果與分析
3.1 數(shù)據(jù)集
3.2 評價(jià)指標(biāo)和模型參數(shù)
3.3 實(shí)驗(yàn)結(jié)果與分析
3.4 消融實(shí)驗(yàn)
3.5 類案推薦數(shù)據(jù)集
3.6 實(shí)驗(yàn)結(jié)果和分析
4 總結(jié)