刘祎洋 郝丽丽 瞿彭志

摘要:文章设计通过两个数据库的协作实现了面向商业的网络调研和挖掘数据的数据存储与交换,构建了一个面向商业的网络调研教据挖掘系统,它使当前的商业网络调研模式与数据挖掘良好地整合在一起,初步解决了面向商业的网络调研与数据挖掘结合的难题,针对本系统的特点提出了特有的分层次理论。使系统具备了优良的扩展性和可维护性,应用领域广泛。

关键词:网络调研数据挖掘数据库系统

中图分类号:F062.4文献标识码:A

文章编号:1004-4914(2009)03-016-02

一、研究意义

随着互联网技术的发展和上网用户的迅速增加,网络调研成为企业决策的一种重要工具,调研数据的深入挖掘可以广泛应用于市场营销、金融银行、电信交通、政府防卫等部门,有助于决策的民主性与科学性,可为社会带来巨大的经济效益,但对于面向商业网络调研的数据挖掘上并没有一个很好的解决方式,本文根据面向商业的网络调研和数据库的特点来探讨若干适合的挖掘模型扣方法,并据此设计一个专门服务于面向商业的网络调研的智能挖掘系统。

二、网络调研和数据挖掘库的协作模型

在面向商业的网络调研系统中,网络调研数据库的重点主要是放在简单的统计分析和问卷的功能上。因此,在数据库的查询检索度处理上,并没有以数据挖掘为对象建立,数据挖掘在以调研为主的数据库上并不能直接高效地运行。其原因主要在于,数据挖掘项目需要合并所有待挖掘的数据应用于数据库或者数据集市,并且需要对这些数据进行清理和转换,因此要进行数据挖掘,就必须首先把数据按照数据挖掘算法和模型的要求,对调研数据库中的数据进行预处理,将处理后的数据转移到挖掘数据库中,由于设计的系统中存在两类不同的任务———调研与挖掘,因此,面向商业的网络调研数据挖掘系统数据库需要建立两类基本数据库,即面向商业的网络调研数据库和数据挖掘数据库,调研与挖掘数据库的协作过程需要在一个共同的管理系统中部署。

本文建立数据库协作模型来描述两类数据库的协作过程,建立的模型为左边调研数据库和右边挖掘数据库,这两个库是围绕调研与挖掘的过程展开协作。模型说明完整的调研与挖掘协作的过程分别经历7个和8个阶段。在调研过程中,创建问卷和回答问卷阶段首先会与调研数据库自动连接,实现读取问卷与写入调研结果的行为,在回答问卷阶段,反馈的数据套提交到调研数据库中作为调研反馈的原始数据。在结果处理阶段,一方面可以对调研数据库的原始数据进行潜度的分析处理,另一方面也可以与其他数据源的数据(可以是数据仓库或者某个小型数据库)一道转移到数据挖掘的过程中为挖掘目标进行深度数据预处理。该挖掘过程从确定挖掘目标阶段开始,在数据准备阶段得到预处理数据,处理后的数据会提交到挖掘数据库中储存作为挖掘阶段的原始训练数据或原始预测数据。训练数据和预测模型阶段套从挖掘数据库中读取相应的原始数据进行训练和预测,结果评估阶段会对挖掘出来的结果提取知识并保存到知识库中,到此两类数据库的完整协作过程圆满结束。谊模型可以具有两类数据库角色明确、数据存储开销小、数据处理速度快的特点,面向商业的网络调研和数据挖掘的效率有显着提高。

三、两类数据库的设计方案

(一)网络调研数据库设计

1统一问卷类型设计。该方案关键在于设计一个问卷类型表,问题表和问卷回答表设计有问卷类型的外键,各种形式的问题都集中在一个问题表中,在回答表中,也是将所有答案存在一个表中,这种设计方式的优势在于问卷统一管理,整体性强,不足之处则是由于数据都集中在一个表里,后期管理不是很方便。设计数据表包括问卷编号(Questionnaire),问卷类型表(Quesdon Type),问题表(Question),矩阵列表(RecColumn),矩阵行表(RecRow),逻辑跳转表(QuestionJump),用户表(Users)以及问卷回答表(Answers)。Answers可以记录非注册用户提交的有效信息。

