数据挖掘方兴未艾,大量新事物层出不穷。本系列将介绍我们自主设计的数据挖掘软件平台。与大家共同分享对知识,微博,人际等复杂网络的分析,以及对自然语言处理的见解。

一、我们需要怎样的数据挖掘系统

一直以来,以高校为代表的学术界和以公司为代表的商业界,都有很大的隔阂。学术界普遍不会做产品,商业界普遍不会搞研究。如果两者都强,那就是美国军方了。

在数据挖掘领域更是如此,大量关于复杂网络,自然语言处理的牛文层出不穷,却被研究机构和大公司养在深闺人未识。绝大多数智能机器学习算法被封装在基础层中,以潜移默化的方式服务用户(比如用户推荐等),普通用户无法将其用于自己的应用场景。 而以SPSS为代表的统计和商业智能为核心的平台,使用复杂,结构封闭,它们以统计为核心,但在真正的“智能”领域,依旧缺乏火候。因此,我们需要能面向普通用户的易用系统,甚至不需要写脚本。

说到数据挖掘,就一定要和“大数据”放在一起。可是,几百万条的数据,根本不算是大数据,一台笔记本都能在数小时内处理完成,更不需要用复杂的分布式引擎去完成(可能为了实现这套算法,开发时间就比使用时间都长)。而真正的应用场景,数据越大,反而越不值钱,99%都是百万级以下的数据量。因此,我们需要能在笔记本电脑上良好工作的系统。

对于普通用户,他希望能简单直接的看到分析结果,了解复杂数据间的网络关系,了解数据的地理分布,了解如何被分类。因此,我们需要强大的可视化工具。

       现有的种种功能,也许在未来的应用场景中依然不够完备。因此平台的功能需要随时扩展,甚至面向行业做专业的定制服务。我们需要灵活的,可扩展性强的系统。

总结以上观点,我们要开发一套使用简单,易于扩展,可面向领域,强化可视化和服务性,整合从数据导入到分析和可视化完整流程的数据挖掘系统,体现自己的独特优势,于是,该平台诞生了。

我的插件式桌面软件框架类库(一)XFrmWork简介

ITTC数据挖掘平台介绍(综述)——平台简介

ITTC数据挖掘平台介绍(二) 微博数据挖掘和分析

ITTC数据挖掘平台介绍(三) 微博社团和传播分析

ITTC数据挖掘平台介绍(四) 框架改进和新功能

ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成

ITTC数据挖掘系统(六)批量任务,数据查看器和自由文档

ITTC数据挖掘平台介绍(七)强化的数据库, 虚拟化,脚本编辑器

二. 如何与已有相关工具交互

        1. 与Hadoop等开源分布式框架的交互

       我们不需要重头开发自有的分布式平台,要做好的是前台和后台的接口。Hadoop已经成为分布式处理的事实标准,通过WebService和RPC等方式,打通平台间的通信。如此一来,Hadoop不需要与真实数据做交互,它要处理的,仅仅是软件平台传给它的抽象数据类型。 这样,Hadoop就可只关心算法逻辑,大大减轻传输数据量。而平台也能充分利用分布式系统轻松实现并行化。

 2. 与SPSS和EXCEL等成熟商业统计系统的交互

       论统计功能,我们无法与这些成熟平台相提并论,但系统可以方便的生成供这些工具使用的脚本和业务逻辑,减轻分析负担。

该平台的主要技术特征有:

1. 集成了从数据采集/存储,分析(聚类,分类,语义推断等) ,可视化和其他服务。

2.  组件式结构,良好的扩展性,所有的功能和模块以插件接入系统。通用算法可对所有实现一定接口的数据实现。

3.  前端使用.NET开发,后端使用

4. 目前支持对新闻,微博,科研项目/专利/论文和知识网络分析。

5. 后台可采用hadoop云计算平台加速计算,并通过跨平台交互技术实现访问。

下图是该软件的结构:

本平台基于作者开发的XFrmWork框架之上,XFrmWork提供了多数底层服务,具体介绍请看这里。

下面,我们将会介绍其中的一些技术和实现结果,与大家分享。本节主要介绍软件的一些功能。

二. 软件特性介绍

1. 数据系统

(1)数据”组件“概念

为保证良好的扩展性以支持当前和未来的需求,数据类型被抽象成众多接口。例如”文章“类型可实现分词处理,便需要实现ISegWordable接口,若要实现位置检索,也需实现相应的接口。算法在处理数据时,处理的是接口而非实体。

