网页序列分析系统课程设计.doc
《网页序列分析系统课程设计.doc》由会员分享,可在线阅读,更多相关《网页序列分析系统课程设计.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流网页序列分析系统课程设计.精品文档.目录第一章 绪论1第二章 数据基本分析22.1数据说明22.2质量分析22.3 基本描述分析2第三章 数据预处理43.1 数据处理过程43.2 数据预处理方法43.3 数据预处理结果6第四章 数据模型构建84.1 数据流的构建8第五章 模型结果分析125.1结果的分析处理125.2 结果合理性分析13第六章 应用系统设计166.1模型接口166.2人机接口196.3软件测试24结论30参考文献31结束语32第一章 绪论由于网站的结构设计,对特定用户而言信息获取的代价与所经过的浏览路径长度成正比,这些位于路径
2、中间的不必要的文档就无疑增加了用户获取信息的代价。本文利用Clementine数据挖掘的方法和技术对用户所访问的页面序列进行挖掘,构建网页推荐的模型,实现对当前站点排序方式的优化,从而最大限度地优化用户访问体验,提高当前站点信息获取的整体效率。关键词 网页推荐;Clememtine数据挖掘;访问序列传统的Web网站以系统自身为中心,为了容纳大量的信息,以图结构组织网站,页面之间存在着比较复杂的层次关系。这些预先设计好的浏览路径(网站的结构)严格按照设计者编辑好的层次返回页面,因此,为了获取特定的信息,从同一页面出发的所有用户都不得不重复地经过很多与自己毫无关系的、不希望看到的中间链接页面,使得
3、用户为了获取少量的信息付出较大的代价。如果在确保网页内容的前提下,实现网站物理结构的调整和再组织,就可以避免混乱。站点路径优化实际上就是站点管理者优化其站点结构,它的出现就是为了提高用户的访问效率以及用户对站点的忠诚度。第二章 数据基本分析2.1数据说明本数据来自网络信息服务(IIS)网站和1999年9月28日全天日志记录,每行连续数据表示单个用户24小时内浏览网页的记录,连续数据中的数字表示用户对相应网页的浏览请求,该访问请求不会被记录成详细的记录,即具体的网址,而只是单单记录了网页类型。这些网页类型分别是 frontpage, news, tech, local, opinion, on-
4、air, misc, weather, health, living, business, sports, summary, bbs (bulletin board service), travel, msn-news, and msn-sports。通过超高速缓冲器(寄存器)每个网页的服务请求不会被记录到服务日志,因此,它不会体现在数据中。2.2质量分析此次分析的数据总共有989818,平均每个用户点击网页的次数是5.7次,每个不同类型的网页有10到5000个不同的URL(网页地址)。从数据的质量上看,这是一个较大的数据集,数据的量足够大,可以用于数据的挖掘分析,且数据来源于Internet
5、 Information Server (IIS),有足够可信度。用户平均点击网页的数据也有5.7次,适合用于分析点击网页序列,每种类型的网页也有足够多的不同网址,符合客观要求。因此从数据质量上看,所选取的数据有分析的必要。2.3 基本描述分析 截取部分数据如下:1 1 2 3 2 2 4 2 2 2 3 3 5 1 6 1 1 6 6 7 7 7 6 6 8 8 8 8 6 9 4 4 4 10 3 10 5 10 4 4 4 1 1 1 11 1 1 1 12 12 1 1 每一行代表一个用户所点击的网页,此次选取的数据之中一共有17个不同类型的网页,分别是:frontpage news
6、tech local opinion on-air misc weather msn-news health living business msn-sports sports summary bbs travel为了方便处理,将以上各个网页进行编号,分别为1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17。一第三行数据为例对单个用户的数据进行说明。用户3第一次点击3号网页,第二次点击2号网页,第三次点击2号网页,第四次点击4号网页等一次类推下去。每一行都是一个用户的记录第三章 数据预处理3.1 数据处理过程此次任务是设计基于网页点击次序来推送下一次可能点击的网
7、页。选取的方法是Clementine 的序列关联,所以要将数据处理成Clementine可读取的格式,并且要删减不必要的数据,改写数据的格式,这样才能达到分析处理的要求。结合提供的数据具体分析:每行数据是一个用户的信息记录,表示的含义是第n号用户点击了哪个网页,是第几次点击的。举出部分数据样例如下:1 1 2 3 2 2 4 2 2 2 3 3 5 1 6 1 1 6 6 7 7 7 6 6 8 8 8 8 6 9 4 4 4 10 3 10 5 10 4 4 4 1 1 1 11 1 1 1 12 12 1 1因为此次任务是进行序列关联分析,所以用户只进行了一次点击情况的记录可以直接删除,比
8、如样例中2,4,5,6,8号用户。又因为最终要进行的操作是推送下一个可能点击的网页,如果用户只是在不断的点击同一个网页,这样的记录也无法分析可推送的网页,故也要剔去,如样例中1号用户。还有一种情况就是在多次点击过程中有重复点击的网页,这样的情况只需选取一次即可,因为我们所关系的是网页点击的次序而不是次数,现对样例中9号用户的数据进行分析,用户9第一次点击6号网页,第二次点击7号网页,第三次点击6号网页,第四次点击8号网页。根据以上的要求,可将数据处理成三列,分别表示用户号,用户点击的网页号,此次点击的次序号。将处理好的数据保存在文件中等待处理即可。3.2 数据预处理方法根据数据处理过程,决定运
9、用microsoft visual c+软件,进行编程处理,程序分析过程如下:1.先取数据文本中一行数据赋值给数组msn2.将msn数组按照空格分隔符分割,并将分割后数据转换为整型,赋值给msn1数组。3.对msn1数组中数据进行前后比较,如若相等,则将前一个赋值为04.将数组msn1中数据进行判断,大于0,则将数据赋值给数组msn2。5.将数组msn2中数据个数大于1的,按形式为三列,分别是用户号,用户点击的网页号,点击网页的次序号的格式写入e.txt文本文件。6.具体代码分析如下:#include #include #include memory.h#include stdlib.husi
10、ng namespace std;void main() cout正在处理,请稍等.; /void quchu(); int i=0,count=0; char msn100000;/保存字符型数据数组 int msn1100000;/保存一行int型数据数组 int msn210000;/保存无重复数据数组 fstream out; ofstream in;/定义文本输入输出流out.open(msnbc990928.seq,ios:in);/打开文本数据in.open(e.txt,ios:trunc); /ios:trunc表示在打开文件前将文件清空,由于是写入,文件不存在则创建 whil
11、e(!out.eof() out.getline(msn,100000,n);/getline(char *,int,char) 表示该行字符达到100个或遇到换行就结束 const char * split= ; /将数据变为int型 char * p; i=0; p=strtok(msn,split); while(p!=NULL) msn1i=atoi(p); /将截取数字转换为整型,赋值给数组 p=strtok(NULL,split); i+; int ii=i; int a=0; for(i=0;i0)/将符合条件的赋值给数组 msn2a=msn1i; a+; int aa=a;/保
12、存一行数字个数 if(aa1)/将一行的个数大于1的按要求写入文件 for(i=0;iaa;i+) incount+1,msn2i,i+1n; count+; out.close();/关闭文件3.3 数据预处理结果数据处理好之后,形式为三列,分别是用户号,用户点击的网页号,点击网页的次序号。取部分处理好的结果如下:ID,CONTENT,TIME1,3,11,2,21,4,31,2,41,3,52,6,12,7,22,6,32,8,43,6,13,9,23,4,3开头是加上的字段名。表达的含义是一号用户第一到第五次分别点击3,2,4,2,3号网页。这个数据就可以用Clementine进行处理分
13、析了。第四章 数据模型构建4.1 数据流的构建 打开Clementine软件,在源选项卡中选择“可变文件”节点,单击编辑,进行如下设置:在文件设置中,导入处理好的数据,勾选“读取文件中的字段名”,在定“界符中”选项框中勾选“逗号”,“新行”;在类型设置中,将ID字段设为无类型,CONTENT设为集,TIME设为范围。设置过程截图如下:图1 导入数据图2 数据类型设置再点击选取表节点,连接可变文件,执行,观察数据是否正确导入了。然后在数学建模选项卡中选择“序列”节点,连接可变文件,点击编辑,进行如下设置:在字段设置中,将ID字段设置为ID,勾选“设置时间字段”,选择TIME,内容字段中选择CON
14、TENT。在模型设置中,设置合适的最小规则支持度,最小规则置信度,最大序列大小,要添加到流的预测。设置过程截图如下:图3 序列分析字段设置图4 序列分析模型参数设置以上过程设置好后,对“序列”字段点击执行,产生结果。数据流的构建过程截图如下:图5 数据流构建第五章 模型结果分析5.1结果的分析处理 首先在“序列”节点的模型设置中设置好合适的最小支持度,最小置信度。现在将最小支持度设置为3%,最小置信度设置为60%,取其结果进行相应的分析。结果如下:图6 测试模型结果将最小支持度设置为3%,最小置信度设置为60%是为了剔除最小支持度小于3%,最小置信度小于60%的结果。以第一条结果为例进行说明:
15、前项为4,7,后项为4,表示点击了4号网页,再点7号网页,可推送出4号网页。因为记录一共有989818,此条结果支持度为4.47%,故先点击4号网页,再点击7号网页的记录一共有约40000多条,点击了4号和7号网页后,在点击4号的可能性为72.26%,即为其置信度。其他条记录可依此类推。5.2 结果合理性分析以上选取的最小支持度设置为3%,最小置信度设置为60%,那么根据这个设置可以看出,只有重复出现30000次左右的结果才会被保留下来,这样会导致很多条结果被剔除,所得出的结论很少,不利于分析推送。所以最小支持度应该设置的更小一定,使结果更加有合理性。重新设置相关参数,最小支持度设置为0.5%
16、,最小置信度设置为60%,则前项必须出现的次数达到5000次左右结果才会被保留。结果如下:图7 修正模型结果图8 模型结果汇总从结果汇总中可以看出,将最小支持度设置为0.5%,最小置信度设置为60%时,规则数一共有161条,有效的事务数有383534条。其中最小的支持度为0.633%,最大支持度为88.35%。最小置信度为60.056%,最大置信度为83.84%。从有效事务数,规则条数上看,这个结果还是很合理的。置信度也在60%以上,有一定可信度。故可以选择这个分析结果。最后将此结果导出,保留给推荐系统备用。第六章 应用系统设计6.1模型接口经讨论分析我们决定,运用delphi7.0软件实现对
17、本系统的应用设计。具体分析实现步骤如下:1.用户操作网页编号记录的实现。定义全局数组msn,用于记录用户所进入网页的的编号,代码如下: unit Uall;interface var msn:array0.1000 of integer;/定义数组,保存访问数据 var i:integer;implementationuses Ulocal, Umain, Unews, Utech;initializationi:=0;end.2.编辑17个窗口作为网页,并新建一个主窗口Fmain,在Fmain中拉入label,当用户点击相应的label时,进入相应的网页,并将网页的编号记录到数据Uall.m
18、sn数组中,并将数组下标i自加1。具体label中代码如下:procedure TFmain.Label2Click(Sender: TObject);beginself.Hide;Fnews.Show;Uall.msnUALL.i:=2;Uall.i:=Uall.i+1;end;3.网页推荐实现。在Fmain中拉入一个button,当用户点击此button时,系统进行推荐,在此中写入代码,具体分析步骤如下:1)取分析后文本数据中一行,并将一行数据进行分割,取最后一个编号为推荐编号转换为Int型,赋值给整型变量SE。将数据逐个转换为int型,赋值给msnint数组,数据最后一个编号不写如数组。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网页 序列 分析 系统 课程设计
限制150内