CN112765469B - 一种从Web点击流数据中挖掘代表序列模式的方法 - Google Patents
一种从Web点击流数据中挖掘代表序列模式的方法 Download PDFInfo
- Publication number
- CN112765469B CN112765469B CN202110096836.6A CN202110096836A CN112765469B CN 112765469 B CN112765469 B CN 112765469B CN 202110096836 A CN202110096836 A CN 202110096836A CN 112765469 B CN112765469 B CN 112765469B
- Authority
- CN
- China
- Prior art keywords
- sequence
- node
- current
- representative
- gap
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000005065 mining Methods 0.000 title claims abstract description 74
- 238000013138 pruning Methods 0.000 claims abstract description 23
- 238000005457 optimization Methods 0.000 claims abstract description 17
- 238000005516 engineering process Methods 0.000 claims abstract description 10
- 238000012216 screening Methods 0.000 claims abstract description 3
- 230000008569 process Effects 0.000 claims description 21
- 238000003780 insertion Methods 0.000 claims description 17
- 230000037431 insertion Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 3
- 241001632422 Radiola linoides Species 0.000 claims 1
- 238000004458 analytical method Methods 0.000 abstract description 8
- 238000007689 inspection Methods 0.000 abstract description 3
- 238000007405 data analysis Methods 0.000 description 4
- 235000016795 Cola Nutrition 0.000 description 3
- 241001634499 Cola Species 0.000 description 3
- 235000011824 Cola pachycarpa Nutrition 0.000 description 3
- 235000013606 potato chips Nutrition 0.000 description 3
- 241001632427 Radiola Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种从Web点击流数据中挖掘代表序列模式的方法,涉及序列模式挖掘技术领域。该方法首先输入Web点击流序列数据集、最小支持度和最大覆盖度,并遍历一次数据集保留不小于最小支持度的所有频繁站点作为序列生成种子;对每一个序列生成种子采用缝隙扩展枚举树,结合缝隙扫描剪枝策略和闭合检查得到该种子的所有频繁闭合超序列;进一步采用局部代表序列筛选技术选出该种子的所有代表序列;遍历所有序列生成种子,输出每个种子的代表序列,得到Web点击流数据的所有代表序列模式。优点是:代表序列模式能有效解决频繁序列模式数量庞大而可用性低的矛盾,能增强结果的可用性;为Web点击流的在线用户行为分析、信息推荐、引擎优化等应用提供参考。
Description
技术领域
本发明涉及序列挖掘技术领域,尤其涉及一种从Web点击流数据中挖掘代表序列模式的方法。
背景技术
序列数据中的频繁序列在商业领域如Web点击流数据分析、顾客购物习惯分析、日志数据分析等有着广泛的应用,例如从某商品销售序列中挖掘出频繁序列模式“薯片、可乐”可知,许多用户在购买“薯片”之后经常会购买“可乐”。因此可向已购买“薯片”的顾客推荐“可乐”,提高商品的销量。序列模式挖掘不仅可以应用到商业领域,现已广泛地应用到很多其他领域,如交通出行模式分析、科学实验过程分析、自然灾害预测分析、疾病药物诊断分析、生物信息数据分析等。其中,Web点击流数据分析对在线用户行为分析、搜索引擎优化、信息精准推荐等领域发挥着重要作用,是当前研究的一个热点。
Web点击流数据可通俗地理解为用户在互联网中浏览Web站点的日志数据,这些日志数据记录了用户依次访问的Web站点序列,该序列数据的每一项代表一个或一类Web站点。因此,Web点击流数据通常被视为一类序列数据。但随着序列数据的规模越来越大,频繁序列模式挖掘产生的频繁序列模式结果数量呈爆炸式增长,庞大的结果数量给分析理解这些结果造成了极大的困难。因此如何减少频繁序列模式挖掘的结果数量一直是数据挖掘关注的课题。
高效的挖掘方法是实现序列模式挖掘任务的核心和关键,根据不同的应用领域与多样的数据特征,研究者们提出了多种普适的或专用的挖掘方法从序列数据中挖掘有意义的序列模式。
对Web点击流数据而言,从被挖掘的序列模式角度,将现有的主流挖掘方法大致分为以下几种:
一、面向频繁序列的方法:频繁序列是指该序列的访问频度SA,即支持度,不小于用户指定最小支持度阈值(minSup)的序列,即SA≥minSup。频繁序列是序列模式挖掘的基础,几乎所有的相关挖掘方法都属于该类方法。但是,该方法难以预设一个合适的最小支持度,通常依赖领域专家知识而设定;或大或小的最小支持度直接影响挖掘结果数量的多与少,支持度过小会导致结果的数量非常大,支持度过大通常仅能挖掘到平凡的结果,从而不仅造成实施代价过大,而且导致挖掘结果的可用性较低。频繁序列模式挖掘的一个重要特征是,频繁序列模式的所有子序列模式也都是频繁序列模式。为使结果更加紧凑减少结果数量,目前主要定义了极大频繁序列模式、频繁闭序列模式。
二、面向极大频繁序列的方法:一个频繁序列模式是极大频繁序列模式,当且仅当该序列模式的任何超序列模式都不是频繁序列模式,即A是频繁序列模式,满足SA≥minSup,并且不存在频繁序列A的其他超序列B使得序列A被序列B包含并且SB≥minSup成立。可以看出,极大频繁序列是频繁序列的子集,在最小支持度一定的情况下,极大频繁序列的挖掘方法能够有效地减少结果的数量。然而,面对数量巨大的数据集,极大频繁序列挖掘仍然会得到数量相当大的结果。但是,极大频繁序列模式是对频繁序列模式的一种有损压缩,因为该方法会丢失除极大频繁序列模式外其他序列模式的支持度信息。
三、面向频繁闭序列的方法:一个序列模式是频繁闭序列,当且仅当该序列模式是频繁序列模式且该序列模式的任何超序列模式的支持度都不与其相等,即A是频繁序列模式,满足SA≥minSup,并且不存在序列A其他超序列B使得并且SA=SB成立。相对极大频繁序列方法,频繁闭序列方法既关注了两序列间的覆盖关系,又考虑了两序列间的支持度关系,因此频繁闭序列模式是对频繁序列模式的一种无损压缩。但是,与极大频繁序列模式方法类似,该类方法面对巨大数据集通常也会得到数量相当大且难以直接理解的结果。
综上可知,挖掘极大频繁序列模式和频繁闭序列模式都能有效减少频繁序列模式挖掘的结果数量,但极大频繁序列模式损失了大量频繁序列模式的支持度信息,而频繁闭序列定义过于严格,当数据量增大或支持度阈值较小时频繁闭序列模式的结果数量仍然很庞大。因此,提出了一种代表序列频繁模式挖掘方法。
面向代表序列模式方法:一个频繁序列A是另一个频繁序列B的代表序列,当且仅当序列模式A是B的超序列并且两个序列之间的距离D(A,B)小于给定距离阈值δ,即D(A,B)<δ成立。代表序列模式挖掘方法的主要思想是从频繁序列中选择少数具有代表性的序列作为结果,从而避免极大频繁序列或频繁闭序列方法挖掘得到结果数量过多的问题。
代表序列模式(Sequence Representative Pattern,即SRP)的应用场景很多,最典型应用场景之一是查询推荐。例如,用户在访问Web搜索引擎时,输入了搜索词“Apple“之后,搜索引擎会返回很多关于Apple的搜索结果,一些是水果类,一些是电子产品类。当用户进一步点击“ipad”后,Web搜索引擎根据用户的访问序列“Apple、ipad”识别出用户希望搜索关于Apple电子产品的相关信息,进而过滤掉很多与Apple电子产品无关的搜索结果。代表序列模式是在挖掘结果中选出能代表所有频繁序列模式的子集作为搜索结果返回,大大减少了推荐模式的数量,提升推荐结果的准确度。
挖掘代表序列模式任务属于计算密集型任务。然而,已有的序列模式挖掘方法存在以下问题:一方面,已有序列模式挖掘方法大都是基于“挖掘”和“选择”两步来完成的,在挖掘和选择时还可能存在着多次扫描数据库的情况,难以处理呈指数型增长的序列数据,使得计算效率不高;另一方面,已有序列模式挖掘方法产生大量的挖掘结果,这些结果中存在着较多冗余序列和具有包含关系的序列模式,这使得用户无法在短时间内进行理解、使用和决策。因此,如何高效的实现代表序列模式挖掘、减少挖掘结果数量以及提升挖掘效率是序列模式挖掘的主要任务,即如何对查询结果进行削减,只保留精准、无冗余的序列模式成为代表序列模式挖掘的迫切需求。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种从Web点击流数据中挖掘代表序列模式的方法,实现对Web点击流数据中代表序列模式的挖掘。
为解决上述技术问题,本发明所采取的技术方案是:一种从Web点击流数据中挖掘代表序列模式的方法,包括以下步骤:
步骤1、确定种子序列:输入Web点击流数据作为序列数据集,同时输入用户自定义的最小支持度和最大覆盖度两个参数;并遍历一次序列数据集,保留不小于最小支持度的所有频繁单项作为序列生成种子,按字典序保存所有种子,得到种子序列;所述频繁单项是指支持度不小于用户给定的最小支持度且长度为1的序列;
步骤2、完全枚举种子的频繁闭合超序列,得到种子的频繁闭合超序列集;从种子序列中依次选择一个种子,采用缝隙扩展枚举树,结合缝隙扫描剪枝策略和缝隙扫描闭合检查得到每个种子的所有频繁闭合超序列;所述缝隙扩展枚举树中每个节点由节点的当前序列、最后插入位置、支持序列三部分组成;设定某种子对应的缝隙扩展枚举树的根节点的当前序列为该种子,最后插入位置为0,支持序列为所有包含该种子的序列;利用缝隙扩展规则递归地扩展缝隙扩展枚举树的任意节点;对新扩展的节点依次判断该节点的当前序列是否为频繁序列,该节点是否能被剪枝,该节点的当前序列是否为闭合序列;所述缝隙是指当前序列的任意连续两种子之间的位置和首末两个端位置;
步骤2.1、初始化缝隙扩展枚举树的根节点:设定当前种子为缝隙扩展枚举树的根节点,设置根节点的当前序列为该种子,最后插入位置为0,支持序列为序列数据集中所有包含该种子的序列;
步骤2.2、判断缝隙扩展枚举树各节点是否频繁:判断缝隙扩展枚举树各节点的支持序列数是否不小于用户定义的最小支持度,若否,则剪枝该节点并返回处理下一个节点;若是,则执行步骤2.3;
步骤2.3、判断缝隙扩展枚举树各节点是否能被剪枝:根据缝隙扫描剪枝策略依次扫描各节点的当前序列的所有缝隙,判断缝隙扩展枚举树各节点是否能够被剪枝,若是,则剪枝该节点并返回处理下一个节点,若否,则执行步骤2.4;
其中,利用缝隙扫描剪枝策略判断缝隙扩展枚举树中某节点是否能被剪枝的具体过程如下:
1)依次扫描该节点的当前序列的所有缝隙;
2)任意一个缝隙将当前序列划分为左半部分和右半部分,分别称为左部和右部;
3)遍历该节点的所有支持序列,截取每个支持序列中节点的当前序列首次出现的序列部分,并在该序列部分中只保留节点的当前序列的左部第一次出现与右部最后一次出现之间的部分序列,称作该支持序列的中部;
4)对该节点的所有支持序列的中部求交集;
5)判断交集是否为空,若否,则剪掉该节点,并处理下一个节点;若是,则扫描该节点的当前序列的下一个缝隙;
6)重复步骤2)至步骤5),直到该节点的当前序列的所有缝隙都被扫描,则保留该节点;
步骤2.4、判断缝隙扩展枚举树各节点是否闭合:利用缝隙扫描闭合检查判断某节点的当前序列是否为闭合序列,若是,则判定该节点将该节点加入到闭合序列集,若否,则判定该节点不闭合,直接执行步骤2.5;
利用缝隙扫描闭合检查判断某节点的当前序列是否为闭合序列的具体方法为:
(1)依次扫描该节点的当前序列的所有缝隙;
(2)任意一个缝隙将当前序列划分为左半部分和右半部分,分别称为左部和右部;
(3)遍历该节点的所有支持序列,截取节点的当前序列的最后一个种子在支持序列中最后出现前的序列部分,并在该序列部分中只保留节点的当前序列的左部第一次出现与右部最后一次出现之间的部分序列,称作支持序列的中部;
(4)对该节点的所有支持序列的中部求交集;
(5)判断交集是否为空,若是,则扫描该节点的当前序列的下一个缝隙,若否,则表示该节点不闭合,直接执行步骤2.5;
(6)重复步骤(2)至步骤(5),直到该节点的当前序列的所有缝隙都被扫描,则保留该节点;
步骤2.5、采用深度优先方式在节点的当前序列的每个缝隙处扩展节点,得到新节点;设定当前节点为N(S,i,Sup),S、i、Sup分别表示当前节点的当前序列、最后插入位置和支持序列;将当前序列S的第i个缝隙到末端缝隙之间的所有缝隙记为候选缝隙,利用缝隙扩展枚举树的缝隙扩展规则依次在当前序列的每个候选缝隙插入种子来对该节点进行扩展,进而得到缝隙扩展枚举树下一层的所有新节点;
a)在第i个缝隙逐个插入种子序列中不小于S[i]的种子,在第j个缝隙逐个插入种子序列中大于S[j-1]的种子,其中i+1<=j<=length(S),然后依次在每个候选缝隙逐个插入相应的种子;
b)依次遍历该节点的当前序列的候选缝隙;
c)给定一个候选缝隙,从种子序列中选择出可以插入到当前缝隙中的种子并执行步骤d),若没有可插入的种子,则返回步骤a)处理下一个缝隙;
d)在当前候选缝隙依次插入一个种子,每插入一个种子得到一条新序列,从当前节点的支持序列Sup中找出新序列的支持序列,并得到缝隙扩展枚举树的一个新节点,该新节点的当前序列为新序列,最后插入位置为新序列的最后插入位置、支持序列为新序列的支持序列;
e)遍历所有候选缝隙,重复c)和d)得到缝隙扩展枚举树下一层的所有新节点;
步骤2.6、重复执行步骤2.2到步骤2.5,直到完全枚举该种子的所有频繁闭合超序列,得到该种子的频繁闭合超序列集;
步骤3、选择局部代表序列模式:对给定种子生成的频繁闭合超序列采用局部代表序列筛选器选择出该种子生成的所有代表序列,即该种子的局部代表序列模式;自底向上遍历当前种子的频繁闭合超序列集,默认最后一个节点的当前序列为代表序列,并将其加入到代表序列集中;再利用“倒访问”和“路径覆盖”两种启发式优化技术,依次判断每个频繁闭合超序列是否与代表序列集中的任意代表序列存在覆盖关系,若是,则舍弃该频繁闭合超序列并继续遍历下一条频繁闭合超序列,若否,则将该频繁闭合超序列作为代表序列添加到代表序列集;序列间的覆盖关系是指对于A、B两条序列,若A包含于B,并且A与B间的距离小于等于最大覆盖度,则表示序列B能覆盖序列A,即序列A、B存在覆盖关系;两条序列A、B间的距离定义为其中SA、SB分别为序列A、序列B的支持序列;
步骤3.1、初始化代表序列:从步骤2输出的频繁闭合超序列集中选择最后的一条序列添加到代表序列集中作为第一个代表序列;
步骤3.2、遍历频繁闭合超序列集:自底向上依次选择当前种子的除最后一条频繁闭合超序列外的其他频繁闭合超序列;
步骤3.3、判断该频繁闭合超序列是否被代表:给定一条频繁闭合超序列,结合“倒访问”和“路径覆盖”两种启发式优化技术,判断该频繁闭合超序列是否与代表序列集中的任意代表序列存在覆盖关系;若不存在覆盖关系,即当前频繁闭合超序列不能被该代表序列覆盖,将当前频繁闭合超序列添加到代表序列集中;若存在覆盖关系,即当前频繁闭合超序列能被该代表序列覆盖,则遍历下一条频繁闭合超序列;
其中,结合“倒访问”和“路径覆盖”两种启发式优化技术判断该频繁闭合超序列是否与代表序列集中的任意代表序列存在覆盖关系的具体过程如下所示:
S1)采用“倒访问”优化技术,从后往前从代表序列集中依次选择一个代表序列;
S2)判断当前频繁闭合超序列与已选择的代表序列之间是否存在覆盖关系;
S3)若不存在覆盖关系,即当前频繁闭合超序列不能被该代表序列覆盖,然后重新执行S1)访问代表序列集中的下一条代表序列,直到完全访问代表序列集,将当前频繁闭合超序列添加到代表序列集中;
S4)若存在覆盖关系,即当前频繁闭合超序列能被该代表序列覆盖,则返回到步骤3.2,选择下一条频繁闭合超序列,直到当前种子的所有频繁闭合超序列都被访问;
当前频繁闭合超序列被代表序列集中的任意代表序列覆盖或将其加入到代表序列集时,采用“路径覆盖”优化技术,标注该频繁闭合超序列的所有父序列已被代表;
步骤3.4、遍历闭合序列集中的所有频繁闭合超序列,重复步骤3.2和步骤3.3,直到闭合序列集中的所有频繁闭合超序列都被访问,输出给定种子的代表序列集;
步骤4、输出Web点击流数据的代表序列模式:遍历所有种子序列,依次执行步骤2和步骤3,直到输出所有种子的代表序列集,即得到Web点击流数据的所有代表序列模式。
采用上述技术方案所产生的有益效果在于:本发明提供的一种从Web点击流数据中挖掘代表序列模式的方法,(1)首次提出一种适合在线挖掘代表序列模式方法;针对已有方法在深度优先遍历中不能保证每个序列的所有可能代表序列模式都已经被访问,从而无法保证在线挖掘性质的问题,通过建立缝隙扩展枚举树GE-Tree保证代表序列模式满足在线挖掘的性质并能有效避免最小集合覆盖算法带来的效率下降问题,高效实现代表序列模式的在线挖掘;(2)提出的缝隙扫描剪枝策略GS-Pruning和闭合检查GS-Closure,在挖掘代表序列模式的过程中能立即判断某节点对应的序列是否是闭合序列及是否能被安全剪枝,以大幅提升方法的运行效率;(3)提出的局部代表序列模式筛选器RS-Local在所有闭合序列的基础上采用序列间的覆盖关系,只选择具有代表性的闭合序列作为最终结果,大幅地减少了结果数量,避免大量结果不易被直接理解,增强了结果的可用性。
综上所述,本发明从Web点击流数据中挖掘代表序列模式方法采用GE-Tree枚举树只需一次遍历即可得到全部代表序列模式,提出的缝隙扫描剪枝策略GS-Pruning和闭合检查GS-Closure策略大大提高了运行效率,提出的RS-Local选择器能够大幅地降低结果数量,增强了结果的可用性。
附图说明
图1为本发明实施例提供的一种从Web点击流数据中挖掘代表序列模式方法的流程图;
图2为本发明实施例提供的采用GE-Tree结合GS-Pruning与GS-Closure完全枚举频繁闭合超序列的流程图;
图3为本发明实施例提供的根据RS-Local选择代表序列的流程图;
图4为本发明实施例提供的种子b的频繁闭合超序列枚举过程示意图;
图5为本发明实施例提供的其他种子枚举频繁闭合超序列的结果图,其中,(a)为种子a,(b)为种子c,(d)为种子d;
图6为本发明实施例提供的采用代表序列模式挖掘方法与经典的频繁序列模式挖掘方法BIDE的挖掘结果比较图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本实施例以用户一段时间内多个用户的Web点击流数据为例,采用本发明的从Web点击流数据中挖掘代表序列模式的方法,挖掘出这些用户的站点访问习惯。
本实施例中,一种从Web点击流数据中挖掘代表序列模式的方法,如图1所示,包括以下步骤:
步骤1、确定种子序列:输入Web点击流数据作为序列数据集,同时输入用户自定义的最小支持度和最大覆盖度两个参数;并遍历一次序列数据集,保留不小于最小支持度的所有频繁单项作为序列生成种子,按字典序保存所有种子,得到种子序列;所述支持度为该序列在整个序列数据库中出现的次数;所述覆盖度是指同时包含序列A和序列B的支持度(SA和SB)的交集(SA∩SB)与包含序列A和包含序列B的支持度(SA和SB)并集(SA∪SB)的比值,即所述频繁单项是指支持度不小于用户给定的最小支持度且长度为1的序列;
本实施例中序列数据集如表1所示,其中SID是序列编号,指不同的用户;Sequence是序列内容,指用户顺序访问的站点。简单起见,本实施例采用不同的字符表示不同的站点。设定输入最小支持度为2,最大覆盖度为0.3。站点a只在序列1、2、3中出现了,故a的支持度为3;站点b在所有的序列中出现了,故b的支持度为4;依次类推,本实施中所有站点的支持度分别为a:3,b:4,c:3,d:3,e:1。可以发现,站点e的支持度为1小于设定的最小支持度,表明e为不频繁站点,根据“Apriori”原则,e与其他站点的组合不可能产生频繁序列,故舍弃站点e。进而,根据所有站点的支持度信息得到种子序列为<b,a,c,d>。
表1序列数据集
步骤2、完全枚举种子的频繁闭合超序列,得到种子的频繁闭合超序列集,如图2所示;从种子序列中依次选择一个种子,采用提出的缝隙扩展枚举树(GapExtend-Tree,即GE-Tree),结合缝隙扫描剪枝策略(GapScan-Pruning,即GS-Pruning)和缝隙扫描闭合检查(GapScan-Closure,即GS-Closure)得到每个种子的所有频繁闭合超序列;所述缝隙扩展枚举树GE-Tree中每个节点Node由节点的当前序列、最后插入位置、支持序列三部分组成(即CurrentSeq,LastPos,Supports);设定某种子对应的缝隙扩展枚举树的根节点的当前序列为该种子,最后插入位置为0,支持序列为所有包含该种子的序列;利用缝隙扩展规则递归地扩展缝隙扩展枚举树的任意节点;对新扩展的节点依次判断该节点的当前序列是否为频繁序列,该节点是否能被剪枝,该节点的当前序列是否为闭合序列;所述缝隙是指当前序列的任意连续两种子之间的位置和首末两个端位置;例如当前序列为“abc”,可用下划线表示其缝隙位置为“_a_b_c_”,分别为第0、1、2、3缝隙;所述频繁序列指支持序列的个数不小于最小支持度的序列,所述闭合序列为频繁且支持度大于其任意超序列的支持度的序列;
本实施例以种子b为例,介绍得到种子b的频繁闭合超序列集的具体过程。
步骤2.1、初始化缝隙扩展枚举树的根节点:设定当前种子为缝隙扩展枚举树的根节点,设置根节点的当前序列为该种子,最后插入位置为0,支持序列为序列数据集中所有包含该种子的序列;对于种子b,根节点为(<b>,0,{1,2,3,4})。
步骤2.2、判断缝隙扩展枚举树各节点是否频繁:判断缝隙扩展枚举树各节点的支持序列数是否不小于用户定义的最小支持度,若否,则剪枝该节点并返回处理下一个节点;若是,则执行步骤2.3;
显然地,此时根节点的当前序列为<b>,支持度为4,不需要剪枝该节点,因此继续下一步执行步骤2.3。
步骤2.3、判断缝隙扩展枚举树各节点是否能被剪枝:根据缝隙扫描剪枝策略依次扫描各节点的当前序列的所有缝隙,判断缝隙扩展枚举树各节点是否能够被剪枝,若是,则剪枝该节点并返回处理下一个节点,若否,则执行步骤2.4;
其中,利用缝隙扫描剪枝策略判断缝隙扩展枚举树中某节点是否能被剪枝的具体过程如下:
1)依次扫描该节点的当前序列的所有缝隙;
2)任意一个缝隙将当前序列划分为左半部分和右半部分,分别称为左部和右部;
3)遍历该节点的所有支持序列,截取每个支持序列中节点的当前序列首次出现的序列部分,并在该序列部分中只保留节点的当前序列的左部第一次出现与右部最后一次出现之间的部分序列,称作该支持序列的中部;
4)对该节点的所有支持序列的中部求交集;
5)判断交集是否为空,若否,则剪掉该节点,并处理下一个节点;若是,则扫描该节点的当前序列的下一个缝隙;
6)重复步骤2)至步骤5),直到该节点的当前序列的所有缝隙都被扫描,则保留该节点;
本实施例以当前根节点(<b>,0,{1,2,3,4})为例,其当前序列<b>的所有缝隙可用下划线表示为“_b_”,可得到每个支持序列中该节点的当前序列<b>首次出现的序列部分分别为<a,b>,<a,d,c,b>,<a,c,c,b>,<b>。对于第0个缝隙,可得到其左部为“null”,右部为“b”,进而可得到第0个缝隙处的每个支持序列的中部,即左部第一次出现与右部最后一次出现的中间的部分,分别为:<a>,<a,d,c>,<a,c,c>,<null>,因所有支持序列的中部的交集为空;继续查看第1个缝隙,可得到其左部为“b”,右部为“null”,进而可得到第1个缝隙处的每个支持序列的中部分别为:<null>,<null>,<null>,<null>,因所有中部的交集为空;因此,当前根节点不能被剪枝。
步骤2.4、判断缝隙扩展枚举树各节点是否闭合:利用缝隙扫描闭合检查判断某节点的当前序列是否为闭合序列,若是,则判定该节点将该节点加入到闭合序列集,若否,则判定该节点不闭合,执行步骤2.5;
利用缝隙扫描闭合检查判断某节点的当前序列是否为闭合序列的具体方法为:
(1)依次扫描该节点的当前序列的所有缝隙;
(2)任意一个缝隙将当前序列划分为左半部分和右半部分,分别称为左部和右部;
(3)遍历该节点的所有支持序列,截取节点的当前序列的最后一个种子在支持序列中最后出现前的序列部分,并在该序列部分中只保留节点的当前序列的左部第一次出现与右部最后一次出现之间的部分序列,称作支持序列的中部;
(4)对该节点的所有支持序列的中部求交集;
(5)判断交集是否为空,若是,则扫描该节点的当前序列的下一个缝隙,若否,则表示该节点不闭合,执行步骤2.5;
(6)重复步骤(2)至步骤(5),直到该节点的当前序列的所有缝隙都被扫描,则保留该节点;
本实施例还是以当前根节点(<b>,0,{1,2,3,4})为例,得到每个支持序列中该节点的当前序列的最后种子最后出现的序列部分分别为<a,b>,<a,d,c,b>,<a,c,c,b>,<b>,由上一步剪枝判断可知,所有缝隙中都没有可以插入的种子,表明当前序列<b>为闭合序列,将当前节点(<b>,0,{1,2,3,4})加入到闭合节点序列。特别说明,此例中GS-Pruning剪枝和GS-Closure闭合时,所选择的支持序列的部分序列相同,但大多情况下是不同的。
步骤2.5、采用深度优先方式在节点的当前序列的每个缝隙处扩展节点,得到新节点;设定当前节点为N(S,i,Sup),S、i、Sup分别表示当前节点的当前序列、最后插入位置和支持序列;将当前序列S的第i个缝隙到末端缝隙之间的所有缝隙记为候选缝隙,利用缝隙扩展枚举树的缝隙扩展规则依次在当前序列的每个候选缝隙插入种子来对该节点进行扩展,进而得到缝隙扩展枚举树下一层的所有新节点;
a)在第i个缝隙逐个插入种子序列中不小于S[i]的种子,在第j个缝隙逐个插入种子序列中大于S[j-1]的种子,其中i+1<=j<=length(S),然后依次在每个候选缝隙逐个插入相应的种子;
b)依次遍历该节点的当前序列的候选缝隙;
c)给定一个候选缝隙,从种子序列中选择出可以插入到当前缝隙中的种子并执行步骤d),若没有可插入的种子,则返回步骤a)处理下一个缝隙;
d)在当前候选缝隙依次插入一个种子,每插入一个种子得到一条新序列,从当前节点的支持序列Sup中找出新序列的支持序列,并得到缝隙扩展枚举树的一个新节点,该新节点的当前序列为新序列,最后插入位置为新序列的最后插入位置、支持序列为新序列的支持序列;
e)遍历所有候选缝隙,重复c)和d)得到缝隙扩展枚举树下一层的所有新节点;
本实施例以当前节点(<b>,0,{1,2,3,4})为例,该节点序列<b>的最后插入位置为0,从而得到所有候选缝隙如字符串“_b_”中下划线所示,分别记为第0,第1个缝隙。在第0个缝隙,插入大于等于“b”的种子,分别得到新序列为<b,b>,<a,b>,<c,b>,<d,b>,标记这些新序列的最后插入位置全为0,并从当前节点的支持序列中选择新序列的支持序列,即包含新序列的支持序列,分别为{null},{1,2,3},{2,3},{2};至此,可以得到由第0个缝隙扩展的所有新节点为:(<b,b>,0,{null}),(<a,b>,0,{1,2,3}),(<c,b>,0,{2,3}),(<d,b>,0,{2});在第1个缝隙,插入大于“b”的种子,同理,可以得到由第1个缝隙扩展的所有新节点为:(<b,a>,1,{null}),(<b,c>,1,{1}),(<b,d>,1,{1,2,4})。
步骤2.6、重复执行步骤2.2到步骤2.5,直到完全枚举该种子的所有频繁闭合超序列,得到该种子的频繁闭合超序列集;
对于种子“b”,得到由种子“b”扩展成的所有频繁闭合超序列为<b>,<a,b>,<b,d>,<a,b,d>,<a,c,b>,如图4所示。
步骤3、选择局部代表序列模式:对给定种子生成的频繁闭合超序列采用局部代表序列筛选器(RepresentSeqeunce-local,即RS-Local)选择出该种子生成的所有代表序列,即该种子的局部代表序列模式,如图3所示;自底向上遍历当前种子的频繁闭合超序列集,默认最后一个节点的当前序列为代表序列,并将其加入到代表序列集中;再利用“倒访问”和“路径覆盖”两种启发式优化技术,依次判断每个频繁闭合超序列是否与代表序列集中的任意代表序列存在覆盖关系,若是,则舍弃该频繁闭合超序列并继续遍历下一条频繁闭合超序列,若否,则将该频繁闭合超序列作为代表序列添加到代表序列集;序列间的覆盖关系是指对于A、B两条序列,若A包含于B,并且A与B间的距离小于等于最大覆盖度,则表示序列B能覆盖序列A,即序列A、B存在覆盖关系;两条序列A、B间的距离定义为其中SA、SB分别为序列A、序列B的支持序列;
步骤3.1、初始化代表序列:从步骤2输出的频繁闭合超序列集中选择最后的一条序列添加到代表序列集中作为第一个代表序列,即默认在当前种子的所有频繁闭合超序列中选择最后一条序列作为代表序列集中的第一个代表序列;本实施例中即选择<a,c,b>序列为第一条代表序列。
步骤3.2、遍历频繁闭合超序列集:自底向上依次选择当前种子的除最后一条频繁闭合超序列外的其他频繁闭合超序列,即以<a,b,d>,<b,d>,<a,b>,<b>的顺序遍历。
步骤3.3、判断该频繁闭合超序列是否被代表:给定一条频繁闭合超序列,结合“倒访问”和“路径覆盖”两种启发式优化技术,判断该频繁闭合超序列是否与代表序列集中的任意代表序列存在覆盖关系;若不存在覆盖关系,即当前频繁闭合超序列不能被该代表序列覆盖,将当前频繁闭合超序列添加到代表序列集中;若存在覆盖关系,即当前频繁闭合超序列能被该代表序列覆盖,则遍历下一条频繁闭合超序列;
其中,结合“倒访问”和“路径覆盖”两种启发式优化技术判断该频繁闭合超序列是否与代表序列集中的任意代表序列存在覆盖关系的具体过程如下所示:
S1)采用“倒访问”优化技术,从后往前从代表序列集中依次选择一个代表序列;
S2)判断当前频繁闭合超序列与已选择的代表序列之间是否存在覆盖关系;
S3)若不存在覆盖关系,即当前频繁闭合超序列不能被该代表序列覆盖,然后重新执行S1)访问代表序列集中的下一条代表序列,直到完全访问代表序列集,将当前频繁闭合超序列添加到代表序列集中;
S4)若存在覆盖关系,即当前频繁闭合超序列能被该代表序列覆盖,则返回到步骤3.2,选择下一条频繁闭合超序列,直到当前种子的所有频繁闭合超序列都被访问;
当前频繁闭合超序列被代表序列集中的任意代表序列覆盖或将其加入到代表序列集时,采用“路径覆盖”优化技术,标注该频繁闭合超序列的所有父序列已被代表;
本实施例以种子b的频繁闭合超序列<a,b,d>为例,此时代表序列集中的代表序列只有<a,c,b>,因为表明没有覆盖关系,可将<a,b,d>直接加入到代表序列集中;再处理序列<b,d>,采用“倒访问”技巧,先与代表序列<a,b,d>比较是否存在覆盖关系,显然/>并且/>距离大于给定的最大覆盖度,即<b,d>与<a,b,d>间不存在覆盖关系,继续判断下一条代表序列模式<a,c,b>,因为/>即<b,d>与<a,c,b>间不存在覆盖关系,所有的代表序列不能代表<b,d>,将<b,d>加入到代表模式序列集中。同理,序列<c,b>能被代表序列<a,c,b>代表故舍弃,序列<a,b>不能被代表序列代表故将其加入到代表序列集中,序列<b>能被代表序列<a,c,b>或<a,b>代表故舍弃。
步骤3.4、遍历闭合序列集中的所有频繁闭合超序列,重复步骤3.2和步骤3.3,直到闭合序列集中的所有频繁闭合超序列都被访问,输出给定种子的代表序列集;对于种子“b”,得到的最终代表序列为:<b,d>,<a,c,b>。
步骤4、输出Web点击流数据的代表序列模式:遍历所有种子序列,依次执行步骤2和步骤3,直到输出所有种子的代表序列集,即得到Web点击流数据的所有代表序列模式。
类似种子<b>的过程,能够得到其他种子“a”,“c”,“d”扩展而得到的所有代表序列即得到该段时间内该Web点击流数据的所有代表序列模式,如图5所示。因此,从图4和图5可以看出用户1、2、3、4对a、b、c、d四个站点的访问习惯。
本实施例通过如下表2列举了所举实例的多种序列模式,直观地给出了各序列模式挖掘的结果,如频繁序列、最大序列、闭合序列及代表序列模式。明显地,基于频繁序列、最大序列、闭合序列及代表序列模式挖掘方法能够大幅地降低执行代价;另外,可以发现基于代表序列模式的挖掘方法,能够有效地平衡最大序列模式和闭合序列模式。
表2多种序列模式
/>
/>
本实施例还提供了采用本发明提出的代表序列模式挖掘方法与经典的频繁序列模式挖掘方法BIDE在真实Web点击流数据MSNBC上运行时间以及挖掘的模式数量的比较结果,如图6所示;图6中涉及的Web点击流数据来自msnbc.com的Internet信息服务器(IIS)日志以及msn.com的新闻相关部分,是访问msnbc.com的用户访问页面数据(http://kdd.ics.uci.edu/databases/msnbc/msnbc.data.html)。数据集中的每个序列都对应于该二十四小时内用户的浏览量。序列中的每个事件都对应于用户对页面的请求。请求以页面类别的级别(由站点管理员确定)记录。页面类别为“首页”,“新闻”,“技术”,“本地”,“意见”,“播出”,“杂项”,“天气”,“健康”,“生活”,“业务”,“体育”,“摘要”,“bbs”(公告板服务),“旅行”,“msn-新闻”和“msn-体育”。该数据集的用户数是989818个,每个类别的URL数量从10至5000不等。在运行过程中,本发明方法设置参数覆盖率delta为0.3。图6的横坐标表示支持度的变化(支持度变化区间为0.02到0.006),纵坐标分别表示运行时间和挖掘产生的模式结果数量;从图中可以看出,本发明提出的代表序列模式挖掘方法在相同的点击流数据集和相同的参数设置下,明显比BIDE方法的挖掘结果数量低,运行时间远远少于频繁序列模式的运行时间,这是因为BIDE需要有挖掘和选择两步才能获得频繁序列模式,而本发明的方法只需一次扫描数据库就可在线挖掘出代表序列模式;说明本发明提出的代表序列模式方法获得的模式简洁、运行时间少,非常适合在线序列模式推荐,可大大提升在线推荐与决策的效率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (8)
1.一种从Web点击流数据中挖掘代表序列模式的方法,其特征在于:包括以下步骤:
步骤1、确定种子序列:输入Web点击流数据作为序列数据集,同时输入用户自定义的最小支持度和最大覆盖度两个参数;并遍历一次序列数据集,保留不小于最小支持度的所有频繁单项作为序列生成种子,按字典序保存所有种子,得到种子序列;所述频繁单项是指支持度不小于用户给定的最小支持度且长度为1的序列;所述覆盖度是指同时包含Web序列A和Web序列B的支持度SA和SB的交集SA∩SB与包含Web序列A和包含Web序列B的支持度SA和SB并集SA∪SB的比值,即
步骤2、完全枚举种子的频繁闭合超序列,得到种子的频繁闭合超序列集;从种子序列中依次选择一个种子,采用缝隙扩展枚举树,结合缝隙扫描剪枝策略和缝隙扫描闭合检查得到每个种子的所有频繁闭合超序列;所述缝隙扩展枚举树中每个节点由节点的当前序列、最后插入位置、支持序列三部分组成;设定某种子对应的缝隙扩展枚举树的根节点的当前序列为该种子,最后插入位置为0,支持序列为所有包含该种子的序列;利用缝隙扩展规则递归地扩展缝隙扩展枚举树的任意节点;对新扩展的节点依次判断该节点的当前序列是否为频繁序列,该节点是否能被剪枝,该节点的当前序列是否为闭合序列;所述缝隙是指当前序列的任意连续两种子之间的位置和首末两个端位置;
步骤3、选择局部代表序列模式:对给定种子生成的频繁闭合超序列采用局部代表序列筛选器选择出该种子生成的所有代表序列,即该种子的局部代表序列模式;自底向上遍历当前种子的频繁闭合超序列集,默认最后一个节点的当前序列为代表序列,并将其加入到代表序列集中;再利用“倒访问”和“路径覆盖”两种启发式优化技术,依次判断每个频繁闭合超序列是否与代表序列集中的任意代表序列存在覆盖关系,若是,则舍弃该频繁闭合超序列并继续遍历下一条频繁闭合超序列,若否,则将该频繁闭合超序列作为代表序列添加到代表序列集;
步骤4、输出Web点击流数据的代表序列模式:遍历所有种子序列,依次执行步骤2和步骤3,直到输出所有种子的代表序列集,即得到Web点击流数据的所有代表序列模式。
2.根据权利要求1所述的一种从Web点击流数据中挖掘代表序列模式的方法,其特征在于:所述步骤2的具体方法为:
步骤2.1、初始化缝隙扩展枚举树的根节点:设定当前种子为缝隙扩展枚举树的根节点,设置根节点的当前序列为该种子,最后插入位置为0,支持序列为序列数据集中所有包含该种子的序列;
步骤2.2、判断缝隙扩展枚举树各节点是否频繁:判断缝隙扩展枚举树各节点的支持序列数是否不小于用户定义的最小支持度,若否,则剪枝该节点并返回处理下一个节点;若是,则执行步骤2.3;
步骤2.3、判断缝隙扩展枚举树各节点是否能被剪枝:根据缝隙扫描剪枝策略依次扫描各节点的当前序列的所有缝隙,判断缝隙扩展枚举树各节点是否能够被剪枝,若是,则剪枝该节点并返回处理下一个节点,若否,则执行步骤2.4;
步骤2.4、判断缝隙扩展枚举树各节点是否闭合:利用缝隙扫描闭合检查判断某节点的当前序列是否为闭合序列,若是,则判定该节点将该节点加入到闭合序列集,若否,则判定该节点不闭合,直接执行步骤2.5;
步骤2.5、采用深度优先方式在节点的当前序列的每个缝隙处扩展节点,得到新节点;设定当前节点为N(S,i,Sup),S、i、Sup分别表示当前节点的当前序列、最后插入位置和支持序列;将当前序列S的第i个缝隙到末端缝隙之间的所有缝隙记为候选缝隙,利用缝隙扩展枚举树的缝隙扩展规则依次在当前序列的每个候选缝隙插入种子来对该节点进行扩展,进而得到缝隙扩展枚举树下一层的所有新节点。
3.根据权利要求2所述的一种从Web点击流数据中挖掘代表序列模式的方法,其特征在于:所述步骤2.3利用缝隙扫描剪枝策略判断缝隙扩展枚举树中某节点是否能被剪枝的具体过程如下:
1)依次扫描该节点的当前序列的所有缝隙;
2)任意一个缝隙将当前序列划分为左半部分和右半部分,分别称为左部和右部;
3)遍历该节点的所有支持序列,截取每个支持序列中节点的当前序列首次出现的序列部分,并在该序列部分中只保留节点的当前序列的左部第一次出现与右部最后一次出现之间的部分序列,称作该支持序列的中部;
4)对该节点的所有支持序列的中部求交集;
5)判断交集是否为空,若否,则剪掉该节点,并处理下一个节点;若是,则扫描该节点的当前序列的下一个缝隙;
6)重复步骤2)至步骤5),直到该节点的当前序列的所有缝隙都被扫描,则保留该节点。
4.根据权利要求2所述的一种从Web点击流数据中挖掘代表序列模式的方法,其特征在于:所述步骤2.4利用缝隙扫描闭合检查判断某节点的当前序列是否为闭合序列的具体方法为:
(1)依次扫描该节点的当前序列的所有缝隙;
(2)任意一个缝隙将当前序列划分为左半部分和右半部分,分别称为左部和右部;
(3)遍历该节点的所有支持序列,截取节点的当前序列的最后一个种子在支持序列中最后出现前的序列部分,并在该序列部分中只保留节点的当前序列的左部第一次出现与右部最后一次出现之间的部分序列,称作支持序列的中部;
(4)对该节点的所有支持序列的中部求交集;
(5)判断交集是否为空,若是,则扫描该节点的当前序列的下一个缝隙,若否,则表示该节点不闭合,直接执行步骤2.5;
(6)重复步骤(2)至步骤(5),直到该节点的当前序列的所有缝隙都被扫描,则保留该节点。
5.根据权利要求2所述的一种从Web点击流数据中挖掘代表序列模式的方法,其特征在于:所述步骤2.5的具体方法为:
a)在第i个缝隙逐个插入种子序列中不小于S[i]的种子,在第j个缝隙逐个插入种子序列中大于S[j-1]的种子,其中i+1<=j<=length(S),然后依次在每个候选缝隙逐个插入相应的种子;
b)依次遍历该节点的当前序列的候选缝隙;
c)给定一个候选缝隙,从种子序列中选择出可以插入到当前缝隙中的种子并执行步骤d),若没有可插入的种子,则返回步骤a)处理下一个缝隙;
d)在当前候选缝隙依次插入一个种子,每插入一个种子得到一条新序列,从当前节点的支持序列Sup中找出新序列的支持序列,并得到缝隙扩展枚举树的一个新节点,该新节点的当前序列为新序列,最后插入位置为新序列的最后插入位置、支持序列为新序列的支持序列;
e)遍历所有候选缝隙,重复c)和d)得到缝隙扩展枚举树下一层的所有新节点。
6.根据权利要求3-5任一项所述的一种从Web点击流数据中挖掘代表序列模式的方法,其特征在于:步骤3所述序列间的覆盖关系是指对于A、B两条序列,若A包含于B,并且A与B间的距离小于等于最大覆盖度,则表示序列B能覆盖序列A,即序列A、B存在覆盖关系;两条序列A、B间的距离定义为其中SA、SB分别为序列A、序列B的支持序列。
7.根据权利要求6所述的一种从Web点击流数据中挖掘代表序列模式的方法,其特征在于:所述步骤3的具体方法为:
步骤3.1、初始化代表序列:从步骤2输出的频繁闭合超序列集中选择最后的一条序列添加到代表序列集中作为第一个代表序列;
步骤3.2、遍历频繁闭合超序列集:自底向上依次选择当前种子的除最后一条频繁闭合超序列外的其他频繁闭合超序列;
步骤3.3、判断该频繁闭合超序列是否被代表:给定一条频繁闭合超序列,结合“倒访问”和“路径覆盖”两种启发式优化技术,判断该频繁闭合超序列是否与代表序列集中的任意代表序列存在覆盖关系;若不存在覆盖关系,即当前频繁闭合超序列不能被该代表序列覆盖,将当前频繁闭合超序列添加到代表序列集中;若存在覆盖关系,即当前频繁闭合超序列能被该代表序列覆盖,则遍历下一条频繁闭合超序列;
步骤3.4、遍历闭合序列集中的所有频繁闭合超序列,重复步骤3.2和步骤3.3,直到闭合序列集中的所有频繁闭合超序列都被访问,输出给定种子的代表序列集。
8.根据权利要求7所述的一种从Web点击流数据中挖掘代表序列模式的方法,其特征在于:步骤3.3所述结合“倒访问”和“路径覆盖”两种启发式优化技术判断该频繁闭合超序列是否与代表序列集中的任意代表序列存在覆盖关系的具体方法为:
S1)采用“倒访问”优化技术,从后往前从代表序列集中依次选择一个代表序列;
S2)判断当前频繁闭合超序列与已选择的代表序列之间是否存在覆盖关系;
S3)若不存在覆盖关系,即当前频繁闭合超序列不能被该代表序列覆盖,然后重新执行S1)访问代表序列集中的下一条代表序列,直到完全访问代表序列集,将当前频繁闭合超序列添加到代表序列集中;
S4)若存在覆盖关系,即当前频繁闭合超序列能被该代表序列覆盖,则返回到步骤3.2,选择下一条频繁闭合超序列,直到当前种子的所有频繁闭合超序列都被访问;
当前频繁闭合超序列被代表序列集中的任意代表序列覆盖或将其加入到代表序列集时,采用“路径覆盖”优化技术,标注该频繁闭合超序列的所有父序列已被代表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110096836.6A CN112765469B (zh) | 2021-01-25 | 2021-01-25 | 一种从Web点击流数据中挖掘代表序列模式的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110096836.6A CN112765469B (zh) | 2021-01-25 | 2021-01-25 | 一种从Web点击流数据中挖掘代表序列模式的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765469A CN112765469A (zh) | 2021-05-07 |
CN112765469B true CN112765469B (zh) | 2023-10-27 |
Family
ID=75707179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110096836.6A Active CN112765469B (zh) | 2021-01-25 | 2021-01-25 | 一种从Web点击流数据中挖掘代表序列模式的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765469B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468245B (zh) * | 2021-07-19 | 2023-05-05 | 金陵科技学院 | 面向轨道交通应用的动态最小支持度计算方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266610A (zh) * | 2008-04-25 | 2008-09-17 | 浙江大学 | 一种Web活跃用户网站访问模式的在线挖掘方法 |
CN102541934A (zh) * | 2010-12-31 | 2012-07-04 | 北京安码科技有限公司 | 一种在电子商务平台上客户访问页面常见序列的提取方法和装置 |
CN103744957A (zh) * | 2014-01-06 | 2014-04-23 | 同济大学 | 基于Web用户时间属性的序列模式挖掘方法 |
CN105721427A (zh) * | 2016-01-14 | 2016-06-29 | 湖南大学 | 一种从Web日志中挖掘攻击频繁序列模式的方法 |
CN107451293A (zh) * | 2017-08-16 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种对比序列模式挖掘方法和装置 |
CN107798096A (zh) * | 2017-10-27 | 2018-03-13 | 郑州云海信息技术有限公司 | 在对比序列模式下数据处理方法和装置 |
CN108334646A (zh) * | 2018-04-11 | 2018-07-27 | 焦点科技股份有限公司 | 一种基于频繁浏览序列的网站结构优化方法 |
CN109033341A (zh) * | 2018-07-23 | 2018-12-18 | 国网重庆市电力公司电力科学研究院 | 一种基于并发的带间隔约束的Top-k对比序列模式挖掘算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10148776B2 (en) * | 2016-02-18 | 2018-12-04 | Adobe Systems Incorporated | Clickstream visual analytics based on maximal sequential patterns |
-
2021
- 2021-01-25 CN CN202110096836.6A patent/CN112765469B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266610A (zh) * | 2008-04-25 | 2008-09-17 | 浙江大学 | 一种Web活跃用户网站访问模式的在线挖掘方法 |
CN102541934A (zh) * | 2010-12-31 | 2012-07-04 | 北京安码科技有限公司 | 一种在电子商务平台上客户访问页面常见序列的提取方法和装置 |
CN103744957A (zh) * | 2014-01-06 | 2014-04-23 | 同济大学 | 基于Web用户时间属性的序列模式挖掘方法 |
CN105721427A (zh) * | 2016-01-14 | 2016-06-29 | 湖南大学 | 一种从Web日志中挖掘攻击频繁序列模式的方法 |
CN107451293A (zh) * | 2017-08-16 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种对比序列模式挖掘方法和装置 |
CN107798096A (zh) * | 2017-10-27 | 2018-03-13 | 郑州云海信息技术有限公司 | 在对比序列模式下数据处理方法和装置 |
CN108334646A (zh) * | 2018-04-11 | 2018-07-27 | 焦点科技股份有限公司 | 一种基于频繁浏览序列的网站结构优化方法 |
CN109033341A (zh) * | 2018-07-23 | 2018-12-18 | 国网重庆市电力公司电力科学研究院 | 一种基于并发的带间隔约束的Top-k对比序列模式挖掘算法 |
Non-Patent Citations (3)
Title |
---|
Research Of A Mining Algorithm Based On Markov Chain On WEB Page Access Sequence Features;Gang Liu 等;2013 International Conference on Information Technology and Applications;218-220 * |
Web访问序列模式挖掘算法的研究;李陶深 等;计算机科学;第40卷(第12期);41-44 * |
基于Spark的Top-k对比序列模式挖掘;张鹏 等;计算机研究与发展;第54卷(第07期);1452-1464 * |
Also Published As
Publication number | Publication date |
---|---|
CN112765469A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jäschke et al. | Tag recommendations in social bookmarking systems | |
Perugini et al. | Recommender systems research: A connection-centric survey | |
US9430569B2 (en) | System and method for aggregating and ranking data from a plurality of web sites | |
US7406459B2 (en) | Concept network | |
Petricek et al. | The web structure of e-government-developing a methodology for quantitative evaluation | |
US8700600B2 (en) | Web forum crawling using skeletal links | |
EP1508103B1 (en) | Expert database forward back link weighted association rules | |
Hu et al. | Discovery of maximum length frequent itemsets | |
US20100274753A1 (en) | Methods for filtering data and filling in missing data using nonlinear inference | |
US20060004753A1 (en) | System and method for document analysis, processing and information extraction | |
US20240070181A1 (en) | Methods and apparatuses for content preparation and/or selection | |
KR100859918B1 (ko) | 사용자 피드백을 이용하여 검색된 컨텐츠를 평가하고 평가결과를 이용하여 검색 결과를 제공하는 방법 및 장치 | |
KR100797232B1 (ko) | 계층적 데이터 지향 네비게이션 시스템 및 정보 인출 방법 | |
US20110078101A1 (en) | Recommending one or more existing notes related to a current analytic activity of a user | |
Subramanian et al. | UP-GNIV: an expeditious high utility pattern mining algorithm for itemsets with negative utility values | |
KR100987330B1 (ko) | 사용자 웹 사용 정보에 기반한 멀티 컨셉 네트워크 생성시스템 및 방법 | |
Miele et al. | A data-mining approach to preference-based data ranking founded on contextual information | |
CN112765469B (zh) | 一种从Web点击流数据中挖掘代表序列模式的方法 | |
Lin | Association rule mining for collaborative recommender systems. | |
Perugini et al. | A connection-centric survey of recommender systems research | |
Alghamdi et al. | Extended user preference based weighted page ranking algorithm | |
KR20050070955A (ko) | 과학기술 정보분석 방법 및 그 방법에 대한 컴퓨터프로그램을 저장한 기록매체 | |
Valera et al. | A novel approach of mining frequent sequential pattern from customized web log preprocessing | |
Wei et al. | Algorithm of mining sequential patterns for web personalization services | |
Chehreghani et al. | Density link-based methods for clustering web pages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |