Mind the Gap: Large-Scale Frequent Sequence Mining
(注意间隙:大规模频繁序列挖掘)
摘要
频繁数据挖掘是数据挖掘中一个基本部分。并且该问题已经得到了广泛的研究,一些可用的技术扩展处理数以百亿级的数据集;这种大规模数据集的增长,比如,在文本挖掘和会话分析。在本文中,我们提出了MG-FSM,一种可扩展性算法利用MapReduce处理频繁序列挖掘。MG-FSM可以处理所谓的“缺口约束”,“缺口约束”可以用于将输出限制到一个控制组频繁序列。在它的核心区,MG-FSM分区输入数据库的方式,这种方式使我们能够独立挖掘每个分区使用任何现有的频繁序列挖掘算法。我们引入ω-等效的概念,它是一个被许多频繁模式挖掘算法使用的一个“投影数据库”的概念的推广。我们还提出了一些优化技术最大限度地减少分区的大小,因此,计算和通讯成本,同时仍保持正确性。我们的实验研究中文本挖掘的上下文表明,MG-FSM相对于其他的方法更显著更高效的,可扩展性。
分类和主题描述
[数据库管理]:数据库应用 数据挖掘
关键字
数据挖掘;频繁序列挖掘;MapReduce
1. 前言
频繁序列挖掘(FSM)在一些重要的数据挖掘任务中是一个基本部分。在文本挖掘,例如
频繁的序列可以用于构建统计语言模型的机器翻译,信息检索,信息抽取,或垃圾邮件检测。字关联也被应用到关系抽取。在Web中使用挖掘和会话分析,频繁序列描述用户共同行为(例如,频繁序列共同页面访问量的行为)。在这些和类似的应用,FSM的实例能够得到非常大的,可能涉及数十亿序列。例如,微软提供了访问一个n-gram集合基于数十亿网页和谷歌发表了超过十亿的n-gram语料库。同样,在网络公司拥有数百万用户,使用量数据非常的庞大。在如此大规模的尺度,分布且可扩展的FSM算法是必不可少的。
给定项的输入序列,FSM的目标是在所有输入序列中找到“出现”频繁所有的子序列。在文本挖掘中,例如,每一个输入序列对应于一个文档(或句子)或者每个项目的文档中的一个字。“出现”的定义式应用独立的;例如,n-gram挖掘的目标是在长度为n的句子中发现频繁连续的子序列,然而单词关联规则挖掘的目标是发现经常出现在靠近(但不一定连续)单词的组合。另一个例子,在会话分析,输入序列对应用户会话和项目用户操作(经常有额外的时间戳)。根据不同的应用中,我们可能有兴趣在任一连续的动作序列或不连续的操作是足够接近(例如,几个动作之间非常的相近)。这一亲密的要求是通过间隙约束下的频繁序列处理挖掘,其中FSM是参数化的一个最大间隙的参数