APP下载

基于文本判决书的数据分析系统的设计与实现

2015-01-17姚家明叶荣华

电脑与电信 2015年4期
关键词:数据分析系统视图自动

姚家明 叶荣华 陈 醇

(浙江师范大学,浙江 金华 321004)

基于文本判决书的数据分析系统的设计与实现

姚家明 叶荣华 陈 醇

(浙江师范大学,浙江 金华 321004)

为了有效管理、分析海量判决书数据信息,设计和实现了判决书数据分析系统。判决书数据分析系统基于ASP.NET MVC开发模式和文本判决书信息,利用C#语言设计并开发。系统实现上传原始文本判决书数据、导出判决书数据修改、上传标准判决书数据、上市公司数据导入和管理、对判决书数据分析和统计、对判决书数据进行相关性分析等功能操作。应用结果表明判决书数据分析系统在实现上述功能上可以达到比较理想的结果,具有一定的应用前景。

判决书数据分析系统;ASP.NET MVC;C#

1 引言

改革开放以来,随着市场经济的快速发展和人民法律知识水平的不断提高,由民事纠纷、商业纠纷和侵犯知识产权等原因引起的案件不断增加,对判决书数据进行数据分析迫在眉睫。目前对判决书的数据分析大多采用SPSS(Statistical Product and Service Solutions,统计产品与服务解决方案软件)、SAS(Statistics Analysis System,数据分析系统)、Microsoft Excel等软件来进行各种数据的处理、统计分析和辅助决策等操作。上述几种主流的软件都需要安装使用,且大多都要付费使用。基于以上原因,开发出一款基于B/S结构(Browser/Server,浏览器/服务器模式)的判决书数据分析系统,使得科研人员可以通过浏览器登录系统,直接对判决书进行自动获取、数据分析和相关性分析等操作。通过海量的判决书数据来分析、统计判决书信息中重要且较为隐蔽的关联,为科研团队、企业公司提供帮助。

2 需求分析与关键技术分析

2.1 需求分析

需求分析的真正目标是确定什么样的软件是客户所需的[1],本系统的用户需求是系统管理员可以审核用户注册、创建新用户、设置用户权限和删除用户;内部用户通过系统上传原始判决书数据、导出判决书数据修改、上传标准判决书数据、对判决书数据分析和统计、对判决书数据进行相关性分析等;而外部游客只能浏览判决书信息和上市公司等信息。系统的需求分析用例图如图1所示。

图1 系统用例图

2.2 关键技术分析

为了实现以上需求,判决书数据分析系统要解决的关键核心技术包括以下几个方面:

(1)文本判决书的导入

作为人民法院最重要的法律文书,判决书具有不言而喻的重要意义[2]。判决书信息一般是以文本的形式存储,且格式固定。系统的导入主要分为两个阶段,即判决书信息的自动获取和自动获取信息的修改和再导入。判决书信息的自动获取先将文本格式的原始判决书数据进行数据流导入,导入的数据以换行符为分隔符,把原始数据按照每行存放到一组数组中,然后对数组进行遍历,寻找到系统所需的数据。判决书信息的自动获取流程图如下图2所示。尽管判决书信息格式固定,在遍历数组寻找所需数据时,通常有这么几种情况:①直接获取型,即数据只有一种或几种情况。例如判决书的类型只有7种,遍历的时候只需找到对应数据即可直接获取。②标签型,即数据有固定的标签标示。例如寻找法院名称时,判决书信息中以“【法院名称】”标示,当遍历到这条数据时根据设置好的标签就可获取出法院名称,之后去掉标签就是所需的数据。③需判断型,即数据可以通过判断来确定。例如寻找法律意义时,判决书第一行末尾如果有精选字样,则法律意义为精选,没有则为普通。④复杂获取型,即数据要从大段语句中获取。例如获取判决结果时,要从大段语句中搜索、获取,因此准确率没有之前几种高。自动获取后,由于过程中会存在一定的误差,或者不完整、准确的情况,针对这种情况,我们设计了判决书信息自动提取的导出,这样就可以批量对数据进行补充、修改,修改完成后进行标准数据导入,即自动获取信息的修改和再导入,导入完成后就可进行数据的分析。

