殷 敏,李曉輝,李常寶,顧平莉,張 可,呂守業(yè)
(1.華北計算技術研究所,北京 100083; 2.北京遙感信息研究所,北京 100011)
隨著新興科技的不斷發(fā)展和進步,各個行業(yè)的數(shù)據(jù)量都在飛速增長,司法領域也不例外。當今社會作案手段變化多端,導致案件越來越復雜,同時刑偵手段也越來越完善,案件數(shù)據(jù)量也隨之增加[1-2]。而案件復雜度的提升、數(shù)據(jù)的大量增長,也給司法工作帶來了更多的挑戰(zhàn),法官在適應信息化帶來的新變化過程中,也面臨更多的困境[3]:一是案件日趨復雜,裁判結果難以把握和統(tǒng)一;二是案件相關資料繁多,對案件事實的梳理和校核難度較大。法律判決預測技術在一定程度上緩解了上述問題,是智能法律助理制度的一項關鍵技術。一方面,它為律師、法官等專業(yè)人員提供方便的參考,提高工作效率[4]。另一方面,它可以避免不同法官之間判罰尺度不統(tǒng)一導致的判決偏差,有效解決同案不同判、類似案件不類似處理的問題[5-6]。
法律判決預測[7]是指機器依據(jù)案件事實描述來預測判決結果的技術,是法律界特別是大陸法系最為關鍵的技術之一,因此幾十年來一直受到人工智能研究者和法律界人士的廣泛關注。法律判決預測的研究由來已久,早期的研究工作通常側重于使用數(shù)學和統(tǒng)計算法分析特定場景中的現(xiàn)有法律案例。近年來隨著人工智能技術的快速發(fā)展,利用自然語言處理等機器學習方法進行法律判決預測成為主要的研究方向。機器學習方法效果雖好,但其模型在預測結果解釋方面沒有較明確的體現(xiàn)。一方面,如深度神經(jīng)網(wǎng)絡或復雜的模型等,這種類型的方法通常具有較高的準確性,然而這些方法模型的內(nèi)部原理和機制卻難以理解,也無法得到特征對模型預測結果的影響力。另一方面,像線性回歸和決策樹之類的簡單模型通常有更好的可解釋性,但其預測能力通常是有限的,準確性較低。這就導致了現(xiàn)有的法律判決預測研究通常具有較高的準確性,而無法對預測結果的原因給出合理的解釋說明,缺少決策的支撐依據(jù)。
針對上述問題,為解決法律判決預測中存在預測結果解釋說理不足的問題,并為判決預測的結果提供一個可參考的影響因素分析,本文基于法律案件智能裁判,以預測結果影響因素為研究對象,利用自然語言處理、大數(shù)據(jù)等新興科學技術,融合中文分詞技術、支持向量機技術(SVM)[8-10]和解釋預測統(tǒng)一框架(SHAP)[11],提出一種法律判決預測的影響因素分析方法。該方法從法律判決預測和判決結果的影響因素分析2個方面展開:首先根據(jù)輸入的案件涉嫌事實,構建一個綜合規(guī)范化的法律判決預測模型,實現(xiàn)對法律案件判決罪名的預測;其次是在法律判決預測模型的前提下,搭建法律判決預測模型的影響因素分析框架,對模型進行科學的分析處理,得到案件不同特征值對模型預測結果的影響力大小,從而為決策結果提供一個可解釋說理的結論。
本文所用的數(shù)據(jù)集為“中國法研杯”司法人工智能挑戰(zhàn)賽(CAIL2018)數(shù)據(jù)集[12]。CAIL2018收錄了中國最高人民法院公布的260多萬件刑事案件,與法律判決預測工作使用的其他數(shù)據(jù)集相比,CAIL2018的規(guī)模更大,數(shù)據(jù)量為其他數(shù)據(jù)集的數(shù)倍。此外,CAIL2018對判決結果的注釋更加詳細和豐富,每個案例都由事實描述和相應的判決結果2部分組成,判決結果包括適用的法律條款、罪名和刑期,這些都是根據(jù)案件的事實描述來推斷的。CAIL2018可作為專業(yè)人員提高工作效率的參考,對法律智能系統(tǒng)的研究具有一定的參考價值。CAIL2018數(shù)據(jù)集中的一個實例如表1所示。
表1 CAIL2018的一個實例
數(shù)據(jù)預處理可以提高數(shù)據(jù)的質(zhì)量,讓數(shù)據(jù)適應模型,匹配模型的需求,從而有助于提高后續(xù)學習的精度和能力。本文以法律案件的事實描述為輸入,首先對輸入的一段文字描述進行分詞,然后將得到的分詞轉(zhuǎn)化為詞向量以便機器進行處理。
對文本的分詞處理采用jieba工具[13],為提高分詞的準確率,實驗在分詞過程中自定義了一個司法相關的詞典。首先從CAIL2018數(shù)據(jù)集中獲取案件事實描述的字段,對其進行清洗,剔除特殊字符。然后加載自定義的司法詞典和jieba工具自帶的詞典生成Trie樹,基于Trie樹結構進行快速詞圖掃描,生成事實描述中漢字所有可能的成詞結果所構成的有向無環(huán)圖(DAG)。然后采用動態(tài)規(guī)劃法查找最大概率路徑,得到分詞結果。對于不在詞典中的詞,則采用隱馬爾可夫模型(HMM)進行新詞發(fā)現(xiàn)。文本分詞框架如圖1所示。
圖1 文本分詞框架
輸入文本的分詞完成后,本文采用詞嵌入[14]的方法對分好的詞進行詞向量表示[15-16]。詞向量將所有的詞向量化,可以較好地表達不同詞之間的相似和類比關系,越相似的詞在向量空間上的夾角越小,這樣詞與詞之間就可以定量地去度量它們之間的關系,以便接下來機器的處理。實驗采用Word2vec工具來生成詞向量,Word2vec工具中的模型為淺而雙層的神經(jīng)網(wǎng)絡,用來訓練以重新建構語言學的詞文本。網(wǎng)絡以詞來表現(xiàn),并且猜測相鄰位置的輸入詞,在Word2vec中詞袋模型假設下,詞的順序是不重要的。
訓練完成之后,Word2vec模型可用來映射每個詞到一個向量,可用來表示詞與詞之間的關系,該向量為神經(jīng)網(wǎng)絡的隱藏層。詞量化表示過程如圖2所示。
完成數(shù)據(jù)預處理后,得到輸入的案情描述相關的詞向量,隨后實驗對得到的詞向量進行機器學習,生成一個可解釋的法律判決預測模型。
實驗使用支持向量機(SVM)技術[8,17],對數(shù)據(jù)進行學習。SVM是一種二分類模型,它的基本模型是定義在特征空間上的間隔最大的線性分類器。SVM的學習策略就是使間隔最大化,實質(zhì)上就是求解凸二次規(guī)劃的問題,也等同于最小化正則化的合頁損失函數(shù)的問題。綜合上述討論內(nèi)容,SVM的學習算法就是求解凸二次規(guī)劃的最優(yōu)化算法,支持向量機(SVM)的線性學習算法步驟如下:
圖2 詞向量框架
輸入:訓練模型所要的處理后的數(shù)據(jù)集T={(x1,y1),(x2,y2),…,(xN,yN)},其中,xi∈Rn,yi∈{+1,-1},i=1,2,…,N。
輸出:分離超平面和分類決策函數(shù)。
1)選取適當?shù)膽土P參數(shù)C>0,構造并求解凸二次規(guī)劃問題:
(1)
其中,0≤αi≤C,i=1,2,…,N。
根據(jù)公式(1)得到最優(yōu)解:
2)分類間隔計算:
3)求分離超平面:
w*·x+b*=0
求分類決策函數(shù):
f(x)=sign(w*·x+b*)
可解釋機器學習在近幾年慢慢成為了機器學習的重要研究方向。作為數(shù)據(jù)科學家需要防止模型存在偏見,且?guī)椭鷽Q策者理解如何正確地使用模型。越是嚴苛的場景,越需要模型提供證明它們是如何運作且避免錯誤的證據(jù)[18]。在許多應用中,除了要求模型要達到一定的準確率,理解一個模型為什么會作出某種預測也十分重要。然而,現(xiàn)在大型數(shù)據(jù)集的高準確率往往是由結構復雜的黑盒模型實現(xiàn)的,得到的結果也難以解釋,例如集成或深度學習模型,在準確性和可解釋性之間形成了一種不平衡關系[19-21]。近幾年,不少研究者提出了各種不同的方法來解決這個問題。但是,這些方法大都缺乏所需屬性,無法良好地運用于法律判決預測影響因素分析。針對這個問題,有研究者提出了一個解釋預測統(tǒng)一框架SHAP,為每個特征指定一個特定預測的重要值[22],該值可在模型輸出結果的基礎上對結果進行影響因素分析,在一定程度上增強模型的解釋說明能力。
上文中實驗得到的法律判決預測模型,其模型就存在黑盒特性,無法對其為什么輸出該預測結果進行合理的說明。針對現(xiàn)有法律判決預測過程中普遍存在預測結果說理不足等問題[23-24],本文借鑒SHAP框架的方法,將其運用于法律判決預測,在基于SVM法律判決預測模型的基礎上,對每個法律案件的預測結果進行影響因素分析,將影響預測結果的重要特征進行抽取,在一定程度上解決了該領域一直以來的黑盒性問題[25],為法律工作者提供一個有效的參考依據(jù)。
關于模型的解釋性,對于復雜模型,如集成方法或深度網(wǎng)絡,因為它不容易理解,因此不能使用原始模型作為自己的最佳解釋。相反,必須使用一個更簡單的解釋模型,即原始模型的任何可解釋的近似模型來給出合理的結果解釋。SHAP實際上是用Python開發(fā)的一個“模型解釋”包,可以解釋任何機器學習模型的輸出結果,它是在合作博弈論的啟發(fā)下構建的一個近似的解釋模型,使用博弈論中的經(jīng)典Shapley值及其相關擴展將最佳信用分配與本地解釋聯(lián)系起來。對于每一個數(shù)據(jù)樣本,SHAP模型都產(chǎn)生一個預測值(SHAP value)來反映該樣本中每個特征的影響力。
假設第i個樣本為xi,第i個樣本的第j個特征為xij,模型對該樣本的預測值為yi,整個模型的基線(通常是所有樣本的目標變量的均值)為ybase,那么SHAP value服從以下等式:
yi=ybase+f(xi1)+f(xi2)+…+f(xik)
其中f(xij)為xij的SHAP值。直觀上看,f(xi,1)就是第i個樣本中第1個特征對最終預測值yi的貢獻值,當f(xi,1)>0,說明該特征提升了預測值,有正向作用;反之,說明該特征使得預測值降低,有反作用。
傳統(tǒng)的feature importance只告訴哪個特征重要,但人們并不清楚該特征是怎樣影響預測結果的。SHAP value最大的優(yōu)勢是SHAP不僅能反映出每一個樣本中的特征的影響力,而且還表現(xiàn)出影響的正負性。將其運用到法律判決預測中,則能體現(xiàn)出案件描述中哪些因素在預測中起到?jīng)Q定性的正向作用,從而得出該預測結果是有依據(jù)且可靠的,在一定程度上對結果做了解釋說明。
在本章中,將法律判決預測模型與基線的性能進行比較,并對模型的輸出預測結果提供影響因素的分析結果。本文使用3種度量標準來評估基線模型,包括在分類任務中廣泛使用的準確度(Acc)、宏精度(MP)和宏召回(MR)。為了評估模型的性能,本文將法律判決預測模型與以下3種經(jīng)典的文本分類方法進行比較:FastText、CNN、LSTM。實驗結果對比如表2所示。在法律判決預測的基礎上,本文還對模型預測結果的重要影響因素進行了科學的分析,通過將復雜模型擬合為簡化的近似模型對預測結果的影響因素進行分析,輸出了樣本中影響力較大特征,某一樣例的影響因素分析結果如圖3所示。
表2 實驗結果對比
圖3 影響因素樣例
實驗結果表明:在現(xiàn)有的數(shù)據(jù)集上,本文的模型在準確率的性能上明顯優(yōu)于其他基線,它表明了本文所提出的方法的有效性和健壯性。與傳統(tǒng)的分類任務模型相比,本文的方法更重視數(shù)據(jù)預處理,使數(shù)據(jù)更加適應模型的需求,并充分利用SVM良好的學習能力和較低的泛化錯誤率,在基線的基礎上實現(xiàn)了很好的改進。此外,本文的方法對模型的預測結果進行了科學的影響因素分析,使樣本中每個特征所分配到的SHAP value值,能反映出每一個樣本中特征的影響力情況,為模型的決策提供支撐依據(jù)。根據(jù)以往法律判決預測中普遍存在的模型內(nèi)部原理和機制難以理解,導致無法得到特征對模型預測結果的影響力的情況,本文提出的法律判決預測的影響因素分析方法可以有效地解決模型黑盒效應,從而針對法律判決預測結果給出相應的影響因素分析結果,在一定程度上對預測結果進行解釋說理,有效地為執(zhí)法人員在處理案件時提供了決策依據(jù)。
本文首先對法律判決預測技術的歷史背景與現(xiàn)狀進行了研究分析,針對現(xiàn)有技術現(xiàn)狀下法律判決預測結果影響因素說理不足的問題,提出了一種法律判決預測的影響因素分析方法。法律判決預測的影響因素分析方法重點實現(xiàn)法律判決預測技術和預測結果影響因素分析2項關鍵技術。首先,對輸入的法律事實描述通過分詞與詞向量表示進行數(shù)據(jù)預處理。然后基于支持向量機技術進行模型構建,依據(jù)案件事實描述實現(xiàn)法律判決預測。最后,采取解釋預測統(tǒng)一框架SHAP對模型進行科學擬合分析,根據(jù)SHAP value值的大小得到對結果影響力較大的特征,為決策提供解釋說理的依據(jù)。實驗結果表明,法律判決預測的影響因素分析方法可以有效地對法律判決預測結果的影響因素進行科學的分析,通過特征值的影響力大小反映預測結果的可解釋性。下一步工作,將從2個方面展開:一方面進一步提高法律判決預測的準確性,另一方面對案件的罪名、法律條款和刑期進行多任務學習預測[26-27]。