Metas的设计与实现_第1页
Metas的设计与实现_第2页
Metas的设计与实现_第3页
Metas的设计与实现_第4页
Metas的设计与实现_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实现了基于分类的统计学习功能的元搜索引擎邱志欢谭 天 候潇潇刘益成 赵 阳2004-12-25的设计与实现1Outline项目背景初始构想具体实现搜索引擎选取模块抓取模块归并与排序模块用户界面部分各模块接合总结2项目背景大量的搜索引擎充斥着Web!通用搜索引擎(Google、天网)专用搜索引擎(CiteSeer、百度MP3)对于综合性能,专用SE不如通用SE对于专门性能,通用SE不如专用SE通用SE也各有其特色而且,用户不可能知道太多的SE!解决方法元搜索引擎(MetaSearch)!3初始构想基于一篇论文:SavvySearch: A Meta-Search Engine that Lear

2、ns which Search Engines to Query (1997), Adele E. Howe, Daniel Dreilinger, AI Magazine累积用户行为资料,对不同搜索引擎赋予不同的优先级根据网络环境和性能要求调整使用的搜索引擎数据我们的新想法:对于不同类型的搜索内容有不同的优先排序,以发挥专用搜索引擎的优势!4初始构思与分工5具体实现切词部分已经基本掌握的情况下,发现找不到好的分类源码,于是把切词和分类部分都放弃了,改为由用户在界面上选择类别(Sohu的16个大类,可多选)其他几模块抓取部分(hxx)搜索引擎选取部分(qzh)归并、排序部分(lyc & zy)

3、界面部分(tt)系统整合(lyc & tt)6搜索引擎选取部分网络资源是有限的,但是,由于元搜索的特性,用户每次提交的关键字都会被发送到多个搜索引擎进行处理,如果不加以适当控制的话,系统对网络资源的消耗就会非常大。因而,系统需要从搜索引擎列表中选择出最有可能返回有用结果的少数几个来为用户服务。这样,系统就面对着两个关键的问题:选多少个和怎样选。 7选多少个?和可用资源相关两种可用资源:网络资源和本地资源网络资源:维护表格,里面记录最近的网络资源状况本地资源:系统可以根据OS提供的API获得内存使用量和CPU占用率令并发度的最小值为2,最大值为6。如果系统探测到最近一段时间可用资源很充足时,就将

4、这个值加2,反之减2。 8怎样选?使用TFIDF和线性分类器的思想,构造选择算法类别集合为C1,Cm,搜索引擎集合为S1,Sn,类别Ci和搜索引擎Sj之间的相关度为CFij;CFij=0CFij初值为一个常数,每当用户作一次反馈时,就将相应的CFij值加上一个增量,每当搜索引擎返回0个结果时,就将相应的CFij值减去一个增量。9怎样选?(2)公式10怎样选?(3)这样,对于任意给出的类别集合Ci,其中I是类别的下标集合,搜索引擎Sj和它之间的排序权值 其中, punish(j)是搜索引擎最近返回结果数量和响应时间的一个函数,返回结果数量越少,响应时间越长,它的值就越大于是,对于一个类别集合,我

5、们就可以求出每一个搜索引擎的排序权值,然后选取排序权值最大的几个搜索引擎为用户服务即可。 11抓取部分一波三折:w3c库课程http库自写代码修改后的课程http库向搜索引擎提交结果取得页面提取搜索结果提交查询时的中文需做编码转换各个搜索引擎的结果格式很不同,不能统一处理,只好分别编写类处理。发现各搜索引擎有共用的操作和网络通信方式,因此提取出基类SearchEngine,提供统一接口12抓取部分(续)提取结果需要一定的语法分析技术,比较繁琐,代码量大需要翻页、判断是否查看所有结果最后实现了五个搜索引擎的抓取:天网、百度、中搜、搜狗、易搜(Google和CiteSeer需要代理,编程麻烦!Po

6、or CERNET!)可以方便的添加新的搜索引擎,不影响其他模块13归并与排序部分归并:多个搜索引擎返回的结果可能存在重复,需要消重方法:判断其超链接,相同则去重,同时记录重复状况使用STL里的map来做,key=url,value=返回结果结构体排序:对于每个搜索引擎返回的结果根据选取部分的参数进行调整、重排,最后返回给界面部分14Rank算法百度天网中搜易搜搜狗类别.2.1类别.1.2类别.2.3类别.1.2类别5.1.2选取部分得到的权值矩阵(例)百度天网中搜易搜搜狗类别1.125.325类别2.

7、311.222类别22.222.333类别4.143.286类别5.421.211.053.105.21115Rank算法(2)某个搜索引擎返回的结果ranksingle=1,n根据Measuring Search Engine Quality (2001), David Hawking, Nick Craswell, Peter Bailey, Information Retrieval,n增大,Pn缓慢下降为实现简单,令prob(ranksingle)=0.95(ranksingle-1)对于用户选择类别集,取该搜索引擎

8、的对应的几个类的权值,取算术平均为basevalue16Rank算法(3)Metasrank(ranksingle)= prob(ranksingle)*basevalue插入到map中,送给界面。由于map采用唯一key值,为处理有metasrank相等的情况,用一个vector类型作为value,相同rank值的结果放在一个vector里对于多个搜索引擎重复出现的超链接,将其rank值相加(值得讨论!)17界面部分使用Apache和C+CGI比较CGICC、freeGGI、RudeCGIParser等几个CGI库。选定了用Rude CGI Parser库,学习并熟悉使用(消耗了大量时间!)用CGI库写了用户界面和支持代码,实现了具体算法和实现环境无关获取用户查询词和选择类型,返回结果,截获用户对超链接点击行为,发送给学习模块作为系统的入口和出口,串接起其他部分18系统整合在抓取主函数上做修改从CGI得到用户查询和类别从SE选择模块得到要使用的搜索引擎发送给各搜索引擎进行搜索,得到结果集对结果进行归

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论