例如, 科研项目数据类型实现了关系计算,分词和位置检索接口.

  1. [XFrmWork("科研项目", "IComputeable", "科研项目数据", "")]public partial class ProjectInfo : IRelationComputeable, ISegWordable, IGeoPositionSearchable

不同数据类型的静态特征,如表格样式,绘图形状等特点,都通过静态方法呈现。系统通过反射静态方法获得。

所有的数据类型都实现了IComputable接口,从而满足基本的检索,存储服务。

通过以上技术,使得软件/算法彻底与数据类型无关,它们在编程时面对的都是接口。    分词算法不需要考虑是哪种算法类型。界面显示不考虑数据类型的同时,又能获得个性化的视觉效果。

(2)数据存取

系统的数据访问层通过Entity Framework实现,可方便的兼容SQL Server ,MYSQL等主流数据库,并提供高效的存取修改机制。

同样,软件可读取XML/Text,通过序列化或者特定的编码方法读取外部的数据文件。

所有的数据在送入算法模块前,都被抽象为数据容器集合,供算法调用:

(3)爬虫和API调用器

除了常规的数据导入,平台还集成了爬虫和API调用功能。

目前已经开发了知网数据爬虫,新闻数据爬虫等。API方面,可方便的调用微博等主流SNS网站的用户数据:

这些数据都可以存入数据库,或者作为算法数据源传给算法模块。

2. 算法系统

( 1)不同功能的算法模块

算法模块通过插件形式接入系统,这些算法包括基本的分词、数据统计等,也包括可视化类别如地图,布点等,或者针对特定数据类型如微博的关系分析等。

如上图,您可以将这些算法方便的拖动到执行列表中。

在配置菜单中,可以选择算法要处理的数据源,同时可设置算法对应的参数。

(2)算法自动组装

为了在模块级别上更好的支持代码重用,系统采用了算法组装技术。  我们可考虑类似LabView的G语言,不同的算法模块具有特定的输入和输出,符合匹配的输出可作为某一模块输入端的数据信息。例如,分词模块需作为很多算法的“预处理”模块,因此实现了ISegWordMethod接口,同时可以向外提供对应的分词数据。

如下图:

以上,计算方法A,B作为计算方法C的输入,当A,B计算完成后,会自动将结果传给C,C继续计算。若希望了解更详细的细节,可参考我的博文:实现自组装的插件技术。

(3) 算法服务:多线程并行和进度指示等

系统充分考虑了实际开发的方便性,在底层为算法提供了调试输出工具,进度指示工具和后台线程。算法编写者可不考虑多线程/并行,这些都由平台在底层自行完成。

3.可视化系统

数据挖掘的重要特性,就是将隐含于海量数据中的关系和知识展示出来,展示的技巧和效果,最终直接影响到用户的接受度和信息有效性,因此我们在可视化上做了大量的工作。

所有的参数都可以图形化配置,采用简单的拖拽方式进行操作。结果以列表,柱状图,曲线,地图地标和网络视图表示。同时可提供针对特定数据的可视化显示实现。

(1)数据列表

类似DataGrid, 通过订制特别的ListView,可呈现列表数据,同时用户可对这些数据进行筛选,排序等操作。

(2)可视化画布

该画布可作为显示数据间关系网络的利器。

其他的可视化介绍将会在相关文章中进一步介绍,此处从略。

三. 总结

本文介绍了数据挖掘平台的主要软件特性,后期将会进一步介绍数据挖掘的一些经验,以及对应的结果。欢迎讨论!

转载于:https://www.cnblogs.com/buptzym/archive/2012/11/15/2771027.html

