一种基于用户访问的关联页面挖掘方法及系统与流程

文档序号:11950487阅读:299来源:国知局

本发明涉及页面挖掘领域,具体涉及一种基于用户访问的关联页面挖掘方法及系统。



背景技术:

以辩证的观点来看,事物间是存在着普遍联系的。对于Web网站来说,网站管理员通过添加链接使得整个网站的页面联系起来,这是一种显式的网页间的联系。然而,隐藏在Web日志中的网页间的隐式的链接关系却更能够真实的反应网页间的用户兴趣相关性。就如同著名的“啤酒与尿布”的案例一样,大量的隐性页面关联就隐藏在Web日志之中的点击流序列之中。当前所有的页面关联都是通过HTTP显式标记的,并没有一种方法能够通过用户的浏览路径发现用户的兴趣页面组。

所有的网页都被互联网管理人员以超文本链接的形式互相连接了起来。这样的联系只能够反映出网站的逻辑结构或者互联网管理人员的一种建站思路,并不能够反映出用户的兴趣。

用户通过访问站点,在Web日志中留下了访问足迹,留下了非常好的分析用户兴趣的数据资源。通过分析这些数据,就可以发现哪些页面具有关联性。比如,70%的用户在访问了页面A之后会再次访问页面B。这样的页面组,就称之为隐式关联页面。通过隐式关联页面,网站管理员就可以有针对性的调整页面结构,来获取更多的访问流量。



技术实现要素:

为解决现有技术存在的不足,本发明公开了一种基于用户访问的关联页面挖掘方法及系统,通过对每个单独页面出现频率、置信度、支持度的计算,确定用户感兴趣的页面组,从而挖掘用户兴趣,并可据此提高网站的设计。

为实现上述目的,本发明的具体方案如下:

一种基于用户访问的关联页面挖掘方法,包括:

用户目标页面确定的步骤:Web日志中记录有所有页面访问记录,将干扰页面清洗掉或进行删除,最终从所有页面访问记录中识别出用户目标页面并形成会话序列集合;

根据用户目标页面进行隐式关联页面的挖掘步骤:计算会话序列集合中页面的支持度,支持度大于设定阈值的页面构成集合,对该集合进一步的组合并删除组合后的集合中的不是用户目标页面的元素,通过递归计算直至支持度大于设定阈值的页面构成集合的第k个集合Lk为空集,用户访问的关联页面即为所有集合Lk的并集,k>2。

进一步的,在用户目标页面确定的步骤中,将一部分干扰页面在数据提取、转换和加载过程中清洗掉,将另一部分干扰页面通过相应的算法删除。

进一步的,在数据提取、转换和加载过程中清洗掉的页面为该页面所属系统产生的干扰页面。

进一步的,将另一部分干扰页面通过相应的算法删除时,将对页面的平均阅读时间大于设定阈值的页面标记用户目标页面。

进一步的,会话序列集合为S,S={S1,S2,…,Sn},其中,Si={x1,x2,…,xj},xj为会话Si中第j个访问页面,在Si中,访问序列是有顺序性的,除了x1外,每个访问页面都有且只有一个前驱页面;除了xj外,每个访问页面都有且只有一个后继页面;对于xi来说其前驱页面是xi-1,后继页面是xi+1

进一步的,通过模式匹配算法在日志记录中找出用户目标页面对应的序列出现的次数。

进一步的,根据用户目标页面进行隐式关联页面的挖掘步骤具体包括:

1)计算会话序列集合中所有页面的支持度,将所有大于第一设定阈值的页面形成L1

2)在L1的基础上,将L1的所有页面两两组合,形成C2′,扫描会话,删除C2′中不存在于会话中的元素,形成C2,计算C2元素的支持度和置信度,支持度大于第一设定阈值且置信度大于第二设定阈值的元素形成L2

3)从L2开始,对于所有的在Lk-1中的元素,设任意两个页组序列Pi(x1,x2,…,xk-1),Pj(y1,y2,…,yk-1),如果(x2=y1and x3=y2…and xk-1=yk-2),那么就形成新的页面{x1,…,xk-1,yk-1},并加入到Ck′,扫描会话,删除Ck′中不存在于会话中的元素,形成Ck,计算Ck元素的支持度和置信度,支持度大于第一设定阈值且置信度大于第二设定阈值的元素形成Lk,如此递归的计算,直到Lk为空集为止。

一种基于用户访问的关联页面挖掘系统,包括:

用户目标页面确定单元:Web日志中记录有所有页面访问记录,将干扰页面清洗掉或进行删除,最终从所有页面访问记录中设别出用户目标页面并形成会话序列集合;

隐式关联页面的挖掘单元:计算会话序列集合中页面的支持度,支持度大于设定阈值的页面构成集合,对该集合进一步的组合并删除组后的集合中的不是用户目标页面的元素,通过递归计算直至支持度大于设定阈值的页面构成集合的第k个集合Lk为空集,用户访问的关联页面即为所有集合Lk的并集,k>2。