(2)判决书的数据分析

数据分析(Data Analysis)是指用户对操作过程中所产生的数据进行的处理,并从中发现一些规律性信息的过程[3]。常用的数据分析方法有聚类分析、因子分析、相关分析、对应分析、回归分析、方差分析等,本文主要采用了多元回归分析和相关分析相结合的数据分析方法,对判决书进行数据分析。系统中判决书数据分析的主要方法,通常有这么几种:①筛选②排序③统计④数值运算。判决书的数据分析的流程图如下图3所示。

(3)判决书的相关性分析

相关性分析是研究事物现象间的相关关系,主要是运用数理统计方法,研究错综复杂的客观现象间的相互关系、相互联系的性质和表现形式及联系的密切程度等[4],相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。

相关性分析的主要内容是根据需求对相关性分析进行设计建模,对所要研究的结果作为因变量Y,对影响该结果变化或者有依存关系的几个因素作为自变量Xi(i=1,2,…),则可以建立以下的模型:

Y=β1X1+…+βPXP+ε

其中β1,…,βP是P个未知参数(0≤βi≤1,i=1,2,…),ε是不可测的随机误差。

通过对导入的海量判决书信息的分析,我们可以得到β1,…,βP值以及Y和X的关系结果,这样就可以对Y和X关系的现状进行分析,也可以对Y和X之间的关系进行原因分析,这样可以对以后判决书中Y和X的关系进行一定的相关性的预测分析。

下面我们以判决书里的几个要素为例,来进行相关性分析。这里我们以“审判结果”为“原告胜诉”作为Y,即所要研究的结果,以“代理律师”作为X1,以“审理法院”作为X2,可以得出这样的相关性公式:原告胜诉=β1*“代理律师”+β2*“审理法院”+ε。在理想情况下,我们默认ε为0。同时确定某位代理律师,即β1为1。这样就可以确定出“原告胜诉”与“代理律师”、“审理法院”之间的相关性关系,原告可以通过这样的分析,在审理法院固定的情况下,选择胜率较高的律师为之辩护。判决书的相关性分析流程图如图4所示。

图2 判决书自动获取流程图

图3 判决书数据分析流程图

图4 判决书相关性分析流程图

3 系统设计

3.1 总体设计

总体设计是完成系统的总体方案和总体技术途径的设计过程,总体设计是项目开发过程中的一个重要阶段。本系统基于B/S架构,按照ASP.NET MVC的体系架构和具体需求将系统分为3层:Web层、业务层、数据层。浏览器层为所有用户提供登录界面,并对用户输入信息及使用权限进行验证,完成验证后转入相应的Web浏览界面,该层使用Razor视图来实现;Web服务器接收到来自用户的请求后,为不同身份的用户分发不同的浏览信息,完成与用户的交互,该层主要包含控制器以及部分视图模型(View Model);业务层是将MVC中的模块独立出来实现的,该层组合了与数据库的数据链路层(DAL)和面向具体业务模块的业务逻辑层(BLL),在接收Web服务器的请求后,实现系统的业务逻辑处理功能;数据层为数据库服务器负责数据的存储并集中管理这些数据[5]。架构图如图5所示。

图5 系统总体架构图

3.2 详细设计

系统主要由用户登录管理模块、自动获取管理模块、判决书管理模块、上市公司管理模块、数据分析管理模块和相关性分析管理模块6个管理模块组成。系统针对2类用户:内部用户、系统管理员,这2种用户角色分别具有不同的权限。内部用户可以自己注册,系统管理审核后即可使用,也可以直接由系统管理员创建,登录系统后可以进行上传原始文本判决书数据、导出判决书数据修改、上传标准判决书数据、对判决书数据分析和统计、对判决书数据进行相关性分析等操作;系统管理员可以进行内部用户创建、审核、维护系统参数、设置用户权限等操作。下面以自动获取模块为例,详述其实现过程。