ITTC数据挖掘平台介绍(综述)——平台简介相关推荐

  1. 沃云统一开发平台介绍

    沃云集成平台 研发平台介绍 1.平台优势 2.平台原理 3.研发平台使用方法 4.遇到的问题 5.现阶段实现的功能 6.后续需要补充的功能和优化内容 研发平台介绍 1.平台优势 解决孤岛式应用,实现能 ...

  2. 【平台介绍】一站式OCR服务平台Textin的相关内容介绍

    ⼀.Textin 平台介绍 1.平台定位 TextIn是上海合合信息科技股份有限公司旗下智能文字识别技术.产品.服务的品牌,专注文字识别领域15年,对企业.开发者.个人用户提供智能文字识别引擎.产品. ...

  3. Resin服务器平台介绍

    Resin是CAUCHO公司(http://www.caucho.com/)的产品,是一个非常流行的支持servlets 和jsp的引擎,速度非常快.Resin本身包含了一个支持HTTP/1.1的WE ...

  4. 20线程测试cpu性能软件,评测平台介绍、CPU多线程性能测试

    2.平台介绍及CPU性能测试 AMD AM3+平台 CPUAMD FX-8150(4模块/8核) AMD FX-8350(4模块/8核) 主板华硕 Crosshair V Formula(BIOS版本 ...

  5. 各类手机开发平台介绍(转载)

    近来无事,把手机开发平台的学习指南.教程和资料总结一下,方便大家参考. 手机客户端软件开发最大的困难就是平台不统一,手机开发平台太多. 手机可分为智能手机开发和feather phone手机.开发平台 ...

  6. 全链通“铭镜”农产品溯源平台介绍分析

    id:BSN_2021 公众号:BSN研习社 作为分布式存储.加密算法.共识机制的集成融合创新技术,区块链具备诸多优越性能.金融.政务.公益.农业等,各行各业都能使用区块链. 农产品溯源,一方面,它是 ...

  7. 信息平台课件服务器,《CDN平台介绍v》PPT课件.ppt

    <<CDN平台介绍v>PPT课件.ppt>由会员分享,可在线阅读,更多相关<<CDN平台介绍v>PPT课件.ppt(22页珍藏版)>请在装配图网上搜索. ...

  8. See-SQL审计平台介绍及部署

    声明:这是我在大学毕业后进入第一家互联网公司学习的内容 背景 线下数据库,成天有人要求运维执行这sql那sql的,又苦逼又容易背锅,问了下公司的DBA大神,推荐了see审计平台,执行sql有审计记录, ...

  9. 大数据和Hadoop平台介绍

    大数据和Hadoop平台介绍 定义 大数据是指其大小和复杂性无法通过现有常用的工具软件,以合理的成本,在可接受的时限内对其进行捕获.管理和处理的数据集.这些困难包括数据的收入.存储.搜索.共享.分析和 ...

最新文章

  1. 开关电源过流保护-打嗝模式
  2. [bzoj4823][洛谷P3756][Cqoi2017]老C的方块
  3. android静态代码扫描,android 静态代码扫描
  4. 机器学习数据包之numpy
  5. 收藏 | OpenCV新手入门预处理
  6. 构建springmvc+dubbo分布式平台-dubbo简介
  7. android中intent放数据类型,Android Intent传递数据底层分析详细介绍
  8. oracle+rman+备份命令,Oracle Rman 备份命令超详解释
  9. redis学习-03
  10. 用c语言ipv6组播,闲谈IPv6-组播和广播
  11. dqkg的命令用法_CADk中常用命令使用方法及说明
  12. 怎么调html分辨率,屏幕分辨率怎么调
  13. oracle 10g固定执行计划,oracle 10g执行计划 (转帖)
  14. 【7gyy】物尽其用win 7收藏夹功能
  15. 我叫MT4怎么在电脑上玩?我叫MT4手游安卓模拟器电脑版操作教程
  16. SprintBoot:Post请求的参数多一个逗号的解决方法
  17. 企业网站seo优化有什么禁忌?
  18. Chapter 2 (Matrix Algebra): The leontief input-output model (列昂惕夫投入产出模型)
  19. 运维笔记之调用163邮箱发送邮件
  20. 教学反思计算机专业,【计算机教学反思】_计算机教学反思参考资料-毕业论文范文网...

热门文章

  1. 金额输入框校验和自动校正、支持指定任意位数小数decimal、支持只能输入整数、支持是否允许输入负数等功能
  2. java对象模型 指令_深入理解多线程(二)—— Java的对象模型
  3. c语言可以将负数强制转换成正数吗_C语言笔记(一、概述)
  4. linux 测试环境启用jar_Linux下搭建测试环境
  5. GCC如何产生core dump
  6. linux 虚函数调用性能,C++对象布局及多态实现探索之虚函数调用
  7. C++标准库 第七章 STL迭代器
  8. n个整数,其中有两个数是重复的,要求找出这两个重复的整数
  9. Android Studio设置
  10. 值类型和引用类型的区别