web数据自动采集及其应用研究

来源:互联网 发布:东莞谷歌优化公司 编辑:程序博客网 时间:2024/05/14 05:58
1. Web数据自动采集的理论基础

Web可以说是目前最大的信息系统,其数据具有海量、多样、异构、动态变化等特性。因此给人们要准确迅速的获得自己所需要的数据越来越难,尽管目前有各种搜索引擎,但是搜索引擎在数据的查全率考虑较多,而查准率不足,而且很难进一步挖掘深度数据。因此人们开始研究如何更进一步获取互联网上某一个特定范围的数据,从信息搜索到知识发现。

1.1相关概念

Web 数据自动采集内涵和外延非常广泛,目前尚无明确定义。Web数据自动采集涉及到Web数据挖掘(Web Data Mining),Web信息检索(Web Information Revival),信息提取(Information Extraction),搜索引擎(Search Engine)等概念和技术。Web数据挖掘与这些概念密切相关,但又有所区别。

(1) Web数据自动采集与挖掘

Web挖掘是一种特殊的数据挖掘,到目前为止还没有一个统一的概念,我们可以借鉴数据挖掘的概念给出Web挖掘的定义.所谓Web挖掘就是指从大量非结构化、异构的Web信息资源中发现有效的、新颖的、潜在可用的及最终可以理解的知识(包括概念、模式、规则、规律、约束及可视化等形式)的非平凡过程。包括Web内容挖掘(Web content mining),Web结构挖掘(Web structure mining)和Web使用挖掘 (Webusage mining)1。

(2) Web数据自动采集与搜索引擎


Web 数据自动采集与搜索引擎有许多相似之处,比如它们都利用了信息检索的技术。但是两者侧重点不同,搜索引擎主要由网络爬虫(WebScraper),索引数据库和查询服务三个部分组成。爬虫在网上的漫游是无目的性的,只是尽量发现比较多的内容。查询服务尽可能多的返回结果,不关心结果是否符合用户的习惯专业背景等。而Web 数据自动采集主要针对某个具体行业,提供面向领域,个性化的信息挖掘服务。

Web 数据自动采集与信息提取:信息提取(InformationExtraction)是近年来新兴的一个概念。信息提取是面向不断增长和变化的,某个具体领域的文献特定的查询,这种查询是长期的或者持续的(IEproblems are specified as long-standing or continuous queries in theface of a growing and changingcorpus2)。与传统搜索引擎是基于关键字查询的不同,信息提取基于查询。不仅要包含关键字,还要匹配各个实体之间的关系。信息提取是从技术上的概念。,Web数据自动采集很大程度要依赖于信息提取的技术,实现长期的,动态的追踪。

(3) Web数据自动采集与Web信息检索

信息检索即从大量的Web文献集合C中,找到与给定查询q相关的,数目相当的文献子集S.如果将q看作输入,S看作输出,那么Web信息检索的过程就是一个输入到输出的映像:

ξ:(C: q)-->S3

而Web数据自动采集不是直接将Web文献集合的子集直接输出给用户,还要进一步的分析处理,查重去噪,整合数据等。尽量将半结构化甚至非结构化的数据变为结构化的数据,然后以统一的格式呈现给用户。

因此,Web数据自动采集是web数据挖掘的一个重要组成部分,它利用了Web数据检索,信息提取的技术,弥补了搜索引擎缺乏针对性和专业性,不能实现数据的动态跟踪与监测的缺点,是一个非常有前景的领域。


1.2研究意义


(1) 解决信息冗余下的信息迷航


随着互联网信息的急剧增长,网上存在越来越多的对用户没有价值的冗余信息,使人们无法及时准确捕捉到自己所需要的内容,信息利用的效率和效果大为降低。互联网上的信息冗余主要体现在信息的过载性,信息的无关性。选择的复杂性等多个方面。

因此,在当今高度信息化的社会里,信息冗余信息过载已经成为互联网上一个急需解决的问题。而Web数据采集可以通过一系列方法,依据用户兴趣,自动搜取网上特定种类的信息,去除无关数据和垃圾数据,筛选虚假数据和迟滞数据,过滤重复数据。用户无需跟复杂的网页结构和五花八门的超级链接打交道,直接将信息按照用户的要求呈现给用户。可以大大减轻用户的信息过载和信息迷失。

(2) 解决搜索引擎的智能化不高

虽然互联网上有海量的信息,但是对某一个特定的个人或团体而言,获取相关信息或服务,和关注的范围只是很小的一部分。目前人们查找网上信息的主要是通过搜索引擎,如Google,Yahoo等。但这些搜索引擎涉及大而广,检索智能度不高,查准率和查全率的问题日益凸现。并且搜索引擎难以针对不同的用户的不同需求,提供个性化服务。

