基于用户浏览行为分析的用户兴趣度计算
2012-07-25李建廷汤志军
李建廷,郭 晔,汤志军
(1.西安财经学院 信息学院,陕西 西安710100;2.西安市人事考试中心,陕西 西安710065)
0 引 言
在用户通过互联网进行信息检索的过程中,依据用户的实际兴趣为用户返回个性化的检索结果是提高信息检索查全率以及查准率的主要途径之一,同时也是目前个性化搜索引擎的主要研究内容之一。
当前,用户兴趣的获取一般有两种方式:一种是通过显式的方法在信息检索之前通过用户对自己兴趣程度的标注,实现用户兴趣的获取。这种方式一般能够获得较为准确的用户兴趣表现,但在现实的应用过程中,用户经常并不愿意直接参与对页面的兴趣标注,直接进行用户的兴趣标注一方面很容易造成一部分用户隐私数据的泄露,也不可避免的影响了用户的正常浏览过程,同时,即使用户标注了自己感兴趣的程度,也未必能够准确地反映用户的实际兴趣。第二种方式是通过利用数据挖掘技术从用户实际浏览行为中挖掘、提取用户的兴趣表现来估算兴趣度,这种方法不需用户直接参与,同时用户实际浏览行为也正是用户当前实际兴趣的表现,这种方法已成为目前获取用户兴趣模型的主流方法之一[1-2]。
用户在实际页面浏览过程中的行为多种多样,既有用户对页面本身所采取的操作,又有用户对鼠标和键盘的操作,还有用户的生理、情绪变化等。利用用户的浏览行为估算用户的兴趣爱好,其关键问题之一是在收集用户的浏览行为之前,需要确定哪些浏览行为能真正的反映用户兴趣;其次,对于收集来的用户实际浏览行为如何进行量化,最终合理的表示用户的实际兴趣也是应用的关键问题之一。
1 用户浏览行为分类
大量研究指出,用户对网页的兴趣度与其在该网页上的浏览行为密切相关。用户的很多浏览行为暗示出用户的喜好与兴趣,如查询、浏览页面、标记书签、反馈信息、点击鼠标、拖动滚动条、前进、后退等。用户访问页面时的停留时间、访问次数、保存、编辑、修改等动作同样表现用户兴趣[3-5]。
根据浏览行为反映用户兴趣的方式,可以将用户的浏览行为分为生理行为、显著行为和间接行为3类。生理行为指反映用户在浏览过程中思想和情绪波动的浏览行为,生理心理学研究表明,当人发现自己感兴趣的事物时,在生理上会发生一系列反应,如用户眼睛的移动,心跳的变化,皮肤温度的变化和用户的表情等。
显著行为指可以直接反映用户兴趣的浏览行为,主要包括保存页面、打印页面、页面加入收藏夹、频繁访问同一页面等。显著行为一旦发生,可以确定用户对页面感兴趣的程度很高。
间接行为指间接反映用户兴趣的浏览行为,主要包括在页面上驻留的时间,浏览页面时拖动滚动条,移动或点击鼠标,按 UP/Down键滚动页面,按Pageup/PageDown键翻页等。间接行为本身并不能确定用户是否对页面感兴趣,但间接行为发生的次数和持续时间可以反映用户的兴趣度。
在用户的浏览行为中,生理行为因为技术上的限制暂时不能用于用户兴趣度计算,显著行为和间接行为均可以用于用户的兴趣度计算。一些研究指出,用户兴趣度计算的最小浏览行为组合可以为以下5种:保存页面、打印页面、将页面加入收藏夹、访问同一页面的次数、在页面上的浏览时间[6]。
分析上面的5种最小浏览行为的关系,可以明显的发现,如果保存页面、打印页面和收藏页面这些行为一旦发生,表明用户对页面的兴趣度较高,而打印页面在平常的浏览行为中出现的几率很小,保存页面与将页面加入收藏夹这两种行为可以看成一种类型的行为。除此之外,在页面浏览时的某些浏览动作比如:对页面内容的复制、粘贴、剪切等,这些浏览动作一旦发生也同样反映用户对当前页面有着较强的兴趣。
用户的各种浏览行为之间既互相联系,又互相独立,而用户本身的浏览习惯也千差万别。利用浏览行为分析用户的兴趣如果选择的浏览行为太少,则很容易造成描述用户兴趣的精度不高;如果为提高用户兴趣描述的精度,盲目选择过多的浏览行为,又会造成兴趣计算方法复杂、各种浏览行为之间难以量化的问题,因此,选择哪些浏览行为以及如何量化这些浏览行为也就显得非常重要。
综合考虑用户的浏览行为,确定从3个方面估算用户的兴趣程度:用户的实际浏览动作、对页面的访问次数、在页面上的浏览时间。
2 基于浏览行为的兴趣度计算
设用户在某时间段内共按照顺序依次浏览了多个页面,同时,用户也可能多次访问同一个页面,由于用户建模关注的是用户对各不相同的页面的兴趣度,记用户在此时间段内浏览的各不相同的页面为w1,w2,…,wn。
分析用户浏览行为时,用户的浏览动作 (包括保存页面、收藏页面,打印页面以及对页面内容的复制、粘贴等操作),对页面的访问次数和在页面上的浏览时间这3类典型的浏览行为可以近似地代替所有典型的浏览行为,从而用户对页面的兴趣度可以看成是上述3类行为的函数。
令Interest(w)为用户对页面w的兴趣度,则Interest(w)可以表示为
定义用户兴趣度的取值范围为0~1,即Interest(w)∈[0,1]。其中,InterestActive(w)、InterestFreq(w)、InterestTime(w)分别为用户网页浏览动作、访问同一页面的次数、在页面上的浏览时间这3类行为的兴趣度计算函数。
2.1 基于浏览动作的用户兴趣度计算
利用用户对页面进行浏览时所发生的浏览动作进行兴趣度计算,选择保存页面、打印页面、收藏页面以及对页面内容的复制操作4个浏览动作作为计算基础,即将浏览器菜单中的 “另存为”、“打印”、“收藏”、“复制”4个菜单命令及相应的命令按钮进入浏览行为的统计数据。从而得到基于浏览动作的用户兴趣度计算函数
同样定义基于浏览动作的用户兴趣度取值范围为0~1,即InterestActive(w)[0,1]。其中,Save(w)、Keep(w)、Print(w)和Copy(w)分别为保存页面、收藏页面、打印页面、对页面内容的进行复制和粘贴操作这4个浏览动作的函数。分析这4个浏览动作可以看出,这4种动作的产生只有发生或不发生两个状态,不存在计算幅度问题。同时如果这4种动作一旦发生,则很明显的表明用户对该页面具有很高的兴趣度。此时再分析用户对页面的访问次数和在页面上的浏览时间也就没有太多的意义。因此,定义以上4种行为一旦发生,设置InterestActive(w)为最大兴趣度取值l。
基于用户浏览动作的兴趣度InterestActive(w)表示为一个二值函数
在实际的用户浏览行为中,保存页面、收藏页面和打印页面行为很少发生。大部分页面的兴趣度需要通过用户的访问次数和在页面上的浏览时间来估计。对于访问页面的次数和在页面上浏览的时间这两个行为存在幅度上的变化,幅度的不同意味着用户不同的兴趣度。例如两个页面w1和w2,若在同一时间段内,用户访问w1的次数是1次,访问w2的次数是10次,那么明显用户对页面w2的兴趣度要高于对页面w1的兴趣度,页面浏览时间具有相同的特点。因此,这两种浏览行为的量化成为计算用户兴趣度的关键指标。
2.2 基于访问次数的用户兴趣度计算
如果用户访问了某一页面,就可以认为其对该页面感兴趣。用户感兴趣的程度即兴趣度的计算依赖于用户对页面的访问频度。定义用户在某一时间段内浏览的同一页面的次数为Freq(w),则Freq(w)越大,用户兴趣Interest(w)越大。基于访问次数的用户兴趣度可描述为[7-8]
式中:W——某一时间段内用户访问的所有页面的集合。
需要注意的是,该方法是一种定量测度用户兴趣的方法。随着时间的积累,用户对某个网页的点击次数同样会逐渐积累到很多,而这些历史的积累并不一定能够准确的反应用户当前的兴趣。因此,合理的定义统计浏览次数的时间段,同时设置相应的更新机制就显得尤为关键。实际使用中,设置周为统计周期,每隔一周,则进行浏览次数的更新。
更新方法:设置Freqold(w)和Freqnew(w)分别为某一页面上一统计周期和当前统计周期的浏览次数,p为该页面浏览次数的更新比例,定义
若p<0.5,即用户在上一统计周期和当前统计周期中对某一页面浏览次数的变化程度不足,则认为用户对该页面的兴趣随着时间的推移并未有较大的转移,置
若p≥0.5,即用户在上一统计周期和当前统计周期中对某一页面浏览次数的变化程度较大,则认为用户对该页面的兴趣已经随着时间的推移有了较大的改变,置
2.3 基于浏览速度的用户兴趣度计算
用户访问当前页面时花费的浏览时间越长,则从一定程度上可以表明用户对该页面的兴趣度较高。当然,从另一方面来说,用户访问页面的浏览时间与用户的操作习惯、操作速度以及页面大小等因素密切相关,为更好的综合各种因素,将浏览时间和用户当前的浏览速度相对应。使用基于浏览速度来计算网页的兴趣度,不仅考虑用户在页面的驻留时间,而且还需考虑页面大小的影响[9-10]。
定义用户访问页面w的浏览速度Speed(w)为
式中:Size(w)——当前所访问页面的大小,Time(w)——当前所访问页面的浏览时间。
当前页面的浏览时间Time(w)与很多因素有关,如用户的操作速度、用户的浏览速度、当前网络的传输延迟、服务器的相应延迟等,综合考虑各种因素,将Time(w)定义为访问两次页面的时间差,即:Time(wi)=T(wj)-T(wi),其中j=i+1,wj为紧跟页面wi的下一个页面,T(wi)为页面wi的请求时间。
浏览速度表示了单位时间内当前用户浏览的字节数,对于每个页面w来说,该用户浏览速度越快,即Speed(w)越大,表明用户对页面w越不感兴趣,也就是说,用户对网页的兴趣度Interest(w)和用户的浏览速度Speed(w)存在反比关系,也就与用户的页面浏览时间成正比,与页面大小成反比。进而得到用户对网页的兴趣度计算公式
在网络的实际浏览过程中,不同用户的浏览行为存在相当大的差异,用户的浏览速度也相差很大,因此,对浏览速度采用非线性归一化,用户对页面w的兴趣度可以通过下式得到
显然,0≤InterestTime(w)≤1。
实际应用中,用户本身的浏览状态及浏览环境非常复杂,经常会出现异常的驻留时间。例如用户打开某个页面后离开了,但并没有关闭页面,再如用户通过页面观看在线视频时,这些情况都会导致用户在该页面上的驻留时间远远大于正常驻留时间,从而导致用户的兴趣度接近于0,从而无法很好区分正常的兴趣度[11]。
为了排除用户的异常浏览行为对用户兴趣度计算的影响,设置处理异常的驻留时间的处理策略如下:当用户在页面上的驻留时间超过了某个预先设定的阈值时,就将其设定为某个最大驻留时间,对于小于阈值的驻留时间,保持其原值。处理的过程中,阈值大小的选择是关键。如果阈值设置过大,大部分页面的兴趣度都将接近0,失去了使用阈值的意义;反之如果阈值设置过小,则大部分页面的兴趣度都将接近1,不利于区分页面的兴趣度。T2,……Tm为当前统计周期内所浏览页面的浏览时间。当用户的浏览时间超过该阈值时,取Time(w)=Tmax。
另外,用户在浏览网页的过程中,还经常会存在一些用户根本不感兴趣的广告、消息等非正常页面,这些页面造成浏览时间很短或者干脆直接被一些工具软件关闭掉。这部分对用户浏览行为的统计数据影响较大,但又无实际意义或者无法正确判断,同样需要将这部分网页排除在统计范围之外。
设置最小浏览时间Tmin和网页窗口类型判断策略,如果用户浏览该网页的时间小于设定Tmin或者弹出的网页窗口没有菜单栏及工具按钮栏,则可以判断该网页为可以清除的网页。即网页浏览时间的最终取值范围为
现有的研究表明,一篇文章的阅读时间小于3~5s则无法放映用户的实际兴趣[13-14],再考虑网络的传输延迟、服务器的相应延迟、用户反应速度等因素,因此,将Tmin值定位为6s,以处理这些异常页面。
2.4 3种兴趣度的结合
在计算用户兴趣度时,首先判断InterestActive(w)的取值,若InterestActive(w)=1,则置Interest(w)=1,即单前页面w具有最高兴趣度。
若InterestActive(w)=0,为得到更合理的页面兴趣度,综合考虑用户页面访问次数和访问速度下的用户兴趣度取值,利用BP神经网络进行二者的融合。BP神经网络由输入层、输出层和若干隐含层构成。隐含层的数量可以为1层或多层,隐含层层数越多,神经网络结构越复杂,所需要的训练时间越长。通常情况下,三层网络结构即可满足应用要求,本文选择三层为网络层的层数。
首先将用户浏览动作、用户页面访问次数和访问速度这3类浏览行为下的用户兴趣度作为神经网络的输入数据,输出数据为融合后的最终用户兴趣度。根据神经网络的输入数据和输出数据,确定神经网络的输入层包含2个节点,输出层包含1各节点,隐含层节点数为6个,BP神经网络结构如图1所示。利用Matlab软件中神经网络工具箱,实现该神经网络。同时,合理选择训练样本数据,对神经网络进行训练,最终利用训练好的神经网络进行用户兴趣度的数据融合。
3 训练样本选取与实验分析
为了实现利用BP神经网络进行兴趣度融合,需要大量的训练样本数据。为了验证本文兴趣度算法的合理性,同样需要大量的实验数据。在具体实验中,为了获得原始实验数据,利取在IE浏览器内嵌入浏览器帮助程序对象(BHO)与Windows钩子函数捕获网页及用户浏览行为。BHO能够在浏览器打开的同时自动加载,主要负责挂接钩子函数并捕获网页的打开、关闭、文档开始下载以及文档下载完成、URL改变、状态变化等内容,钩子函数主要负责准确捕获如:浏览时间、菜单命令、鼠标动作、键盘操作、页面滚动等的用户的有效浏览动作[15-16]。
图1 BP神经网络结构
通过采集、清洗特定用户群在1个月内浏览http://www.qq.com网站中300余张网页的浏览日志,通过 Web日志挖掘获得原始浏览行为数据3183条,对这些浏览行为分别计算基于浏览动作、基于浏览次数与基于浏览速度下的用户兴趣度,将获得的结果数据作为训练样本数据,对BP神经网络进行训练。
在原始记录数据中选择不同主题下具有代表性的页面100张,再次通过Web日志挖掘对这100张网页进行浏览行为数据采集,计算基于浏览动作、基于浏览次数与基于浏览速度下的兴趣度,并利用训练好的神经网络进行兴趣度融合,得到网页最终的兴趣度。同时通过对特定用户群进行统计调查,让用户自己评价对网页的兴趣度,将用户主观的评价结果与根据计算得到的网页兴趣度进行比较,表1描述了部分典型数据的比较结果。
表1 用户兴趣度计算与用户自评的比较示例
4 结束语
用户的浏览行为从一定程度上可以反映用户的实际兴趣,针对用户浏览行为及用户兴趣之间的关系,把能反映用户兴趣的典型浏览行为归纳为页面浏览动作、页面浏览次数、页面浏览时间3类行为。针对这3类浏览行为下的用户兴趣度分别进行计算,并且在分析基于网页驻留时间和浏览次数计算网页兴趣度的算法的基础上,考虑网页大小、用户反应速度、网络传输延迟等影响因素,使用基于浏览速度计算网页兴趣度的算法计算用户兴趣度。
在分别计算出不同类型浏览行为下的用户兴趣度后,利用BP神经网络进行兴趣度的融合,通过对实验样本数据的计算,验证了所采用算法的有效性及合理性,也为下一步用户兴趣模型的建立打下了基础。
[1]SHAO Zhifeng.A research on user profile model based on Chinese library classification [J].Computer Applications and Software,2007,24 (8):86-88 (in Chinese). [邵志峰.基于中图分类法的用户兴趣模型研究 [J].计算机应用与软件,2007,24 (8):86-88.]
[2]ZHOU Xiaolan.Web data mining user interest model design[J].Journal of Xiangtan Normal University (Natural Science Edition),2009,31 (2):55-58 (in Chinese).[周晓兰.Web数据挖掘中用户兴趣模型设计 [J].湘潭师范学院学报 (自然科学版),2009,31 (2):55-58.]
[3]Georgakis A,Li H.User behavior modeling and content based speculative Web page prefetching [J].Data & Knowledge Engineering,2006,59 (3):770-788.
[4]WANG Jimin,PENG Bo.User behavior analysis for a largescale search engine [J].Journal of Intelligence,2006,25(2):154-162 (in Chinese).[王继民,彭波.搜索引擎用户点击行为分析 [J].情报学报,2006,25 (2):154-162.]
[5]XU Bo,ZHANG Jiekui,ZHOU Jun.A user interest model based on the analysis of user behaviors [J].Journal of Intelligence,2009,18 (5):166-169 (in Chinese). [许波,张结魁,周军.基于行为分析的用户兴趣建模 [J].情报学报,2009,18 (5):166-169.]
[6]YIN Chun-hui,DENG Wei.Extracting user interests based on analysis of user behaviors [J].Computer Technology and Development,2008,18 (5):37-39 (in Chinese).[尹春晖,邓伟.基于用户浏览行为分析的用户兴趣获取 [J].计算机技术与发展,2008,18 (5):37-39.]
[7]LU Jia.Web user access patterns clustering based on interest degree[J].Computer Engineering and Design,2007,28 (10):2403-2407(in Chinese).[吕佳.基于兴趣度的Web用户访问模式分析 [J].计算机工程与设计,2007,28 (10):2403-2407.]
[8]DAI Ge.Research and realization of key technologies of Web information system [D].Changsha:Central South University,2008(in Chinese).[戴戈.网络信息提取系统关键技术研究与实现 [D].长沙:中南大学,2008.]
[9]SHAN Rong.New user’s interest model updated based on browsing behaviors[J].Electronic Design Engineering,2010,18 (4):61-62(in Chinese).[单蓉.一种基于用户浏览行为更新的兴趣模型[J].电子设计工程,2010,18 (4):61-62.]
[10]YIN Chun-hui.Research and implementation on user interests modeling for personalized information retrieval [D].Suzhou:Suzhou University,2008 (in Chinese). [尹春晖.面向个性化信息检索的用户建模研究与实现 [D].苏州:苏州大学,2008.]
[11]ZHU Zheng-yu,ZHOU Zhi,LUO Ying,et al.Extraction of user-interested web page based on the browsing action quantitative analysis [J].Journal of Chongqing Institute of Technology (Natural Science),2009,23 (7):79-84 (in Chinese).[朱征宇,周智,罗颖,等.基于浏览行为量化分析的兴趣网页提取 [J].重庆工学院学报 (自然科学),2009,23 (7):79-84.]
[12]ZENG Li-fang,ZHU Zheng-yu,CHEN Ye.The calculation of user interest based on web logs and Web page feature contents [J].Microprocessors,2010,31 (4):86-90 (in Chinese).[曾丽芳,朱征宇,陈烨.基于Web日志和网页特征内容的用户兴趣度计算 [J].微处理机,2010,31 (4):86-90.]
[13]ZHANG Chuan-fu.Research on user interest based on behavior [D].Beijing:Beijing University of Posts and Telecommunications,2008 (in Chinese). [张传福.基于行为的用户兴趣研究 [D].北京:北京邮电大学,2008.]
[14]LI Youjun.Users’Web browsing behaviors pattern mining and its application in the online teaching system [D].Beijing:North China University of Technology,2009 (in Chinese).[李幼军.用户行为模式发掘及其在网络教学系统中的应用[D].北京:北方工业大学,2009.]
[15]ZHOU Zhi.The analysis of user interest Webpage based on quantitative calculation of browsing behavior [D ].Chongqing:Chongqing University,2009 (in Chinese). [周智.基于浏览行为量化计算的用户兴趣网页分析 [D].重庆:重庆大学,2009.]
[16]CHEN Yu’e.Study and design of user model in personalized service [D].Qingdao:Shandong University of Scienceand Technology,2007 (in Chinese). [陈玉娥.个性化服务中用户模型的研究与设计 [D].青岛:山东科技大学,2007.]