数据处理及模型建立
数据采集
根据所需要得到的结果和不同的挖掘任务,Web数据挖掘[5]可以分为三种类型:针对内容的Web挖掘,针对结构的Web挖掘,针对使用记录的Web挖掘。[6]在本文中,我们所重点研究的是:针对使用记录的Web挖掘。当用户访问VOD视频点播系统时,其所点击的页面等一系列操作都会记录在日志服务器中。我们对各类用户访问的页面进行分析,通过有序的数据来预测访问者对VOD站点的下一步访问行为,从而获得用户浏览站点时的点击流。我们可以用于挖掘的参考数据包括:Web用户的IP地址、参考页面、访问日期和时间及配置信息。一个用户会话描述了用户在登录Web后一段时间内浏览的网页序列,通常将这组网页称为一个访问[7]。
数据预处理
我们对VOD视频点播系统进行优化,归根结底是通过挖掘Web日志来实现的。用户访问模式的发现也必然依赖于VOD服务器产生的日志文件,因此,如何将日志中的有效信息进行合理筛选,是我们优化的关键。Web日志将各类用户的访问行为记录在册,其中涵盖大量有效与无效信息。这使得我们对Web访问日志的分析和挖掘必须经过一系列的数据准备工作和建模工作,其中一个重要步骤就是数据预处理,目的是将原始的日志文件和VOD页面的结构及内容结合起来,经过一系列的数据处理,转化为挖掘算法所需要的特定形式的数据格式。根据Web挖掘的要求,我们对Web访问日志进行过滤和转换,从中抽取有价值的数据。[8]未经筛选的用户点播日志如图2所示。数据预处理是Web挖掘的重要步骤之一,直接影响着挖掘的质量和正确性。凡是点播记录中字段为空的记录、重复无关的记录,都必须进行清理和删除。当用户点击影片时,由于网络延迟或者系统响应速度的问题,用户可能存在重复点击的情况,这样数据库中所记录下的多条重复记录并不能反映用户的实际点播情况。对于这样的记录,只需保留其中的一条,以确保构造正确的模型。
图2 未经筛选的VOD用户点播日志
数据预处理的相关程序节选如下:
……for(inti=1;i<Myds.Tables[0].Rows.Count;i++)
{if(Myds.Tables[0].Rows[i-1][6].ToString()
=Myds.Tables[0].Rows[i][6].ToString()&&Myds.Tables[0].Rows[i-
1][7].ToString()==
Myds.Tables[0].Rows[i][7].ToString())
{paraList[0]=newSqlParameter("@id",SqlDbType.Int);
paraList[0].Value=Myds.Tables[0].Rows[i][0];/
MySQLHelper.RunProc("DeleteList",paraList);
}}……
经过此步骤,我们从120多万条记录中筛选出记录约40万条。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。