(3) 节约人力物力成本

与传统的人工采集数据相比,自动采集可以减少很多重复性工作,大大缩短采集时间,节约人力物力成本,提高效率。而且不会出现人工数据采集中的遗漏、偏差和错误

2. Web数据自动采集的应用研究

2.1应用特点


从上面的讨论可以看出,web数据自动采集是面向特定领域或特定需求的。因此,其应用的最大特征就是基于领域,基于需求。不存在行之有效的,通用于所有领域的采集模型。Web数据自动采集的原理研究是相通的,但是在具体的应用和实现上必然是领域驱动的。比如科研人员对通过跟踪研究所和期刊网站上某一主题的文章,了解所关心学科最新进展情况;政府可以监测某个特定主题的人们的舆论发展动向,地域分布等;猎头公司监视一些企业网站的招聘来得到人才的需求变化;零售商可以监测供应商网上商品目录和价格的变化情况等等。房产中介可以自动搜集网上房地产价格信息来判断房地产行业的变化趋势,获取客户的信息来开展营销。

2.2应用产品

Web数据自动采集Web数据自动采集诞生于实际应用的需要。除了针对个人的信息搜集服务外,在科研,政治,军事和商业等中可以有广泛的应用。比如应用于情报采集子系统,按照企业各级部门的信息需求,构建企业信息资源目录,建设企业信息库、情报库、知识库,对互联网、内部网、数据库、文件系统、信息系统等多种信息资源中全面集成,实时地采集和监测各种企业所需的情报信息。可以协助企业建立外部环境的监测和采集系统,构建企业信息资源架构,对产业环境、市场需求、相关政策、突发事件、竞争对手进行有效监控,帮助企业在第一时间把握市场先机4。

因此在市场上也开始有一些相关产品和服务的出售。如美国的 Velocityscape 公司的Web ScraperPlus+软件5,加拿大FicstarSoftware公司提供度身定做的采集服务6。除了这些在市场上公开出售的商业产品外,有些公司企业还有自己内部使用的自动采集系统。所有的这些应用都是基于特定行业的。

3.Web数据自动采集模型

尽管Web数据自动采集是面向特定领域的,但时其采集的原理和过程都是相似的。因此,本节将设计的一个Web数据自动采集系统的模型。

3.1 采集模型框架

系统可依据功能的不同分为三大模块:数据预处理模块,数据过滤模和数据输出模块。

3.2 数据预处理模块

数据预处理是数据采集过程中的一个重要环节。如果数据预处理的工作做得好,数据质量高,数据采集的过程则更加快捷和简便,最后得出的模式和规则更加有效和适用,得出的结果也越成功。由于数据源的类型很多,各种数据的特征属性不一定满足主题的需要,因此数据预处理模块的主要功能是定义Web上的数据源、格式化数据源以及初步过滤数据源。该模块需要将网页中结构化,半结构化以及非结构化的数据及其类型映射到目标数据库中。所以数据预处理是数据采集的基础和依据。

3.3 数据过滤模块

数据过滤模块负责将采集到本地的数据进一步过滤加工,存入数据库。可以考虑通过Web页面建模,数理统计和机器学习等方法来对数据过滤和清洗7。

Web页面主要由Tag标记和显示内容两部分构成。通过建立Web页面模型,数据过滤模块对Tag标记进行解析,构造网页的标签树,可以分析出显示内容的结构。

得到有Web网页结构之后,以内容块为单位进行数据的保留和删除。最后得到数据在放入数据库建立索引之前要进行消重工作。

3.4 数据输出模块

数据输出模块将目标数据库中的数据加工处理后呈现给用户。该模块属于数据抓取的后续工作,模块的负责程度可以依用户需求而定。基本功能就是将数据以结构化方式,呈现给用户。此外,还可添加报表图标等统计功能。当数据量达到一定程度之后,可以对数据建模,进行时间序列分析,相关性分析,发现各个概念规则之间的模式和关系,从而使数据得到最大效度的利用。


4.基于房地产行业自动采集系统设计

前面已经提出,Web数据采集必然是领域驱动或者数据驱动的,因此本节在第三章的理论基础上,给出一个基于房产行业的Web自动采集系统的设计。

4.1.研究目标

房地产是当今最活跃的行业之一,有众多的信息供应者和需求者。无论是政府,房产开发商,购房者,投资者还是银行信贷部门等都希望能够了解房产价格最新的走向。网上存在大量的信息提供者,但是用户不可能有时间去浏览所有这些网页。即使是房产方面的信息,也存在地区性、时间性等特点。

