3.3.10 应用:数据挖掘

为了在应用程序的上下文中阐明这一节中讨论的一些概念,接下来我们将介绍一种软件技术——数据挖掘,该技术被证明对于解决一些艰巨的挑战任务非常重要即在大量的信息中进行搜索的过程。数据挖掘技术可以作为显著提高Web搜索结果质量,多媒体信息检索,生物医学数据库,抄袭检测,基因组学研究,在许多领域中的高级学术研究,商业应用创新,研究犯罪分子计划以及很多其他用途的基础。因此,人们对数据挖掘有着强烈的兴趣并进行着广泛的研究。

我们可以直接访问计算机中数以千计的文件,也可以间接访问Web上数以亿计的文件。正如你所知道的,这些文件非常多样化:有商业网页、音乐和视频、电子邮件、程序代码以及各种其他信息。为了简单起见,我们只关注文本文件(但是我们研究的方法同样适用于图像、音频以及其他各种类型的文件)。虽然限制文件类型为文本,但是文本文件的文档类型也存在着很大的差异。为了给读者提供参考,我们可以从本书官网查找列举在表3-3-11中的常用文档。

表3-3-11 常用的文档格式

我们的研究目标是寻找有效的方法来实现文件搜索功能。文档则使用它们的内容以描述其特征。解决这种问题的一种有效方法是将每个文档与一个称为摘要(sketch,文档内容的超浓缩表示)的向量关联起来。其基本思想是文档摘要应该捕获文档足够的统计信息,即不同的文档其摘要不同,类似的文档其摘要类似。这种方法能够区分一本小说、一个Python程序、一个基因组,这也许并不奇怪。但你可能会惊讶地发现文档摘要居然可以区分不同的作者撰写的小说之间的差异,甚至可以作为许多其他细微搜索标准的基础。 ...

Get 程序设计导论:Python语言实践 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.