劉博陽,李尚,葉麟,張宏莉
(哈爾濱工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,哈爾濱 150001)
隨著法律知識的普及,人們習(xí)慣于使用法律手段解決問題,導(dǎo)致了需要被解決的各類案件數(shù)目逐年增長,這無疑給法律工作者帶來了巨大的壓力。近些年,有很多學(xué)者開始研究法律領(lǐng)域的人工智能,在判決預(yù)測,案件分類等方面取得了很多成就。然而相似案件推薦的算法研究較少,由于相似的案件往往有著相似的判決結(jié)果,尋找相似案例對法務(wù)工作者乃至普通大眾都有參考意義,因此本文著眼于此,提出了一種基于法律要素的模型來提高相似案例推薦的準確性。
相似案例推薦,即在給定一個判決文書的情況下,找出在法律角度上與之相似的案件。從本質(zhì)上來說,此問題還屬于文本相似度的研究,然而案件的相似并不是簡單的文本相似,而是挖掘文本中所包含的法律要素的相似,這就導(dǎo)致了單純使用文本相似度計算方法并不能找到高度相似的法律案件。
綜上,本文提出了一種由要素引導(dǎo)的神經(jīng)網(wǎng)絡(luò)模型來形成案件文本的向量表示,然后利用該向量表示計算兩兩案件的余弦相似度,并返回相似度最高的一系列案例作為給定案件的相似案例。本文在真實的故意傷害罪數(shù)據(jù)集上進行了實驗,發(fā)現(xiàn)返回的相似案例要優(yōu)于常用的文本相似度計算方法。
在歐美等實施判例法的國家中,每一個案件的判決中都會引用以往的判決案件作為新案件判決的依據(jù),因此,案件之間就會構(gòu)成一個引文網(wǎng)絡(luò)。Opijnen 使用網(wǎng)絡(luò)度統(tǒng)計和結(jié)構(gòu)屬性提取相關(guān)文件的法律域名領(lǐng)域[1];Wagh等人提出了利用案例引證網(wǎng)絡(luò)節(jié)點的中心性和介數(shù)性來尋找印度法院判決相似性的方法[2];Minocha等人定義了一個法律角度的離散度,用于衡量兩個案例的相鄰案例集合的相似度,進而發(fā)現(xiàn)引文網(wǎng)絡(luò)中相似的案例[3]。
基于引文的相似性的法院案件在法律領(lǐng)域無疑具有非常重要的意義,但是案例引證圖通常非常稀疏,因此基于機器學(xué)習(xí)和自然語言處理的方法被提出[4-5];Ashley等人利用基于案件特征的最近鄰算法計算案件相似度[6];Carneiro等人在采用基于詞頻的貝葉斯統(tǒng)計方法對法律案例的相似度進行計算[7]。
隨著word embedding 的出現(xiàn),信息檢索已經(jīng)轉(zhuǎn)向了神經(jīng)信息檢索。Xia等人利用法律的文本語料庫訓(xùn)練word2vec 模型,用于計算法律文本的相似度[8];Vo 也表示基于詞嵌入的文本語義表示對法律文本檢索領(lǐng)域很有幫助[9]。但這些方法都忽視了對法律領(lǐng)域知識的使用,因此本文從法律要素的角度將領(lǐng)域知識結(jié)合到文本的向量表示中,使得模型能夠從法律要素的層面尋找相似案例。
本文提出了相似案例推薦模型,該模型的整體框架如圖1 所示。首先將案例輸入到一個神經(jīng)網(wǎng)絡(luò)中,用案件中包含的法律要素作為標簽訓(xùn)練網(wǎng)絡(luò),并利用輸出層前一層輸出的向量作為案例的向量表示,由于在訓(xùn)練過程中包含了語義信息和要素信息,因此利用該向量可以很好的表示一個案件的語義信息和案件中所包含的法律要素情況,本文利用該向量計算任意兩個案件之間的余弦相似度,最終返回相似度最高的K個案件最為推薦的相似案例。
圖1 相似案例推薦模型整體框架圖Fig.1 Overall framework of similar case recommendation model
預(yù)測要素標簽的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖2 所示。整個網(wǎng)絡(luò)分為5 層,分別為詞嵌入層、語義嵌入層、兩個全連接層和一個輸出層。
圖2 法律要素預(yù)測模型Fig.2 Legal element prediction model
詞嵌入層的輸入是經(jīng)過分詞,去除停用詞等預(yù)處理操作之后的文本,該文本可以表示為式(1):
其中,wi代表分詞后的短語或詞組。經(jīng)過詞嵌入層后,wi會被映射到語義空間中形成向量,式(2):
在這一步中,詞向量的轉(zhuǎn)化采用word2vec 實現(xiàn)。進一步地,為了使文本能夠?qū)W習(xí)上下文的語義信息,本文采用了基于循環(huán)神經(jīng)網(wǎng)絡(luò)的語義嵌入層,式(3):
在接下來的兩個全連接層中,第一個全連接層的輸出維度即案件的向量表示維度,該層的輸出不僅被當作下一個全連接層的輸入,也用于形成一個案件的向量表示,被進一步用于相似案例推薦,式(4):
第二個全連接層的輸出維度與法律要素的類別數(shù)相同,用于預(yù)測法律要素,式(5):
由于預(yù)測法律要素屬于多標簽分類問題,本文在輸出層中采用sigmoid函數(shù),式(6):
本文使用的損失函數(shù)為交叉熵損失函數(shù),其計算公式(7)為:
本文根據(jù)故意傷害罪相關(guān)法律條文中規(guī)定的法律要素和數(shù)據(jù)集中法律要素出現(xiàn)的次數(shù),選取了出現(xiàn)次數(shù)較多的前35 個要素作為標簽,這些標簽都是結(jié)合人工觀察與正則表達式抽取出來的,具體的法律要素見表1。
表1 故意傷害罪相關(guān)法律要素Tab.1 Legal elements of intentional injury
本文中使用的數(shù)據(jù)集是從中國裁判文書網(wǎng)中爬取的,該數(shù)據(jù)集中一共有2 148 篇判決文書,其罪名均為故意傷害罪。在尋找相似案例的時候,本文使用的并不是完整的判決文書作為輸入,而是使用判決文書中案情描述的部分作為輸入。
在預(yù)測法律要素的模型中,本文比較了RNN 模型及其幾種常見的變體,包括LSTM、GRU、BiGRU以及采用attention 機制的BiGRU。在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中,隱藏層的輸出維度均為128,均采用adam 作為優(yōu)化器,學(xué)習(xí)率設(shè)置為0.001,第一個全連接層的輸出為200 維。
在相似度計算的對比模型選取中,本文主要采用了4 種常用的用于計算文本相似度的無監(jiān)督模型,tf-idf、word2vec、doc2vec和結(jié)合tf-idf的word2vec作為對比實驗,其中結(jié)合tf-idf的word2vec 是將一個單詞的tf-idf 的值作為word2vec的權(quán)重,進而獲得句子的向量表示。
由于缺乏刑事類相似案件的數(shù)據(jù)集,并且司法領(lǐng)域也并沒有明確的規(guī)定表明滿足什么條件的兩個案件可以稱為相似案件,即相似案例的判定并不存在一個充要條件。但由于中國司法領(lǐng)域?qū)︻惏割惻械囊螅嗨瓢咐呐袥Q結(jié)果應(yīng)當相似,即判決結(jié)果的相似是相似案例的必要條件。因此,本文擬采用這個必要條件對模型進行測評。在司法領(lǐng)域中,判決結(jié)果主要是罪名、相關(guān)法律條文和刑期,本文分別給出這3 個方面的相似度計算公式。
對于罪名而言,相似案例都具有相同的罪名,罪名維度的相似性計算公式可以表示為式(8):
由于法律條文是一個集合,這里借用杰卡德系數(shù)來計算兩個案件法律條文維度的相似性,式(9):
刑期都是采用整數(shù)表示的,為了便于計算,本文將刑期的單位統(tǒng)一成月份,刑期相似度計算函數(shù)為式(10):
最終,兩個案件的相似度的綜合計算為公式(11):
由于本文使用的數(shù)據(jù)集都是在同一罪名下的數(shù)據(jù),因此式(11)變?yōu)槭剑?2):
相似案例推薦屬于信息檢索范疇,本文采用信息檢索領(lǐng)域常用的DCG(Discounted cumulative gain)作為評價指標,其基本思想是對信息檢索返回的p個結(jié)果分別進行打分,并將這些結(jié)果的分數(shù)求和,得到p個返回結(jié)果的綜合得分。該指標主要有兩點假設(shè),第一是返回的結(jié)果中,越相關(guān)的結(jié)果排在越前面越好,另一點是打分高的結(jié)果比打分低的結(jié)果好。該指標的計算公式(13)如下:
其中,p代表返回的相似案例的個數(shù);i代表返回案件的順序;reli代表返回的第i個相似案例與給定案例的相似度程度;這里的reli即為本文中用于計算兩個案件相似性得分的sim(D1,D2) 的值。
首先給出法律要素預(yù)測模型的準確率、召回率和F1 分數(shù),其具體數(shù)值見表2。
表2 法律要素預(yù)測模型效果Tab.2 Experimental results of legal element prediction
本文比較了5 種不同的語義嵌入層模型,發(fā)現(xiàn)BiGRU+attention 的效果最好,因此本文采用該模型生成的向量作為案例文本的向量表示。
本文的模型與基線模型的效果對比見表3。其中,DCG@5,DCG@10,DCG@20 分別代表返回的前5 個,前10 個和前20 個案例的DCG 的值??梢钥闯觯疚哪P驮趯ふ蚁嗨瓢咐男Ч媳绕渌P陀忻黠@的提高。
表3 相似案例推薦模型效果Tab.3 Experimental results of similar legal case recommendation
本文中模型對給定案例返回的前5 個相似案例的結(jié)果見表4。其中,粗體下劃線的部分為案件涉及到的法律要素,返回的案例中包含的法律要素基本與給定案例相符合,其中返回的第二個案例與給定案例有著極高的相似性,所有返回案例涉及到的相關(guān)法律條文有一定誤差,但刑期誤差都較小。
表4 某具體案例的相似案例推薦情況Tab.4 Similar legal case recommendation for a specific case
本文提出了一種相似案例推薦算法,該算法利用法律要素作為標簽訓(xùn)練神經(jīng)網(wǎng)絡(luò),并利用網(wǎng)絡(luò)結(jié)構(gòu)中學(xué)習(xí)到法律要素信息的輸出層的前一層的輸出向量作為一個案例的向量表示,本文利用該向量計算任意一對案件的相似度,找出相似度最高的案例集合作為給定案例推薦的相似案例。本文的算法取得了良好的效果,但法律要素預(yù)測模型的F1 分數(shù)不高,今后的研究方向是設(shè)計網(wǎng)絡(luò)來提高法律要素預(yù)測的準確性,進一步提高相似案例推薦的精度。