进一步的,在用户目标页面确定单元中,将一部分干扰页面在数据提取、转换和加载过程中清洗掉,将另一部分干扰页面通过相应的算法删除。

进一步的,在用户目标页面确定单元中,在数据提取、转换和加载过程中清洗掉的页面为该页面所属系统产生的干扰页面。

进一步的,在用户目标页面确定单元中,将另一部分干扰页面通过相应的算法删除时,将对页面的平均阅读时间大于设定阈值的页面标记用户目标页面。

进一步的,会话序列集合表示单元:会话序列集合为S,S={S1,S2,…,Sn},其中,Si={x1,x2,…,xj},xj为会话Si中第j个访问页面,在Si中,访问序列是有顺序性的,除了x1外,每个访问页面都有且只有一个前驱页面;除了xj外,每个访问页面都有且只有一个后继页面;对于xi来说其前驱页面是xi-1,后继页面是xi+1

本发明的有益效果:

1.基于对过去目标页面确定文献的改进,通过目标页面的定义公式可以有效地识别用户的兴趣页面,从而为进一步的关联页面发现打下基础。无关页面的存在会大大降低发现有用模式的概率。

2.通过对每个单独页面出现频率、置信度、支持度的计算,确定用户感兴趣的页面组,从而挖掘用户兴趣,并可据此提高网站的设计,留住用户。

附图说明

图1本发明的算法流程图。

具体实施方式:

下面结合附图对本发明进行详细说明:

本发明是一种基于用户访问的关联页面挖掘方法,具体包括用户目标页面确定步骤、隐式关联页面的挖掘步骤。

概念定义与算法描述如下:

1.用户目标页面的确定

用户在访问网站的时候,所有的页面访问记录都会被记录到Web日志当中。但是,并非所有的记录都是有意义的可挖掘页面。例如,用户在浏览网页时随着网页而下载的文件(如用户访问网站时,随着页面一起下载网站LOGO图片等),还有用户无意间打开的网页但是随后又接着关掉了。我们将用户访问网站时,本意要浏览的页面成为用户目标页面。有效的识别出用户目标页面,不仅可以大大减少不相干页面的干扰导致的分析结果差异,还可以使算法的处理过程更有效率。

对于因为系统或者设计而产生的干扰页面(比如随页面一起下载的LOGO图片),可以在ETL的过程中将其清洗掉。干扰页面可定义为非用户浏览行为所产生的浏览页面。干扰页面的存在会降低准确识别用户行为的能力,因此在预处理过程中要将其过滤。对于其他的情况,就需要通过一定的算法来找出用户目标页面。

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。

网站中的页面,从用户的角度来看,可以分为两类:一类是用户真正感兴趣的页面,另一类是导航页面,负责导引用户到达其所感兴趣的页面。在Web日志中,用户的访问都被记录,如果能够有效的识别出用户的目标页面,将会对后续的算法节省大量的时间和空间成本。褚红丹等提出了一种用户兴趣度的访问模式挖掘算法,其中定义了用户页面兴趣度的计算方法。叶彧在其硕士论文中,对用户的页面兴趣度提出了若干量化指标。Kimball等在其著作《Web数据仓库构建指南》中认为一般用户可以忍受的页面响应延迟为30秒。据此可以认为,超过30秒的访问页面可以在很大程度上认为是用户的兴趣页面,综合上述观点方法,本申请给出目标页面的定义、计算方法以及相关概念的定义。

定义平均访问时间

<mrow> <msub> <mi>T</mi> <mrow> <mi>A</mi> <mi>V</mi> <mi>G</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> <mi>n</mi> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

其中,tij代表页面i第j次访问时间,n代表页面i的总访问次数。

定义平均阅读量

<mrow> <mi>I</mi> <mo>=</mo> <mfrac> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>.</mo> <mi>s</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> <mrow> <msub> <mi>T</mi> <mrow> <mi>A</mi> <mi>V</mi> <mi>G</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,P(i).size代表页面i的大小。

定义平均阅读量阈值

<mrow> <msub> <mi>I</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>f</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>&Sigma;</mi> <mi>P</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>.</mo> <mi>s</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> <mrow> <msub> <mi>&Sigma;T</mi> <mrow> <mi>A</mi> <mi>V</mi> <mi>G</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

其中,∑TAVG(i)代表所有页面平均访问时间之和,∑P(i).size代表所有页面大小之和。

定义用户目标页面

