网络信息检索的优化与进展研究,本文主要内容关键词为:信息检索论文,进展论文,网络论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
原生文献专栏(第59期)
中国人民大学图书馆/书报资料中心联合主办
1 引言
信息检索(information retrieval,IR)指的是从一个文档集合中查找出包含有与用户 的信息需求相关的信息内容的文档或文本。网络信息检索(Web information retrieval ,Web IR)指的是在Web环境下的IR问题。网络的出现,将海量、异构、动态数据的处理 这样一个新的课题摆在了人们的面前。本文对目前的网络信息检索工具(搜索引擎)存在 的问题进行了分析,并就主要的优化与改进措施进行论述。
2 搜索引擎技术目前存在的主要问题
2.1 机械的关键词匹配影响搜索结果的正确性
目前的搜索引擎主要采用两种方法对网络信息资源进行检索:一是采用分类主题目录 形式,由专家对信息进行归纳和分类,并形成摘要、建立信息索引,用户可以根据索引 检索和浏览信息,这种检索方式的缺陷在于信息归类和维护过程中人力资源投入大,信 息更新不及时;二是采用关键词匹配方式,搜索引擎按关键词对网络资源建立索引信息 ,用户通过关键词搜索目标网站/网页,但自然语言表达的多样性,引擎“理解”的查 询信息常常和用户提交的请求之间存在差异,造成查询反馈信息和用户意图不相吻合。
2.2 集中式体系结构造成网络负担过重
目前的大部分搜索引擎的体系结构是集中式的,引擎的搜索操作和用户的查询操作之 间是分离的、缺乏互动的。引擎从互连网上搜索网页,并对其进行分析和处理,然后将 网页的索引信息集中存储在某个站点,用户通过访问该站点实现查询。由于两者之间没 有什么协作,各自独立搜索和处理信息,加之互连网上资源分散、数据类型多、地址变 动大,导致检索工作效率低下、信息重复和带宽资源浪费,有时甚至会造成网络阻塞。 这种体系结构显然难以适应网络规模日益扩大、用户数量迅猛上升的现状。
2.3 对分段索引技术的需求日趋紧迫
随着搜索引擎站点信息规模的日趋庞大,一些引擎供应商采用的分布式的数据存储技 术,将大量信息分别存放在多台机器上,以解决信息采集、访问的瓶颈问题。数据信息 的分布式存放必然导致索引信息的分段处理,由于分段索引技术牵涉到查询信息的按段 分发、结果信息的收集、合并等一系列问题,因而在实现上有较大难度,这也是目前采 用该项技术的搜索引擎为数不多的原因之一。然而,如果没有及时运用好该项重要技术 ,分布式系统架构就无法发挥其应有的作用。与该项技术相关联的问题还包括查询结果 的缓存和预操作等一系列问题[1]。
2.4 基于pull技术的信息获取方式影响搜索引擎数据维护效率
搜索引擎的性能高低主要体现在用户查询模块和数据维护模块。用户查询模块负责对 用户所输入的查询条件进行预处理和对查询结果进行排序。数据维护模块主要实现对索 引数据的收集、分类和管理。目前数据维护所采用的方式主要分两种:手工维护和网络 机器人(网络爬虫)维护。手工方式可以提高信息的正确性,但效率十分低下。采用网络 机器人技术,速度快、成本低,但此种方式在设计的时候大多都采用多线程技术,同时 运行多个程序,不仅会占用一定的网络带宽资源,而且也会加重web站点的负担;索引 服务器成为数据更新的瓶颈,数据维护的效率不高。造成搜索引擎数据维护效率不高的 根本原因在于数据的获取是基于传统的请求/应答的pull方式,搜索引擎主动去查询web 站点有没有更新信息,这种轮询方式不仅会占用搜索引擎的大量资源,而且工作效率也 非常低下。随着Push技术的产生和发展,为信息的获取提供了新的方式,信息提供者可 以主动将信息推送给需求者,有效地弥补了pull技术对同一信息资源更新信息跟踪的不 足[2]。
3 优化与改进措施
3.1 智能代理(Agent)
为了改进分类主题目录和关键词匹配方法的不足,提高检索有效性和检索结果的精度 ,提供个性化的服务,一些引擎服务提供商研制出了智能化的搜索引擎。
智能化搜索引擎的核心就是智能代理技术。智能代理是人工智能研究的新成果,它能 根据事先设定的策略和用户的查询需求主动地完成信息检索、筛选和管理,而不是像传 统引擎那样,每一个工作环节都被动地等待用户的指令。一方面,智能代理为搜集到的 信息建立索引,由检索器根据用户的查询输入检索索引库,并将查询结果返回给用户; 另一方面,智能代理可以根据目前掌握的用户信息对用户的查询计划、意图、兴趣等进 行推理和预测,并能根据环境的变化及时调整工作计划,为用户提供有效的查询结果。
智能化搜索引擎和传统的引擎相比,具有如下优势:
(1)提供分析-搜索-报告一体化的服务
接到用户的查询请求之后,智能代理首先对需求的合理性进行分析,然后接受相应的 合理请求,并对不合理的需求予以拒绝。检索过程中,一旦找到合适的中间结果或最终 结果,系统能够通过电子邮件或其他途径主动向用户提交其感兴趣的信息。
(2)较强的交互能力
智能代理通过跟踪用户的反馈意见,及时了解用户对查询结果的评价,以提高检索质 量。除了与用户进行交互,智能代理在遇到无法解决的查询请求时,还可以通过和其他 代理的沟通交流,弥补自身不足,尽可能地完成检索任务。
(3)学习、推理、自我改进的能力
智能化引擎的“智能”来自于其主动学习、自我更新的过程。在分析处理用户需求的 过程中,智能引擎能够根据环境和用户意图的变化,及时改进工作方式,提高检索结果 的命中率。对于用户曾经访问过的信息,可以直接从数据库中提取,避免重复工作、提 高查询效率。
(4)提供个性化和人性化的服务
智能化引擎中设有专门的用户信息库,记录包括帐号、电子邮箱、历史查询记录、兴 趣在内的各种用户信息。用户登录时,引擎可以根据其查询踪迹和习惯偏好提供合适的 信息。此外,智能引擎在保证查询匹配精确性的同时,加强了自然语言的搜索能力,克 服了“关键词匹配”检索方式中由于一词多义等因素造成的信息反馈不准确。
除了上述优点以外,智能代理还具有可移动性的特点,它可以和某台主机或某个用户 相关联,并通过网络漫游到其他主机,在相应主机上完成任务之后,将结果反馈至源主 机,提高了完成任务的灵活程度。
3.2 分布式搜索引擎
分布式搜索引擎对用户透明,整个系统体现为单个域名。收到用户的查询请求之后, 由请求分配器根据搜索内容以及区域服务器的资源使用状况将查询请求定位至合适的区 域服务器。各服务器主要包含查询代理、索引数据库和搜索软件等组件。查询代理收到 查询任务后,就在当前的数据库中搜索相关信息,如找到立即返回;如当前数据库无法 满足查询请求,则将该查询重定向至其他区域服务器。信息搜索软件负责本区域内的信 息搜索,并将索引信息存入数据库。
分布式引擎大多通过服务器集群的方式实现。充分利用集群系统中服务器的各类资源 是提高服务器效能、提升集群总体服务质量的关键。负载平衡器是请求分配的控制者, 其功能是及时、准确把握各服务器的CPU、内存、磁盘、I/O等资源的使用情况,并据此 在集群范围内对查询请求进行调度。引擎收到查询请求之后,根据事先设定的平衡算法 将该请求发送至相应的服务器,常用的平衡算法包括轮转法、散列法和最少连接法[1] 。
由于不同的查询请求对服务器资源的消耗差异很大,即使选择的平衡算法是比较公平 、科学的,系统在运作了一段时间之后,仍会出现负载失衡的现象,这时需要负载反馈 机制进行调节。
分布式引擎由于在架构和管理上采用“分布和集中相结合”的模式,因而具备集中式 引擎无法比拟的优势。一方面,由于区域服务器构成的搜索单元相对独立,各数据库规 模相对较小,因而查询响应时间相对较短,而且个别服务器发生故障不会影响整个引擎 站点的工作。另一方面,通过专门的负载平衡和调度装置可以在各服务器之间实现查询 请求重定向和资源共享,从而提升引擎总体服务质量。
3.3 分段索引
分段索引是分段存储技术中的一种,该技术将数据库中表的索引划分成一个个索引段 。用户的查询请求通过专门的服务器被发送至各个索引段上,查询执行完毕之后,再由 服务器将查询结果汇总并返回给用户。
分段存放数据索引,对于数据查询具有如下的好处:
(1)缩短响应时间。“响应时间”是指对数据执行查询所需的时间。由于分段索引将索 引数据分散到多个段上,因此服务器在处理时将为查询分配多个线程,这将在一定程度 上缩短查询时间。
(2)提高并发性。“并发性”是指服务器同时处理对同一个表的多个查询的能力。如果 将所有的索引数据都存放在同一个段上,那么当多个查询请求同时到达时可能发生冲突 。分段索引将索引数据分散到多个段上,数据库服务器能够同时检索存储在不同段上的 索引数据,减少了访问同一处数据所产生的冲突。
(3)增强容错性。如果把索引的各个分段存放在不同的物理磁盘上,还可以提高查询过 程的容错性。由于各个段在存储上是独立的,因此一个索引段段的故障不会影响其他段 继续运转,从总体上确保了正常的数据查询过程。
鉴于上述优点,分段索引成为目前应用最广泛的一种索引技术,在搜索引擎中引入分 段索引技术可以提高搜索引擎的查询性能。随着互连网规模的扩大,搜索引擎往往需要 对数亿个Web页面进行索引,其索引规模达到了TB级,因此,大型搜索引擎尤其需要对 重要的网页进行分段索引处理。
目前有两种较为成熟的分段索引技术:
(1)全局索引分段:按“术语”对索引进行分段。该索引段维护该段所包含的数据集合 的注册列表,并按字母顺序对术语进行排序。
(2)本地索引分段:按文档对索引进行分段。各索引段负责对该段所包含的文档集合进 行索引,并维护在这些文档中出现的术语的注册列表。
3.4 基于Push技术的搜索引擎
传统的搜索引擎都是基于Pull技术的,虽然采用Pull技术可以使搜索更具有针对性, 但数据库的维护采用Pull技术则暴露出该技术在对数据源跟踪方面效率低下的特点,而 且数据更新不及时。采用Push技术构造搜索引擎,可以将数据维护任务均分给其所收录 的信息发布服务器(即Web站点),当数据发生更新时,信息发布服务器主动将更新信息 推送给搜索引擎,使数据维护不再成为搜索引擎的瓶颈。整个系统由如下四大模块组成 :用户子系统、探测子系统、信息收集代理和数据处理系统。
(1)用户子系统。用户子系统为使用者提供友好的交互界面,并且对用户的兴趣进行分 析和预测,使搜索引擎更好地为用户服务。用户在使用搜索引擎时,首先需要注册/登 录,这样可以方便收集用户的访问信息,更好地分析和预测用户兴趣,提高搜索引擎的 服务性能。用户在检索时,其所输入的查询条件同时也提交给兴趣管理模块,兴趣管理 模块根据用户的访问信息对用户的兴趣进行分析和预测,确定在主动服务中推送给用户 的内容,当索引数据库发生更新时,推送模块根据用户兴趣库中的信息确定推送的对象 ,并选择一种合适通知方式通知用户[3]。
(2)探测子系统。嗅探模块通过网络机器人定期对Web页面或域名服务器进行巡游访问 ,检查是否有新的Web站点发布。当探测到新的Web站点时,嗅探模块主动发出收录询问 邮件,为该Web站点提供注册接口,确认后,将信息收集代理送到该站点安装,作为搜 索引擎收集该站点的更新信息和访问信息。
(3)信息收集代理。信息收集代理是提高搜索引擎数据更新效率的关键.它驻留在信息 发布站点,为搜索引擎收集更新信息和统计访问数据,在网络负载较轻时传送给搜索引 擎。信息收集代理子系统由文件扫描模块,数据挖掘模块和数据推送模块三部分组成。 文件扫描模块定期对站点的文件信息进行扫描,与文件信息数据库的统计和概要信息进 行比较,对删除的文件写入更新日志,同时从文件信息数据库中删去相应的记录;对修 改和添加的文件写入更新数据库。数据挖掘模块分为文件更新挖掘模块和日志访问挖掘 模块,前者对更新数据库中的数据进行分析和挖掘,提取关键词,并按词进行索引,形 成摘要信息,对其实现聚类和分类;后者对Web访问日志进行挖掘,统计网页的访问次 数和停留时间等关键信息,同时形成访问日志,和更新日志一起由推送模块发送给搜索 引擎[4]。
(4)数据处理系统。数据处理模块负责对信息收集代理推送来的更新日志和访问日志进 行信息提取、整理和分类。根据更新日志中的索引信息对索引数据库进行补充;根据分 类目录信息对分类知识库进行补充和更新;根据访问日志中的点击率和停留时间等信息 对分类知识库进行修正,并生成新的相关度系数。
总之,相对于Pull而言,Push技术有效提高了信息提供方的主动能力。将其应用于搜 索引擎系统中,可以减轻索引数据库的维护负担,并且可以使搜索本地化,提高网络的 利用率,从而提高搜索引擎的工作效率。
4 结束语
本文在对网络信息检索的特点以及目前存在的主要问题进行分析的基础上,对搜索引 擎的几种优化和改进措施进行了论述,智能代理技术提高了搜索引擎对网络信息和用户 需求的自动处理能力,并为用户提供了个性化的服务;分布式搜索引擎减轻了各分站点 的负担,并实现了各检索服务器之间的资源共享;分段索引能够以较小的系统开销获取 尽可能多的高相关度的信息检索;基于Push技术的搜索引擎有效提高了信息提供方的主 动能力,并减轻了索引数据库的维护负担。搜索引擎技术从出现至今还不到10年的时间 ,并且仍在高速发展之中,各种新技术、新模型层出不穷,比如基于合作的搜索引擎服 务框架、基于内容的多媒体搜索引擎技术、智能化元搜索引擎技术、基于聚类的搜索引 擎技术等[5][6][7][8],这里就不一一列举说明了。在很长的一段时间内,各种搜索引 擎将有自己的用户群体;各种搜索引擎技术的取长补短、相互融合也将是一种趋势。
标签:搜索引擎论文; 数据库服务器论文; 网络优化论文; 搜索引擎收录论文; 信息检索论文; web技术论文; 用户研究论文; web代理论文; 代理模式论文; 智能代理论文; 索引论文; 数据库论文; 文献检索论文;