房产中介常在一些比较大的房产网站搜集房产价格和客户的数据。通常的做法是人工浏览网站,看最近更新的信息。然后再将之复制粘贴到数据库中去。这种做法不仅费时费力,而且在查找的过程中可能还会遗漏,数据转移的过程中会出错。针对这种情况,本节将设计一个房产信息自动采集的系统。实现数据采集的高效化和自动化。

4.2.系统原理


自 动采集系统以第3节的采集模型框架为基础,笔者设计的数据自动采集系统采用B/S模式,开发平台为Microsoft Visual .Net2003,在window 2000 Professional 操作系统下编译,开发语言为C#+Asp.net, 数据库服务器为SQLSERVER 2000。

(1)系统架构分析

采集模型以组件的形式置于component目录下,以面向对象的方式封装好类的方法,函数等,以供调用。后缀名为aspx以及htm的文件为直接与用户交互的文件。此类文件不关心采集模型具体实现,只需要声明调用即可。

该结构的好处就是不用安装特定的软件,升级维护方便,可以直接通过浏览器来调用服务器后台的组件。一旦采集模型需要变动,直接修改组件下的CS文件即可。

(2)用户交互分析


用户服务结构主要由计划任务,查看数据和分析数据三块构成。在计划任务中设置监视计划的名称,URL,执行的时间等。查看数据中,首先可以看到特定监视计划下网站的新挖掘条数,以及上次采集时间。可以马上开始执行采集任务。进入详细页面后可以看到采集的内容,采集的时间和是否已阅读的标记。查看所有的记录数以后,是否已阅读的标记自动更改为是。分析数据对数据进行二次加工,以发现新知识等。可以进一步深化。

(3)运行方式分析

系统可以采用多种运行方式。比如用户操作。用户可以随时监测到网页最新的变化情况。但是如果在数据量较大,网络较为繁忙的情况下会需要较长的等待时间。同时,数据采集在大数据量时会给被采集对象的服务器带来较大压力。因此,应当尽量让系统在对方服务器空闲的时候自动运行。比如可以通过Windows控制面板中的添加计划任务,让采集系统每天凌晨开始搜寻最新网页更新内容,执行数据采集工作。在Windows 2000Professional以及更高版本,还可以将组件以Windows服务与应用程序启动。采集系统与WindowsUpdate一样将自动开启执行。总之,采集系统可以依据实际需要,选择各种灵活的运行方式,充分考虑到采集者和被采集者情况。

4.3.局限性

Web数据自动采集主要完成的是采集功能。它不是万能的,只是一个工具。它不可能自动理解用户的业务,理解数据的意义。它只是通过一系列技术手段帮助人们更有效,更深入的获取所需要的数据。它只负责采集数据,至于为什么要这样做则需要人去考虑。

其次,为了保证数据采集结果的价值,用户必须在准确性和适用范围上寻求一个平衡点。一般而言,适用范围越广的采集模型,采集到异常,冗余数据的可能性就越大。反之,准确率越高的数据采集模型,适用范围相对而言会降低。因此用户必须了解自己的数据。虽然一些算法可以考虑到数据异常情况的处理,但让算法自己做所有这些决定是不明智的。

数据采集不会在缺乏指导的情况下自动地发现模型。数据采集系统需要在用户的帮助和指导下完成指定一个模型。并且需要用户反馈采集结果来进行进一步的优化和改善工作。最后得出的模型也可能因为现实生活的改变而需要变动。

5、结束语

在研究领域中,Web数据自动采集是一个新兴的,潜力巨大研究方向。它与数据挖掘,信息检索,搜索引擎技术互为补充,各有侧重。但随着数据挖掘技术的发展,智能搜索引擎的出现,它们互相促进,有进一步融合的趋势。

在实际应用中,Web数据自动采集针对目前互联网上信息过载,又得不到有效利用的状况,增强了信息的使用效率,提高人们了工作效率,减轻了工作负担。在经济,军事上都有较大的利用价值,会有越来越多的厂商涉足相关服务和应用。但是从另一方面,对于商品价格,公司产品,个人隐私等一些不希望进行被收集的信息如何进行反自动采集也是一个重要课题。


知识经济时代,谁能够有效获取与利用知识,谁就掌握了在竞争中取胜的武器和工具。Web数据自动采集作为一种行之有效的获取和利用知识的手段,已经引起人们越来越多的重视和关注。只有从数据中提取信息,从信息中发现知识,才能更好的为个人,企业以及国家的思维决策和战略发展服务。
原创粉丝点击