挖掘高效用连续序列模式的方法、装置及计算机存储介质
技术领域
本申请涉及数据挖掘
技术领域
,特别是涉及一种挖掘高效用连续序列模式的方法、装置及计算机存储介质。背景技术
在互联网时代,每天有许多用户访问不同的网络站点,从而产生大量点击流日志。点击流记录了各个用户的网页浏览轨迹以及对应的浏览时长等信息,它可以简单地用一个序列来表示。例如一个点击流序列:<(A:1),(C:3),(D:4),(F:1)>表示用户依次浏览了A,C,D,F四个网页,浏览时长分别为1,3,4,1个时间单位,这种类型的序列也称为带有效用值的序列,其中效用值指的就是浏览时长。通过挖掘分析点击流日志中效用值总和高的序列模式,可以得出这样的信息:用户浏览完某个网页后,通常浏览的下一个网页是什么,即哪些网页是高度相关的;用户在哪些网页上的浏览时间较长,即哪些网页是用户最感兴趣的等等。利用这些信息,网站服务提供者在技术上可以改进网站的拓扑结构,在有高度相关性的网页之间安排快速的访问路径,提升用户的访问效率;在业务上,可以在热门网页投放广告,提高广告曝光度;还可以根据用户兴趣来进行网页内容推荐,改善用户体验。综上所述,通过运用高效用序列模式挖掘技术,可以获取到网站点击流日志中蕴含的用户行为规律信息,这些信息对于网站服务提供者而言极具价值。
当前的高效用序列模式挖掘算法能够挖掘出点击流数据库中的效用值高于预定阈值的所有序列模式,即高效用序列模式。但是,在点击流分析这一具体的应用场景之下,并非所有的高效用序列模式都是有意义的。例如,给定两个点击流序列:<(B:10),(A:3),(C:1),(H:2),(D:1),(G:1),(F:5)>和<(B:9),(C:2),(F:6)>,最小效用阈值设置为25,我们可以得出只有模式<B,F>的效用值为30,高于阈值。如果将该模式返回给网站服务提供者,他们会误以为用户浏览完网页B以后,很有可能立即浏览网页F。然而,如以上两个点击流序列所示,实际情况并非如此,尤其是在第一个点击流中,B与F之间间隔了许多个网页。针对这个问题,研究者们提出了高效用连续序列模式挖掘,在高效用序列模式挖掘问题基础上增加了连续约束,即挖掘出的序列模式必须是数据库中至少一个序列的连续子序列。相对于常规的高效用序列模式,高效用连续序列模式更能反映出网络用户的连续访问偏好。
已有的高效用连续序列模式挖掘算法只能处理每个时间点仅有一个事件发生的序列,在点击流序列中,每个时刻用户只能浏览一个网页。然而在实际应用中,存在用户同时浏览多个网页的情况,点击流序列是更加复杂的。例如,用户网购时,同时打开了多个电商平台页面对比商品价格;用户在浏览新闻门户时,可能会同时打开音乐平台收听音乐。类似的场景还有许多,在这种情况下,点击流序列形如<{(B:3)(D:4)},{(C:1)},{(H:2)(E:1)}>,该序列表示用户先同时浏览了网页B和D,然后浏览了C,最后同时浏览H和E。这种形式的序列中,一个花括号“{}”中的内容组成一个项集,项集中的各个元素称为项,例如,(B:3)是上述序列的第一个项集中的项。现有的高效用序列模式挖掘算法,能够处理这样的复杂点击流序列,但是它们没有考虑连续限制。而高效用连续序列模式挖掘算法,虽然考虑了连续限制,但是不能处理复杂点击流。因此,需要设计一种能够从复杂点击流中挖掘出高效用连续序列模式的方法及装置。
此外,随着互联网的迅速发展,网民数量不断增多,产生的点击流数据量也日益庞大。现有的高效用连续序列模式挖掘算法在小规模数据库上的性能良好,但是在大规模数据库上的挖掘速度较慢,难以满足当下大数据挖掘的需求。如何提高算法的性能,使其在规模较大的数据库上也能快速挖掘出有用信息,是一个亟需解决的问题。
发明内容
本发明针对上述问题,提供了一种能够在大规模复杂点击流数据库中挖掘高效用连续序列模式的方法(简称FUCPM,Fast Utility Contiguous Pattern Mining)、装置及计算机存储介质。
本发明的第一方面,提供了一种能够在大规模复杂点击流数据库中挖掘高效用连续序列模式的方法,包括:
S1、建立点击流序列数据库中各序列的映射数据库;
S2、根据所述映射数据库生成初始候选序列模式,将所述初始候选序列模式逐次作为当前序列模式,统计所述当前序列模式的效用值和效用上界;
S3、当所述当前序列模式的效用值大于或等于阈值时,确定所述当前序列模式为高效用连续序列模式;当所述当前序列模式的效用上界大于或等于阈值时,将所述当前序列模式作为候选序列模式;
S4、在连续约束条件下,若所述候选序列模式可进行扩展,则将所述候选序列模式生成扩展序列模式,将所述扩展序列模式作为当前序列模式,根据所述当前序列模式建立当前序列模式映射数据库,根据所述当前序列模式映射数据库统计所述当前序列模式的效用值和效用上界,返回S3,若所述候选序列模式无法再被扩展,则结束循环。
进一步的,所述S2中根据所述映射数据库生成初始候选序列模式,具体为:将长度为1的序列模式确定为初始候选序列模式。
进一步的,所述S4所述候选序列模式可进行扩展包括所述候选序列模式可进行项扩展和项集扩展。
进一步的,所述映射数据库存储所述点击流序列数据库中各序列每个项的效用值,所述当前序列模式映射数据库存储所述当前序列模式的效用值和位置信息。
进一步的,所述S4连续约束条件包括:只能用与所述候选序列模式的最后一个项位于同一个项集的项来做项扩展;只能用位于所述候选序列模式的最后一个项的后一个项集中的项来做项集扩展。
进一步的,所述S3还包括:当所述当前序列模式的效用上界小于阈值时,将所述当前序列模式删除。
本发明的第二方面,提供了一种用于挖掘高效用连续序列模式的装置,包括:映射数据库建立模块,用于建立点击流序列数据库的映射数据库;
效用统计模块,用于根据所述映射数据库生成初始候选序列模式,将所述初始候选序列模式逐次作为当前序列模式,统计所述当前序列模式的效用值和效用上界;
高效用连续序列模式判定模块,用于当所述当前序列模式的效用值大于或等于阈值时,确定所述当前序列模式为高效用连续序列模式;
候选序列模式判定模块,用于当所述当前序列模式的效用上界大于或等于阈值时,将所述当前序列模式作为候选序列模式;
候选序列模式扩展模块,用于在连续约束条件下对所述候选序列进行扩展,生成扩展序列模式,并将扩展序列模式作为当前序列模式,根据所述当前序列模式建立当前序列模式映射数据库,根据所述当前序列模式映射数据库统计所述当前序列模式的效用值和效用上界。
进一步的,所述映射数据库建立模块中所述映射数据库存储所述点击流序列数据库中各序列每个项的效用值,所述候选序列模式扩展模块中所述当前序列模式映射数据库存储所述当前序列模式的效用值和位置信息。
本发明的第三方面,提供了一种用于挖掘高效用连续序列模式的装置,包括:处理器;以及存储器,其中,所述存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行上述方法。
本发明的第四方面,提供了一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行上述方法。
本发明提供的一种能够在大规模复杂点击流数据库中挖掘高效用连续序列模式的方法、装置及计算机存储介质,首先检测长度为1的序列模式,计算其在数据库中的效用值和效用上界,如果其效用值高于阈值,则输出该模式;如果其效用上界值低于阈值,则进行剪枝,即停止扩展该序列,否则要对该序列做项扩展和项集扩展,然后对扩展得到的序列模式做同样的检测,该过程递归进行,直到序列模式无法再被扩展或者序列模式符合剪枝条件,所述映射数据库包括两种结构,一种用于存储所述点击流序列数据库中各序列每个项的效用值,一种用于存储所述当前序列模式的效用值和位置信息;利用当一个序列模式的效用上界值小于阈值时,其扩展序列的效用值也必然小于阈值来减少搜索空间;基于项扩展和项集扩展的效用上界计算方法,为减少搜索空间提供了支持,同时,考虑到连续的约束条件,只用与序列模式的最后一个项位于同一个项集的项来做项扩展,用位于序列模式的最后一个项的后一个项集中的项来做项集扩展,最终达到的有益效果:与已有的高效用连续序列模式挖掘相比,本发明提供的一种能够在大规模复杂点击流数据库中挖掘高效用连续序列模式的方法、装置及计算机存储介质能更加快速地挖掘出所需结果,并且可以扩展到规模较大的复杂点击流序列数据,能够很好地满足当下点击流日志挖掘分析的应用需求,具有很大的实用价值。
附图说明
图1是本发明实施例的挖掘高效用连续序列模式的方法流程图;
图2是本发明实施例中序列模式<{A}>的Instance List;
图3是本发明实施例中搜索空间树状结构示意图;
图4是本发明实施例中的挖掘高效用连续序列模式的装置结构示意图;
图5示本发明实施例中的计算机设备的架构。
图6是本发明实施例中FUCPM与HUCP-Miner的运行时间对比图;
图7是本发明实施例中FUCPM与HUCP-Miner的内存消耗对比图;
图8是本发明实施例中FUCPM在不同规模的人造数据集上的性能;
具体实施方式
为进一步对本发明的技术方案作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的步骤。
本发明实施例针对一种能够在大规模复杂点击流数据库中挖掘高效用连续序列模式的方法(简称FUCPM,Fast Utility Contiguous Pattern Mining)、装置及计算机存储介质。如图1为本发明实施例的挖掘高效用连续序列模式的方法流程图:
S1、建立点击流序列数据库中各序列的映射数据库;
在具体实施例中,映射数据库的数据结构,包含两个部分:Sequence InformationList(下文简称SIL)和Instance List,其中SIL用于存储点击流数据库中每个序列各个项的效用值;Instance List用于存储挖掘过程中形成的候选序列模式的效用值和位置信息。
S2、根据所述映射数据库生成初始候选序列模式,将所述初始候选序列模式逐次作为当前序列模式,根据当前序列模式的映射数据库统计所述当前序列模式的效用值和效用上界;
所述S2中根据所述映射数据库生成初始候选序列模式,具体为:将长度为1的序列模式确定为初始候选序列模式。
在高效用序列模式挖掘技术中,效用上界是一个重要的概念。所有的高效用序列模式挖掘算法均利用了特定的效用上界对搜索空间进行剪枝,以提高算法效率。序列模式的效用上界必须满足两个条件:①序列模式的效用上界值大于其效用值;②序列模式的效用上界值大于其扩展序列的效用上界值。由此,当一个序列模式的效用上界值小于阈值时,其扩展序列的效用值也必然小于阈值,所以可以停止扩展该序列模式,减少搜索空间。
S3、当所述当前序列模式的效用值大于或等于阈值时,确定所述当前序列模式为高效用连续序列模式;当所述当前序列模式的效用上界大于或等于阈值时,将所述当前序列模式作为候选序列模式;
所述S3还包括:当所述当前序列模式的效用上界小于阈值时,将所述当前序列模式删除。
S4、在连续约束条件下,若所述候选序列模式可进行扩展,则将所述候选序列模式生成扩展序列模式,将所述扩展序列模式作为当前序列模式,根据所述当前序列模式建立当前序列模式映射数据库,根据所述当前序列模式映射数据库统计所述当前序列模式的效用值和效用上界,返回S3,若所述候选序列模式无法再被扩展,则结束循环。
所述S4所述候选序列模式可进行扩展包括所述候选序列模式可进行项扩展和项集扩展。具体实施例中,Instance List为所述S4中所述当前序列模式映射数据库。
所述S4连续约束条件包括:只能用与所述候选序列模式的最后一个项位于同一个项集的项来做项扩展;只能用位于所述候选序列模式的最后一个项的后一个项集中的项来做项集扩展。
具体实施例中,效用上界Item Extension Utility(简称IEU)计算方式如下:
对于项扩展(即在序列模式的最后一个项集中增加一个项),假设序列模式α通过做项扩展得到t,扩展的项为i,则t在点击流序列s中,关于位置p的IEU值为:
上式中,u(α,p,s)是α的最后一个项位于s的第p个项集的那个实例在s中的效用值,ru(i,p,s)是s的第p个项集的项i以后的s剩余序列的所有项(包含i)的效用值之和。
对于项集扩展(即在序列模式尾部增加一个包含单个项的项集),假设序列模式α通过做项集扩展得到t,扩展的项为i,则t在点击流序列s中,关于位置p的IEU值为:
序列模式t在点击流序列s中IEU值定义为:
序列模式t在点击流数据库中IEU值定义为:
FUCPM的挖掘过程是一个深度优先搜索的递归过程。首先检测长度为1的序列模式,例如<{A}>,计算其在数据库中的效用值和效用上界值,如果其效用值高于阈值,则输出该模式;如果其效用上界值低于阈值,则进行剪枝,即停止扩展该序列,否则要对该序列做项扩展和项集扩展,然后对扩展得到的序列模式做同样的检测,该过程递归进行,直到序列模式无法再被扩展或者序列模式符合剪枝条件。完成了对一个序列模式的搜索后,FUCPM继续以同样方式检测后续序列模式。
下面具体给出实施例中的一个示例说明,给定表1所示的点击流序列数据库。
表1点击流数据库
SID
Clickstream
1
<{(A:2)(C:6)},{(B:4)}>
2
<{(C:3)},{(B:6)},{(A:1)}>
3
<{(B:2)(C:4)},{(A:4)}>
第一步,构建该数据库的SIL,具体如表2所示。
表2点击流数据库的SIL
SID
Content
1
<{(A,2,9)(C,5,4)},{(B,4,0)}>
2
<{(C,3,7)},{(B,6,1)},{(A,1,0)}>
3
<{(B,2,8)(C,4,4)},{(A,4,0)}>
SIL中的每个三元组记录了项的效用值和剩余效用值,例如在S1首个项集中,(A,2,9)表明A的效用值为2,剩余序列中所有项的效用值之和为9。
第二步,FUCPM构建所有长度为1的序列模式的Instance List,例如<{A}>的Instance List如图2所示,其中TID表示序列模式最后一个项所在的项集号码,对于<{A}>来说,TID就是项A所在的项集号码;Utility是序列模式的效用值。
第三步,检测长度为1的序列模式的效用值和效用上界,然后进行项扩展和项集扩展。考虑到连续约束,只能用与序列模式的最后一个项位于同一个项集的项来做项扩展,用位于序列模式的最后一个项的后一个项集中的项来做项集扩展。例如,对于<{A}>而言,项扩展的候选项只有C,项集扩展的候选项只有B。
如图3所示,把搜索空间表示为一个树状结构,树中除了根结点以外的每个结点包含一个元组,元组中的内容为对应序列模式的效用值和效用上界。本示例中,最小效用阈值设置为16。所有长度为1的序列模式的效用值均没超过阈值,但是它们的效用上界超过了阈值,所以需要对它们进行扩展。方框框出的结点对应的序列模式的效用上界不超过阈值,所以在该结点做剪枝,无需再往下生长。最终,我们得出只有<{C},{B}>是高效用连续序列模式。
以下,参照图4来描述根据本公开实施例的与图1所示的方法对应的装置,挖掘高效用连续序列模式的装置100,图4是本发明实施例中的挖掘高效用连续序列模式的装置结构示意图。由于装置100的功能与在上文中参照图1描述的方法的细节相同,因此在这里为了简单起见,省略对相同内容的详细描述。如图4所示,装置100包括:映射数据库建立模块101,用于建立点击流序列数据库的映射数据库;效用统计模块102,用于根据所述映射数据库生成初始候选序列模式,将所述初始候选序列模式逐次作为当前序列模式,统计所述当前序列模式的效用值和效用上界;高效用连续序列模式判定模块103,用于当所述当前序列模式的效用值大于或等于阈值时,确定所述当前序列模式为高效用连续序列模式;候选序列模式判定模块104,用于当所述当前序列模式的效用上界大于或等于阈值时,将所述当前序列模式作为候选序列模式;候选序列模式扩展模块105,用于在连续约束条件下对所述候选序列进行扩展,生成扩展序列模式,并将扩展序列模式作为当前序列模式,根据所述当前序列模式建立当前序列模式映射数据库,根据所述当前序列模式映射数据库统计所述当前序列模式的效用值和效用上界。除了这5个单元以外,装置100还可以包括其他部件,然而,由于这些部件与本公开实施例的内容无关,因此在这里省略其图示和描述。
所述映射数据库建立模块101中所述映射数据库存储所述点击流序列数据库中各序列每个项的效用值,所述候选序列模式扩展模块105中所述当前序列模式映射数据库存储所述当前序列模式的效用值和位置信息。
一种挖掘高效用连续序列模式的装置100的具体工作过程参照上述挖掘高效用连续序列模式的方法的描述,不再赘述。
此外,根据本发明实施例的装置也可以借助于图5所示的计算设备的架构来实现。图5示出了该计算设备的架构。如图5所示,计算机系统201、系统总线203、一个或多个CPU204、输入/输出组件202、存储器205等。存储器20可以存储计算机处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。图5所示的架构只是示例性的,在实现不同的设备时,根据实际需要调整图5中的一个或多个组件。
本发明实施例也可以被实现为计算机可读存储介质。根据实施例的计算机可读存储介质上存储有计算机可读指令。当所述计算机可读指令由处理器运行时,可以执行参照以上附图描述的根据本发明实施例的方法。
本发明实施例针对以上所述能够在大规模复杂点击流数据库中挖掘高效用连续序列模式的方法实施例、装置实施例及计算机存储介质实施例,以上三种实施例的结果与当前最优的高效用连续序列模式挖掘方法HUCP-Miner实施结果在运行速度和内存消耗两方面的性能进行比对,实施例在四个真实点击流数据集MSNBC,Kosarak10K,FIFA,BMS上进行,其中,前三个数据集来源于新闻门户MSNBC、Kosarak和FIFA的点击流日志,最后一个数据集来源于某个购物网站的点击流日志。这四个数据集中,每个点击流序列的项集仅包含一个项。实施例中,最小效用阈值参数是一个比率,用该比率乘以数据集所有序列的效用值之和即可得到具体的最小效用阈值。本发明实施例FUCPM算法与HUCP-Miner在四个数据集上的运行时间和内存消耗分别如图6和图7所示。
由图6,FUCPM的运行速度相比HUCP-Miner约有50%的提升,尤其是在FIFA数据集上,FUCPM的速度优势更明显。由图7,FUCPM的内存消耗在MSNBC数据集上比HUCP-Miner少,但是在FIFA和BMS数据集上,FUCPM消耗的内存略多于HUCP-Miner。
本实施例在不同规模的人造点击流数据集上进行,这些数据集中,每个点击流序列的项集可以包含多个项,以模拟用户同时浏览多个网页的场景。由于已有的高效用连续序列模式挖掘算法均无法处理单个项集包含多个项的复杂点击流序列,所以本实施例只检测FUCPM方法的效率。从图8可以看出,FUCPM能够快速有效地从不同规模的复杂点击流数据库中挖掘出高效用连续序列模式。
综合上述各实施例提供的能够在大规模复杂点击流数据库中挖掘高效用连续序列模式的方法、装置及计算机存储介质,能更加快速地挖掘出所需结果,并且可以扩展到规模较大的复杂点击流序列数据,能够很好地满足当下点击流日志挖掘分析的应用需求,具有很大的实用价值。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的步骤、方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种步骤、方法所固有的要素。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种多模型数据的同步方法及装置