自动获取模块将原始文本判决书数据导入系统,按照每行将数据流文件截取存入数组中,然后将数组的值赋给设置好的导入模型中。详细代码如下:

StreamReader sr=new StreamReader(filePath,Encoding. GetEncoding("GBK"));

//获取文本判决书数据流

string st=sr.ReadToEnd();

st=st.Replace(" "," ");//去除空行

string[]str=st.Split(new string[]{" "},

StringSplitOptions.None);

ImportTxtAcquisitionModel model=new

ImportTxtAcquisitionModel();

//将数组的值赋到导入模型中

判决书导入后,对导入模型中的每个值进行遍历。在遍历数组寻找所需数据时,通常有这么几种情况:1直接获取型,2标签型,3需判断型,4复杂获取型。其中,标签型数据遍历获取实现代码如下:

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);

}

自动获取遍历之后,系统可以获取到原始文本判决书中所需的信息。

4 系统实现

系统基于.NET平台,采用C#语言开发,后台数据库使用SQL Server 2008[6]。根据系统的实际需求,在系统中设计了6个控制器类,通过控制器类来进行逻辑运算的处理。系统采用了ADO.NET Entity Framework和Linq to Entity来管理模型,设计了ViewData来管理View视图,通过这种方式就可以对数据库进行相应的读写操作。系统根据各个功能模块的划分,设计了对应的视图类,每个视图类对应Controllers中的一个控制器类文件。采用了行内代码和Helper方法组的方式实现视图的显示。系统的自动获取实现图如图6所示,系统的判决书数据分析实现图如图7所示,系统的判决书相关性分析实现图如图8所示。

5 结束语

系统根据ASP.NET MVC框架改变了传统的ASP.NET中视图与业务逻辑耦合的弊病,有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。在判决书数据分析系统中采用ASP.NET MVC框架,可以形成清晰的程序框架,便于系统编码阶段的任务分工。同时,清晰的框架也为后期系统的维护以及功能扩展提供了良好的基础和有利的条件。这个系统的创意之处在于采用了三层的结构。对数据库的各种操作还有各种处理的函数都写成类,然后封装成DLL动态类库。这样的好处是数据库的操作更加安全方便,页面设计人员操作起来更加容易安全。同时也提高了运行的速度。该系统的设计与实现可有效解决了判决书数据的导入和数据分析工作,从而真正实现了对判决书数据的分析和管理。

图6 自动获取实现图

图7 数据分析实现图

图8 相关性分析实现图

[1]梁博.基于MVC的人事招录系统的设计与实现[D].北京:北京邮电大学,2009.

[2]魏胜强.当面说理、强化修辞与重点推进——关于提高我国判决书制作水平的思考[J].法律科学,2012,(5):48-60.

[3]苏均生.面向产品生命周期的数据分析系统的研究与应用[D].浙江:浙江大学,2006.

[4]蔡智澄,何立民.相关性分析原理在图书情报分析中的应用[J].现代快报,2005,(5):151-156.

[5]王程,李挥等.基于ASP.NET MVC3乳制品安全风险预警系统的设计与实现[J].电子设计工程,2013,21(14):67-70.

[6]刘源,邓昀.基于FTPS的实时图像传输软件的设计与实现[J].计算机应用与软件,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

姚家明,男,江苏连云港人,硕士研究生,研究方向:软件开发。

猜你喜欢

数据分析系统视图自动
自动捕盗机
利用GSM-R接口数据分析系统偏移的方法研究
焊接设备实时监测与数据分析系统在核电建造行业的应用
基于信息融合的社群金融信息数据分析系统的研究与实现
智能数据分析系统研究及应用
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
让小鸭子自动转身