戴非凡, 司衛(wèi)云, 倪進(jìn)平
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院, 上海 200093)
人工智能技術(shù)在司法領(lǐng)域的應(yīng)用最早出現(xiàn)于上世紀(jì)70年代,美國(guó)法律界提出“電腦輔助法律研究”(Computer-assisted legal research)的構(gòu)想,并依托硅谷等在數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等人工智能方面的突出優(yōu)勢(shì)和大膽創(chuàng)新,首次設(shè)計(jì)并研發(fā)了“法律機(jī)器人”(Lex Machine)[1]。近年來(lái),隨著人工智能技術(shù)在國(guó)內(nèi)的高速發(fā)展,中國(guó)法律科技市場(chǎng)也逐漸向人工智能與法律的結(jié)合上發(fā)展[2]。
中國(guó)傳統(tǒng)司法界存在文獻(xiàn)繁瑣,法規(guī)眾多,案件信息復(fù)雜,法官負(fù)擔(dān)重,判案效率低等問(wèn)題。其次,中國(guó)刑法采用相對(duì)確定的法制定刑,法官可在量刑幅度范圍內(nèi)行使自由裁量權(quán)[3],從而難以避免同案裁量的差異性。因此,如何高效、準(zhǔn)確、科學(xué)地設(shè)計(jì)一個(gè)公平公正的輔助量刑系統(tǒng)至關(guān)重要。運(yùn)用恰當(dāng)?shù)臋C(jī)器學(xué)習(xí)算法進(jìn)而構(gòu)建專家模型是司法領(lǐng)域亟需解決的問(wèn)題[4-5]。
然而,由于法律數(shù)據(jù)具有數(shù)量大、復(fù)雜化、多元化、速率快和不穩(wěn)定等特點(diǎn),導(dǎo)致基于機(jī)器學(xué)習(xí)算法的專家智能審判系統(tǒng)的建立尚處于起步階段。并且在國(guó)內(nèi),就機(jī)器學(xué)習(xí)與司法大數(shù)據(jù)的跨學(xué)科研究多數(shù)仍處于仿真或理論分析階段,缺乏較系統(tǒng)和成熟的技術(shù)支持。
因此,本文搭建了專家智能審判系統(tǒng),初步實(shí)現(xiàn)了將多種機(jī)器學(xué)習(xí)算法用于司法判案,利用FCM、PCA、DNN和嶺回歸等多種算法,設(shè)計(jì)了一套完整的高精度刑期預(yù)測(cè)模型,以減輕法官工作負(fù)擔(dān),同時(shí)減少量刑過(guò)程中的主客觀偏差和不公正現(xiàn)象。
本文處理的數(shù)據(jù)來(lái)源于貴州法院,整理了從2016年1月至2017年5月所涉及的“故意傷害罪”案件,此類案件共5 000多宗。通過(guò)數(shù)據(jù)分析可知,法律案件的刑期判罰范圍在0~240個(gè)月之間,跨度較大,若直接利用數(shù)據(jù)構(gòu)造單一的回歸模型會(huì)導(dǎo)致較大的刑期偏差。為了減小偏差,設(shè)計(jì)了如圖1所示的模型框架。專家系統(tǒng)的建立和刑期預(yù)測(cè)主要包括數(shù)據(jù)預(yù)處理、數(shù)據(jù)挖掘和刑期預(yù)測(cè)三個(gè)階段。研究可得闡釋分述如下。
(1)數(shù)據(jù)預(yù)處理階段:將采集的數(shù)據(jù)運(yùn)用CRF序列標(biāo)注模型和傳統(tǒng)規(guī)則方法相結(jié)合的方式進(jìn)行要素識(shí)別與提??;然后,清洗問(wèn)題數(shù)據(jù)并對(duì)特殊文本進(jìn)行類型轉(zhuǎn)化。
(2)數(shù)據(jù)挖掘階段:首先,利用模糊C均值聚類算法對(duì)預(yù)處理后的數(shù)據(jù)進(jìn)行模糊分析,為分類模型提供科學(xué)有效的標(biāo)簽;然后,利用PCA主成分分析法對(duì)已提取的案件要素進(jìn)行降維處理,減少計(jì)算復(fù)雜度;最后,利用深度神經(jīng)網(wǎng)絡(luò)對(duì)降維后的數(shù)據(jù)進(jìn)行訓(xùn)練,實(shí)現(xiàn)案件的分類。
(3)刑期預(yù)測(cè)階段:利用嶺回歸技術(shù)對(duì)各類案件進(jìn)行建模分析,通過(guò)建立可靠的專家智能審判系統(tǒng),進(jìn)而達(dá)到對(duì)判罰刑期進(jìn)行有效預(yù)測(cè)的目的。
圖1 故意傷害罪判罰刑期預(yù)測(cè)流程
模糊C均值算法(Fuzzy C-Means Algorithm, FCM)是通過(guò)考查樣本間的相互關(guān)系,分析隸屬度,對(duì)類與類之間有交叉的數(shù)據(jù)集進(jìn)行聚類[6]。通過(guò)引入隸屬度因子m,將類內(nèi)加權(quán)平均誤差和目標(biāo)函數(shù)推廣到無(wú)限族,并給出交替優(yōu)化(AO)算法,使得聚類結(jié)果更加客觀真實(shí)地反映事實(shí)[7]。
考慮到分類模型的訓(xùn)練過(guò)程必須是一個(gè)監(jiān)督學(xué)習(xí)的過(guò)程,因而,需要為每一個(gè)案件貼上模糊標(biāo)簽。而對(duì)于這類模糊數(shù)據(jù),運(yùn)用FCM算法將給樣本提供較科學(xué)的類別標(biāo)簽。對(duì)此流程中各步驟可闡述如下。
Step1隨機(jī)初始化模糊矩陣U,使每個(gè)樣本j對(duì)c個(gè)類中的每個(gè)類i都有一個(gè)初始隸屬度uij,并且滿足下式約束:
(1)
Step2定義FCM的目標(biāo)函數(shù)為:
(2)
其中,ci為每類的聚類中心,xj為樣本,m為隸屬度因子。
Step3將帶有等式約束(1)的目標(biāo)函數(shù)采用拉格朗日乘數(shù)法進(jìn)行轉(zhuǎn)化得到:
(3)
Step4分別對(duì)式(3)變量uij和ci求導(dǎo),令導(dǎo)數(shù)為零,進(jìn)而得到聚類中心ci和隸屬度矩陣uij的迭代公式為:
(4)
(5)
Step6若迭代次數(shù)大于最大迭代數(shù),則算法停止。
本文利用深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)實(shí)現(xiàn)對(duì)貴州法院故意傷害罪案件的分類,進(jìn)而構(gòu)建一個(gè)高精度的故意傷害罪的案件分類器。總地來(lái)說(shuō),首先運(yùn)用詞袋模型(Bag of Words)[8],將法律案件中各要素的文本信息轉(zhuǎn)化為計(jì)算機(jī)可理解的數(shù)據(jù)形式[9];然后使用主成分分析算法(Principal Component Analysis,PCA)[10],在保證準(zhǔn)確度的同時(shí),降低特征維度并提高模型構(gòu)建效率[11];最后實(shí)現(xiàn)DNN模型的構(gòu)造。
典型的深度學(xué)習(xí)模型(Deep Learning),是機(jī)器學(xué)習(xí)算法中一個(gè)重要的分支[12]。神經(jīng)網(wǎng)絡(luò)中最基本的單元為神經(jīng)元[13],研究給出的模型結(jié)構(gòu)如圖2所示,其輸入與輸出關(guān)系可表示為:
(6)
其中,ai表示第i個(gè)神經(jīng)元的輸入;wi表示對(duì)應(yīng)第i個(gè)神經(jīng)元的連接權(quán)重;θ表示神經(jīng)元閾值;f表示激活函數(shù);y表示神經(jīng)元的輸出。
將如上結(jié)構(gòu)的多個(gè)神經(jīng)元按照一定的層次結(jié)構(gòu)連接起來(lái),就得到了神經(jīng)網(wǎng)絡(luò),主要是由輸入層、隱藏層、輸出層組成。DNN就可以認(rèn)為是有很多隱藏層的神經(jīng)網(wǎng)絡(luò),如圖3所示。神經(jīng)網(wǎng)絡(luò)隱藏層的層數(shù)可以依照數(shù)據(jù)的復(fù)雜程度合理增減,以此提高模型的表達(dá)能力,但模型的復(fù)雜度也會(huì)隨著隱藏層層數(shù)的增加而增加。
圖2 神經(jīng)元模型
圖3深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
較常用且易于實(shí)現(xiàn)的線性回歸在處理例如本文的較高維數(shù)據(jù)時(shí)常會(huì)出現(xiàn)多重共線性問(wèn)題、求逆運(yùn)算不穩(wěn)定、模型解釋性較差、預(yù)測(cè)準(zhǔn)確性較低等問(wèn)題[14-16]。
分析可知,嶺回歸算法[17]是針對(duì)共線性數(shù)據(jù)分析的有偏估計(jì)的一種回歸方法,通過(guò)犧牲解的無(wú)偏性,以丟失部分信息、降低精度為代價(jià)獲得更加準(zhǔn)確的預(yù)測(cè)結(jié)果。同時(shí)因?yàn)橐肓藨土P項(xiàng),有效防止過(guò)擬合,提高模型的泛化性能[18]。嶺回歸目標(biāo)函數(shù)為:
(7)
其中,λ為正則化系數(shù)。將上式兩端對(duì)W求導(dǎo),得到最優(yōu)解W*為:
W*=(XTX+λI)-1XTy.
(8)
針對(duì)同樣呈現(xiàn)高維特性的故意傷害罪數(shù)據(jù),本文依據(jù)各案件的犯案要素,對(duì)每一類樣本基于該算法建立一種回歸分析模型來(lái)預(yù)測(cè)該類作案人員的刑期。
不同于普通的語(yǔ)料庫(kù)數(shù)據(jù),貴州法院故意傷害罪案件數(shù)據(jù)以虛擬編號(hào)的形式存儲(chǔ),其字典示例見(jiàn)表1。為了讓計(jì)算機(jī)能夠理解這類數(shù)據(jù),采用了詞袋模型對(duì)數(shù)據(jù)進(jìn)行有效編碼,其結(jié)果見(jiàn)表2,得到一個(gè)5 348×78的特征矩陣。表2中列表示案件要素,1表示該案件中存在該要素,0表示不存在。詞袋模型完成了對(duì)原始故意傷害罪案件文本要素到文本向量空間的映射。
表1 故意傷害罪案件要素字典示例
Tab. 1 Example of a dictionary of elements of intentional injury crimes
ID案件要素集12345?{102,101,102001,201,106001,…,202,201001,106,202004,101001}{102,101,201,106001,…,102005,201001,106,202004,101001,102005}{102,101,201,106001003,…,106,101001,104,102001,104004,106001}{102,101,201,106001003,202,…,101001,104,102001,104004,202002}{102,101,201,202,201002,106,…,104,102001,104004,106001,202004}……
本文將Xie-Beni (XB) 作為度量FCM聚類方法優(yōu)劣的評(píng)價(jià)指標(biāo),其表達(dá)式為:
(9)
式(9)表明,當(dāng)實(shí)現(xiàn)目標(biāo)函數(shù)極小化,同時(shí)滿足類間距離極大化,即不同類之間的樣本分散較開時(shí),聚類效果較好。
表2 故意傷害罪詞袋模型示例
實(shí)驗(yàn)中,分別運(yùn)用K-Means和FCM對(duì)預(yù)處理后的故意傷害罪案件的刑期進(jìn)行聚類,并將2種算法的聚類結(jié)果進(jìn)行了對(duì)比。在K-Means聚類實(shí)驗(yàn)中,設(shè)置最大迭代次數(shù)為1 000次,類別個(gè)數(shù)k為5;在FCM聚類實(shí)驗(yàn)中,設(shè)置最大迭代次數(shù)為100次,類別個(gè)數(shù)c為5,模糊(隸屬度)加權(quán)指數(shù)m依據(jù)經(jīng)驗(yàn)值取為2.0,XB為0.0565,效果如圖4所示,其中橫、縱坐標(biāo)均表示刑期(月數(shù)),紅色×表示FCM各類聚類中心,5種不同的顏色代表不同的類別。其中,表3是K-Means和FCM刑期聚類分布的平均偏差。由表3易見(jiàn),對(duì)于法律數(shù)據(jù),F(xiàn)CM聚類比K-Means聚類有更好的聚類效果,能夠?yàn)榉诸惼魈峁└煽康念悇e標(biāo)簽。
圖4 FCM聚類效果圖
表3 故意傷害罪案件聚類分布對(duì)比表
Tab. 3 Comparison table of cluster distribution of intentional injury crime cases
方法刑期聚類中心/月群聚案件個(gè)數(shù)/宗平均偏差距離/月K-Means1041801281723 6291 0821542372460.160.361.171.011.01FCM834631261743 3071 2672632652460.090.220.700.880.72
(1)PCA結(jié)果分析。經(jīng)統(tǒng)計(jì),貴州法院故意傷害罪案件數(shù)據(jù)共有不重復(fù)要素(屬性)78個(gè),研究將3.2節(jié)中的詞袋模型輸出作為PCA主成分分析的輸入,提取原始數(shù)據(jù)的85%主成分,即將78維的特征空間投影到35維的特征空間下,在保證數(shù)據(jù)特性的同時(shí)實(shí)現(xiàn)維數(shù)的約減,大大減少了計(jì)算開銷,使得數(shù)據(jù)更易使用,同時(shí)也能在一定程度上去除數(shù)據(jù)噪聲。
(2)DNN結(jié)果分析。本文提出的DNN分類器模型是基于TensorFlow深度學(xué)習(xí)框架構(gòu)建的。具體實(shí)現(xiàn)過(guò)程可闡釋如下。
首先,在DNN分類器訓(xùn)練前,將聚類得到的結(jié)果作為5 348個(gè)案件的真實(shí)類別標(biāo)簽,將這些帶有標(biāo)簽的數(shù)據(jù)作為DNN分類器訓(xùn)練的原始數(shù)據(jù),并基于交叉驗(yàn)證法隨機(jī)提取80%的數(shù)據(jù)量(4 278)作為DNN分類器模型的訓(xùn)練集,剩余的20%(1 070)作為測(cè)試集用于模型評(píng)估。
其次,分別對(duì)比實(shí)驗(yàn)了3層、4層、5層DNN模型后,最終選擇5層神經(jīng)網(wǎng)絡(luò)模型為本文的DNN分類器,具體網(wǎng)絡(luò)結(jié)構(gòu)見(jiàn)表4。其中,使用Relu()函數(shù)作為隱藏層的激活函數(shù);使用Softmax()函數(shù)作為輸出層的激活函數(shù);運(yùn)用Momentum算法作為反向傳播的優(yōu)化器,使其收斂速度更快,震蕩更小。
表4 DNN網(wǎng)絡(luò)結(jié)構(gòu)
在實(shí)驗(yàn)階段,為了突出DNN算法的有效性和優(yōu)越性,本文將其與經(jīng)典的SVM分類算法進(jìn)行了比較,結(jié)果見(jiàn)表5。分析可知,基于DNN算法的分類模型比基于SVM算法的分類模型具有更高的分類精度,能給案件提供更精準(zhǔn)的預(yù)判。最后統(tǒng)計(jì)分類結(jié)果中屬于各類的案件刑期的分布情況見(jiàn)表6,例如,分類結(jié)果屬于第一類的案件中,絕大部分案件的真實(shí)刑期分布在144~240個(gè)月之間。通過(guò)明確刑期分布區(qū)間,可為后續(xù)的建模分析奠定基礎(chǔ)。
表5 SVM與DNN分類算法效果對(duì)比圖
表6 各類案件刑期分布
將訓(xùn)練集依據(jù)FCM的結(jié)果分為5組不同類的案件。其中,屬于第一類的案件有280宗,屬于第二類的案件有233宗,屬于第三類的案件有237宗,屬于第四類的案件有1 308宗,屬于第五類的案件有3 290宗,并分別對(duì)這5組數(shù)據(jù)構(gòu)建回歸預(yù)測(cè)模型?;谑?8)求得的模型參數(shù)W*值可得多元線性回歸預(yù)測(cè)模型:
(10)
(11)
根據(jù)每一類的回歸模型,對(duì)測(cè)試集案例進(jìn)行刑期預(yù)測(cè),λ取為e-10,可以得到每一類案件的刑期預(yù)測(cè)模型見(jiàn)表7。
表7 各類案件刑期預(yù)測(cè)模型
將測(cè)試集分別輸入到對(duì)應(yīng)類別的回歸模型中得到每個(gè)案件的刑期預(yù)測(cè)值,并與實(shí)際值進(jìn)行比較,得到平均絕對(duì)值誤差(MAE),結(jié)果如圖5~圖9所示。其中,每幅子圖的橫坐標(biāo)表示屬于該類的案件個(gè)數(shù),縱坐標(biāo)表示每個(gè)案件對(duì)應(yīng)的刑期(月數(shù));圓形點(diǎn)(藍(lán)色)表示每個(gè)案件的實(shí)際刑期,三角形點(diǎn)(紅色)表示每個(gè)案件的預(yù)測(cè)刑期。從圖5~圖9可以看出,整體案件的預(yù)測(cè)刑期與真實(shí)刑期大致接近。
圖5 第一類案件刑期預(yù)測(cè)結(jié)果
圖6 第二類案件刑期預(yù)測(cè)結(jié)果
圖7 第三類案件刑期預(yù)測(cè)結(jié)果
圖8 第四類案件刑期預(yù)測(cè)結(jié)果
圖9 第五類案件刑期預(yù)測(cè)結(jié)果
最后,通過(guò)對(duì)比了嶺回歸(Ridge)、Lasso回歸、線性回歸(LR)、前向逐步回歸(FSR)這幾種較常用的經(jīng)典回歸預(yù)測(cè)算法的MAE,結(jié)果如圖10所示,明顯發(fā)現(xiàn)嶺回歸算法更適用于本文設(shè)計(jì)的基于故意傷害罪司法數(shù)據(jù)的專家智能審判系統(tǒng)預(yù)測(cè)模型的構(gòu)建。
圖10 各預(yù)測(cè)模型預(yù)測(cè)刑期偏差對(duì)比圖
Fig. 10 Comparison of predictive models for predicting sentence deviation
本文結(jié)合幾種典型的機(jī)器學(xué)習(xí)算法,如模糊C均值聚類算法、主成分分析技術(shù)、深度神經(jīng)網(wǎng)絡(luò)和嶺回歸算法等,針對(duì)貴州法院故意傷害罪案例數(shù)據(jù),設(shè)計(jì)并構(gòu)建專家智能審判系統(tǒng),進(jìn)而對(duì)判罰刑期做出精準(zhǔn)預(yù)測(cè),為輔助判案提供理論依據(jù)。并利用真實(shí)案例加以驗(yàn)證,得出本文搭建的模型能夠以較小的偏差對(duì)判案刑期進(jìn)行有效預(yù)測(cè),為司法工作注入前所未有的創(chuàng)造力。下一步,將針對(duì)樣本分布不均勻等問(wèn)題,在數(shù)據(jù)處理和算法上進(jìn)一步改進(jìn),構(gòu)建預(yù)測(cè)精度更高的專家系統(tǒng)模型。