您好,欢迎访问三七文档
河北工业大学计算机科学与软件学院2011级毕业答辩答辩人:张晨光导师:马建红教授专业:软件工程基于Nutch的网页自动分类与推荐的研究RESEARCHOFWEBPAGEAUTOMATICCLASSIFICATIONANDRECOMMENDATIONSYSTEMBASEDONNUTCH1.课题研究背景及意义2.课题研究主要内容3.系统实现及展示4.课题总结展望课题研究背景及意义信息超载巨大的信息仓库互联网快速发展互联网生活模式网页合理管理网页清晰指引网页快速定位解决手段网页分类网页推荐课题研究的主要内容工作1工作2工作3工作4系统整体设计改进的KNN分类算法网页推荐的设计基于主题的网页分类模型系统的整体设计基于主题的网页分类模型1、一般的分类模型:多为离线应用,即第一步采集数据,第二步分析和分类,二者联系不够紧密,往往是独立开来的,这样就无法满足网页分类的实时性。2、进行网页采集的过程中,往往是批量的、无主题的采集,就会造成采集网页数目过多,然而与训练库无关的网页也会很多的现象。预处理文本集特征提取特征加权选择分类器进行分类分类结果评价结束符合要求不符合要求数据采集为了解决上述问题,课题以Nutch为基础平台,进行了基于主题的网页分类。基于主题的网页分类模型Nutch是apache下的一个具有高度可扩展性的网络爬虫项目软件,是从Lucene项目发展而来。可以用最短的时间,用最少的花费,配置出一流的搜索引擎。Nutch本身只能进行传统的网页抓取,不具有主题性质。通过对Nutch的机制和代码的研究,抽取出了其中的爬虫部分,通过改造(通过关键词对页面词语检索匹配),设计出了系统的主题爬虫。基于主题的网页分类模型Google的页面排序是通过著名的PR算法,它的主要思想是“一个优质页面A链接到页面B,那么页面B是优质页面的可能性就越大”。它通过链接来给页面打分,然后完成排序。在这个算法中,反向链接就是其算法的核心。反向链接的声明场所是在网页的内部,我们可以简单的将其定义为:把页面C含有指向页面D的链接命名为“C-D”,那么对D来说,“C-D”就是它的一个反向链接。LinkDBLinkDB主要存储Url地址的反向链接地址基于主题的网页分类模型有以上理论支持,给主题去噪如下定义:从数据集中去除与主题无关的网页,即主题去噪。我们可以作如下假设“在主题去噪时,若有M-N,为判定页面N是否为无关页面,可通过其反向链接页面M进行判定;若M为广告等垃圾页面,可将N排除”。这样就可以将很多与要分类和推荐无关的页面排除,同时减少了分类过程中计算的时间,提高了分类效率。获取URL结束广告开始LinkDBCrwalDB获取反向链接分析反向链接页面否去除Url是页面M页面N基于主题的网页分类模型网页分类特征提取中文分词网页去噪主题去噪主题抓取改进的KNN分类算法KNN算法(又名K最近邻算法)的思想:假设我们有一个样本A,如果它的最临近的K个样本中,较大的一个部分是M类别的,那么我们就把样本A归结于M类。其中,A的K个邻居已经规定好自己所属的类别。假设最中间的绿色圆形状未知,现在要确定其到底属于什么形状?方形还是三角形?改进的KNN分类算法KNN算法的计算步骤:1)对预料库网页预处理,形成网页向量V(v1,v2,v3…vi)。2)对测试网页进行分词、特征提取等,形成网页向量U(u1,u2,u3…ui)。3)计算待分类样本与训练样本间的相似度,其计算公式为:4)对相似度由大到小排序,选取前K个网页。目前,K的取值没有定性的一个数值,需要随着实验的进行不断更改,选取到最合适的K值。5)从训练集中选取出前K个网页,依次计算输入样本针对这K个网页在训练集各个类别里的权重,可以用如下计算公式表示:其中,是类别属性函数,当vi属于cj时,值为1;当vi不属于cj时,函数为0。6)最后的分类决策函数为))((),(12121*niiniiniiivuvuVUSimnijijcvyVUSimCUP1,)(*),(),()),((maxjjcCVPCR改进的KNN分类算法文本和网页是有很大的区别的,这主要体现在网页的结构特点上。用常规的KNN分类算法只是针对普通的文本进行了处理,却忽略了锚文本元素。1)metaname=“keywords”content=“HTML,PHP,JAVA”。W3C这样描述:“keywords”是一个经常被用到的名称,它定义了一组关键字。当搜索引擎遇到这些关键字时,会用这些关键字对文档进行分类。2)metaname=“description”content=“JAVA教程,使初学者迅速掌握JAVA的精髓”。W3C这样描述:“description”用于定义网页简短描述,是为搜索引擎描述网页使用的。课题中针对于此,提出了更适合网页的KNN分类算法。思路为:加入锚文本和标题对于网页类别的影响,尤其是锚文本的重要性,将类别判定从一部分改为三部分,然后求三部分的概率和。改进的KNN分类算法改进的KNN分类算法步骤:1)依据锚文本判定类别:2)依据网页标题判定类别:3)依据网页正文判定类别:4)网页类别判定——计算属于每个类别的可能5)最后的分类决策函数nijijcvyVUSimCUP11),(*),(),(nijijcvyVUSimCUP12),(*),(),(nijijcvyVUSimCUP13),(*),(),(),(20.0),(35.0),(45.0),(321jjjjCUPCUPCUPCUP)),((maxjjcCVPCR改进的KNN分类算法编号类别1交通类2建筑学类3土木工程类4电器工程类5计算机科学类6机械工程类7能源科学类8测绘学类9航空航天类10矿业类11冶金学类12印刷类13化学工程类14水利工程类15通信技术类16生物工程类17材料科学类18环境科学类分类标准网页推荐的设计2、基于用户的协同过滤推荐机制1、基于内容的协同过滤推荐机制常用的推荐思想网页推荐的设计网页推荐子系统设计思想:1)基于网页间相似性的推荐,也就是基于内容的推荐。IdTitle标签1标签2标签3标签4标签51高效节能无震车节能无震减震性能车2车辆增扭器功率增扭器发动机车环境3汽车节能零排放装置节能汽车过滤器尾气机油根据相同标签个数的不同,在推荐网页的时候,标签相同个数越多,越优先推荐。机器学习、统计网页推荐的设计网页推荐子系统设计思想:2)基于用户个人行为的推荐。百度首页豆瓣网亚马逊为了确保推荐的实时性,可以针对每一次浏览,都进行一次相关的推荐。网页推荐的设计推荐子系统的依据:用户行为和网页标签的一种结合。网页采集网页分析提取标签推荐对象模型查看网页建立兴趣模型网页排序网页推荐抽取标签系统实现及展示——Nutch环境的搭建——网页抓取的实验——分类实验的数据来源系统实现及展示分析开始获取的URLHtml-ParserTF提取特征词分析模块IKanalyzer系统实现及展示使用Html-parser获取网页的锚文本、标题、正文系统实现及展示通过Ikanalyzer分词系统实现及展示词的统计-TF算法系统实现及展示给nutch注入种子分别为新浪、雅虎等十个url,设置挖掘深度depth=3,用时30分钟08秒,获取到8372个url。手动选取出计算机、机械、生物、航空航天、化工、电器六个类别的新闻各自150条,作为训练样本,并且予以标注。经主题判定后,只得到原8372个页面中的3008个页面,作为第一组测试样本;再重新从8372个页面中任取3008个页面,作为第二组测试样本。采用lucene带的分词包IKAnalyzer进行预处理,用TF方法依据词频选取特征词,采用KNN分类方法分类,且数次实验证明K取值为9的时候分类效果比较好。系统实现及展示系统实现及展示课题总结展望总结:1)设计并且实现了能够抓取专业领域网页的主题爬虫,从Nutch的抓取结果中发现反向链接,在系统中提出了主题去噪的概念,并且成功使用。2)研究分析了Html-parser的源代码、中文分词以及特征加权等技术,并且成功抽取出了网页内关键信息。3)根据网页结构的特点,改进了KNN算法,并且依据此算法设计了分类器,经试验和系统验证,此分类器分类效果较好,对于网页比较适用。4)通过机器学习,提取出了网页的关键特征作为网页的标签,网页之间的相似度通过是否有相同标签以及相同标签的个数来确实,然后根据相同标签的个数对推荐的网页进行排序。展望:1)在后续的研究中,还要对训练库进行扩展。2)对于网页抓取模块,因为机器的限制和底层架构的影响还不能很好的同时进行多个爬虫的并行爬取。因此,为了提高爬虫的效率,下一步可以将网页抓取子系统部署到Hadoop平台上,通过并行处理,使得网页抓取模块效率更高。3)本文中的网页推荐还仅限于通过网页之间的相似度进行推荐,目前是一个知识的时代,考虑到用户的需求以及推荐系统的发展趋势,下一步应该改善推荐模块,设计基于语义的网页推荐。科研成果:1、论文《一种基于主题的网页自动分类模型》在中国科技论文在线刊载。2、河北工业大学科学普及活动中心网站3、河北省创新方法网4、IKC(InventiontoolKnowledgeCloud)创新知识云平台
本文标题:答辩-张晨光
链接地址:https://www.777doc.com/doc-2095692 .html