基于网络日志的用户偏好判断方法

2017-12-07 16:05余小高余小鹏
中国信息技术教育 2017年21期

余小高 余小鹏

摘要:随着网络的广泛应用,网络用户规模越来越庞大,如何分析他们的偏好,进行有效的管理和引导,成为亟待解决的问题。利用网络日志对用户偏好进行分析,是一个行之有效的方法。本文首先定义了空间概念,给出了网络空间概念,并提出了改进的Tire树结构;然后结合Hadoop平台和改进的Tire树,给出了分布式网络空间的构建方法,对网络日志的存储进行构建;接着在网络空间的基础上设计了用户偏好分析方法的工作流程、步骤和伪代码,对网络日志进行分布式并行處理,得出用户的偏好;最后通过实验和实例分析得出,该方法提高了网络日志分析的效率和精确度,也验证了该方法对用户偏好的分析具有可行性和正确性。

关键词:网络日志;Tire+树;分布式并行处理;用户偏好

中图分类号:G434 文献标识码:A 论文编号:1674-2117(2017)21-0098-04

引言

随着信息技术的发展,网络的应用已经深入到人们生活的方方面面。同时,网络日志数据量显指数级增长,已无法估计其容量。通过网络日志分析,可以了解用户的偏好,对不同用户归类,进行有针对性的引导。[1]例如,分析校园网的网络日志,可以了解学生的上网行为[2],归纳出学生的偏好类型,对有良好偏好的学生予以赞扬,对有不良偏好的学生予以干预和引导,也可以根据学生的偏好,了解学生的特点,进行个性化教学。

由于网络日志的海量性,近年来许多文献采用Hadoop平台[3-7],利用其分布性特点提高数据的处理效率,但是还没有文献对数据结构进行优化,并与分布式存储和分布式并行计算结合,提高数据的处理效率和精确度。在网络日志分析方面,主要采用了一些改进的数据挖掘方法[8-11],如聚类、关联规则等,但是这些方法没有考虑日志的存储结构的优化,因为网络日志的分析,涉及到预处理、存储、计算等过程。在网络日志特征分析方面,涉及到用户上网时段、地域信息、兴趣等,但是没有综合考虑网络日志的整体特征,以及特征值的计算方法。在网络日志分析系统实现方面,没有根据网络日志特征、结构来优化,而是从大数据技术角度完成预处理、存储、分析与实现等。[6,11]

本文从网络日志结构和特征出发,利用Hadoop平台分布式存储技术,采用改进的Tire树实现网络日志的存储结构,在该存储结构的基础上,根据网络日志的特征,对其进行分布式并行处理,得出用户偏好。

相关定义

定义1:一个空间D是由t个区d组成,即D={d(t)|t=1,2,…,n}。

定义2:一个区d是由i个域sd组成,即d={sd(i)|i=1,2,…,n}。

定义3:一个域分为j层,每层由k个单元Unit组成,即sd={Unit(j,k)|j,k=1,2,…,n}。

