一种高效用序列模式挖掘方法及装置与流程

文档序号:15797599发布日期:2018-11-02 21:11阅读:245来源:国知局
一种高效用序列模式挖掘方法及装置与流程
本申请涉及数据挖掘
技术领域
,更具体地说,涉及一种高效用序列模式挖掘方法及装置。
背景技术
在数据挖掘
技术领域
中,早期比较流行的是基于支持度的模式挖掘技术,其能够在数据库中找出频繁出现的模式。著名的“啤酒和尿布”例子就是基于支持度的模式挖掘技术的应用之一。通过分析超市的销售数据,找到出现次数较多的商品组合--啤酒和尿布,将二者摆放在一起,进而提高其销售量。但是,基于支持度的模式挖掘不能体现模式的重要性,因此基于效用的模式挖掘被提出来用于改进这个缺点。以超市的商品销售记录为例子,商品销售记录由多个顾客的购买清单组成,顾客的购买清单由购买商品组成。基于支持度的模式挖掘是为了找出在这些购买清单中出现次数较多的商品组合,这些商品具有较高的共现概率,适合放在一起,提高销售量。而基于效用的模式挖掘是找出销售额或者利润较高的商品组合,通过分析,改变销售策略,提高销售利润。将这个例子抽象成模式挖掘的模型,购买商品对应项目(item),购买清单对应事务(transaction),所有购买清单就是输入的数据库(transactionaldatabase)。如果事务由同一顾客在不同时间的所有购买清单组成(如,事务<[ac],[b],[ad]>表示顾客先购买商品a和商品c,再购买商品b,最后购买商品a和商品d),则包括这些事务的数据库为序列数据库。序列数据库中的每一事务,所包含的项目集合存在排序顺序。高效用序列模式挖掘算法所挖掘的是效用值高于设定效用阀值的商品组合,也就是序列模式(pattern)。序列模式是不同项目集的有序排序。现有的高效用序列模式挖掘技术使用单一阀值衡量序列模式的价值,即针对不同的项目设置统一的效用阀值。而在实际应用中,不同的项目可能具有不同的性质,如出现概率、单位利润等,不同项目对不同用户的吸引力也不同。使用单一阀值衡量序列模式的价值无法满足不同应用场景的需求。技术实现要素:有鉴于此,本申请提供了一种高效用序列模式挖掘方法及装置,用于解决现有高效用序列模式挖掘技术使用单一阀值衡量序列模式的价值无法满足不同应用场景的需求的问题。为了实现上述目的,现提出的方案如下:一种高效用序列模式挖掘方法,包括:根据序列数据库中包含的各事务,获取满足设定条件的候选序列模式集合,所述事务和所述候选序列模式均是由项目集合序列组成,项目集合序列包含至少一项目集合;针对每一所述候选序列模式,确定所述候选序列模式在所述序列数据库中的效用值;将所述效用值不低于自身所对应的效用阀值的候选序列模式,确定为挖掘结果,其中,候选序列模式对应的效用阀值为该候选序列模式所包含各项目中,效用阀值最低的项目的效用阀值,序列数据库中每一项目的效用阀值由用户预先设定。一种高效用序列模式挖掘装置,包括:候选序列模式集合获取单元,用于根据序列数据库中包含的各事务,获取满足设定条件的候选序列模式集合,所述事务和所述候选序列模式均是由项目集合序列组成,项目集合序列包含至少一项目集合;候选序列模式效用值确定单元,用于针对每一所述候选序列模式,确定所述候选序列模式在所述序列数据库中的效用值;挖掘结果确定单元,用于将所述效用值不低于自身所对应的效用阀值的候选序列模式,确定为挖掘结果,其中,候选序列模式对应的效用阀值为该候选序列模式所包含各项目中,效用阀值最低的项目的效用阀值,序列数据库中每一项目的效用阀值由用户预先设定。本申请实施例提供的高效用序列模式挖掘方法,根据序列数据库中包含的各事务,获取满足设定条件的候选序列模式集合,所述事务和所述候选序列模式均是由项目集合序列组成,项目集合序列包含至少一项目集合;针对每一所述候选序列模式,确定所述候选序列模式在所述序列数据库中的效用值;将所述效用值不低于自身所对应的效用阀值的候选序列模式,确定为挖掘结果,其中,候选序列模式对应的效用阀值为该候选序列模式所包含各项目中,效用阀值最低的项目的效用阀值,序列数据库中每一项目的效用阀值由用户预先设定。由此可见,本申请可以由用户根据需要对不同项目设置不同的效用阀值,基于此从序列数据库中挖掘效用值不低于自身对应的效用阀值的序列模式,在挖掘高效用模式的基础上,能够实现个性化挖掘,满足不同应用场景的需求。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例公开的一种高效用序列模式挖掘方法流程图;图2为本申请实施例公开的一种获取满足设定条件的候选序列模式集合的方法流程图;图3为本申请实施例公开的一种深度优先搜索策略生成第k层候选序列模式集合的方法流程图;图4为本申请示例的一种字典序列树形结构示意图;图5为本申请实施例公开的一种高效用序列模式挖掘装置结构示意图;图6为本申请实施例公开的一种服务器硬件结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为了解决现有技术的缺陷,本申请提出了一种多重阀值的高效用序列模式挖掘技术。该技术允许用户为不同的项目设置不同的效用阀值,从序列数据库中挖掘效用不低于自身效用阀值的序列模式。针对不同项目设置不同的效用阀值,不仅能够发现效用值较高的序列模式,还能够实现个性化挖掘,满足不同应用场景的需求。本申请方案可以应用于商业决策,比如根据用户不同需求挖掘高利润的商品组合序列。进一步,还可以应用于热点新闻事件分析,如根据用户的兴趣点,挖掘用户感兴趣或关注度较高的新闻序列。在介绍本申请方案之前,对高效用序列模式挖掘中涉及的部分概念进行解释。输入的序列数据库由多个事务组成,事务由一个或多个项目集合组成。项目集合即一个或多个项目组成的集合。事务中各项目集合依序排序,且顺序不能改变。以小写字母a,b,c,…代表不同的项目(可以理解为顾客购买的不同商品),[abc]代表一个包含项目a,b,c的项目集合(可以理解为顾客本次购买了三件商品a,b,c)。<[abc],[bd],[c]>代表一个事务(可以理解为顾客先购买了商品a,b,c,接着购买了商品b和d,最后购买了商品c)。用户可以根据需要自定义每个项目的效用阀值。例如,用户对项目b和c比较感兴趣,则可以为项目b和c设定较小的效用阀值。序列模式的效用阀值由包含项目中效用阀值最小的项目确定。假设用户分别为商品a,b,c和d设定效用阀值为200,50,70和300,则序列模式<[ac],[d]>的效用阀值为min{200,70,300}=70。如果序列模式<[ac],[d]>的效用值不小于70,则可以确定<[ac],[d]>为高效用序列模式,作为挖掘结果输出。序列模式的效用值定义如下:其中,t表示序列模式,s表示事务,d表示序列数据库,u(t,s)表示序列模式t在事务s中的效用值,t~sk表示sk为序列模式t在事务s中的匹配,u(sk)表示sk在事务中的效用值,其大小为sk所包含的序列模式t的数量与利润的乘积,u(t)表示序列模式t在序列数据库d中的效用值,∧表示取交集操作,即∧前后两个条件均需满足。需要说明的是,若序列模式t在事务s中存在匹配,则可以称之为事务s包含序列模式t,也即,序列模式t被包含于事务s;若序列模式t在事务s中不存在匹配,则可以称之为事务s不包含序列模式t,也即,序列模式t不被包含于事务s。以事务s:<[(a:1)(b:1)(c:1)],[(a:2)(b:1)],[(b:3)]>、序列模式t:<[a],[b]>为例,则sk:<[a:1],[b:1]>和<[a:1],[b:3]>和<[a:2],[b:3]>。可以看出,sk为序列模式t加上项目数量后的表现。参见下表1和表2,其分别示例了一种序列数据库和利润表。事务编号项目集合序列s1<[(a:2)(c:3)],[(a:3)(b:1)(c:2)],[(a:4)(b:5)(d:4)],[(e:3)]>s2<[(a:1)(e:3)],[(a:5)(b:3)(d:2)],[(b:2)(c:1)(d:4)],[(e:3)]>s3<[(e:2)],[(c:2)(d:3)],[(a:3)(e:3)],[(b:4)(d:5)]>s4<[(b:2)(c:3)],[(a:5)(e:1)],[(b:4)(d:3)(e:5)]>s5<[(a:4)(c:3)],[(a:2)(b:5),(c:2)(d:4)(e:3)]>s6<[(f:4)],[(a:5)(b:3)],[(a:3)(d:4)]>表1表1中,项目后的数字表示项目当前位置的数量。如(a:2)表示当前位置项目a的数量为2。项目abcdef利润534216表2序列模式<[a],[b]>在事务s1中的效用值为序列模式在s1中各个匹配的效用值的最大值,其中第一个匹配为<[a:2],[b:1]>,其效用值为:2*5+1*3(项目数量与利润乘积);第二个匹配为<[a:2],[b:5]>,其效用值为:2*5+5*3;第三个匹配为<[a:3],[b:5]>,其效用值为:3*5+5*3。则序列模式<[a],[b]>在事务s1中的效用值为max{2*5+1*3,2*5+5*3,3*5+5*3}=30。以此类推,得到序列模式<[a],[b]>在事务s2-s6中的效用值,分别为:31、27、37、35、0。其中,序列模式<[a],[b]>在事务s6中的效用值为0,也即,事务s6不包含序列模式<[a],[b]>。这里需要说明的是,虽然s6中存在[(a:5)(b:3)],但是a和b两个项目处于同一集合内,而序列模式中a和b分别处于不同项目集合,因此事务s6不包含序列模式<[a],[b]>。基于上述介绍,序列模式<[a],[b]>在序列数据库中的效用值为30+31+27+37+35=160。接下来,对本申请的高效用序列模式挖掘方法进行介绍,参见图1,图1为本申请实施例公开的一种高效用序列模式挖掘方法流程图。如图1所示,该方法包括:步骤s100、根据序列数据库中包含的各事务,获取满足设定条件的候选序列模式集合;根据前述介绍可知,所述事务和所述候选序列模式均是由项目集合序列组成,项目集合序列包含至少一项目集合。本步骤中,从序列数据库的各事务中,获取满足设定条件的候选序列模式,组成候选序列模式集合。可选的,每一候选序列模式可以被包含于所述序列数据库中某一事务。也即,序列数据库中至少存在一事务包含候选序列模式。可选的,本步骤中的设定条件可以由用户定义。下述步骤中详细介绍本步骤的具体实施过程。步骤s110、针对每一所述候选序列模式,确定所述候选序列模式在所述序列数据库中的效用值;具体地,前述已经介绍了序列模式在序列数据库中效用值的计算方法。本步骤中按照前述序列模式的效用值定义公式进行计算即可。需要说明的是,本步骤确定候选序列模式在所述序列数据库中的效用值的过程,可以是在每获取到一个候选序列模式之后,即进行效用值的计算。步骤s120、将所述效用值不低于自身所对应的效用阀值的候选序列模式,确定为挖掘结果。其中,根据前述介绍可知,候选序列模式对应的效用阀值为该候选序列模式所包含各项目中,效用阀值最低的项目的效用阀值。本步骤中将前一步骤所计算的效用值不低于自身所对应的效用阀值的候选序列模式,确定为挖掘结果进行输出。本申请实施例提供的高效用序列模式挖掘方法,根据序列数据库中包含的各事务,获取满足设定条件的候选序列模式集合,所述事务和所述候选序列模式均是由项目集合序列组成,项目集合序列包含至少一项目集合;针对每一所述候选序列模式,确定所述候选序列模式在所述序列数据库中的效用值;将所述效用值不低于自身所对应的效用阀值的候选序列模式,确定为挖掘结果,其中,候选序列模式对应的效用阀值为该候选序列模式所包含各项目中,效用阀值最低的项目的效用阀值,序列数据库中每一项目的效用阀值由用户预先设定。由此可见,本申请可以由用户根据需要对不同项目设置不同的效用阀值,基于此从序列数据库中挖掘效用值不低于自身对应的效用阀值的序列模式,在挖掘高效用模式的基础上,能够实现个性化挖掘,满足不同应用场景的需求。接下来的实施例中,对前述步骤s100,根据序列数据库中包含的各事务,获取满足设定条件的候选序列模式集合的过程进行介绍。参见图2,图2为本申请实施例公开的一种获取满足设定条件的候选序列模式集合的方法流程图,如图2所示,该方法包括:步骤s200、扫描所述序列数据库,由序列数据库中事务包含的每一个项目作为一个初始候选序列模式,确定每一初始候选序列模式在所述序列数据库中的效用值上界和效用阀值下界pmiu;其中,效用值上界存在两种定义,分别为效用值上界swu和效用值上界pu。两者定义公式如下:其中,u(s)表示事务的效用值,该公式的含义是:序列模式t的效用值上界为序列模式t所在各事务s的效用值的和值。其中,(<s-t>rest):表示事务s中,序列模式t之后部分的项目的集合。例子:事务s:<[(a:1)(b:1)(c:1)],[(a:1)(b:1)(d:1)],[(b:1)(f:1)]>序列模式t:<[a],[b]>则(<s-t>rest)=<[(d:1)],[(b:1)(f:1)]>根据上述公式可知,效用值上界swu比效用值上界pu的计算过程要简单。但是,效用值上界pu比效用值上界swu要小,下一步中利用效用值上界筛选初始候选序列模式时能够得到更少的筛选结果,减小搜索空间。因此,根据需要,本步骤中可以确定每一初始候选序列模式在所述序列数据库中的效用值上界swu或者pu。进一步,效用阀值下界pmiu的定义如下:pmiu(t)=min{mu(ij)|ij∈t∨ij∈i(t)rest}其中,ij表示序列模式t中第j个项目,泛指t中的项目,mu(ij)表示序列模式t中第j个项目的效用阀值,i(t)rest表示数据库中包含序列模式t的事务中,序列模式t之后的部分的项目的集合,∨表示取并操作,即∨前后两个条件只要满足任意一个即可。可以理解的是,本步骤中还可以直接计算每一初始候选序列模式在所述序列数据库中的效用值。下一步骤从初始候选序列模式中筛选得到第1层候选序列模式集合后,对于其中的候选序列模式不需要再次确定其效用值。步骤s210、由效用值上界大于等于效用阀值下界的初始候选序列模式,组成第1层候选序列模式集合chusps1;其中,chusps表示高效用候选序列模式集合。本申请用chuspsk表示第k层高效用候选序列模式集合。具体地,根据效用值上界和效用阀值下界的公式定义可知,如果初始候选序列模式的效用值上界小于效用阀值下界,则意味着该初始候选序列模式不可能成为高效用序列模式。而对于该初始候选序列模式的超集,由于初始候选序列模式的超集的效用值上界不可能超过初始候选序列模式的效用值上界,因此可以确定初始候选序列模式的超集也不可能成为高效用序列模式。因此,本步骤中由效用值上界大于等于效用阀值下界的初始候选序列模式,组成第1层候选序列模式集合chusps1。步骤s220、采用深度优先搜索策略,根据所述chusps1中的候选序列模式,逐层产生第k层候选序列模式集合chuspsk,直至chuspsk+1为空;其中,chuspsk中的候选序列模式由chuspsk-1中的候选序列模式的超集组成,且chuspsk中的候选序列模式在所述序列数据库中的效用值上界大于等于效用阀值下界。这里,本申请采用的是深度优先搜索策略,即以chusps1中的一个候选序列模式为前缀搜索其超集,直至第k+1层的超集为空时,再以chusps1中的另一个候选序列模式为前缀进行搜索。步骤s230、由chusps1至chuspsk组成最终的候选序列模式集合。本实施例中介绍了获取满足设定条件的候选序列模式集合的一种可实施方式,采用深度优先搜索策略产生chusps1至chuspsk,由chusps1至chuspsk组成最终的候选序列模式集合。可以理解的是,在采用深度优先搜索策略产生各层候选序列模式集合的过程中,一种方式是仍继续扫描序列数据库,通过序列数据库计算各层候选序列模式集合中的候选序列模式在所述序列数据库中的效用值上界和效用阀值下界。但是,通过扫描数据库来计算效用值上界和效用阀值下界的方式,其计算速度太慢。为此,本申请提供了一种解决方式。本申请可以在步骤s200首次扫描所述序列数据库的同时,根据所述序列数据库中各事务,确定与各事务对应的效用链表。其中,事务对应的效用链表记录有事务包含的项目集合中各项目的项目信息,以及各项目在事务中首次出现时的位置;其中,项目信息包括:所述项目在该事务中的效用值,事务中位于所述项目之后的各项目在该事务中的效用值的和值,事务中与所述项目相同的下一个项目的位置。通过效用链表,无需访问原序列数据库,可以更加快速的计算序列模式的效用值上界和效用阀值下界。接下来通过一个具体实例对效用链表进行介绍。以上表1中事务s1为例,确定与s1对应的效用链表,其结构如下表3所示:表3以上述效用链表中项目信息行的第一个元素(a,10,84,3)为例进行说明:其中:a表示s1中第1个项目为a;10表示该项目a在当前事务中的效用值;84表示当前事务中该项目a之后所有项目的效用值;3表示下一项目a在当前事务中的出现位置。进一步,以(c,8,46,-)为例进行说明,其中-表示当前事务中不存在下一项目c。上表3中第二行的含义是,表示每个项目在事务s1中首次出现时的位置,便于快速查找。如(a,1)表示a首次出现的位置为第1个元素,(b,4)表示b首次出现的位置为第4个元素。可以理解的是,每一事务均可以对应一效用链表。通过效用链表可以快速计算序列模式的效用值、效用值上界、效用阀值下界等。无需再次扫描序列数据库,其计算速度更快。基于上述介绍的效用链表,本实施例中对上述步骤s220,采用深度优先搜索策略,根据所述chusps1中的候选序列模式,逐层产生第k层候选序列模式集合chuspsk,直至chuspsk+1为空的过程进行介绍。参见图3,图3为本申请实施例公开的一种深度优先搜索策略生成第k层候选序列模式集合的方法流程图,如图3所示,该方法包括:步骤s300、针对chuspsk-1中每一候选序列模式,确定所述候选序列模式的投影数据库,所述投影数据库由包含所述候选序列模式的事务对应的效用链表组成;k为2至n的整数;通过上一实施例介绍可知,序列数据库中每一事务均可以确定对应的效用链表。本步骤中,针对chuspsk-1中每一候选序列模式,确定与之对应的投影数据库,该投影数据库由包含所述候选序列模式的事务对应的效用链表组成。示例如,候选序列模式为<[a],[b]>,基于表1上述介绍可知,包含该候选序列模式的事务有s1、s2、s3、s4和s5,则候选序列模式为<[a],[b]>对应的投影数据库包括s1对应的效用链表、s2对应的效用链表、s3对应的效用链表、s4对应的效用链表和s5对应的效用链表。步骤s310、根据所述候选序列模式的投影数据库所包含的效用链表,确定所述候选序列模式对应的候选项目集合,所述候选项目集合包括至少一候选项目;可选的,将所述候选序列模式的投影数据库所包含的效用链表中,记录的各项目组成所述候选序列模式对应的候选项目集合。通过上表3可以看出,事务所包含的项目可以通过事务对应的效用链表直接确定,如通过效用链表记录的各项目的首次出现的位置,可以确定事务所包含的各个项目。为了产生chuspsk,需要以chuspsk-1中的候选序列模式为前缀,搜索其超集。而序列数据库中以候选序列模式为前缀的项目序列均在该候选序列模式的投影数据库中。因此,本步骤中可以将所述候选序列模式的投影数据库所包含的效用链表中,记录的各项目组成所述候选序列模式对应的候选项目集合。举例说明,假设某一候选序列模式的投影数据库仅包含上表3示例的事务s1对应的效用链表。则根据上表3可知,该效用链表记录的项目包括a,b,c,d,e,因此将这些项目组成候选序列模式对应的候选项目集合。其中,候选项目集合中每一候选项目用于与候选序列模式进行组合,以生成chuspsk。步骤s320、将所述候选序列模式以及与之对应的每一候选项目进行组合,得到至少一组合后候选序列模式;具体地,本申请可以存在两种不同的组合方式,即第一组合方式和第二组合方式。本步骤中两种组合方式均可以进行。可选的,本步骤的实施过程可以包括如下所示:1)依次将所述候选序列模式对应的每一个候选项目与所述候选序列模式进行第一组合,得到第一组合后候选序列模式;2)依次将所述候选序列模式对应的每一个候选项目与所述候选序列模式进行第二组合,得到第二组合后候选序列模式;其中,第一组合为将候选项目添加至所述候选序列模式的最后一个项目集合中;第二组合为将候选项目作为一个项目集合添加至所述候选序列模式的末尾。本申请可以定义第一组合为i-concatenation,第二组合为s-concatenation。i-concatenation组合示例如:候选序列模式<[ab],[bc]>和候选项目d执行i-concatenation后得到<[ab],[bcd]>。s-concatenation组合示例如:候选序列模式<[ab],[bc]>和候选项目d执行s-concatenation后得到<[ab],[bc],[d]>。可以理解的是,步骤s320得到的组合后候选序列模式包括了i-concatenation组合后的序列模式,以及s-concatenation组合后的序列模式。可以理解的是,为了减少组合后候选序列模式的数量,前述步骤s310中,将所述候选序列模式的投影数据库所包含的效用链表中,记录的各项目组成所述候选序列模式对应的候选项目集合时,可以按照如下方式操作:定义候选序列模式为t,候选序列模式的最后一个项目为iend:将t的投影数据库所包含效用链表中,t所在项目集合中位于iend之后的项目加入第一候选项目集合,同时,将效用链表中,位于t所在项目集合之后的,包含iend的项目集合中位于iend之后的项目加入第一候选项目集合;将t的投影数据库所包含效用链表中,t所在项目集合之后的各项目集合所包含的项目加入第二候选项目集合。示例如:事务s<[ab],[abc],[d],[bf]>,候选序列模式t<[a],[b]>。第一候选项目集合:{cf}。包括:在<[a],[b]>出现的项目集合中位于b之后的项目c,以及,该项目集合之后包含b的项目[bf]中,位于b之后的项目f。第二候选项目集合:{dbf}。包括:<[a],[b]>第一次出现的项目集合之后的各项目集合所包含的项目,即[d]和[bf]所包含的项目:b,d,f。基于此,在步骤s320将候选序列模式与对应的候选项目进行组合时,将候选序列模式与第一候选项目集合中的各项目进行i-concatenation组合;将候选序列模式与第一候选项目集合中的各项目进行s-concatenation组合。步骤s330、采用深度优先搜索策略,确定所述组合后候选序列模式的投影数据库,所述投影数据库由包含所述组合后候选序列模式的事务对应的效用链表组成;具体地,针对每一组合后候选序列模式,均可以确定与之对应的投影数据库,该投影数据库由包含所述组合后候选序列模式的事务对应的效用链表组成。步骤s340、根据所述组合后候选序列模式的投影数据库所包含的效用链表,确定所述组合后候选序列模式在对应的投影数据库中的效用值上界和效用阀值下界;可以理解的是,根据前述介绍可知,效用值上界存在两种定义,分别为swu和pu。本步骤中可以选择确定所述组合后候选序列模式在对应的投影数据库中的效用值上界pu。步骤s350、由效用值上界大于等于效用阀值下界的组合后候选序列模式,组成第k层候选序列模式集合chuspsk。本实施例介绍了根据chuspsk-1中每一候选序列模式生成chuspsk的详细过程。进一步可选的,为了加快高效用序列模式的挖掘速度,减少计算量,本申请进一步提出了三种剪枝策略,以减少生成的候选序列模式,减小搜索空间。接下来分别对该三种剪枝策略进行介绍。在利用chuspsk-1中每一候选序列模式生成chuspsk时,为了减少htwuspik中候选序列模式的数量,本申请提供了三种剪枝策略。在介绍剪枝策略之前,首先对剪枝策略中涉及到的一个概念进行介绍。扩展效用值上界meu,其定义如下:通过公式定义可以推导确定:meu≤pu≤swu。本申请可以使用meu进行剪枝,可以减少更多无效的候选序列模式,降低算法复杂度。第一种剪枝策略:1)针对所述候选序列模式与对应的每一个候选项目进行第一组合和第二组合所得到的两个组合后候选序列模式,确定该两个组合后候选序列模式的投影数据库的并集,得到并集投影数据库;2)根据所述并集投影数据库所包含的效用链表,确定所述候选序列模式在所述并集投影数据库中的扩展效用值上界和效用阀值下界,所述扩展效用值上界小于所述效用值上界;3)若确定的所述候选序列模式的扩展效用值上界小于所述候选模式的效用阀值下界,将该两个组合后候选序列模式在组合时所使用的候选项目从所述候选序列模式的投影数据库中删除。根据上述介绍可知,第一组合表示为i-concatenation,第二组合表示为s-concatenation。示例如:候选序列模式t和项目ij的i-concatenation组合得到一个组合后候选序列模式t1;候选序列模式t和项目ij的s-concatenation组合得到一个组合后候选序列模式t2。t1对应第一投影数据库,t2对应第二投影数据库,第一和第二投影数据库取并集,得到并集投影数据库。若候选序列模式t在并集投影数据库中的扩展效用值上界小于效用阀值下界,则可以确定t、t1、t2以及t1和t2的超集均不可能成为高效用序列模式。将项目ij从t的投影数据库中删除。其中,扩展效用值上界的计算公式如下:其中,<t⊕ij>i-concatenation表示候选序列模式t和项目ij做i-concatenation组合。<t⊕ij>s-concatenation表示候选序列模式t和项目ij做s-concatenation组合。第一剪枝策略可以删除对当前候选序列模式无效的项目(当前候选序列模式和该项目组成的组合后候选序列模式及其超集都不可能成为高效用序列模式)。删除无效项目会降低候选序列模式的剩余效用值,进而降低候选序列模式的效用上界,减少候选序列模式的数量,从而达到减小搜索空间、降低计算量的目的。第二种剪枝策略:1)针对所述候选序列模式与对应的每一个候选项目进行第一组合和第二组合所得到的第一组合后候选序列模式和第二组合后候选序列模式,确定所述第一组合后候选序列模式对应的第一投影数据库,以及所述第二组合后候选序列模式对应的第二投影数据库;2)根据所述第一投影数据库所包含的效用链表,确定所述候选序列模式在所述第一投影数据库中的扩展效用值上界;以及,根据所述第二投影数据库所包含的效用链表,确定所述候选序列模式在所述第二投影数据库中的扩展效用值上界,所述扩展效用值上界小于所述效用值上界;3)若所述候选序列模式在所述第一投影数据库中的扩展效用值上界小于所述第一组合后候选序列模式的效用阀值下界,则删除所述第一组合后候选序列模式;4)若所述候选序列模式在所述第二投影数据库中的扩展效用值上界小于所述第二组合后候选序列模式的效用阀值下界,则删除所述第二组合后候选序列模式。根据上述介绍可知,chuspsk中的组合后候选序列模式是由chuspsk-1中的候选序列模式及对应的候选项目进行i-concatenation组合和s-concatenation组合后的结果。候选序列模式t和候选项目ij进行i-concatenation组合得到第一组合后候选序列模式,则确定候选序列模式t在第一组合后候选序列模式对应的投影数据库中的扩展效用值上界meu:若确定的meu小于第一组合后候选序列模式的效用阀值下界pmiu,则将第一组合后候选序列模式删除。候选序列模式t和候选项目ij进行s-concatenation组合得到第二组合后候选序列模式,则确定候选序列模式t在第二组合后候选序列模式对应的投影数据库中的扩展效用值上界meu:若确定的meu小于第二组合后候选序列模式的效用阀值下界pmiu,则将第二组合后候选序列模式删除。通过第二剪枝策略,可以减少候选序列模式的候选项目的个数,避免无效的计算。第三种剪枝策略:1)根据所述组合后候选序列模式的投影数据库所包含的效用链表,确定所述组合后候选序列模式在对应的投影数据库中的扩展效用值上界;假设组合后候选序列模式以t进行表示,则组合后候选序列模式t在对应的投影数据库中的扩展效用值上界计算方式如下:2)若所述组合后候选序列模式在对应的投影数据库中的扩展效用值上界小于所述组合后候选序列模式在对应的投影数据库中的效用阀值下界,则删除所述组合后候选序列模式。本实施例提供的剪枝策略中,进一步使用扩展效用值上界来进行剪枝,根据上述介绍可知,扩展效用值上界meu小于等于效用值上界swu和pu,具有更好的剪枝效果。因此若所述组合后候选序列模式在对应的投影数据库中的扩展效用值上界小于所述效用阀值下界,则将所述组合后候选序列模式删除,减少无效的候选序列模式,降低算法复杂度。采用本申请的高效用序列模式挖掘方法,结合上述三种剪枝策略,最终可以得到第1层-第k层的候选序列模式,进而从每一层的候选序列模式中将所述效用值不低于自身所对应的效用阀值的候选序列模式,确定为挖掘结果。其中,1层-第k层的候选序列模式可以组织成一个字典序列树形结构,参见图4所示。下面对本申请实施例提供的高效用序列模式挖掘装置进行描述,下文描述的高效用序列模式挖掘装置与上文描述的高效用序列模式挖掘方法可相互对应参照。参见图5,图5为本申请实施例公开的一种高效用序列模式挖掘装置结构示意图。如图5所示,该装置包括:候选序列模式集合获取单元11,用于根据序列数据库中包含的各事务,获取满足设定条件的候选序列模式集合,所述事务和所述候选序列模式均是由项目集合序列组成,项目集合序列包含至少一项目集合;候选序列模式效用值确定单元12,用于针对每一所述候选序列模式,确定所述候选序列模式在所述序列数据库中的效用值;挖掘结果确定单元13,用于将所述效用值不低于自身所对应的效用阀值的候选序列模式,确定为挖掘结果,其中,候选序列模式对应的效用阀值为该候选序列模式所包含各项目中,效用阀值最低的项目的效用阀值,序列数据库中每一项目的效用阀值由用户预先设定。本申请可以由用户根据需要对不同项目设置不同的效用阀值,基于此从序列数据库中挖掘效用值不低于自身对应的效用阀值的序列模式,在挖掘高效用模式的基础上,能够实现个性化挖掘,满足不同应用场景的需求。可选的,所述候选序列模式集合获取单元根据序列数据库中包含的各事务,获取满足设定条件的候选序列模式集合的过程,具体可以包括:扫描所述序列数据库,由序列数据库中事务包含的每一个项目作为一个初始候选序列模式,确定每一初始候选序列模式在所述序列数据库中的效用值上界和效用阀值下界;由效用值上界大于等于效用阀值下界的初始候选序列模式,组成第1层候选序列模式集合chusps1;采用深度优先搜索策略,根据所述chusps1中的候选序列模式,逐层产生第k层候选序列模式集合chuspsk,直至chuspsk+1为空,其中,chuspsk中的候选序列模式由chuspsk-1中的候选序列模式的超集组成,且chuspsk中的候选序列模式在所述序列数据库中的效用值上界大于等于效用阀值下界;由chusps1至chuspsk组成最终的候选序列模式集合。可选的,本申请的装置还可以包括:效用链表生成单元,用于在所述扫描所述序列数据库的同时,根据所述序列数据库中各事务,确定与各事务对应的效用链表,事务对应的效用链表记录有事务包含的项目集合中各项目的项目信息,以及各项目在事务中首次出现时的位置;其中,项目信息包括:所述项目在该事务中的效用值,事务中位于所述项目之后的各项目在该事务中的效用值的和值,事务中与所述项目相同的下一个项目的位置。可选的,所述候选序列模式集合获取单元采用深度优先搜索策略,根据所述chusps1中的候选序列模式,逐层产生第k层候选序列模式集合chuspsk的过程,具体可以包括:针对chuspsk-1中每一候选序列模式,确定所述候选序列模式的投影数据库,所述投影数据库由包含所述候选序列模式的事务对应的效用链表组成,k为2至n的整数;根据所述候选序列模式的投影数据库所包含的效用链表,确定所述候选序列模式对应的候选项目集合,所述候选项目集合包括至少一候选项目;将所述候选序列模式以及与之对应的每一候选项目进行组合,得到至少一组合后候选序列模式;采用深度优先搜索策略,确定所述组合后候选序列模式的投影数据库,所述投影数据库由包含所述组合后候选序列模式的事务对应的效用链表组成;根据所述组合后候选序列模式的投影数据库所包含的效用链表,确定所述组合后候选序列模式在对应的投影数据库中的效用值上界(pu)和效用阀值下界;由效用值上界大于等于效用阀值下界的组合后候选序列模式,组成第k层候选序列模式集合chuspsk。可选的,所述候选序列模式集合获取单元根据所述候选序列模式的投影数据库所包含的效用链表,确定所述候选序列模式对应的候选项目集合的过程,具体可以包括:将所述候选序列模式的投影数据库所包含的效用链表中,记录的各项目组成所述候选序列模式对应的候选项目集合。可选的,所述候选序列模式集合获取单元将所述候选序列模式以及与之对应的每一候选项目进行组合,得到至少一组合后候选序列模式的过程,具体可以包括:依次将所述候选序列模式对应的每一个候选项目与所述候选序列模式进行第一组合,得到第一组合后候选序列模式;依次将所述候选序列模式对应的每一个候选项目与所述候选序列模式进行第二组合,得到第二组合后候选序列模式;其中,第一组合为将候选项目添加至所述候选序列模式的最后一个项目集合中;第二组合为将候选项目作为一个项目集合添加至所述候选序列模式的末尾。可选的,本申请的装置还可以包括:第一剪枝单元,用于:针对所述候选序列模式与对应的每一个候选项目进行第一组合和第二组合所得到的两个组合后候选序列模式,确定该两个组合后候选序列模式的投影数据库的并集,得到并集投影数据库;根据所述并集投影数据库所包含的效用链表,确定所述候选序列模式在所述并集投影数据库中的扩展效用值上界和效用阀值下界,所述扩展效用值上界小于所述效用值上界;若确定的所述候选序列模式的扩展效用值上界小于所述候选模式的效用阀值下界,将该两个组合后候选序列模式在组合时所使用的候选项目从所述候选序列模式的投影数据库中删除。可选的,本申请的装置还可以包括:第二剪枝单元,用于:针对所述候选序列模式与对应的每一个候选项目进行第一组合和第二组合所得到的第一组合后候选序列模式和第二组合后候选序列模式,确定所述第一组合后候选序列模式对应的第一投影数据库,以及所述第二组合后候选序列模式对应的第二投影数据库;根据所述第一投影数据库所包含的效用链表,确定所述候选序列模式在所述第一投影数据库中的扩展效用值上界;以及,根据所述第二投影数据库所包含的效用链表,确定所述候选序列模式在所述第二投影数据库中的扩展效用值上界,所述扩展效用值上界小于所述效用值上界;若所述候选序列模式在所述第一投影数据库中的扩展效用值上界小于所述第一组合后候选序列模式的效用阀值下界,则删除所述第一组合后候选序列模式;若所述候选序列模式在所述第二投影数据库中的扩展效用值上界小于所述第二组合后候选序列模式的效用阀值下界,则删除所述第二组合后候选序列模式。可选的,本申请的装置还可以包括:第三剪枝单元,用于:根据所述组合后候选序列模式的投影数据库所包含的效用链表,确定所述组合后候选序列模式在对应的投影数据库中的扩展效用值上界,所述扩展效用值上界小于所述效用值上界;若所述组合后候选序列模式在对应的投影数据库中的扩展效用值上界小于所述组合后候选序列模式在对应的投影数据库中的效用阀值下界,则删除所述组合后候选序列模式。本申请的高效用序列模式挖掘装置可以应用于服务端。接下来的实施例中,对实现本申请的高效用序列模式挖掘装置的服务端的硬件结构进行介绍,参见图6,图6为本申请实施例提供的一种服务端硬件结构示意图。如图6所示,服务端可以包括:处理器1,通信接口2,存储器3,通信总线4,和显示屏5;其中处理器1、通信接口2、存储器3和显示屏5通过通信总线4完成相互间的通信;可选的,通信接口2可以为通信模块的接口,如gsm模块的接口;处理器1,用于执行程序;存储器3,用于存放程序;程序可以包括程序代码,所述程序代码包括处理器的操作指令。处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本申请实施例的一个或多个集成电路。存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。其中,程序具体用于:根据序列数据库中包含的各事务,获取满足设定条件的候选序列模式集合,所述事务和所述候选序列模式均是由项目集合序列组成,项目集合序列包含至少一项目集合;针对每一所述候选序列模式,确定所述候选序列模式在所述序列数据库中的效用值;将所述效用值不低于自身所对应的效用阀值的候选序列模式,确定为挖掘结果,其中,候选序列模式对应的效用阀值为该候选序列模式所包含各项目中,效用阀值最低的项目的效用阀值,序列数据库中每一项目的效用阀值由用户预先设定。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1