李昊泉 史夢凡 陳舒楠


摘 ?要: 幾年前,機器學習在司法方面的應用被提出并得到迅速發展。本文通過對判決文書的學習,將訓練出的模型以文本分類的方式,用于協助辦案人員進行罪名預測:1、在權威網站爬取大量判決文書,進行信息預處理后,提煉出較為精煉的文本數據和罪名標簽;2、對文本進行分詞、結構化處理、構成詞匯表并與相應的詞向量進行1對1映射;3、應用谷歌的Tensorflow搭建卷積神經網絡,設置參數,訓練模型并測試;4、反復調整參數后,改進優化算法,使分類效果理想。最終分類準確率在95%以上。
關鍵詞: 卷積神經網絡;文本分類;罪名預測;分詞;優化算法
中圖分類號: TP183 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.04.049
本文著錄格式:李昊泉,史夢凡,陳舒楠,等. 卷積神經網絡在案件分類上的應用[J]. 軟件,2019,40(4):222225
【Abstract】: Several years ago, application of machine learning in judicial field was proposed and developed rapidly. Through judgment documents study, the article applies trained model for assisting case handlers in crime prediction with text categorization: 1. collect a large number of judgment documents on authoritative websites, after preprocessing information, extract refined text data and accusation labels; 2. carry on word segmentation and structural processing of texts to form vocabulary, map with corresponding word vectors 1 to 1; 3. construct convolution neural network with Google's Tensorflow, set parameters, train model and test; 4. after adjusting parameters repeatedly, improve and optimize algorithm to make classification effect ideal, and final classification accuracy is over 95%.
【Key words】: Convolutional neural network; Text classification; Crime prediction; Word segmentation; Optimization algorithm
0 ?引言
近年來,機器學習飛速發展,尤其在自然語言處理、文本分類方面,人工智能應用廣泛。其中,卷積神經網絡(CNN)不僅在圖像領域取得了很大的成就,近年來在文本分類方向也大放異彩[1]。
當前對案件的定性普遍由人工進行,使用機器學習搭建經濟類犯罪案件偵查系統后,有利于增強調查者的能力,可以有效縮短偵查程序的過程,從而提高案件處理效率。
我們計劃選取近年來頻發的經濟類案件作為訓練數據,在中國裁判文書網上爬取判決文書作為訓練材料,訓練完成的模型可以對輸入的案件陳述進行快速分類,達到罪名預測的目的。執法機關可以在案件定性時結合相關人員的意見進行快速且準確的判斷。為此,我們將設想付諸實現。
1 ?相關技術介紹
1.1 ?中文分詞
中文分詞在自然語言處理中的重要作用不言而喻,主要包含三個過程:文本預處理、文本特征提取、分類模型構建。判決文書具有嚴謹、準確等特征,因此本項目將重點放在文本預處理上。預處理過程中最重要的是分詞,我們選擇使用基于統計的分詞方法[2-3]。該方法主要統計上下文中字符與字符相鄰出現的概率,兩字符相鄰出現的概率越高,它們聯合起來恰好組成一個詞語的概率也越大。中文中組成詞匯的幾個字常一同出現,由此來達到分詞的效果。
迄今為止,中文分詞已經有許多較為成熟的工具包,如jieba、pynlpir、scseg等。本文選取的jieba工具具有多種分詞模式,對案件文書分詞有良好的效果[4]。
1.2 ?文檔、詞項矩陣
分詞完成后需將數據結構化處理才能進行下一步分析,本項目中所采用的結構化處理方式為文檔、詞項矩陣法,即Document-Term Matrix。以項目中的文檔為例,我們在眾多案件類型中選取信用卡詐騙和合同詐騙兩種類型的案件,文本一[經濟,犯罪,信用卡,詐騙,調查],文本二[經濟,犯罪,合同詐騙,研究],則基于這兩個文本構建出的詞典包含7個不同的特征詞匯,{1:經濟,2:犯罪,3:信用卡,4:詐騙,5:調查,6:合同詐騙。7:研究},經過轉化即可顯示為(1,1,1,1,1,0,0,)和(1,1,0,0,0,1,1),其中向量元素表示對應詞匯出現的次數,兩向量合并則獲得文檔-詞項矩陣。本項目中我們選用的轉化庫為scikit-learn庫。
1.3 ?優化算法
優化是指改變 x 以最小化或最大化某個函數 f(x)的任務。對其進行最小化時,也稱為損失函數。