调研报告
题 目 搜索结果排序算法的研究
学生姓名 张天
指导教师 徐德智
学 院 信息科学与工程学院
专业班级 教信011班
报告完成日期 2005-4-10
一、研究背景
1 、Internet与WWW发展现状[5]
(1)Internet 的发展历程
Internet的前身是美国国防部高级研究计划署的研究试验性网络ARPANET。1983年TCP/IP成为ARPANET上唯一的正式协议。此后,ARPANET上连接的网络、机器和用户快速增长。1988年NSFNET和ARPANET互联,它的规模以指数增长,很多地区网络开始加入,并且开始与加拿大、欧洲和太平洋地区的网络连接。后来形成Internet。90年代初到现在,是Internet增长最迅速的时期。1993年,Internet的增长速度是341%。截止到1996年7月,Internet已连接了134336个网络,入网主机1228万台,以及数以亿计的用户。到1998年7月,Internet已拥有427万个网址,4300万个域名,3673.9万台主机和3.2亿个网页,其规模大概每年翻一番。
(2)World Wide Web(WWW)
World Wide Web(WWW)是全球性的网络信息系统。一九八九年,位于瑞士的European Laboratory for Particle Physics(CERN)首先开始了WWW的研究工作。随后,许多其他的研究机构、大学和公司也加入WWW研究者的行列,并相继开发出各自的WWW软件。这些WWW软件的运行平台覆盖了目前主流的计算机硬件和操作系统。在此过程中,WWW也不断完善和发展。同时,为了保证不同WWW软件之间的互操作性,一系列WWW协议和标准也正在使用和完善之中。
在最近几年里,WWW得到了长足的发展,不仅成为企业必不可少的组成部分,并且开始走进千家万户。根据NEC研究院在《自然》上发布的数据,截止到1999年2月,Internet上共有网站1600万个,其中公开提供WWW服务的网站280万个;共有WWW网页大约8亿页,这些网页包含了15T字节的数据。按照2000年4月在波士顿举行的第5届搜索引擎年会的会议报告,我们可以知道现今的网页数目已经超过了10亿。
WWW在中国的发展速度也十分惊人。根据CNNIC(中国互联网络信息中心)2001年1月17日在京发布的《中国互联网络发展状况统计报告》,截止到2000年12月31日止,我国上网计算机数有约892万台。我国上网用户人数约2250万人,除计算机外同时使用其它设备(移动终端、信息家电等)上网的用户人数为92万。CN下注册的域名总数为122099个,WWW站点数(包括.CN、.COM、.NET、.ORG下的网站)约265405个,我国国际线路的总容量为2799M。关于网页的数目没有具体的统计数据,但根据《科学》杂志上提供的集合估计法,通过中国几个主要搜索引擎获得的搜索数据(天网、Chinaren、新浪、搜狐、网易),我们可以估计到当前中国拥有的网页数已经超过3000万。
(3)Internet 的信息分布
Internet上的信息资源随着Internet的发展而呈现出以下特点:
l 信息量大而且分散
l 自治性强
l 信息资源多种多样
l 不一致和不完整性
这些特点对网络软件的性能提出了很高的要求。网络的快速发展给信息挖掘带来了挑战。WWW上信息呈现爆炸性的指数增长,同时伴随着上网经验不足、不太了解如何查找信息的新用户的加入。用户很可能最大程度的运用超链来在网上冲浪,他们通常从以下两类网站开始:
第一类是目录系统,其典型代表是Yahoo!的分类目录(http://www.yahoo.com),Yahoo的分类目录通过有专业知识的网页编辑人员对网上的网页进行精选,建立一个索引目录,来给用户提供服务。这类通过手工维护得很好的系统的优点是提供的网页准确率高,可以有效的覆盖所有热门的主题,但它们的缺点是过于主观,而且需要高昂的代价来建立和维护,更新改进的慢,同时不能很好的覆盖所有深奥的主题。
第二类是搜索引擎系统,比如天网中英文搜索引擎(http://e.pku.edu.cn),它通过程序自动地从网上搜集和分析网页,建立索引,为用户服务。这类通过关键词匹配实现查找的自动更新的搜索引擎优点是涵盖的网页数量巨大,但通常返回太多的低质量相关性不大的结果。
二、 国内外研究现状
1、搜索引擎发展简史
面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以从搜索出发到达自己想去的网上任何一个地方。因此它也成为除了电子邮件以外最多人使用的网上服务。
搜索引擎技术伴随着WWW的发展是引人注目的。搜索引擎大约经历了三代的更新发展:
第一代搜索引擎出现于1994年。这类搜索引擎一般都索引少于1,000,000个网页,极少重新搜集网页并去刷新索引。而且其检索速度非常慢,一般都要等待10秒甚至更长的时间。在实现技术上也基本沿用较为成熟的IR(Information Retrieval)、网络、数据库等技术,相当于利用一些已有技术实现的一个WWW上的应用。在1994年3月到4月,网络爬虫World Wide Web Worm(WWWW)平均每天承受大约1500次查询。
大约在1996年出现的第二代搜索引擎系统大多采用分布式方案(多个微型计算机协同工作)来提高数据规模、响应速度和用户数量,它们一般都保持一个大约50,000,000网页的索引数据库,每天能够响应10,000,000次用户检索请求。1997年11月,当时最先进的几个搜索引擎号称能建立从2,000,000到100,000,000的网页索引。Altavista搜索引擎声称他们每天大概要承受20,000,000次查询。
自1998年到现在,出现了一个搜索引擎空前繁荣的时期,我们统称这一时期的搜索引擎为第三代搜索引擎。第三代搜索引擎的发展有如下几个特点:
(1)索引数据库的规模继续增大,一般的商业搜索引擎都保持在几千万甚至 上亿个网页。
(2)除了一般意义上的搜索以外,开始出现主题搜索和地域搜索。很多小型的垂直门户站点开始使用该技术。
(3)由于搜索返回数据量过大,检索结果相关度评价成为研究的焦点。相关的研究又可以分为两类:一类是对超文本链的分析,在这方面Stanford大学的Google系统和IBM的Clever系统作出了很大的贡献;另一类是用户信息的反馈,Direct Hit系统采用的就是这种方法。
(4)开始使用自动分类技术。Northern Light和Inktomi的Directory,Engine都在一定程度上使用了该技术。
2000年搜索引擎2000年大会上,按照Google公司总裁Larry Page的演讲,Google正在用3,000台运行Linux系统的个人电脑在搜集Web上的网页,而且以每天30台的速度向这个微机集群里添加电脑,以保持与网络的发展相同步。每台微机运行多个爬虫程序搜集网页的峰值速度是每秒100个网页,平均速度是每秒48.5个网页,一天可以搜集超过4,000,000网页。
现在有许多网站推出号称第四代的搜索引擎,但是因为没有明显的标志,“第四代”的说法还仅仅是一个说法,并没有成为一个明显的趋势。随着时间的推移,相信会有一个比较统一的标准形成。
2、几个著名的搜索引擎
(1)AltaVista
AltaVista创建于1995年12月,其网络域名是http:/www.altavista.conm。在不考虑网络传输速度的情况下,AltaVista每秒可以检索200Gb的数据量,作为一种搜索的量化指标,这个速度远远快于你在硬盘上找一个文件。[2]
(2)Yahoo
Yahoo最开始是比较常用的查询工具,后来发展成综合性的网站,涵盖搜索、新闻、邮件等。其域名是http://www.yahoo.com。Yahoo的真正实力来自Yahoo的分类层次,Yahoo的定位非常准确,他们的主要服务对象是查询者而不是其它网站的网管。作为一个其它网站网址的收录者,它正确地处理了查询者、网络管理员之间的相互关系。对于提供网络目录服务站点来说,数据库中储存的网址信息越丰富、越准确,越能为查询者提供高质量的服务,而高质量的服务是维持高访问率的关键。使用人工进行站点分类是一项极大的工程。一般站点只有两层到三层目录来归纳与日俱增的上百万个信息点,而Yahoo通常都有十几层,它所提供的详细分类索引能帮助用户迅速找到相关站点。[2]
(3)Google
Google创建于1998年,网络域名是http://www.google.com。6年来,Google公司已经由一个纯粹的搜索引擎网站发展为一家非凡的门户网站——拥有广告网络、对比购物服务、电子邮件和Web出版产品,是全球影响力最大的搜索引擎之一。Google支持100多种语言,界面简洁友好。它以其复杂而全自动的搜索方法排除了任何人为因素对搜索结果的影响。虽然Google也在搜索结果旁刊登相关广告,但没人能花钱买到更高的网页级别,从而保证了网页排名的客观公正。Google可以方便、诚实、客观地在网上找到有价值的资料。Google目录中收录了10亿多个网址,这在同类搜索引擎中是首屈一指的。这些网站的内容涉猎广泛,无所不有。
(4)CiteSeer
CiteSeer引文搜索引擎由NEC公司在美国普林斯顿的NEC研究所(NEC Research Institute,Inc)研制开发,网络域名为http://citeseer.ist.psu.edu。1997年起利用自主的研究成果“自动引文标引系统”在网上建立样品数字图书馆,并起名为“CiteSeer-Scientific literature digital library”,公开在互联网上提供服务。
CiteSeer采用机器自动识别技术搜集互联网上Postscript和PDF文件格式的各种类型的学术论文,然后依照引文索引方法标引和连接每一篇文献。至今CiteSeer标引的网页数超过1000万,存储的文献全文达60万篇;内容主要涉及计算机科学领域,主题包括智能代理、人工智能、硬件、软件工程、数据压缩、人机交互、操作系统、数据库、信息检索、网络技术、机器学习等。
读者访问CiteSeer既可像使用搜索引擎那样检索浏览相关学术文献,也可利用其特有的引文检索功能查看文献的引用与被引用信息,同时还能获得相关学科最新文献与出版物引用排行。系统实现全天24小时实时更新,包括下载PS或PDF格式的全文。
除以上所介绍的搜索引擎外,还有如MSN、sohu、infoseek、northern、light、Lycos、Excite等著名的搜索引擎,这里就不一一介绍。
3、搜索引擎的分类
(1)通用搜索引擎
对所有网页和文件进行收录整理并提供搜索服务,又可以分为两类,一类以Google为代表,几乎完全是由程序自动控制整个流程,人为的干预很少,效率比较高,比较公平,但缺点是由于程序的信息处理能力的局限性,对于网页内容的分类不够准确,有可能给用户提供实际并不需要的页面链接;另一种以Yahoo为代表,依靠人工建立庞大细致的分类体系,方便用户找到自己最需要的页面,这样可以最大限度保证分类的准确性,但是互联网上的信息量正以前所未有的速度增长,人工分类的效率相比之下就过于低下了,不能满足“查全”的要求。
(2)专业搜索引擎
针对某一特定领域或特定文件类型进行收录整理并提供搜索服务。例如CiteSeer,就是典型的专业搜索引擎。其他的如北大天网FTP搜索引擎,专门针对FTP目录下的文件进行搜索;最近随着博客(网络日志)兴起而兴起的博客搜索引擎,由于博客的分类机制比较稳定,而且博客的世界里常常关心的是最新的最有意思的一些新闻,因此未来很可能有大的发展;音乐搜索引擎、电影搜索引擎,针对特定的音频、视频文件格式提供搜索;等等。
(3)元搜索引擎
元搜索引擎是基于通用Web搜索引擎GSE框架建立的一种搜索机制。GSE框架结构主要由用户、Web服务器、Web信息获取与处理接口、任务调度器、连接管理器Web及搜索引擎组成。用户只需递交一次检索请求,由元搜索引擎负责转换处理后提交给多个预先选定的独立搜索引擎,并将所有查询结果集中起来以整体统一的格式呈现到用户面前。通用Web搜索引擎框架将因特网上众多的现有的Web搜索引擎看成一个整体,为用户提供一个透明的分布式异构Web搜索引擎环境,该种方式的引擎可以看作元搜索引擎,它为用户提供一个统一的、集成的查询请求,元搜索引擎根据知识库中的信息转换为各个Web搜索引擎所能识别的格式,然后发给各个搜索引擎,由这些搜索引擎完成实际的信息检索。元检索引擎在搜索到各个Web搜索引擎系统返回的结果后,经过比较分析,然后以一定的格式返回用户。
4、搜索引擎目前主要存在的问题[4]
现在的搜索引擎可谓“百花齐放”,Google、Yahoo、百度、天网等搜索引擎激烈竞争,连之前很少涉及搜索引擎领域的微软也按捺不住,推出了MSN搜索引擎。但是仍然有许多问题:
(1)网络信息量太大,而且处于不断的更新当中,难以进行全面的收录,而且收录得越多,全面的更新越困难。
(2)对于搜索引擎使用者的真正需求,程序并不能准确判断。同样的关键词,不同的人可能需要查找的内容不一样。要在返回查找结果的过程中,将所有结果按重要程度从高到低的顺序组织起来呈现给用户,排序算法是十分关键的。目前许多搜索引擎都使用基于关键字查询的传统的信息检索算法和技术,返回的页面数量仍然是成千上万。然而“据估计近85%的用户只浏览搜索引擎返回的第一页结果”因此,如何将用户最感兴趣、最重要的页面放在搜索结果的前面就成为影响搜索质量的一个重要因素。
(3)现在越来越多的人为了能够在搜索引擎返回的结果中排位靠前,特别针对搜索引擎的算法进行一定的优化,如在网页中大量添加热门搜索词汇等,影响搜索引擎的正确判断,使得用户得到许多毫无用处的结果。
(4)分词技术不完善,对中文的检索结果很多不能与用户期望的很好匹配。
5 、天网搜索引擎系统结构及各部分功能 简介
天网系统主要由WWW信息存取和分析子系统(主控程序)、WWW信息收集控制子系统(搜索器)、资源索引数据库、信息检索子系统、管理和监控子系统等几个部分组成。各个部分的功能如图所示:
图1 WebGather系统总体结构示意图
(1)WWW信息存取和分析子系统(主控程序)
根据WWW信息收集控制子系统提供的URL和相关信息,使用HTTP协议,在Internet上获取相关资源,并能就对方主机返回的不同状态码作出相应处理。对取回的Web页面(主要是HTML格式)进行分析,自动对中文编码进行识别和转化,对中文信息进行分词、提取页面的标题、关键词、摘要以及其中的超链(HyperLink)。将分析的结果通过扩展SOIF接口提交给信息收集控制子系统。
(2)WWW 信息收集控制子系统(搜索器)
根据配置文件运用自然语言理解和知识获取技术、引导信息收集系统优先访问特定知识领域和特定地域范围内的信息,向HTML存取分析进程发送需访问的URL及相关信息,接收其发回的访问和分析结果。将相应的数据存入信息数据库中。并对信息收集的频度和流量加以控制。
(3) 资源索引数据库
存储收集到的WWW信息,以及分析的结果。并对其重新进行基于词的分级优化索引,以加快查询速度.
(4) 信息检索子系统
提供基于WWW方式的信息检索服务。用户通过任何标准的WWW浏览器直接访问。检索系统可以支持在一次检索中使用多个检索词(中、英文),并支持检索词之间的逻辑关系(与、或)。还可以指定查询的范围和方式(精确、模糊)。检索结果以HTML形式返回给用户。各项结果的标题与它所对应的URL用超链连接起来。用户只需在浏览器中点中检索结果项的标题,就能马上取得相应页面的实际内容。命中的URL页面按它与用户检索关键词的关联程度排序,使用户的检索更有效率。系统还支持在上一次返回的结果中进行查询。
(5) 管理和监控子系统
提供系统配置,启动、停止、监控、统计等管理功能。
信息收集控制子系统与WWW存取分析进程之间的信息交互是通过TCP Socket连接来实现的,因此各子系统可以分布运行于网络中不同的主机上。
图2 管理系统结构图
6、几种排序算法简介
(1)HITS算法
它是由康奈尔大学(Cornell University)的Jon Kleinberg博士于1998年首先提出的,HITS的英文全称为Hypertext-Induced Topic Search。目前,它为IBM公司阿尔马登研究中心(IBM Almaden Research Center)的名为“CLEVER”的研究项目中的一部分。Kleinberg认为搜索开始于用户的检索提问,每个页面的重要性也依赖于用户的检索提问,他将用户检索提问分为三种:特指主题检索提问(specific queries,也称窄主题检索提问)、泛指主题检索提问(Broad-topic queries,也称宽主题检索提问)及相似网页检索提问(Similar-page queries)。而HITS算法则专注于改善泛指主题检索的结果。Kleinberg将网页(或网站)分为两类,即hubs和authorities。应该注意的是,每个页面也有两个级别(ranking),即hubs(中心级别)和authorities(权威级别),authorities为具有较高价值的网页,依赖于指向它的页面,而hubs为指向较多authorities的网页,依赖于它所指向的页面。HITS算法的目标就是通过一定的计算(迭代计算)方法以得到针对某个检索提问的最具价值的网页,即排名最高的authority。
(2)PageRank算法
虽然Web页面的重要性取决于人的兴趣、知识、意见等主观判断,但仍有一些与页面重要性相关的客观准则可供利用。PageRank算法的基本思想是:如果一个页面被许多其他页面引用,则这个页面很可能是重要页面;一个页面尽管没有被多次引用,但被一个重要页面引用,那么这个页面很可能也是重要页面;一个页面的重要性被均分并传递到它所引用的页面。页面的重要性用PageRank度量。最后搜索引擎按照页面的PageRank值对搜索结果进行排序,将PageRank值高的重要页面放在前面。
7、中文分词、相似度判别
(1)中文分词
众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子I am a student,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道student是一个单词,但是不能很容易明白「学」、「生」两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。我是一个学生,分词的结果是:我/是/一个/学生。中文分词的准确与否,常常直接影响到对搜索结果的相关度排序。
中文分词技术属于自然语言处理技术范畴,对于一句话,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程就是分词算法。
现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。
基于字符串匹配的分词方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个「充分大的」机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的几种机械分词方法有正向最大匹配法(由左到右的方向)、逆向最大匹配法(由右到左的方向)、最少切分(使每一句中切出的词数最小)。还可以将上述各种方法相互组合,例如,可以将正向最大匹配方法和逆向最大匹配方法结合起来构成双向匹配法。由于汉语单字成词的特点,正向最小匹配和逆向最小匹配一般很少使用。一般说来,逆向匹配的切分精度略高于正向匹配,遇到的歧义现象也较少。统计结果表明,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245。但这种精度还远远不能满足实际的需要。实际使用的分词系统,都是把机械分词作为一种初分手段,还需通过利用各种其它的语言信息来进一步提高切分的准确率。
一种方法是改进扫描方式,称为特征扫描或标志切分,优先在待分析字符串中识别和切分出一些带有明显特征的词,以这些词作为断点,可将原字符串分为较小的串再来进机械分词,从而减少匹配的错误率。另一种方法是将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,并且在标注过程中又反过来对分词结果进行检验、调整,从而极大地提高切分的准确率。
对于机械分词方法,可以建立一个一般的模型。
基于理解的分词方法通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。
基于统计的分词方法认为从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。定义两个字的互现信息,计算两个汉字X、Y的相邻共现概率。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。但这种方法也有一定的局限性,会经常抽出一些共现频度高、但并不是词的常用字组,例如「这一」、「之一」、「有的」、「我的」、「许多的」等,并且对常用词的识别精度差,时空开销大。实际应用的统计分词系统都要使用一部基本的分词词典(常用词词典)进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计和串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。
到底哪种分词算法的准确度更高,目前并无定论。对于任何一个成熟的分词系统来说,不可能单独依靠某一种算法来实现,都需要综合不同的算法。笔者了解,海量科技的分词算法就采用「复方分词法」,所谓复方,相当于用中药中的复方概念,即用不同的药才综合起来去医治疾病,同样,对于中文词的识别,需要多种算法来处理不同的问题。
分词中的难题。
有了成熟的分词算法,是否就能容易的解决中文分词的问题呢?事实远非如此。中文是一种十分复杂的语言,让计算机理解中文语言更是困难。在中文分词过程中,有两大难题一直没有完全突破。
歧义识别。
歧义是指同样的一句话,可能有两种或者更多的切分方法。例如:表面的,因为「表面」和「面的」都是词,那么这个短语就可以分成「表面的」和「表面的」。这种称为交叉歧义。像这种交叉歧义十分常见,前面举的「和服」的例子,其实就是因为交叉歧义引起的错误。「化妆和服装」可以分成「化妆和服装」或者「化妆和服装」。由于没有人的知识去理解,计算机很难知道到底哪个方案正确。
交叉歧义相对组合歧义来说是还算比较容易处理,组合歧义就必需根据整个句子来判断了。例如,在句子「这个门把手坏了」中,「把手」是个词,但在句子「请把手拿开」中,「把手」就不是一个词;在句子「将军任命了一名中将」中,「中将」是个词,但在句子「产量三年中将增长两倍」中,「中将」就不再是词。这些词计算机又如何去识别?
如果交叉歧义和组合歧义计算机都能解决的话,在歧义中还有一个难题,是真歧义。真歧义意思是给出一句话,由人去判断也不知道哪个应该是词,哪个应该不是词。例如:「乒乓球拍卖完了」,可以切分成「乒乓球拍卖完了」、也可切分成「乒乓球拍卖完了」,如果没有上下文其他的句子,恐怕谁也不知道「拍卖」在这里算不算一个词。
新词识别
新词,专业术语称为未登录词。也就是那些在字典中都没有收录过,但又确实能称为词的那些词。最典型的是人名,人可以很容易理解句子「王军虎去广州了」中,「王军虎」是个词,因为是一个人的名字,但要是让计算机去识别就困难了。如果把「王军虎」做为一个词收录到字典中去,全世界有那么多名字,而且每时每刻都有新增的人名,收录这些人名本身就是一项巨大的工程。即使这项工作可以完成,还是会存在问题,例如:在句子「王军虎头虎脑的」中,「王军虎」还能不能算词?
新词中除了人名以外,还有机构名、地名、产品名、商标名、简称、省略语等都是很难处理的问题,而且这些又正好是人们经常使用的词,因此对于搜索引擎来说,分词系统中的新词识别十分重要。目前新词识别准确率已经成为评价一个分词系统好坏的重要标志之一。
(2)相似度判断
当前比较成功的搜索引擎系统大多是基于关键词匹配来完成用户的检索请求的。典型的系统包括Stanford大学研制的Google系统以及北大的“天网”系统。通常这类系统在对已抓取回来的网页进行分析时,要提取网页中出现的关键词和摘要信息,并以关键词作为网页的特征项。
如果我们令 来表示网页的集合, 表示特征项集,它由网页集中的所有或部分特征项组成,网页 用特征项空间中的向量 表示,其中:
表示特征项 在网页 中的权值, 表示特征项 在网页 中出现的频率,称为项频, 则表示网页集P中出现了特征项 的网页数目的倒数,称为反向网页频率。
在很多的文档自动分类系统中,任意两个网页 和 的相似度通常用其对应向量 和 的夹角余弦值来定义(如公式2所示),向量夹角越小(即夹角余弦值越大)表明其相似度越高。
三、研究重点
1、题目要求
(1)组织搜索引擎结果集展现形式,方便用户快速的找到需要的信息
(2)改进页面排序算法,可以尽量使“重要”的页面出现在返回结果的前面
(3)根据经验或一定的计算模型,事先确定出静态的类别层次,然后通过网页内容的语义分析确定其所属类别
2、重点难点分析
重点难点如下:
(1)改进对收集到的网页剔除干扰内容的算法,提高速度和识别准确率;
(2)对PageRank算法计算过程的改进,减少冗余计算,提高速度;
(3)利用中文分词算法,对网页进行分词,然后用相似度算法对网页内容自动进行归类。可改进对相似度的学习算法;
(4)在PageRank算法中加入类别的权重,得到更符合需要的排序;
(5)如果可能,进行个性化搜索的试验。
四、具体实现思路
1、所用技术及工具介绍
SQL Server2000对数据库的各种应用特性都有很好的支持,并且极容易从C#.NET程序访问它的数据库。C#是基于微软下一代操作平台.NET,面向对象的全新的开发语言,集VC的灵活性和VB的易用性于一身,同时还具有与JAVA相同的跨平台特性。ASP技术的出现使服务器端程序开发变得简单易行,ASP.NET则进一步拉近了桌面应用开发和Web开发的距离。
利用C#.NET编写蜘蛛、网页处理和监控程序,将经过处理的网页信息存放在SQL Server数据库中,再以ASP.NET开发用户交互界面,实现经过优化的排页面序整理,提供搜索服务。
2、开发思路
蜘蛛程序、分词算法和用户界面可能参考或直接使用已有源代码,因为这不是研究的重点;重点对页面排序算法进行优化,加入语义分析和自动分类。自动分类考虑改进学习方法,提高分类精确度,进而提高返回结果的质量。
五、小结
通过检索和查阅文献资料,收集和了解搜索引擎的发展及现有系统机制中存在的问题,并提出解决这些问题的初步设想。接下来就是在下一步工作进行系统的详细设计时,同时对构思中错误或不足之处进行修正和改进。
六、参考文献
[1]Sepandar Kamvar, Taher Haveliwala, Gene Golub, Adaptive methods for the computation of PageRank, Linear Algebra and its Applications 386 (2004) 51–65.
[2]彭绪富,邹友宽,邓荣华,INTERNET搜索引擎探解,高等函授学报(自然科学版), 2001年2月.
[4]何晓阳,吴 强,吴治蓉,HITS算法与PageRank算法比较分析,情报杂志,2004年第2期.
[48]关于搜索引擎当前存在的主要问题及其发展趋势的探讨,凌美秀,高校图书馆工作,2001年第5期
[54]罗昶,第四代搜索引擎——主题搜索引擎的设计与实现,http://www.cs.ucla.edu/~lc/paper/4th%20generation%20search%20engine.doc
[65]中文搜索引擎技术揭密:中文分词,http://www.googleblue.com/html/Search-Engine/22.html.
[76]解读C#中的正则表达式
http://www.knowsky.com/4202.html
[87]第七章 词汇分析(一)—— 找出字符串中的“词”,詹卫东