<mrow> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>n</mi> <mi>t</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mo>{</mo> <msub> <mi>P</mi> <mi>i</mi> </msub> <mo>|</mo> <mfrac> <mrow> <mi>P</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>.</mo> <mi>s</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> <mrow> <msub> <mi>T</mi> <mrow> <mi>A</mi> <mi>V</mi> <mi>G</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&GreaterEqual;</mo> <msub> <mi>I</mi> <mrow> <mi>r</mi> <mi>e</mi> <mi>f</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>T</mi> <mrow> <mi>A</mi> <mi>V</mi> <mi>G</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>30</mn> <mi>s</mi> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

参数Pi为所有满足平均阅读量大于平均阅读量阈值的页面。PInternet为Pi页面的集合。

通过上述的形式化定义,将平均阅读量大于设定阈值的页面标记用户目标页面(定义4所属页面)。目标页面标记过后,就可以得到一个更为精简的会话序列集合,为下面的算法实现打好基础。

2.隐式关联页面及其挖掘算法

确定了用户目标页面以后,就可以开始发掘隐式关联页面。下面给出隐式关联页面的概念及其挖掘算法。

定义隐式关联页面。本申请将不能被显式发现的,只能通过数据挖掘方法得到的,与用户访问兴趣相关的一组页面称为隐式关联页面。

普通网站的页面之间是由网页设计人员人工添加链接而联系起来的,可以称之为显式的关联页面。与之相对的,隐式关联页面隐藏于用户的访问兴趣之中,只能通过一定的方法挖掘出来。

在描述算法之前,需要对一些基础的概念进行定义。设会话序列集合为S,S={S1,S2,…,Sn}。其中,Si={x1,x2,…,xj},xj为会话Si中第j个访问页面。在Si中,访问序列是有顺序性的,除了x1外,每个访问页面都有且只有一个前驱页面;除了xj外,每个访问页面都有且只有一个后继页面;对于xi来说其前驱页面是xi-1,后继页面是xi+1。下面给出模式匹配算法count(Si,T)。(算法1)该算法返回一个整型值,表示T在Sj中出现的次数,其中设Si={a1,a2,…,am},T={b1,b2,…,bn}。(S,T均为会话序列集合,S表示全部访问的集合,T表示所确定的用户访问页面的集合)

模式匹配算法:

模式匹配算法用于在日志记录中找出用户目标页面序列出现的次数。(用户序列集合是用户访问页面的集合,它隐匿于会话序列集合中)

定义支持度

<mrow> <mi>sup</mi> <mi> </mi> <mi>p</mi> <mi>o</mi> <mi>r</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mi>i</mi> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

其中,i为会话集S中的会话元素个数。count函数为算法模式匹配算法中所定义函数。支持度用于过滤掉出现频率不频繁的噪声,帮助最终算法发现有效的关联页面。

定义置信度

<mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>sup</mi> <mi>p</mi> <mi>o</mi> <mi>r</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>sup</mi> <mi>p</mi> <mi>o</mi> <mi>r</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>x</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

support函数为支持度所定义函数。置信度用于选择出在序列(x1,x2,......,xj-1)出现时,(x1,x2,......,xj-1,xj)也出现的强关联页面序列,屏蔽掉弱关联页面序列。一般来说支持度设为0.1,置信度设为0.9.

有了上述定义,下面可以给出算法描述。

算法:隐式关联页面挖掘算法

关联页面

其中,join函数将xs,xt结合形成xsxt和xtxs两个元素。

如图1所示,该算法首先计算所有页面的支持度,将所有大于minsup(最小支持度阈值)的页面形成L1。在L1的基础上,将L1的所有页面两两组合(在L1中任意选取两个页面组合在一起,假设L1有n个页面,则共有种组合),形成C2′。重新扫描会话序列集合,删除C2′中不存在于会话中的元素,形成C2。计算C2元素的支持度和置信度,支持度大于minsup且置信度大于minconf(最小置信度阈值)的元素形成L2。从L2开始,对于所有的在Lk-1中的元素,设任意两个页组序列Pi(x1,x2,…,xk-1),Pj(y1,y2,…,yk-1)。如果(x2=y1and x3=y2…and xk-1=yk-2),那么就形成新的页面{x1,…,xk-1,yk-1},并加入到Ck′。扫描会话,删除Ck′中不存在于会话中的元素,形成Ck,计算Ck元素的支持度和置信度,支持度大于minsup且置信度大于minconf的元素形成Lk。如此递归的计算,直到Lk为空集为止。最终结果是所有集合Lk(k>2)的并集。

本发明还公开了一种基于用户访问的关联页面挖掘系统,包括:

用户目标页面确定单元:Web日志中记录有所有页面访问记录,将干扰页面清洗掉或进行删除,最终从所有页面访问记录中设别出用户目标页面并形成会话序列集合;

隐式关联页面的挖掘单元:计算会话序列集合中页面的支持度,支持度大于设定阈值的页面构成集合,对该集合进一步的组合并删除组后的集合中的不是用户目标页面的元素,通过递归计算直至支持度大于设定阈值的页面构成集合的第k个集合Lk为空集,用户访问的关联页面即为所有集合Lk的并集,k>2。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1