2独立问卷类型设计。该方案是预先设计好问卷回答的各个类型表,分为单选回答表。多选回答表,矩阵回答表以及其他类型的表。而问题袁则保持与方案一一致,只设计一个问题表就可以。之所以这样设计,是由于问卷回复的数据量要远远大于题目本身,考虑到调研数据的存储方式,使不同类型的回答表独立出来,这样有利于大数据量的管理和检索。设计数据表包括设计问卷鳊号表(wjb),问题表(wtb),问题类型表(wtlxb),选项表(xxb),用户表(yhb),单选答案表(dxb),多选答案表(mxb),矩阵答案表(jzxb),其他答案表(qtxb),回答用户表(hduser)。

(二)数据挖掘数据库设计

数据挖掘数据库是用来存储记录挖掘信息的表以及事例表和预测表的数据库,而事例表则包括了各种嵌套表,通过对事例表的挖掘模型训练,可以对预测表数据进行预测。建立数据挖掘数据库的优势在于,对数据的管理和资源的分配上可以更加快速、高效、合理地进行挖掘,不用再通过复杂的视图检索访问调研数据库,避免增加调研数据库额外的自担。

1挖掘教据库的事例表设计。在大型数据仓库中,星型模式和雪花模式的应用非常流行。在实际的商业网络调研的数据挖掘中,常常需要复杂的SQL查询操作来检索调研数据库,再构造出视图,从而产生一个虚拟的事例表,如果表中有嵌套关系,则又会进行一次复杂的SQL查询。笔者在实际操作中发现,在数据库数据量庞大的情况下,通用调研数据库的某个挖掘的事例表在构造时往往会非常慢,如果在调研数据库中进行操作,会严重影响数据库的效率,并增加服务器的开销。因此,需要将需要挖掘的大数据集转移到挖掘数据库中,把挖掘教据库构建为若干个星型模式或者雪花模式,每一个这种模式都代表某次挖掘的数据。位于最中间的表为事例表,扩展表像雪花状围绕着中心表,这些表构成嵌套表,这样设计可以符合挖掘引擎对数据的挖掘要求。在应用程序中创建,训练和预测模型也非常容易。

2挖掘数据库的信息表设计。挖掘数据库设计两个信息表,用户事例表(yhslb)和模型信息表(modeltable),分别存储用户的挖掘事例表的信息和对应的模型信息。

四、面向商业的网络调研数据挖掘系统设计

(一)系统设计模式

ASP.NET的企业级四层架构的方式。系统设计成分布式应用结构,分布式应用程序的主要设计原则是将应用程序逻辑地分为表示、业务逻辑和数据访问三个基本层,根据本系统的挖掘特点精心设计了挖掘模型层。

1界面表现层。界面表现层(VviewPresentationLayer)也称表示层,主要是由

用户看到并与之交互的各种界面构成。用户所进行的所有请求的界面和结果的呈现都在界面表现层。界面表现层不涉及具体的业务逻辑和数据访问过程,它传递用户输入和操作的参数给其他层,由其他层负责相应的处理,处理完毕套将蛄果返回到界面表现层。界面表现层通过由HTML元素构成的.aspx和.htm文件浏览嚣展示给用户,有时为了提高表现力会使用一些新技术,如MacromediaFlash时象xHTML.XML/XSL,WML等一些标识语言和Webservices。

2业务逻辑层。业务逻辑层(BusinessLogicalLayer)在体系架构中的位置很关键,它负责了面向商业的网络调研子系统的业务逻辑处理,处于数据访问层与界面表现层中间,其任务集中在对面向商业的网络调研子系统业务规则的制定、业务流程的实现等与业务需求有关的系统设计上,起到了数据交换中承上启下的作用。由于屡是一种弱耦舍结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应谊是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计时于一个支持可扩展的架构尤为关键,因为它扮演了三个不同的角色——对于数据访问层而言。它是调用者;对于界面表现层而言,它则是被调用者;对于挖掘模型层而言,它是协作者。

3挖掘模型层。挖掘模型层(MiningModelLayer)是本系统特有的一层,它在逻辑分层上与业务逻辑层同属于一层并行工作,但是它的功能却和业务逻辑层有明显区别,挖掘模型层是数据挖掘的核心,本系统由两个子系统构成,业务逻辑层是负责面向商业的网络调研子系统的业务处理,而挖掘模型层则是负责数据挖掘子系统的挖掘处理。挖掘模型层主要设计了通过数据分析(AS)服务器的支持参与挖掘模型的建立,训练数据和新数据预测方面。提供与第三方软件如SAS,SPSS,MATLAB的接口和对象设计。同时设计了允许第三方挖掘算法参与的接口和挖掘对象。它通过调用数据访问层中的挖掘数据库和调研数据库参与数据处理,并与业务逻辑层协作,提供挖掘的业务支持,将结果返回到界面表现层。

