姚家明 葉榮華 陳 醇
(浙江師范大學,浙江 金華 321004)
基于文本判決書的數(shù)據(jù)分析系統(tǒng)的設(shè)計與實現(xiàn)
姚家明 葉榮華 陳 醇
(浙江師范大學,浙江 金華 321004)
為了有效管理、分析海量判決書數(shù)據(jù)信息,設(shè)計和實現(xiàn)了判決書數(shù)據(jù)分析系統(tǒng)。判決書數(shù)據(jù)分析系統(tǒng)基于ASP.NET MVC開發(fā)模式和文本判決書信息,利用C#語言設(shè)計并開發(fā)。系統(tǒng)實現(xiàn)上傳原始文本判決書數(shù)據(jù)、導(dǎo)出判決書數(shù)據(jù)修改、上傳標準判決書數(shù)據(jù)、上市公司數(shù)據(jù)導(dǎo)入和管理、對判決書數(shù)據(jù)分析和統(tǒng)計、對判決書數(shù)據(jù)進行相關(guān)性分析等功能操作。應(yīng)用結(jié)果表明判決書數(shù)據(jù)分析系統(tǒng)在實現(xiàn)上述功能上可以達到比較理想的結(jié)果,具有一定的應(yīng)用前景。
判決書數(shù)據(jù)分析系統(tǒng);ASP.NET MVC;C#
改革開放以來,隨著市場經(jīng)濟的快速發(fā)展和人民法律知識水平的不斷提高,由民事糾紛、商業(yè)糾紛和侵犯知識產(chǎn)權(quán)等原因引起的案件不斷增加,對判決書數(shù)據(jù)進行數(shù)據(jù)分析迫在眉睫。目前對判決書的數(shù)據(jù)分析大多采用SPSS(Statistical Product and Service Solutions,統(tǒng)計產(chǎn)品與服務(wù)解決方案軟件)、SAS(Statistics Analysis System,數(shù)據(jù)分析系統(tǒng))、Microsoft Excel等軟件來進行各種數(shù)據(jù)的處理、統(tǒng)計分析和輔助決策等操作。上述幾種主流的軟件都需要安裝使用,且大多都要付費使用。基于以上原因,開發(fā)出一款基于B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式)的判決書數(shù)據(jù)分析系統(tǒng),使得科研人員可以通過瀏覽器登錄系統(tǒng),直接對判決書進行自動獲取、數(shù)據(jù)分析和相關(guān)性分析等操作。通過海量的判決書數(shù)據(jù)來分析、統(tǒng)計判決書信息中重要且較為隱蔽的關(guān)聯(lián),為科研團隊、企業(yè)公司提供幫助。
2.1 需求分析
需求分析的真正目標是確定什么樣的軟件是客戶所需的[1],本系統(tǒng)的用戶需求是系統(tǒng)管理員可以審核用戶注冊、創(chuàng)建新用戶、設(shè)置用戶權(quán)限和刪除用戶;內(nèi)部用戶通過系統(tǒng)上傳原始判決書數(shù)據(jù)、導(dǎo)出判決書數(shù)據(jù)修改、上傳標準判決書數(shù)據(jù)、對判決書數(shù)據(jù)分析和統(tǒng)計、對判決書數(shù)據(jù)進行相關(guān)性分析等;而外部游客只能瀏覽判決書信息和上市公司等信息。系統(tǒng)的需求分析用例圖如圖1所示。
圖1 系統(tǒng)用例圖
2.2 關(guān)鍵技術(shù)分析
為了實現(xiàn)以上需求,判決書數(shù)據(jù)分析系統(tǒng)要解決的關(guān)鍵核心技術(shù)包括以下幾個方面:
(1)文本判決書的導(dǎo)入
作為人民法院最重要的法律文書,判決書具有不言而喻的重要意義[2]。判決書信息一般是以文本的形式存儲,且格式固定。系統(tǒng)的導(dǎo)入主要分為兩個階段,即判決書信息的自動獲取和自動獲取信息的修改和再導(dǎo)入。判決書信息的自動獲取先將文本格式的原始判決書數(shù)據(jù)進行數(shù)據(jù)流導(dǎo)入,導(dǎo)入的數(shù)據(jù)以換行符為分隔符,把原始數(shù)據(jù)按照每行存放到一組數(shù)組中,然后對數(shù)組進行遍歷,尋找到系統(tǒng)所需的數(shù)據(jù)。判決書信息的自動獲取流程圖如下圖2所示。盡管判決書信息格式固定,在遍歷數(shù)組尋找所需數(shù)據(jù)時,通常有這么幾種情況:①直接獲取型,即數(shù)據(jù)只有一種或幾種情況。例如判決書的類型只有7種,遍歷的時候只需找到對應(yīng)數(shù)據(jù)即可直接獲取。②標簽型,即數(shù)據(jù)有固定的標簽標示。例如尋找法院名稱時,判決書信息中以“【法院名稱】”標示,當遍歷到這條數(shù)據(jù)時根據(jù)設(shè)置好的標簽就可獲取出法院名稱,之后去掉標簽就是所需的數(shù)據(jù)。③需判斷型,即數(shù)據(jù)可以通過判斷來確定。例如尋找法律意義時,判決書第一行末尾如果有精選字樣,則法律意義為精選,沒有則為普通。④復(fù)雜獲取型,即數(shù)據(jù)要從大段語句中獲取。例如獲取判決結(jié)果時,要從大段語句中搜索、獲取,因此準確率沒有之前幾種高。自動獲取后,由于過程中會存在一定的誤差,或者不完整、準確的情況,針對這種情況,我們設(shè)計了判決書信息自動提取的導(dǎo)出,這樣就可以批量對數(shù)據(jù)進行補充、修改,修改完成后進行標準數(shù)據(jù)導(dǎo)入,即自動獲取信息的修改和再導(dǎo)入,導(dǎo)入完成后就可進行數(shù)據(jù)的分析。
(2)判決書的數(shù)據(jù)分析
數(shù)據(jù)分析(Data Analysis)是指用戶對操作過程中所產(chǎn)生的數(shù)據(jù)進行的處理,并從中發(fā)現(xiàn)一些規(guī)律性信息的過程[3]。常用的數(shù)據(jù)分析方法有聚類分析、因子分析、相關(guān)分析、對應(yīng)分析、回歸分析、方差分析等,本文主要采用了多元回歸分析和相關(guān)分析相結(jié)合的數(shù)據(jù)分析方法,對判決書進行數(shù)據(jù)分析。系統(tǒng)中判決書數(shù)據(jù)分析的主要方法,通常有這么幾種:①篩選②排序③統(tǒng)計④數(shù)值運算。判決書的數(shù)據(jù)分析的流程圖如下圖3所示。
(3)判決書的相關(guān)性分析
相關(guān)性分析是研究事物現(xiàn)象間的相關(guān)關(guān)系,主要是運用數(shù)理統(tǒng)計方法,研究錯綜復(fù)雜的客觀現(xiàn)象間的相互關(guān)系、相互聯(lián)系的性質(zhì)和表現(xiàn)形式及聯(lián)系的密切程度等[4],相關(guān)性的元素之間需要存在一定的聯(lián)系或者概率才可以進行相關(guān)性分析。
相關(guān)性分析的主要內(nèi)容是根據(jù)需求對相關(guān)性分析進行設(shè)計建模,對所要研究的結(jié)果作為因變量Y,對影響該結(jié)果變化或者有依存關(guān)系的幾個因素作為自變量Xi(i=1,2,…),則可以建立以下的模型:
Y=β1X1+…+βPXP+ε
其中β1,…,βP是P個未知參數(shù)(0≤βi≤1,i=1,2,…),ε是不可測的隨機誤差。
通過對導(dǎo)入的海量判決書信息的分析,我們可以得到β1,…,βP值以及Y和X的關(guān)系結(jié)果,這樣就可以對Y和X關(guān)系的現(xiàn)狀進行分析,也可以對Y和X之間的關(guān)系進行原因分析,這樣可以對以后判決書中Y和X的關(guān)系進行一定的相關(guān)性的預(yù)測分析。
下面我們以判決書里的幾個要素為例,來進行相關(guān)性分析。這里我們以“審判結(jié)果”為“原告勝訴”作為Y,即所要研究的結(jié)果,以“代理律師”作為X1,以“審理法院”作為X2,可以得出這樣的相關(guān)性公式:原告勝訴=β1*“代理律師”+β2*“審理法院”+ε。在理想情況下,我們默認ε為0。同時確定某位代理律師,即β1為1。這樣就可以確定出“原告勝訴”與“代理律師”、“審理法院”之間的相關(guān)性關(guān)系,原告可以通過這樣的分析,在審理法院固定的情況下,選擇勝率較高的律師為之辯護。判決書的相關(guān)性分析流程圖如圖4所示。
圖2 判決書自動獲取流程圖
圖3 判決書數(shù)據(jù)分析流程圖
圖4 判決書相關(guān)性分析流程圖
3.1 總體設(shè)計
總體設(shè)計是完成系統(tǒng)的總體方案和總體技術(shù)途徑的設(shè)計過程,總體設(shè)計是項目開發(fā)過程中的一個重要階段。本系統(tǒng)基于B/S架構(gòu),按照ASP.NET MVC的體系架構(gòu)和具體需求將系統(tǒng)分為3層:Web層、業(yè)務(wù)層、數(shù)據(jù)層。瀏覽器層為所有用戶提供登錄界面,并對用戶輸入信息及使用權(quán)限進行驗證,完成驗證后轉(zhuǎn)入相應(yīng)的Web瀏覽界面,該層使用Razor視圖來實現(xiàn);Web服務(wù)器接收到來自用戶的請求后,為不同身份的用戶分發(fā)不同的瀏覽信息,完成與用戶的交互,該層主要包含控制器以及部分視圖模型(View Model);業(yè)務(wù)層是將MVC中的模塊獨立出來實現(xiàn)的,該層組合了與數(shù)據(jù)庫的數(shù)據(jù)鏈路層(DAL)和面向具體業(yè)務(wù)模塊的業(yè)務(wù)邏輯層(BLL),在接收Web服務(wù)器的請求后,實現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯處理功能;數(shù)據(jù)層為數(shù)據(jù)庫服務(wù)器負責數(shù)據(jù)的存儲并集中管理這些數(shù)據(jù)[5]。架構(gòu)圖如圖5所示。
圖5 系統(tǒng)總體架構(gòu)圖
3.2 詳細設(shè)計
系統(tǒng)主要由用戶登錄管理模塊、自動獲取管理模塊、判決書管理模塊、上市公司管理模塊、數(shù)據(jù)分析管理模塊和相關(guān)性分析管理模塊6個管理模塊組成。系統(tǒng)針對2類用戶:內(nèi)部用戶、系統(tǒng)管理員,這2種用戶角色分別具有不同的權(quán)限。內(nèi)部用戶可以自己注冊,系統(tǒng)管理審核后即可使用,也可以直接由系統(tǒng)管理員創(chuàng)建,登錄系統(tǒng)后可以進行上傳原始文本判決書數(shù)據(jù)、導(dǎo)出判決書數(shù)據(jù)修改、上傳標準判決書數(shù)據(jù)、對判決書數(shù)據(jù)分析和統(tǒng)計、對判決書數(shù)據(jù)進行相關(guān)性分析等操作;系統(tǒng)管理員可以進行內(nèi)部用戶創(chuàng)建、審核、維護系統(tǒng)參數(shù)、設(shè)置用戶權(quán)限等操作。下面以自動獲取模塊為例,詳述其實現(xiàn)過程。
自動獲取模塊將原始文本判決書數(shù)據(jù)導(dǎo)入系統(tǒng),按照每行將數(shù)據(jù)流文件截取存入數(shù)組中,然后將數(shù)組的值賦給設(shè)置好的導(dǎo)入模型中。詳細代碼如下:
StreamReader sr=new StreamReader(filePath,Encoding. GetEncoding("GBK"));
//獲取文本判決書數(shù)據(jù)流
string st=sr.ReadToEnd();
st=st.Replace(" "," ");//去除空行
string[]str=st.Split(new string[]{" "},
StringSplitOptions.None);
ImportTxtAcquisitionModel model=new
ImportTxtAcquisitionModel();
//將數(shù)組的值賦到導(dǎo)入模型中
判決書導(dǎo)入后,對導(dǎo)入模型中的每個值進行遍歷。在遍歷數(shù)組尋找所需數(shù)據(jù)時,通常有這么幾種情況:1直接獲取型,2標簽型,3需判斷型,4復(fù)雜獲取型。其中,標簽型數(shù)據(jù)遍歷獲取實現(xiàn)代碼如下:
foreach(string s in str)
{
string t=s.Trim(); //去除空格
if(t.StartsWith("【案例名稱】"))
{
model.CaseName=t;
//去除標簽
break;
}
else
{
model.CaseName="";
}
model.CaseName=model1.CaseName.Substring (model1.CaseName.IndexOf("】?")+1);
}
自動獲取遍歷之后,系統(tǒng)可以獲取到原始文本判決書中所需的信息。
系統(tǒng)基于.NET平臺,采用C#語言開發(fā),后臺數(shù)據(jù)庫使用SQL Server 2008[6]。根據(jù)系統(tǒng)的實際需求,在系統(tǒng)中設(shè)計了6個控制器類,通過控制器類來進行邏輯運算的處理。系統(tǒng)采用了ADO.NET Entity Framework和Linq to Entity來管理模型,設(shè)計了ViewData來管理View視圖,通過這種方式就可以對數(shù)據(jù)庫進行相應(yīng)的讀寫操作。系統(tǒng)根據(jù)各個功能模塊的劃分,設(shè)計了對應(yīng)的視圖類,每個視圖類對應(yīng)Controllers中的一個控制器類文件。采用了行內(nèi)代碼和Helper方法組的方式實現(xiàn)視圖的顯示。系統(tǒng)的自動獲取實現(xiàn)圖如圖6所示,系統(tǒng)的判決書數(shù)據(jù)分析實現(xiàn)圖如圖7所示,系統(tǒng)的判決書相關(guān)性分析實現(xiàn)圖如圖8所示。
系統(tǒng)根據(jù)ASP.NET MVC框架改變了傳統(tǒng)的ASP.NET中視圖與業(yè)務(wù)邏輯耦合的弊病,有助于將應(yīng)用程序分割成若干邏輯部件,使程序設(shè)計變得更加容易。在判決書數(shù)據(jù)分析系統(tǒng)中采用ASP.NET MVC框架,可以形成清晰的程序框架,便于系統(tǒng)編碼階段的任務(wù)分工。同時,清晰的框架也為后期系統(tǒng)的維護以及功能擴展提供了良好的基礎(chǔ)和有利的條件。這個系統(tǒng)的創(chuàng)意之處在于采用了三層的結(jié)構(gòu)。對數(shù)據(jù)庫的各種操作還有各種處理的函數(shù)都寫成類,然后封裝成DLL動態(tài)類庫。這樣的好處是數(shù)據(jù)庫的操作更加安全方便,頁面設(shè)計人員操作起來更加容易安全。同時也提高了運行的速度。該系統(tǒng)的設(shè)計與實現(xiàn)可有效解決了判決書數(shù)據(jù)的導(dǎo)入和數(shù)據(jù)分析工作,從而真正實現(xiàn)了對判決書數(shù)據(jù)的分析和管理。
圖6 自動獲取實現(xiàn)圖
圖7 數(shù)據(jù)分析實現(xiàn)圖
圖8 相關(guān)性分析實現(xiàn)圖
[1]梁博.基于MVC的人事招錄系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:北京郵電大學,2009.
[2]魏勝強.當面說理、強化修辭與重點推進——關(guān)于提高我國判決書制作水平的思考[J].法律科學,2012,(5):48-60.
[3]蘇均生.面向產(chǎn)品生命周期的數(shù)據(jù)分析系統(tǒng)的研究與應(yīng)用[D].浙江:浙江大學,2006.
[4]蔡智澄,何立民.相關(guān)性分析原理在圖書情報分析中的應(yīng)用[J].現(xiàn)代快報,2005,(5):151-156.
[5]王程,李揮等.基于ASP.NET MVC3乳制品安全風險預(yù)警系統(tǒng)的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2013,21(14):67-70.
[6]劉源,鄧昀.基于FTPS的實時圖像傳輸軟件的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2014,31(11):214-216.
Design and Implementation of DataAnalysis System Based on Text Verdict
Yao Jiaming Ye Ronghua Chen Chun
(Zhejiang Normal University,Jinhua 321004,Zhejiang)
In order to effectively manage and analyze massive judgment data information,this paper designs and implements the judgment data analysis system.This system is developed based on Asp.net mvc mode and the information of text verdict,using c# language.The system realizes to upload original information of text verdict,export the modified information,upload standard information,import and manage the information of listed company,analyze and count the judgment data,and complete the correlational analysis and so on.Application results show that the judgment data analysis system can achieve ideal result,and has a certain application prospect.
judgment data analysis system;ASP.NET MVC;C#
TP311.5
:A
:1008-66609(2015)04-0056-04
姚家明,男,江蘇連云港人,碩士研究生,研究方向:軟件開發(fā)。