web数据挖掘(第二版)——探索超链接、内容和使用数据
阅读的英文原版,这里借助有道翻译阅读
作者简介:Bing Liu 刘兵,伊利诺伊大学芝加哥分校(UIC)教授,他在爱丁堡大学获得人工智能博士学位。刘兵教授是Web挖掘研究领域的国际知名专家,在Web内容挖掘、互联网观点挖掘、数据挖掘等领域有非常高的造诣,他先后在国际著名学术期刊与重要国际学术会议(如KDD、WWW、AAAI、SIGIR、ICML、TKDE等)上发布关于数据挖掘、Web挖掘和文本挖掘论文一百多篇。刘兵教授担任过多个国际期刊的编辑,也是多个国际学术会议(如WWW、KDD与AAAI等)的程序委员会委员。更多的信息,可访问他的个人主页http://www.cs.uic.edu/~liub (来自豆瓣,侵删)
当你读这本书的时候,毫无疑问,你已经知道什么是万维网,并且广泛地使用它。万维网(简称Web)几乎影响了我们生活的方方面面。它是最大和最广为人知的信息源,很容易访问和搜索。它由数十亿相互关联的文档(称为Web页面)组成,这些文档由数百万人编写。从一开始,网络就极大地改变了我们的信息搜寻行为。在网络出现之前,寻找信息意味着向朋友或专家咨询,或者买/借一本书来阅读。然而,有了网络,一切都离我们舒适的家或办公室只有几次点击的距离。我们不仅可以在网上找到需要的信息,而且很容易与他人分享我们的信息和知识。
网络也成为企业开展业务的重要渠道。我们几乎可以从网上商店买到任何东西,而不需要去实体店。网络也为我们提供了一个方便的方式来互相交流,表达我们的观点和意见,并与来自世界各地的人进行讨论。网络是一个真正的虚拟社会。在第一章中,我们将介绍网络,它的历史,以及我们将在本书中学习的主题。
万维网被正式定义为“旨在提供对大量文档的普遍访问的广域超媒体信息检索计划”。简单地说,互联网是一个基于互联网的计算机网络,它允许一台计算机的用户通过名为互联网的全球网络访问存储在另一台计算机上的信息。
Web的实现遵循标准的客户机-服务器模型。在这个模型中,用户依赖一个程序(称为客户机)连接到存储数据的远程机器(称为服务器)。浏览网页是通过一个叫做浏览器的客户端程序来完成的,例如Netscape、Internet Explorer、Firefox、Chrome等。Web浏览器的工作方式是向远程服务器发送信息请求,然后解释用HTML编写的返回文档,并在客户端用户的计算机屏幕上显示文本和图形。
Web的操作依赖于其超文本文档的结构。超文本允许网页作者将他们的文档链接到世界各地计算机上的其他相关文档。要查看这些文档,只需遵循链接(称为超链接)。超文本的概念是由Ted Nelson在1965年发明的[14],他还创建了著名的超文本系统Xanadu (http://xanadu.com/)。也允许其他媒体(如图像、音频和视频文件)的超文本称为超媒体。
Web的创建:Web是由Tim BernersLee于1989年发明的,他当时在瑞士的CERN(欧洲核子研究中心或欧洲粒子物理实验室)工作。他创造了术语“万维网”,编写了第一个万维网服务器httpd和第一个客户机程序(浏览器和编辑器)“WorldWideWeb”。
1989年3月,Tim Berners-Lee向他在CERN的上级提交了一份名为“信息管理:一份提案”的提案。在提案中,他讨论了分层信息组织的缺点,并概述了基于超文本的系统的优点。该提案要求制定一项简单的协议,可以通过网络请求存储在远程计算机系统中的信息,并制定一种方案,通过这种方案,信息可以以一种共同的格式交换,个人的文件可以通过超链接链接到其他文件。它还提出了使用CERN当时的显示技术读取文本和图形的方法。该提案基本上概述了分布式超文本系统,这是Web的基本架构。
最初,这项建议没有得到所需的支持。然而,在1990年,伯纳斯-李重新分发了这项建议,并得到开始这项工作的支持。通过这个项目,Berners-Lee和他在CERN的团队为Web作为分布式超文本系统的未来发展奠定了基础。他们介绍了自己的服务器和浏览器、用于客户机和服务器之间通信的协议、超文本传输协议(HTTP)、用于编写Web文档的超文本标记语言(HTML)和通用资源定位器(URL)。就这样开始了。
Mosaic和Netscape浏览器:Web开发的下一个重大事件是Mosaic的出现。1993年2月,伊利诺伊大学NCSA(国家超级计算应用中心)的Marc Andreesen和他的团队发布了第一个UNIX图形Web浏览器“Mosaic for X”。几个月后,针对Macintosh和Windows操作系统发布了Mosaic的不同版本。这是一个重要的事件。这是第一次为当时最流行的三种操作系统实现了Web客户机,它具有一致的、简单的单击图形用户界面。它很快就在它开始的学术圈之外引起了轰动。1994年中期,硅谷图形公司创始人吉姆·克拉克与马克·安德森合作,创立了马赛克通信公司(后来更名为网景通信公司)。几个月后,网景浏览器向公众发布,开始了互联网的爆炸式增长。微软的ie浏览器于1995年8月进入市场,并开始挑战网景公司。
Tim Berners-Lee创建万维网之后,Mosaic浏览器的发布通常被认为是互联网成功和流行的两个最重要的因素。
因特网:没有因特网,就不可能有万维网。因特网为万维网的运转提供了通讯网络。互联网始于冷战时期的计算机网络阿帕网。它是美国一个旨在在核攻击后维持对其导弹和轰炸机控制的项目的成果。它得到了美国国防部下属的高级研究计划局(ARPA)的支持。第一个ARPANET连接是在1969年建立的,1972年,在华盛顿特区举行的第一届计算机与通信国际会议上,ARPA的科学家们展示了这种连接,他们将来自40个不同地点的计算机连接在一起。
1973年,Vinton Cerf和Bob Kahn开始开发后来被称为TCP/IP(传输控制协议/Internet协议)的协议。第二年,他们发表了论文《传输控制协议》,标志着TCP/IP的开始。这个新协议允许不同的计算机网络相互连接和通信。在随后的几年里,人们建立了许多网络,提出并发展了许多相互竞争的技术和协议。然而,ARPANET仍然是整个系统的主干。在此期间,网络环境一片混乱。1982年,TCP/IP协议最终被采用,互联网诞生了,它是一组使用TCP/IP协议连接的网络。
搜索引擎:随着信息在全球范围内的共享,个人有必要以有序和高效的方式查找信息。于是开始了搜索引擎的发展。搜索系统Excite是由六名斯坦福大学的学生于1993年推出的。EINet银河公司成立于1994年,是德克萨斯大学MCC研究财团的一部分。杨致远和大卫·费罗创建了雅虎!1994年,它开始作为他们最喜欢的网站列表,并提供目录搜索。随后几年,出现了许多搜索系统,如Lycos、Inforseek、AltaVista、Inktomi、Ask Jeeves、Northernlight等。
1998年,谢尔盖•布林(Sergey Brin)和拉里•佩奇(Larry Page)基于他们在斯坦福大学(Stanford University)的研究项目创建了谷歌。微软于2003年开始致力于搜索业务,并于2005年春季推出MSN搜索引擎(即现在的Bing)。雅虎在2003年购买Inktomi之后,于2004年提供了通用搜索功能。
W3C(万维网联盟):W3C是由麻省理工学院和欧洲核子研究中心于1994年12月组成的一个领导万维网发展的国际组织。W3C的主要目标是“通过制定规范和参考软件来促进Web的发展和WWW产品之间互操作性的标准。”“1994年还举行了第一次关于万维网的国际会议,从那时起每年举行一次。
从1995年到2001年,互联网蓬勃发展。投资者看到了商机并参与其中。许多企业开始在网上,这导致了不合理的发展。最终,泡沫在2001年破裂。然而,Web的发展并没有停止,反而变得更加理性。
互联网在过去十年的快速发展使其成为世界上最大的公共访问数据源。Web具有许多独特的特性,这使得挖掘有用的信息和知识成为一项引人入胜和具有挑战性的任务。让我们回顾一下这些特征。
所有这些特征都为从Web中挖掘和发现信息和知识带来了挑战和机遇。在本书中,我们只关注文本数据的挖掘。对于图像、视频和音频的挖掘,请参考[15,26]。
为了探索Web上的信息挖掘,有必要了解数据挖掘,数据挖掘已经在许多Web挖掘任务中得到了应用。然而,Web挖掘并不完全是数据挖掘的应用。由于上面讨论的信息的丰富性和多样性以及其他特定于Web的特性,Web挖掘已经开发了许多自己的算法。
数据挖掘也称为数据库中的知识发现(knowledge discovery in database, KDD)。它通常被定义为从数据源(如数据库、文本、图像、Web等)中发现有用模式或知识的过程。模式必须是有效的、潜在的有用的和可理解的。数据挖掘是一个涉及机器学习、统计学、数据库、人工智能、信息检索和可视化等多学科的领域。
有许多数据挖掘任务。常见的有监督学习(或分类)、非监督学习(或聚类)、关联规则挖掘和顺序模式挖掘。我们将在本书中研究所有这些问题。
数据挖掘应用程序通常首先由数据分析人员(数据挖掘人员)了解应用程序域,然后由他们确定合适的数据源和目标数据。利用这些数据,可以进行数据挖掘,通常分为三个主要步骤:
整个过程(也称为数据挖掘过程)几乎总是迭代的。通常要经过许多轮才能获得令人满意的最终结果,然后将其纳入实际操作任务中。
传统的数据挖掘使用以表格形式存储在关系表、扩展表或平面文件中的结构化数据。随着Web和文本文档的发展,Web挖掘和文本挖掘变得越来越重要和流行。Web挖掘是本书的重点。
Web挖掘旨在从Web超链接结构、页面内容和使用数据中发现有用的信息或知识。尽管Web挖掘使用了许多数据挖掘技术,但如上所述,由于Web数据的异质性和半结构化或非结构化的特性,它并不纯粹是传统数据挖掘技术的应用。在过去的十年中,人们发明了许多新的挖掘任务和算法。根据挖掘过程中使用的主要数据类型,Web挖掘任务可以分为三类:Web结构挖掘、Web内容挖掘和Web使用挖掘。
在本书中,我们将研究这三种类型的挖掘。然而,由于Web上信息的丰富性和多样性,存在大量的Web挖掘任务。我们不可能把它们全部覆盖。我们只关注一些重要的任务和它们的基本算法。
Web挖掘过程类似于数据挖掘过程。不同之处在于数据收集。在传统的数据挖掘中,数据通常已经被收集并存储在数据仓库中。对于Web挖掘来说,数据收集是一项非常重要的任务,尤其是对于Web结构和内容挖掘,这需要爬取大量的目标Web页面。我们将用整整一章来讨论爬取。
一旦收集到数据,我们将经历相同的三步过程:数据预处理、Web数据挖掘和后处理。然而,用于每个步骤的技术可能与传统数据挖掘中使用的技术有很大的不同。