4数据访问层。数据访问层(DataAccessLayer)有时候也称作持久层,其功能主要是负责数据库的访问。访问底层数据源的所有编码都在该层,它与数据库直接打交道,譬如数据库的连接、操纵、检索、调用数据库内部编程等的代码都放在该层。数据库内部编程一般是数据库存储过程(StoredProcedllre)。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,可以在程序中直接调用执行。当要修改的时候,也可以直接在数据库中修改,而不必重新编译。因此,提高了数据处理的速度。编写存储过程的另一个目的是进行事务处理和触发器,这可以确保除非事务性单元内的所有操作都成功完成。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。

(二)系统功能模块设计

根据系统的业务设计。整个系统由网络调研子系统与数据挖掘子系统组成,网络调研子系统功能可以划分为四个基本模块,即问卷管理模块:用户数据管理模块:问卷投放与收集模块;调研报告管理模块。挖掘子系统功能可以划分为三个基本模块,即数据预处理模块;数据挖掘模块;挖掘决策模块。两个子系统共享三个基本功能模块,即页面显示模块;数据库连接模块;数据安全控制模块。在具体设计上,每个模块由多个实现具体功能的aspx与cs文件构成。

1用户数据管理模块。该模块包括用户注册,激活,用户介绍机制和积分管理。具体的功能包括:新用户的注册和认证;用户分类管理:新用户激活机制;介绍用户调研机制;受访者条件筛选/搜索;用户的锁定/冻结;积分激励管理。

2问卷管理模块。该主要负责问卷和问题的建立,编辑和修改。具体的功能包括:问卷库管理;不同问卷之间的调用;问卷收集参数设置;问卷导入生成;问卷问题的逻辑编辑;问卷页面编辑/预览;问卷模板;图片及其他多媒体文件管理调用;问卷设计的帮助模块。

3问卷投放与收集模块。该模块主要负责问卷投放和收集环节的相应管理。包括三种投放方式的管理和不同方式问卷回收的管理。具体的功能包括:调研网站的链接;问卷URI.的生成;EDM问卷的生成;问卷数据的收集/监测;投放后问卷修改管理:与邮件发送机构的问卷投放/收集接口:与银行支什的接口。

4调研报告管理模块。谊模块负责调研报告的生成和管理,包括数据的选择和产生报告的用户控制。具体的功能包括:生成基本日馈数据报告;用户功能限制;回馈敷据的导出;时调研报告的筛选。

5页面显示模块。该模块主要是展示给用户的一些页面和功能。具体的功能包括:普通用户和高级用户的登陆;线上调研问卷的发表;积分查看部分;客户委托有偿调研。

6数据库连接模块。该模块主要自责配置与连接不同数据库以及维护数据库功能。具体的功能包括:数据库连接,数据库维护。

7数据安全控刺模块。该模块主要负责配置系统安全加密的功能包括数据安全配王功能。

8数据预处理模块。谊模块主要自责调研数据或者外部数据源提交进挖掘数据库的预处理功能。

9数据挖掘模块。该模块主要负责对挖掘数据库中的数据提供数据挖掘的业务。具体包括数据与参数选择,模型预算法建立,训练模型。

10数据决策模块。谊模块主要负责对训练的模型进行预测与挖掘,提供不同的算法挖掘结果供用户查看与决策。

五、结论

本文研究并设计出支持系统的调研数据库和挖掘数据库,通过这两个数据库的协作可以实现面向商业的网络调研数据和挖掘数据的存储和操作。本文构建了一个面向商业的网络调研数据挖掘系统,它通过把商业网络调研的网站模式与数据挖掘相结合,很好地解决了面向商业的网络调研与数据挖掘结合的难题,针对本系统的特点提出了特有的分屡次理论,使系统具备了优良的扩展性和可维护性,应用领域广泛。下一步研究的重点是如何把算法和变量统一起来。使系统可以对要进行分析的问题自动做出判断。以降低人为因素导致挖掘失败的风险。