用户浏览行为(共7篇)
用户浏览行为 篇1
0 引言
网络教学随着Internet的发展被越来越多的人所使用, 而如何针对学习者的兴趣推荐相应的学习资源, 也成为了网络教学中被关注的问题。随着学习内容的推进, 学习者的兴趣相应地会发生转变, 针对这一特点, 本文设计了基于浏览行为的个性化推荐系统 (Browsing Behavior Personalized Information Recommendation System, BBIRS) 。
1 用户兴趣模型的建立
1.1 基于向量空间模型的混合模型
在个性化推荐系统中, 用户的兴趣模型会在很大程度上影响到推荐效果, 文中采用了图1所示的二层树状结构模型。
图1用二层树状结构模型来表示用户兴趣。用一组兴趣主题词 (I1, I2, …Ik) 来代表用户的k个兴趣类型, 每一兴趣类II根据用户兴趣度的高低赋予一定的权值InterestDregree (Ii) , 因此用户的兴趣可以表示为 ( (I1, InterestDegree (I1) ) 的加权矢量形式[1,2]。
树状模型的第一级节点表示了用户的兴趣类型, 及其对每一兴趣类的兴趣度高低。树状模型的第二级节点是用户某一兴趣类的向量空间模型表示, 这样就使得用户的兴趣类的表示和页面文档的表示统一了起来, 那么在兴趣模型更新的时候就可以直接采用前面讨论的相似度计算公式计算新浏览页面与兴趣类的相似性, 简化了用户兴趣模型的更新。
本文从两个方面考虑一张页面在其兴趣类页面集合中的兴趣等级:①用户在这张页面上的浏览行为动作;②页面内容与兴趣类主题的相关程度。
1.2 通过浏览速度计算用户的兴趣度
设用户在时间段TimeSpan内共依序浏览了N个页面, 记为b1, b2, …, bN。由于用户可能多次访问同一个页面, 因此用户在时间段Timespan内浏览的各不相同的页面数n≤N。记用户在时间段Timespan内访问的各不相同的页面为p1, p2, …, pn, 访问pi (i=1, 2, …, n) 的次数为Fre (pi) 。
令Interest (p) 为用户对页面P的兴趣度, Duration (pi) 表示用户在页面pi上驻留的时间,
用户的浏览速度定义为单位时间内用户浏览的字节数, 即
则用户兴趣度可以通过下式来估计:
对浏览速度进行非线性归一化, 用户对页面p的兴趣度可以通过下式得到:
2 BBIRS系统
2.1 BBIRS系统结构图
BBIRS系统可以分为在线部分和离线部分[3]两个过程来进行, 如图2所示。
2.2 PPTIS系统结构
该系统主要包含Web使用挖掘、用户兴趣分析和个性化推荐三个模块。其中, 框架的基础是Web使用挖掘, 其首要任务就是利用Web结构数据预处理的结果和Web站点服务器日志完成Web使用数据预处理工作, 即从大量的Web日志中识别用户、识别会话并进行路径补充, 以形成访问事务集。访问事务集也就成为各种Web使用挖掘方法的处理对象。比如, 可以利用聚类算法对访问事务进行聚类, 并利用基于决策树的快速关联规则挖掘算法[4]对访问事务集进行处理。
用户兴趣分析模块首先需要利用用户的浏览行为和浏览内容分析用户对页面的兴趣, 以形成用户当前会话;然后, 将频繁Web页面集与用户当前会话进行匹配, 以形成推荐页面集。同时, 该模块可以自适应用户的兴趣模型[5]。
个性化推荐阶段只需要推荐引擎依据用户偏好视图将用户所偏好的页面以超级链接的形式附加在用户的学习页面中。
3 推荐策略
BBIRS系统采用了Web使用挖掘和分析用户兴趣的两种方法进行推荐, 但这两种方法不同的特点。 首先, 二者来源不同, 访问日志记录了关于用户访问的信息;交互数据则记录了用户和远程教育系统之间的交互信息。再者, 对二者的兴趣点不同, 日志记录中本文主要关心的是用户访问的行为方式, 如:兴趣的转移、页面滞留时间、访问次数等;交互数据中本文主要感兴趣的是用户访问记录的具体内容, 例如:作业、考试完成情况和答案, 答疑时给老师提的问题, 与同学交流的主题等。因此, Web使用挖掘方式适合于用户的兴趣没发生很大改变的时候进行推荐, 而分析用户兴趣方式适合用户的兴趣发生变化时进行推荐, 而用户的兴趣变化主要通过其浏览行为体现, 而浏览速度是最能体现用户兴趣的浏览行为之一。
推荐算法如下:
设定阈值α
If (Interest (p) >α) then
更新用户兴趣库;
采用用户兴趣分析方式推荐;
Else
采用Web使用挖掘方式推荐;
end
需要说明的是:当用户对页面的浏览速度speed (p) 比较慢, 即interest (p) >阈值时, 有两种情况, 第一种情况很显然说明用户对页面很感兴趣;第二种情况可能是用户对该页面的内容是第一次学习或学习次数较少, 在这种情况下, 访问日志中记录的该页面的信息就可能较少, 所以采用用户兴趣分析方式推荐, 同时更新用户的兴趣库。
4 结束语
本文所设计的系统具有以下特点:
①有两个基本平行的挖掘过程分别对访问日志和交互数据进行挖掘, 使得每一个挖掘过程相对简单, 又能各自独立地处理不同的数据源。因此, 用两个相对独立的挖掘模块进行挖掘, 更能充分利用这些信息来个性化用户群。
②该模型体现了以用户为中心的思想, 从用户出发, 最终反馈到用户, 变被动为主动, 能够尽可能地迎合每个学习者的浏览 (学习) 兴趣, 并且不断调整自己来适应学习者浏览 (学习) 兴趣的变化, 进行 个性化教学服务。在模型中, 对两种不同数据库一般会采用不同的挖掘算法, 以期望使个性化得到最好的体现, 本文的目标不是个性化到每个相似的用户群体, 而是个性化到每个不同的用户, 使每个用户感觉到整个教育过程就是专门为他量身定做的一样。
摘要:网络教育已成为现代教育技术主流的发展方向。提出了二层树状结构模型, 并在此基础上, 设计了一个基于基于浏览行为的个性化推荐系统 (BB IRS) 。系统可以通过离线和在线方式对用户的访问日志和交互数据分别进行挖掘, 并通过根据用户的浏览速度计算用户对页面的兴趣度, 根据该兴趣度是否大于阈值, 系统采用不同的推荐策略。
关键词:E-learning,个性化推荐,Web挖掘,推荐模型
参考文献
[1]冯是聪, 单松巍.基于Web挖掘的个性化技术研究[J].计算机工程与设计, 2004, 1:4-6.
[2]潘延军.基于用户浏览内容的Web用户浏览行为个性化研究[D].天津大学硕士论文, 2005.
[3]侯伟, 吴晨生, 杨炳儒, 等.一种高效的离线数据流频繁模式挖掘算法[J].计算机科学, 2009, 7:246-251.
[4]陈雪飞.一种基于决策树的快速关联规则挖掘算法[J].计算机科学, 2008, 35 (7) :252-254.
[5]李峰, 裴军, 游之洋.基于隐式反馈的自适应用户兴趣模型[J].计算机工程与应用, 2008, 44 (9) :76-79.
用户体验成手机浏览器竞争关键 篇2
三大浏览器产品占主体地位
艾瑞的调研数据显示,2011年中国手机浏览器用户手机上网途径中,手机QQ浏览器及相关产品、UC浏览器和系统自带手机浏览器占据主体地位。
其中,使用过和最常使用手机QQ浏览器及相关产品的用户最多,比例分别为72.0%和38.3%;其次是UC浏览器。上述比例分别为53.0%和37.1%;系统自带浏览器位居第三,相应用户比例分别为44.5%和22.4%。
“伴随着移动互联网整体用户规模的持续快速增长,手机浏览器作为典型的移动互联网入口型应用,长期来看存在极大的增长空间。”艾瑞咨询分析认为,这主要表现在两个方面:一方面,第三方手机浏览器厂商数量增长较快,逐渐占据了市场主导地位,但市场集中度较高,竞争格局变动较小,行业门槛正在快速提高。另一方面,系统自带手机浏览器凭借与终端捆绑的发展战略,在市场上的规模扩张能力不可小觑。
腾讯、UC各具竞争优势
据艾瑞调研数据显示,从手机浏览器用户打开和浏览网页的具体方式来看,使用手机QQ访问网页的用户比例最大,为50.7%;其次是手机QQ浏览器,用户比例为48.7%;第三是UCWEB,用户比例为47.9%。但,最常使用的方式为UCWEB,用户占比33.2%;然后是手机QQ浏览器,用户占比22.7%;而系统自带浏览器位居第三,用户占比为22.4%。
“从细分产品来看,腾讯和UC各具竞争优势。”艾瑞咨询分析师谢春表示。
腾讯因为有IM聚集的强大用户基础,所以在用户渗透方面更具优势。一方面,为其手机浏览器提供了一个极好的推广平台;另一方面,IM客户端开发的网址输入和网站导航功能,也为其带来了极大的用户流量,但其在培养用户使用习惯和粘性方面尚需提高。
而UCWEB则凭借优秀的产品表现和进入市场的先机等优势,一直保持着领先地位。“但未来需在与强大的用户渠道合作或在其浏览器中集合更多的产品方面加大力度,以扩大品牌知名度,吸引更多的用户。”谢春认为。
速度、稳定性、安全性决定用户体验
“手机网络浏览速度仍是用户选择手机浏览器的首要关注因素”。艾瑞调研数据显示,有81.3%的用户表示更看重手机网络的浏览速度;而手机浏览器的稳定性、浏览安全性则成为用户关注的第二和第三要素,用户比例分别为68.0%和66.2%。
“由于手机屏幕大小限制,能一次性展示的网页内容十分有限,用户需要不断切换页面,因此,手机网络浏览速度和稳定性直接决定了用户体验的优劣。”谢春表示。
用户浏览行为 篇3
目前,大量的学者和研究人员在通过浏览行为获取或判断用户兴趣网页的领域里取得了较多的成果,文献[3]将用户浏览行为分成生理行为、间接行为和显著行为3种,然后对这三种行为进行量化并计算每张网页的兴趣度。文献[4]则将分析的对象扩展到用户浏览行为、兴趣行为和用户访问活动系列等方面。而文献[5]仅将浏览时间和翻页与滚动条滑动次数作为分析对象。虽然现阶段对浏览行为进行分析的成果较多,但由于分析的方法和对象各有不同,因此最终获取兴趣网页的效果也有所区别,有的看重效率与实用性,有的则强调准确性。
1 基于改进浏览行为量化分析的兴趣网页获取方法
为了获取用户的兴趣网页,文献[1]利用BHO(Browser Helper Objects)与钩子技术相结合的方法捕获用户浏览的网页,并记录浏览行为,通过对浏览行为的量化分析BAQA(Browsing Action Quantitative Analysis)来识别浏览的网页是否是兴趣网页。在文献[1]中,主要分析的浏览行为有浏览时间、鼠标点击、页面滚动、以及菜单操作,最后再辅以用户主动判定兴趣网页的操作。而前四种行为的量化方法则是依据如公式1:
在公式1中,Vaction是某一行为的贡献值,而Anavigate则是在某一网页上的某一行为的统计值,如鼠标点击则是统计鼠标在该网页上的点击次数,Amean是用户在某一行为上的平均统计值,Baction是该行为的贡献基数,而Maction则是该行为的奖励因子。其中Anavigate和Amean可以通过统计得到而Baction和Maction则只能通过人为设定或自动优化得到。最后的用户主动判定行为由于是用户的主观意志,因此量化十分简单,其贡献值Vuser缺省值为0,如果用户点击了主动判定按钮,即认为该网页确为感兴趣的网页,那么Vuser将被赋予一个表示兴趣最大的常数MAX。因此用户对某一网页的兴趣度就被量化为:
其中Vaction代表浏览时间、鼠标点击、页面滚动及菜单操作四种浏览行为。由此可见,计算用户对某一网页的兴趣值,关键是计算四种行为的贡献值,而计算四种行为的贡献值则需要确定八个未知参数,虽然文献[1]中提出了两种自适应的优化方式来确定这八个参数,然而八个参数的确定依然会花费一定的时间,并且会对兴趣网页识别的准确度造成影响。因此本文针对这一问题提出了一种改进的浏览行为量化分析方法IBAQA(Improved Browsing Action Quantitative Analysis)。
事实上,文献[1]的浏览行为量化分析方法主要忽略了一个重要的问题,即各浏览行为的量纲不同,浏览时间以秒为单位,而鼠标点击、页面滚动和菜单操作都是以次为单位,那么几种量纲不同的数据要加到一起,自然需要通过因子来进行调整。如果能够在计算各行为的贡献值时,将原本有量纲的数据转换成无量纲的数据,那么几种行为的贡献值就可以顺利的加到一起作为最后的兴趣值。通常将有量纲的数据转换成无量纲的数据采用的方式是归一化。本文利用归一化的方式将四种行为的贡献值转换到0至1的区间上,去除其量纲,减少参数的设定。改进后的浏览行为贡献值计算方法如公式3:
由公式4可见,Taction是当前动作在所有网页里面的量化值之和,m是获取的用户浏览历史网页总数,因此公式3中的Aaction/Taction即反映在某一网页中,用户的浏览行为与该浏览行为的所有记录比,偏大还是偏小。将该行为的量化值归一化后,可以取消公式1中的参数Baction,这样在应用时,只需确定四个参数就行了。最终兴趣度的计算公式不变,沿用公式2。
关于Maction的确定以及异常网页和特殊网页的判定则沿用文献[1]的方法,在此不在赘述。最终兴趣网页的获取主要是依赖BHO与钩子技术共同抓取用户的浏览行为,并进行计算,然后将兴趣网页保存到指定的文件夹中,详细过程在文献[1]中有具体的阐述。
2 实验与分析
为了验证IBAQA的效果,本文在四位志愿者在一个月内根据自身兴趣浏览网页的所获取的浏览历史上同时使用IBAQA与BAQA进行实验分析,判定在所有的历史网页中,哪些是属于兴趣网页,参数的确定方式采用文献[1]提出的自适应调整方式,最大兴趣网页比例Nmax=70%,最小比例Nmin=15%。得到的实验结果如表1所示。
在表1中,用户兴趣网页列是用户后来自己确认的兴趣网页的数量,提取兴趣网页列则是分别由IBAQA与BAQA识别的兴趣网页数量,提取正确的兴趣网页列是在所识别出来的兴趣网页中,符合用户自己确认的兴趣网页的数量。从表1可以看出,IBAQA与BAQA相比,在获取兴趣网页的精确率和召回率上,差别并不大,并且有时还略优于BAQA,但是运行时间上,由于IBAQA的可变参数更少,因此在自适应调整参数时,拟合优化所花费的时间更少,因此通过用户浏览行为模型判断兴趣网页所需的时间就更少。
综上所述,使用IBAQA算法建立判断兴趣网页的用户浏览行为模型,可以保证较高的精确率和召回率,并且较大幅度的缩减所需时间。
3 总结与展望
本文在文献[1]的基础上提出一种改进的基于浏览行为量化分析方法,主要是将四种浏览行为的数据进行归一化,使其所表示的含义在一个层面上,最终减少需要确定的参数数量,减少运行所需时间,提高运行效率。在今后,针对用户兴趣网页的获取还应该进一步的提高兴趣网页的判定精确率和召回率,并且建立用户浏览行为的拟合机制,通过用户的长期浏览,不断更新用户的浏览行为模型,使兴趣网页获取系统具有自我更新功能。
参考文献
[1]朱征宇,周智,罗颖,等.基于浏览行为量化分析的兴趣网页提取.重庆工学院学报,2009,23(7):79-84.
[2]何颖.基于用户浏览行为挖掘的网站个性化推荐系统[J].电脑知识与技术,2007(12):528-529.
[3]王微微,夏秀峰,李晓明.一种基于用户行为的兴趣度模型[J].计算机工程与应用,2012,48(8):148-151.
[4]李建廷,郭晔,汤志军.基于用户浏览行为分析的用户兴趣度计算[J].计算机工程与设计,2012,33(3):968-972.
[5]郑晓宇.基于用户兴趣挖掘的个性化信息推送服务[J].情报探索,2011,168:33-36.
[6]米雪,张宁.基于网页浏览的用户兴趣行为研究[J].电脑知识与技术,2010,6(34):9834-9836.
[7]陈永平.基于兴趣度的协作过滤技术研究[J].计算机技术与发展,2008(1):106-110.
[8]戎晓霞.基于BHO和协同技术的多级文语IE的实现[J].计算机工程,2004(2):42-44.
[9]赵银春.基于Web浏览内容和行为相结合的用户兴趣挖掘[J].计算机工程,2005(12):93-94.
用户浏览行为 篇4
引起HTTP-Get Flood攻击种类:
1) 页面刷新类攻击。频繁按F5键刷新网页会向服务器提交大量Get请求报文,导致HTTP服务器过载。这种攻击强度、攻击频率、持续时间长短因人而定。
2) 静态类型。这种攻击通过设定的程序自动执行,攻击参数可以设定。常有的攻击参数有目标IP地址、目标URL、攻击频率。
3) 动态类型。攻击者动态修改攻击参数,使攻击产生变化的效果。
1 相关研究
攻击者通过傀儡机或者多线程向目标Web发送大量的HTTP请求,这些请求可以随机生成,也可以通过拦截用户的正常请求序列后产生。从内容上看,攻击者对服务器的请求与合法用户的请求完全相同,基于数据包特征串检测很难发现到异常[1],而且特征串提取过程复杂,实时性不高。通过大量肉机向目标服务器发送海量分组的攻击并不是HTTP-Get Flood攻击的唯一手段,它可以通过低速的请求、动态变化的攻击参数隐藏自己,这样基于访问频率的检测[2]将无法可依。李敏提出用多分支的隐马尔科夫模型来分析Web页面访问行为[3],以区分正常数据和异常数据。这种检测方法对训练数据的纯洁度和数据量都要求很高,学习过程复杂,计算量十分庞大,况且数学估计本身就存在误差。通过分析Web服务器上的用户行为日志辨别异常[4]的方法缺乏主动性,不能从主干流量监控层面去实施。本文根据僵尸网络爆发的集中性,行为高度相似性等特点,提出了基于用户访问行为相似度鉴别异常的Web页面访问行为。
2 检测方法及其实现步骤
僵尸主机都是按照预定的程序运行,僵尸主机的行为在网络上的表现具有相似性,如果一组流量群体行为同步性以及聚类系数都在检测系统设定的阈值范围之内,且其目的服务器的可信度低,则认为此组流量是僵尸网络命令控制流量。无论是集中式还是分布式僵尸网络,同一僵尸网络中,僵尸主机之间具有相似的通信模式和行为特征,因此其网络流量具有较高的相似性,通过聚类技术搜索这种相似性,可以有效检测僵尸流量。僵尸网络控制发动的HTTP-Get Flood攻击时,攻击时间几乎吻合,访问Web页面的次序完全一致,持续的时间也高度相似。而用户对Web网页的访问行为在时空方面存在巨大差异,不同人访问Web页面的次序、点击Web网页的频率、在Web网页停留的时间都不相同。同一时间段内大量用户上述行为完全一致的情况很难发生,只能是僵尸主机操纵多台肉机进行群体攻击时肉机行为才能高度一致。正常人的反应时间一般都不超过0.1 s[5],当某个用户浏览行为切换得非常高时,也有可能是既定程序执行的操作。
2.1 HTTP-Get Flood攻击检测原理
Web网页的点击行为往往包含一个对主页的请求和若干个对网页内嵌对象的请求,用户点击产生的Get请求是对动态页面请求,动态的Web内容需要服务器执行脚本程序,也就是包含一次或多次的数据库查询,而内嵌的对象或静态页面是静态文件,由服务器直接响应的(动态页面的Get请求包的URL通常包含.asp,.jsp,.php,.asp,.net,.cgi等字符)。基于HTTP-Get Flood攻击就是对动态页面进行高频访问,让服务器应接不暇直至崩溃,而它对静态页面攻击几乎无效。动态页面Get请求包中的URL信息表示用户要浏览的资源地址,相邻两个动态Get请求间隔时间反应了用户在两个页面之间的切换时间。如图1所示,将动态页面Get请求包中的URL定义为不同的状态,以阿拉伯数字将每种状态进行编号,相同字符串的URL编号相同,相邻两个动态页面Get包的间隔时间T为跳转时间,公式P=(A-B)/T反应Web页面切换率(A与B为相邻状态)。
考虑到人的反应速度很少能达到0.1 s,T精确到小数点后一位。认为那些跳转时间小于0.1 s的切换是机器执行的动作,统一按0.1 s计算。不同用户流量页面的路径或许相同,但浏览停留时间却千差万别,即使一些人的浏览路径、转换时间高度相似,但同一时刻内多个用户浏览行为相似的概率是很小的,一定时间内P值相同的概率非常低。同一指令下被控肉机浏览页面的路径肯定是一样的,假设肉机同时收到攻击命令,排除线路拥塞等情况,攻击报文到达Web服务器的时间应该十分接近,时间偏差很少能超过0.1 s。这样受僵尸网络控制的肉机在同一时刻内的切换率P相等的概率非常之高。为了区别不同时刻的切换率,将P乘以第2个状态到来的时间S(精确到秒),这样公式Q=(A-B)×S/T就能唯一地表示S时刻内某个用户浏览行为,利用上述公式计算得到的Q值定义为行为活动值。即使多个用户同一时间段对Web服务器的访问路径相同,但浏览的时间不一定相同,而且切换时刻也不都相同,通过上述公式计算得到的行为活动值相等的概率非常低,而HTTP-Get Flood发送时浏览路径高度一致,切换时间几乎一样,发动攻击的时刻也会相同,通过上述公式计算的行为活动值相等的概率很高。某一时刻内多个行为活动值重复次数非常多,很可能Web服务器受到了HTTP-Get Flood 攻击。图2所示为某台受攻击Web服务器日志数据计算后时刻6内Q值分布情况,从图可知,时刻6内最黑点反应浏览行为高度重叠。
一段时间H内行为活动值Q的个数N反应这一时刻内切换行为总数。时间粒度H中去除重复Q值后剩下的个数记为M, K=N-M表示行为活动值相互重叠的个数。公式L=k/N反应时间粒度H内的重复率,这里将L定义为行为相似度,当行为相似度超过一定阈值时,认为此时刻内的浏览行为高度一致,疑似遭受到DDOS攻击。Web服务器的承受能力千差万别,很难有一个统一的标准。服务器在时间粒度内最多允许的访问量记为S,服务器最高允许同时访问的量为P,阈值一般要大于P/S,这样可以保证在某个时刻击瘫服务器。
2.2 HTTP-Get Flood行为相似度检测算法实现步骤
算法实现流程如图3所示。
1) 建立足够槽位的哈希表,每一个哈希节点表示一个Web服务器,以Web服务器的IP地址作为哈希节点键值。
2) 截获80,8080,43等HTTP业务数据的Get包,将动态页面Get数据包按目的IP地址映射到相应的哈希节点中,提取包中的URL信息、截获时间和源IP地址。利用基于状态机的变种AC算法[6]为URL编号,此编号即为状态号,按IP地址分类,将截获的信息存放到map结构体中。用公式Q=(A-B)×S/T计算源IP的行为活动值(如果IP中没有存放状态和时间信息,将新截获的信息存放其中),为Q值打上时刻标签。
3) 将同一个哈希节点中一定时间间隔内的N个Q值映射到hash_map计算频度。相同Q值被映射到同一个节点,这样hash_map的节点个数就是去掉重复后的Q值个数,记为M。用公式L=(N-M)/N计算行为相似度,超过阈值(V)判定这个时刻遭受攻击。
4) 将检测到的异常结果写入日志。
3 实验结果分析
3.1 实验数据选取
下载公开的Trace[7],该数据集包含了大约一个小时匿名的HTTP-Get Flood攻击数据。该攻击是控制多台肉机变换的请求Web服务器中的多个资源。以5 s为一个时间粒度检测行为相似度,根据经验阈值设定为40%。
3.2 实验结果
如图4所示为截取自Get Flood攻击频繁时期40 s内的行为相似度分布情况,从图中可知攻击不是持续不断的,而是一波波进行。图中横黑线为阈值线,黑点表示浏览行为相似度,超过阈值的点判断为疑似DDOS攻击。基于用户浏览行为相似性判断异常可以检测出那些攻击参数不断变化的HTTP-Get Flood。单位时间内某个IP多次访问同一个URL界定异常是不足的,因为僵尸主机可以通过控制多台主机同时对Web服务器发动短时攻击,而且控制指令指定的URL信息可以不断变化,统计得到某个IP访问同一个URL的次数或许达不到阈值。虽然单个IP浏览行为可以不断变化,但受同一指令控制的肉机在某个时刻内的浏览行为几乎是完全一致的,利用行为相似性分析HTTP-Get Flood 攻击更准确。图4高于阈值线的行为相似度点离散分布就是本算法对DDOS攻击的分布式特性免疫的伪证,表明本算法可以在分布式HTTP-Get Flood攻击中很好地揭示其发生的时间段。
4 总结
针对HTTP-Get Flood攻击检测,本文使用用户浏览行为相似度描述用户访问Web页面的特征。可以检测出改变参数的攻击,相比利用隐马尔科夫建模预测用户浏览行为,此方法更加简单,实时性更高。后期将重点研究如何追查攻击源和僵尸控制主机信息,从源头扼住异常行为。
参考文献
[1]WANG H N,ZHANG D L,SHIN K G.Detecting SYN flooding attacks[C]//Proc.the 21st Annual Joint Conf.IEEE Computer and Communi-cations Societies.[S.l.]:IEEE Press,2002:1530-1539.
[2]XIE Y,YU S Z.Anomaly detection based on Web users,browsing behav-iors[J].Journal of Software,2007,18(4):967-977.
[3] LI Ming.HTTP-Get flood attack detection method based on user access behavior[J].Journal of BeiHua University,2011,12(1):120-122.
[4]LI Ming.The Http-flood detection methods based on user browsing be-havior[J].Compter Safer,2010(2):61-63.
[5] YU Ge,YU Xiaocong,DONG Xiaomei,et al.Rapid detection technique for P2P-base botnets[J].Journal of Northeastern University,2010,31(12):1709-1712.
[6] CHENG Qilian,DOU Rongbin,LI Hongming,et al. On the speed barrier of human beings--firstly uncover the recipe of Jamaican athlete usain bolt,the creator of sprint world’s record[J].Journal of Jiangxi Normal University,2009,33(3):376-378.
用户浏览轨迹算法分析与应用 篇5
随着计算机网络的迅速发展, 越来越多的企业和机构都通过互联网树立形象、宣传产品。但在竞争日益激烈的网络经济中, 只有赢得用户, 才能最终赢得竞争的优势。作为一个企业网站的管理员或拥有者, 应该知道访问网站的用户都需要些什么, 知道网站哪些内容最为用户所喜爱, 哪些不受用户关注, 什么样的改动带来了显著的用户满意度提高, 什么样的改动反而丢失了用户等等。而基于WEB数据挖掘技术正能满足这些需求。
基于WEB数据挖掘, 就是利用数据挖掘技术自动地从网络文档以及服务中发现和抽取信息的过程。根据挖掘的对象不同可分为三大类:基于WEB内容的挖掘、基于WEB结构的挖掘以及基于WEB使用的挖掘。
本文所提出的算法, 属于基于WEB使用挖掘的范畴, 对包含用户访问网站时的点击行为的日志文件进行挖掘和归纳, 从而了解用户的行为数据所具有的意义。笔者认为, 传统上对用户点击行为的分析, 均从宏观的角度出发, 着眼于群体用户的点击行为分析, 往往不太重视对个体用户行为进行有效的分析, 并忽略了用户行为的时间特性。有鉴于此, 本文将着眼于个体用户的点击行为, 挖掘其点击序列, 并从多个序列中总结出共性, 分析出隐藏在点击行为后的浏览习惯, 并将分析结果用于网页内容的调整与自动推送。
2. 分析用户浏览轨迹前的准备
用户在进入网站浏览的过程中, 对网页上各种信息的点击按时间先后顺序形成点击序列, 称之为用户浏览轨迹。通过对用户浏览轨迹的分析, 我们可以发现用户浏览页面和网上行为之间的潜在关系。例如, 在多个确定的浏览轨迹中发现存在这样的一个共同规律:用户在访问某一户外运动产品 (例如登山包) 网页后, 有27%的用户接下来访问户外帐篷这一产品的页面, 有21%的用户访问望眼镜这一产品页面, 12%的用户访问了军刀这一产品页面, 另有40%的用户选择浏览其他网页或是离开该网站。根据这一发现, 可以重组网站内容, 将用户潜在的最有可能浏览的网页内容进行实时推送。
在进行具体分析前, 需要先考虑以下几个方面的问题:
2.1 用户识别
由于用户轨迹分析是建立在单用户粒度上的分析和统计, 所以如何识别单个用户的身份就显得尤为重要。由于代理服务器、防火墙、Internet服务提供商采用动态分配IP地址等问题, 使得用户识别变得复杂。目前识别用户常用的方法有:IP地址、嵌入Session ID、Cookies和注册等方法。由于本文研究对象是用户某一次浏览过程中的点击行为, 对于某一访问用户, 只需分析其从进入网站到离开网站之间的点击行为, 无论该用户是否注册, 其点击数据均具有研究价值, 故除已注册用户外, 需通过启发规则来识别用户, 即不同的IP地址代表不同的用户。
2.2 数据准备
实验环境下的用户行为和真实网络环境下的用户行为是有所差异的。为了研究真实网络用户的点击行为, 笔者在某一商品网站中加入日志采集功能, 收集到一段时间内的真实网络环境下的用户点击日志。日志表中包含用户名、用户IP、点击时间以及商品ID共计4个信息项。其中, 用户名是用户注册后, 系统区别用户的唯一标识, 通过它可以确保是对同一用户的日志信息进行聚集, 实现对同一个用户点击行为的分析研究;用户IP是系统区别非注册用户的身份标示, 作用与用户名相同;点击时间是用户发生点击操作时的时间, 是构成点击序列的重要依据, 通过对该网站历史访问量的分析, 决定将其精度定为秒;商品ID是商品的标示指用户点击某一页面时, 该页面所呈现。在用户身份确定的前提下, 商品ID按点击时间的排序就为该用户的浏览轨迹。
3. 用户浏览轨迹分析及应用
3.1 模型分析
通过数理模型的分析, 从用户点击日志表的大量数据中有针对性的获取以下信息:如在点击日志表的某个时间段内, 浏览某件商品的每一位用户接下来最喜欢浏览的商品是哪些, 这些商品在“接下来浏览”的行为中被浏览的次数是多少, 并对其浏览次数进行统计。其过程如图1所示:
统计数据可用于预测出最可能被用户浏览的商品信息, 并在用户浏览相应商品页面时, 将相应产品信息推送给该用户。
3.2 算法实现
以用户访问商品ID编号为17的页面为例, 描述该算法的详细实现过程。
(1) 当访问某件商品页面时, 由页面链接参数值得到该商品的ID值。以该ID值为关键字, 查询用户点击日志表内某段时间内所有关于该商品的访问记录, 并将查询到的所有记录存放到一个数组中。
(2) 通过判断点击记录中, 同一用户的点击时间间隔, 可以划分出用户的一次完整浏览过程, 即用户从进入网站到离开网站的过程。在用户点击日志表中查询该ID商品一段时间内的访问记录, 结果如表1所示:
(3) 将该数组的记录数作为循环次数, 进入循环。每次循环取出数组中一条记录, 记录中包括用户名称、用户IP、商品ID和访问时间。以前3个值为关键字, 以最后一个值的访问时间为范围限定, 从点击日志表中查询到在这条记录之后, 同一位用户浏览的下一个商品的访问行为的详细信息, 并记录在另外3个一维数组中, 3个数组分别记录用户名或IP、商品ID和访问时间。在查询操作中, 分为两种情况, 有用户名和用户名为空, 如果有用户名, 则以用户名作为查询关键字之一, 若无用户名, 则以IP作为查询关键字, 关键是要保证每次分析的是同一位用户的访问行为。
(4) 循环结束后, 3个一维数组中, 记录了每一位用户在离开当前访问的商品页面后, 访问的下一个商品的记录信息。此时得到如表2所示数据:
(5) 另外新定义一个二维数组, 以上一步的有效记录条数作为循环的次数, 通过嵌套循环的形式, 统计出每个商品被访问的记录, 将对应的商品ID和被访问次数存放在这个二维数组中。通过冒泡排序, 将二维数组中的元素, 按访问数由高至低排序。此时得到点击次数排列表。通过该表, 我们可以得到这样一个结论, 在一段时期内, 访问该网站的用户, 在浏览了id为17的商品后, 接下来最喜欢访问的产品id是28、27、11等等。由此, 对于访问商品id编号为17的页面的用户, 我们可以在他们访问页面时, 将表中排在前几位的商品信息同时推送到该页面内, 这样就能达到改善用户体验的目的。
4. 结束语
网络用户行为蕴含大量有价值的信息, 分析这些信息可以帮助了解客户的行为从而改进网站的结构。本文讨论了一种基于web使用挖掘技术的算法来了解用户的兴趣和爱好, 分析用户的浏览模式, 并根据用户的当前访问需要, 自动实时地为用户提供推荐页面。由于推送内容均是根据算法自动得出, 在实际的浏览中, 这些推送的内容对用户的吸引度如何?换而言之, 推送内容在用户的实际浏览点击命中率又是多少?如何根据这些命中率来改进该算法, 从而提高推送准确度, 将是以后的研究方向。
参考文献
[1]岑荣伟, 刘奕群, 张敏, 茹立云, 马少平.网络检索用户行为可靠性分析[J], 软件学报, 2010, (21)
[2]董富强.网络用户行为分析研究及其应用[D]西安电子科技大学, 2005
[3]刘立军, 周军, 梅红岩.Web使用挖掘的数据预处理[J]计算机科学, 2007, (05)
[4]王斓樾.用户行为分析在搜索引擎中的应用[D]沈阳工业大学, 2007
用户浏览行为 篇6
自搜狗独立运营后, 业绩开始快速增长。搜狗首席执行官王小川日前表示, 搜狗流量强劲增长得益于“输入法——浏览器——搜索”的三级火箭战略模式得到市场的验证。
数据显示, 搜狗浏览器月度覆盖率达到23.4%, 覆盖用户9360万人, 目前位列国内浏览器市场第三, 市场份额继续上升。搜狐CFO余楚媛曾公开表示, 搜狗搜索80%的流量来自搜狗浏览器, 入口优势日益凸显。
双核保证无缝切换
目前, 市场上双核和多核的浏览器产品比较多, 使用多核心浏览器的好处就是可以把每个核心扬长避短, 给用户最好的速度体验, 同时避开兼容性的缺点。
搜狗桌面事业部总经理杨洪涛表示, 判断双核浏览器的指标应该包括三个方面。第一, 必须做到智能切换。搜狗在对页面本身的兼容性分析时采用了自动化技术和人工相结合的方式, 来保证用户可以享受到无缝切换。第二, 浏览器的内核, 这也是体现浏览器企业技术水平的重要指标。第三, 外围的兼容性, 在这点上搜狗的能力更强、更突出。
具体来说, 由于一些应用开发者使用chrome的平台进行开发, 因此也就面临着无法在IE浏览器上得到兼容。搜狗浏览器具有webkit和Trident两个内核, 这两个内核对于浏览器开放平台上的应用是同时兼容的, 可以无缝切换。也就是说, 搜狗浏览器可以让IE的内核支持chrome的应用。
目前多核技术的难度并不是很大, 各个厂商的差异在于掌握程度。对于四核等多核技术, 杨洪涛表示, 做更多的内核意义已经不大。
网页更新提醒扩大覆盖面
网页更新提醒功能也是搜狗浏览器的一大特色。杨洪涛表示, 这个功能比较复杂, 需要对大量的网站做预先的分析。主要分析用户的使用习惯, 以及如何将非结构化、没有规律的页面变得结构化, 并将更新提供给用户。
事实上, 搜狗要对每一个页面进行处理, 并不能因为两个网页功能相似而忽略其一。目前, 搜狗支持的网站数量在万的量级以上, 并且这一数字将持续上升。不过, 用户并不会对这一增长有明确的体验。因为支持网站的升级是不需要升级版本, 而是靠后台云端的处理。
用户浏览行为 篇7
在Internet电子商务网站中,客户在网站上的每一次点击,作为网站后台的Web服务器都会将这个动作如实地记录在日志中,这为分析用户访问频率、用户访问路径、用户访问目的等信息提供了数据来源。通过分析Web浏览日志,发现用户的访问模式,提取用户的访问兴趣,将得到的各种用户信息进行整合研究,从而生成有效的决策信息,即可为用户提供个性化推荐,同时还能进一步优化网站的拓扑结构。当前数据挖掘技术与Web日志分析已经实现了优质紧密结合。其中,Chen等人在1996年提出了可以将数据挖掘技术应用到Web领域中的思想,并且探讨基于Web事务的Web日志挖掘过程,用以发现用户的访问模式,由此又定义了最向前引用算法MF的概念。Zaiane等人则将Web服务器日志保存为数据立方体(Data Cube),然后对数据立方体进行数据挖掘和联机分析处理(OLAP)。而实现这些算法的前提是从Web日志中探究会话识别,并分离出用户会话,进而提炼出用户访问路径。针对用户普遍使用的多页面浏览器产生树型结构的浏览路径,Web日志中将会呈现非时序的日志记录。基于此,本文提出了一种新的自上而下的用户访问路径收集算法,运行得出用户在一次会话中可能访问的复数目的页面,由此得出全局目的页面访问频度矩阵,该矩阵的数据将可作为实现基于网络结构的推荐系统的核心数据。
1 基于多页面浏览模式的用户访问路径的收集算法
用户访问路径树,指用户通过多页面浏览器访问模式浏览网页形成的网页访问路径。其中定义用户浏览网页的记录集,属性包括会话编号、用户编号、用户访问资源、用户引用页面、以及其他相关信息。具体来说,集合中就是经过数据预处理过程的会话识别后得到的结果记录,其他信息则是根据需要添加的不同信息,比如页面大小,访问时间等等。此外,还需定义树的节点,内容包括用户编号、用户访问资源、孩子集合等。
在对Web日志数据进行去除冗余信息、用户识别、会话识别的预处理后,算法将自上而下地搜索用户会话记录,重点关注了记录中的用户访问资源、引用页面和用户信息等属性。该主题算法的基本思想为:首先从单个会话记录的顶部发起搜索,通常第一条记录为用户访问的初始页面或者是从其他网站跳转过来的页面,此页面就会作为新建用户浏览树的根节点。继续向下展开记录搜索过程,对记录进行分析,考察记录的引用页面,是否为先前已建立的树的节点。如果是,则加入树模型中;如果不是,即以此记录的访问页面为根节点,再建一棵用户浏览路径树。直到将此会话记录全部搜索完毕,算法执行结束。
以图1所示的用户浏览情况为例算法的识别过程如下。
如图1所示,首先搜索第一条记录,把A节点作为用户浏览树的根节点。继续向下搜索记录,搜索到B页面所对应的记录。考察此记录的引用页面,引用页面为A页面,将B页面作为A页面的子节点,继续向下搜索。此后将C页面和D页面也加入到A页面所对应的节点下。
在子节点搜索父节点的过程中,此算法遵从就近搜索原则。具体过程如图2所示。
由图2可知,在搜索到访问E页面的记录时,E记录是从最后添加的D节点开始搜索的,然后搜索C节点,在搜索B节点时发现与记录的引用页面相符合,所以将E页面添加到B的孩子节点中去。在用户有多棵用户浏览树的情况下,搜索情况也与上面相似,先搜索最近生成的用户浏览树。在搜索会话记录的过程中可能会出现重复数据,即在不同的时间访问了相同的资源并且引用页面也相同,可能是用户使用同一种方式,即点击了同一超链接反复访问了同一资源,遇到这样的情况需要合并记录。这一做法的处理实现过程如图3所示。
解析图3可知,如果在搜索会话记录过程中,搜索到了第2个关于D页面的记录,向上搜索父节点的过程中遇到了一个与自己相同的页面,需考察此页面的父节点,如果与自身的引用页面相同则合并记录。
综上可得,整个算法实现流程如图4所示。
实验数据是某商业网站日志中分离出来的711个用户,使用一般用户访问路径识别算法,最终获得了1 352个路径,其中的1 076个路径均属长度为2的短路径。而使用本文算法则总共得出839棵用户访问路径树,此时可标识为2个节点的树却仅有517棵。这一结果说明本算法在收集用户访问路径上,把现有算法中并未收集到的大量短的访问路径均已成功合并到了用户访问路径树上,从而减少了短路径的生成数目。
2 基于用户多页面浏览模式的网络结构推荐系统的实现
2.1 推荐算法实现
基于网络结构的推荐算法并不考虑用户和对象的内容特征,而只是将其视作图结构中的一个个单元节点,算法所利用的信息是用户和对象之间的选择关系。在基于网络结构的推荐系统中通常会构建一个二部分网络,其中用户和对象分别构成2个节点集。定义用户集合U,表示为:U={u1,u2,u3,…,um}。定义对象集合C,表示为:C={c1,c2,c3,…,cn}。通过用户选择对象构成一个m×n的邻接矩阵A={aij}m×n。在该矩阵中如果用户j选择了对象i,则元素aij的值为1,否则该元素的值为0。算法的目的就是对于任意的用户k,对其还未经历选择的所有对象可依照k的浏览行为、兴趣爱好等方面的因素进行打分,预测k关于这些对象的喜爱程度,并将其提供有效排序,最后再将排名前若干位的对象推荐给用户k。
研究假设用户i选择了若干对象,这里可以看成用户将可调度精力或者金钱平均施付于这若干个对象上。在此,给出演示实例如图5所示。
由图5可见,X、Y、Z分别代表3个用户,a、b、c、d则为可供其选择的对象。诸如,用户X选择了对象a、b。在没有预设加权的情况下,说明用户X将自己的资源平均分配到了所选择的2个对象上。综合其他2位用户,最终分配结果可如图6所示。
综上结果可知,此次分配之后每个对象都得到了用户一定量的资源,这取决于选择资源的用户个数以及用户选择的对象个数。研究过程推理得到对象所产生的资源量可以表述为:
式中,aic表示用户i所选择的对象C。并且:
同时,f(xi)表示用户X的资源数。k(xi)代表用户X的度,具体即指用户X选择的商品数量。经过一次资源分配后,每个对象都拥有了各自的资源。研究中,再一次设定对象对用户进行一次反向的资源分配,分配结果如图7所示。
此次分配的目的在于使对象实际拥有的资源需按照用户与对象的选择关系进行再分配。由此即可获知用户一方的资源拥有量。这个过程原理的数学表示为:
将其中的f(yc)进行替换后,由上式可得下式:
上式可以写成:
提出wij得到:
式中,wij就是对象j愿意分配给对象i的资源配额。k(xj)表示对象j的度,意指该对象已由多少用户定制选择,k(yc)表示选择对象c的用户一共选择了多少对象。
如图1所示,呈现了用户和对象之间的选择关系,假设每个用户可供分配的资源数为1。利用式(3),计算得出下面的矩阵:
矩阵中的每个元素代表行元素对象愿意分配给列元素对象的资源量。这样就可得出对象与对象之间的资源配给关系。对于一个初始用户,将其自主选择的对象的初始资源设为1,其余为0。这样就得到一个n维向量f={f1,f2,…,fn}。记这个向量为f,通过资源分配后,最终的资源向量为:
此后,即对用户还未确定选择的对象,按照向量F中对应元素的大小进行排序,值越大表明用户可能对此有更多偏好,因为这些对象在那些已经被选择过的对象当中对其分配的资源的分量最重。最后将排名靠前的若干位对象推荐给目标用户。下面给出进一步解析说明。对于用户X来说,该用户选择了对象a和b,而并未选择对象c和d,在对未选择对象c和d预测评分时参照对象间资源配给矩阵得到对象a和b所在行分别给予对象c和d的资源分配量并将其求和。最终推得对象c的预测评分为5/18,对象d的预测评分为1/6,相较于对象d,对象c可能更受用户X欢迎。
2.2 推荐系统实现
上述用户多页面浏览模式下用户在一次会话中可能浏览多个目的页面。树形访问路径的叶子节点即为用户访问的目的页面。
定义用户的浏览目的页面集合User Ed P(user,uri[]),user表示用户,uri[]为此用户访问的浏览目的页面集合。定义交叉页面访问频度cp Freq(i,j),其中i,j是网页编号,cp Freq代表的是既访问量页面i又访问了页面j的用户频度。
上面交叉页面访问频度的计算方式为:
式中,∏符号为关系代数中投影计算符。特别地,下标L代指判断条件:i页面和j页面同时存在于用户的浏览目的页面集中。为此,构建矩阵如下:
对于矩阵的第i行j列元素,既访问了i页面又访问了j页面的用户访问频度。累加第k行或者k列,得出的访问了2个页面的用户数统计结果,其中这2个页面分别是k页面和所有目的页面集合。
在基于网络结构的推荐算法中,考察用户访问k页面时,系统对应搜索矩阵中的第k行(列),对页面访问频度进行排序,找到数值较大的几位,去掉数值最高的一位。因为其中cp Freq(k,k)必定为此行(列)中数值最大的项。选取上述排名前几位的交叉页面访问频度,并代入如下计算:
式中,cp Gra(k,i)为交叉页面用户访问比重,表征在访问了k页面的用户中还有多少比例人群访问了i页面。实验使用实验数据日志中的6个页面,在数据库中页面编号和对应的Uri资源如表1所示。
以表1作为数据基础设计构建的交叉页面访问频度矩阵如下:
交叉页面用户访问比重矩阵为下:
从数据上可以看出浏览过编号为4 475页面的用户中部分人还浏览了编号为278的页面,这2个页面的交叉页面用户访问比重为0.062,说明这2个页面可能具有一定的关联。对于浏览了编号为278页面的用户根据表1的数据可以证得6 759号、4 475号和2 612号页面的交叉页面用户访问比重分别为0.052、0.010和0.022。如果推荐系统给用户推荐候选页面为2个的情况下,根据计算得出交叉页面用户访问比重的结果,6 759和2 612的推荐比重均高于其他页面,也就是推荐6 759和2 612号页面要更为合适。
3 结束语
针对用户普遍使用的多页面浏览器产生树型结构的浏览路径,本文提出了一种新的自上而下的用户访问路径收集算法。此算法能够收集到的用户访问路径树,合并短路径到用户浏览树上,减少了短路径的综合实际生成。由此得出全局用户浏览目的页面访问频度矩阵,此矩阵的内容作为实现基于网络结构的推荐系统的核心数据,实验表明建立交叉页面访问频度矩阵在实现基于网络结构的推荐上具有可行性。
摘要:针对用户普遍使用的多页面浏览器产生树型结构的浏览路径,Web日志中将会呈现非时序的日志记录。本文提出了一种新的自上而下的用户访问路径收集算法,进而得出的用户在一次会话中可能访问的复数目的页面,由此得出全局目的页面访问频度矩阵,此矩阵的数据作为实现基于网络结构的推荐系统的核心数据。