定义4:单元特征集。每一个单元包含m个特征{UnitA(m)|m={1,2,…,n}。

定义5:网络空间D是由多个区{d(t)|t=1,2,…,n}组成,此时区是由域名及其对应的网站系统组成。域名和网站系统统称域,域名分为主域名、二级域名等{sd(i)|i=1,2,…,n},网站系统由主页、二级网页等单元{Unit(j,k)|j,k=1,2,…,n}组成。

网络空间构建方法

网络空间中各区的网络结构采用的是以Tire树为基础的改进树(称为Tire+树),该树的节点和树叶增加了特征值。根据URL第一个“/”之前的字符串,即域名地址,可以直接查到对应的树,然后根据第一个“/”后的字符串,逐步找到对应的层次,将网页插入到对应的位置,同一层次的网页根据插入的先后顺序排列。网络空间构建方法步骤如下。

①初始化。设WebLog为网络日志集合,WebLog={RecordLog(i)|i=1,2,…,n},RecordLog(i)为网络日志的第i条记录。

②数据清洗。读取第i条日志记录RecordLog(i),去掉以gif、jpg、png等文件类型的URL,同时也去掉无法识别的URL。

③分布式存储。网络日志数据量巨大,笔者仅下载了校园网一天形成的网络日志,就有26.6G左右,因此采用Hadoop平台技术,实现大数据分布式存储、并行运算。

④生成“Tire+树”形结构。处理完网络日志文件,生成了由区组成的网络空间,各个区是一个“Tire+树”形结构,对应的域是由一级、二级等域名组成,建立以主页为树根、各下一级网页为节点、末端网页为树叶的树形结构。每个网页中建立特征表,该特征表记录了不同访问者访问该网页的记录,并根据不同的访问者进行分类、排序。各区相互组成了以“Tire+树”为基础的森林结构。

笔者从用户角度,根据用户访问不同网页的次数、停留时间,判断用户的偏好,并根据用户的偏好,对用户进行分类。对拥有好的偏好用户进行鼓励,对拥有不良偏好的用户进行干预,促进用户群体健康向上发展。

用户偏好的判断方法

1.工作流程

笔者所使用的判断方法是基于Hadoop的“主-从”(master-slave )模式设计的,其工作流程如图1所示。

在整个工作过程中,主节点读取现有的网络日志。该模式只有一个主节点控制着多个从节点,主从之间没有依赖关系。图1说明了主节点和从节点之间的关系,图中“输入①”表示输入网络日志,然后进行数据清洗,再根据网络日志记录构建网络空间。“输入②”表示输入要查询样本的ID号,然后查询网络空间中该样本访问各网页的次数、停留时间等特征值,查询完毕返回网页序列,利用分类器对返回的结果进行归类,得出样本的偏好。

2.步骤

①建立域名库,域名库中记录每个域名的具体含义和内容,将网络空间中的URL与域名库进行匹配,可对网络空间不同用户访问的内容进行解释。endprint

②选择一个样本i并行分配给网络空间各个区,并行查找各区的网站树形结构。

③各区并行运行样本查找,将查到的网页连同其特征值一起返回,形成局部的查询结果数据集。

④各局部查询结果依据样本访问网页的次数从大到小对网页进行排序,形成序列CL1(i)(i=1,2,…,n)。同时,各局部查询结果依据样本驻留网页时间从大到小对网页进行排序,得到序列CL2(i)(i=1,2,…,n)。

⑤各区并行处理完畢,将序列CL1(i)和序列CL2(i)进行全局排序(可采用归并排序等方法),得到全局的序列GL1和序列GL2。

⑥选择一个新的样本,从步骤①开始循环执行,直到所有的样本运行完毕,最终形成了{用户,GL1,GL2}的向量空间。

⑦根据每一个样本的全局序列GL1和序列GL2,采用聚类等方法,生成j个不同的样本偏好集合P={p(j)|j=1,…,n},该集合的元素p(j)就是样本的偏好类别。

⑧对照域名库中域名的分类和内容,可以找出网页集合P中各网页的归类和内容。

实验

由9台计算机组建Hadoop集群,1台为主节点,其余8台为从节点。每台机器的CPU为i7 7700K,内存为DDR4 8G,硬盘为PM961 256G M.2。操作系统为Ubuntu14.04,并安装hadloop2.7.0等。根据学校网络中心提供一个整天的网络日志数据,数据量达到26.6G,共130665204173条记录,将这些数据进行拆分处理,得出计算不同数据量所需要的时间,如图2所示。

设T0是Hadoop环境下将清洗后的网络日志文件直接存入计算机集群中计算得出的用户偏好时间,T1是Hadoop环境下将清洗后的网络日志文件以网络空间结构形式存入计算机集群中计算得出的用户偏好时间,上述两种方法采用的计算方式一样。图2是T0与T1的对比,对比相同的数据,T1小于T0,数据量越大,二者的差距就越大。

为了得出文中提出的方法的精确度,笔者将学生的偏好分为两大类:学习类、娱乐类。在网络日志分析中,将那些热衷于网游、视频、音乐、交友、微博、社区、体育、小说、即时通信、图片、旅游等网络的学生归为娱乐类,将那些集中在学习、新闻等网络上的学生归为学习类。

笔者首先对上学期授课的85名本科生进行实际跟踪访谈,得出学习类的学生67名,娱乐类的学生18名,期末考试不及格的学生有12名,不及格的学生全部在娱乐类。然后将这85名学生在期末考试之前第三天的上网日志从网络中心导出,对他们的偏好进行分析。设A0是不采用网络空间结构计算得出的用户偏好的结果,设A1是采用网络空间结构计算得出的用户偏好的结果,上述两种方法采用相同的聚类算法。上表是问卷调查和实际跟踪的结果及A0和A1三者之间的对比,以实际跟踪的结果为参考,可以发现A1优于A0。由于A1在计算过程中,各区提交的结果是经过局部排序的,进行全局计算时,在局部排序基础上进行全局排序,然后采用聚类算法对用户偏好进行划分,因此效率和精确度都较高。

通过实验分析,笔者提出的以网络空间模式存储和处理网络日志,得出的用户偏好的效率和精确度优于不采用网络空间模式。

结束语

在Hadoop环境下,笔者构建了网络空间,建立了网络日志的存储和运行模式,在该模式的基础上,研究了基于网络日志的用户偏好判断方法。该方法能够根据用户上网情况,对用户偏好进行判断,指导有关管理者对用户进行引导,激励具有良好偏好的用户,干预不良偏好的用户。例如,通过对学生成绩的预测,对那些期末考试有可能不及格的学生提前进行干预,减少他们在网游、交友、聊天、视频等方面花费过多的时间,引导他们完成学业。

参考文献:

[1]Ladeker A, Pawar P, Raikar D, et al. Web Log based Analysis of Users Browsing Behavior[J].International Journal of Computer Applictions,2015,115(11):5-8.

[2]杨丕仁.基于Hadoop下利用Hive进行网络日志存储和分析[J].电子技术与软件工程,2017(2):163-165.

[3]刘立坤.基于Hadoop平台的Web日志聚类分析算法研究[D].西安:西北大学,2016.

[4]周秋彤.实时分布式Web日志分析系统的设计与实现[D].成都:电子科技大学,2015.

[5]黄杰.基于用户行为的Web日志聚类研究与应用[D].重庆:重庆大学,2015.

[6]覃应接.网络日志管理与分析技术研究与实现[D].北京:北京交通大学.2015.

[7]张艳华,张仰森,马红霞.一种网络日志属性挖掘与分析方法[J].计算机应用研究,2017,33(5):1410-1414.

[8]姚俊杰.WEB日志数据挖掘在MOODLE中的研究与应用[D].上海:上海交通大学,2015.

[9]余小高,余小鹏.一种基于角相似性的k-最近邻搜索算法[J].计算机应用研究,2009,26(9):3296-3299.

[10]余小高,余小鹏.基于距离和密度的无监督聚类算法的研究[J].计算机应用与软件,2010,27(7):122-125,168.

[11]余小高.电子商务智能推荐系统研究[M].武汉:湖北人民出版社,2012:52-118.

作者简介:余小高,湖北经济学院教授,博士,主要研究方向为大数据、商务智能等。余小鹏,副教授,博士,从事信息系统、大数据技术等研究。

基金项目:湖北省教育科学规划课题(编号:2016GA049) 资助。endprint