《科学美国人》
传统搜索引擎的在线查询结果充斥着多余的信息,但用户不久将受益于能够传递定制化结果的改进型搜索引擎。
在不到十年的时间里,因特网搜索引擎已经彻底改变了人们收集信息的方式。我们再也不必跑到图书馆去查找某些资料;而只须通过敲打几下键盘就可以找出相关文档。现在,“Google”已经成为从事研究工作的同义词,在线搜索引擎准备实现一系列升级,承诺进一步改进我们查找资料的方式。
通过深入研究在线提供的资料库,对搜索结果进行分类并且更好地展示它们,以及通过跟踪用户的长期兴趣以便改进对他们新信息请求的处理,新的搜索引擎正不断提高搜索结果的质量。将来,搜索引擎查询内容的种类还将拓宽,不仅仅局限于对输入文本框小的关键词执行查询操作。它们将可以自动考虑你当前的位置——例如,当你旅行时,让你的无线PDA查明离你最近的餐馆。新系统还能够根据你所画草图的形状,迅速找出与之匹配的合适图片。它们甚至能够根据你哼出的几声调子就可以知道曲调的名你。
今天的搜索引擎,其来源可以上溯到近50年前的一个计算机课题:被称之为信息检索的研究领域。在1966年9月刊的《科学美国人》文章“信息存储与检索”(Information Storage and Retrieval)中,作者Ben AmiLipetz描述了当时最先进的信息技术仅能处理日常事务或行政工作。他当时敏锐地得出结论,当研究人员对人类如何处理信息获得深入理解、并赋予机器类似的能力时,信息检索的突破性进展将会来临。很显然,计算机尚未达到如此精密的水平,但是在执行任务时的确更多地考虑了用户的个人兴趣、习惯和需求。
预先筛选页面
在讨论该领域的最新进展之前,回顾一下当前的搜索引擎是如何工作的会有所帮助。当一位计算机用户在屏幕上阅读Google(例如在0.32秒内)从数十亿个文件中筛选出来的结果时,究竟发生了什么呢?由于每次以一个Web页面匹配一个用户关键词的查询方式要花费太长的时间,因此早在用户执行搜索之前,系统需要提前完成某些关键步骤。
首先,必须对预期的内容加以识别和收集,该过程自始至终都在进行。被称作“crawler”的专用软件代码探测在Web上发布的网页,检索这些网页及其链接的页面,并将这些页面集中到同一地点。第二步,系统计算有关的词语,并利用各种统计技术确定它们的重要性。第三步,根据相关的词汇生成一种高效的数据结构,或称为树,它让这些词汇与特定的Web页面关联起来。当用户提交了一次查询时,系统搜索的并不是个个Web页面,而是一棵完成的树,或者称为索引。搜索从索引树的根部开始,并且在树分枝(代表许多词汇和相关的Web页面)的每一步,要么沿该分枝继续上行、要么删除该分枝,从而使得搜索时间呈指数级递减。
把相关的记录(或链接)放在检索表的顶部或靠近顶部,搜索算法应用了各种排序策略。一种常用的排序方法是单词频率/逆文档频率(term frequency/inverse document frequency),它考虑单词的分布及其出现的频率,然后生成单词的数值权重,以表示它们在各个文件中的重要性。相对于语义上更相关或者仅在相对较少的文件中出现的单词而言,频繁出现的单词(例如“or”、“to”或“with”)或在许多文件中出现的单词被赋予的权值要小得多。
除单词权值以外,Web页面还可采用其他策略进行排序。例如,链接分析根据某页面与其他页面之间的联系——也即根据它是一个“authority(许多其他页面指向它)还是一个“Hub”(它指向许多其他页面)一来考虑该页面的种类。Google就使用链接分析改善其搜索结果的排序。
超级引擎
在Google逐步爬升成为业界主导者的这六年当中,它拥有其超越竞争对手的二个关键优势。其一,它能够处理超大范围的Web识别和收集(Web crawling)任务。其二,它的索引方法和加权方法可获得合理的排序结果。然而,搜索引擎构造者最近已经开发出一些新的、具有类似能力的方案,甚至有几个在某些方面功能优于Google。
如今,仍然有许多Web的数字内容是无法访问的,因为许多提供(保持和处理)数字资源的主机系统,并不像用户通常认为的那样存储Web页面。只有当用户与之交互时,这些网站才按照用户要求生成相应的Web页面。典型的crawler会被这些资源难倒,无法检索到任何内容。这使得极其大量的信息对于用户是隐蔽的——根据某些估计,不可见信息几乎是常规Web页面的500倍。研究者正在进行各种尝试,试图让搜索“隐藏的Web页面”像搜索可见页面一样地容易。
为了实现这个目标,程序员已经开发出一类称作wrapper的软件,它利用这样的事实,即在线信息通常以标准化的“语法”结构展现出来。wrapper能以各种方法完成任务。其中一些方法利用搜索查询的惯用句法和在线资源的标准形式来获得对隐藏内容的访问。另一些系统则使用应用程序接口,它使软件能够通过标准的操作和命令集与Web页面进行交互。BrightPlanet公司开发的软件Deep Query Manager就是提供对隐藏Web页面访问程序的一个例子。这个基于wrapper的查询管理器可以提供对超过70 000个隐藏Web资源的用户定制入口和搜索接口。
对被比较的页面类型不加任何约束,仅仅根据链接或单词权值来对搜索结果建立排序,这种方式为欺骗和愚弄系统并致使它误导查询提供了可能。例如,当在三个顶级搜索引擎——Google、Yahoo和MSN——上执行查询“miserable failure”(痛苦的失败)时,白宫网站(whitehouse.gov)的一个页面作为头条链接出现在检索结果列表集上。
某些搜索引擎并不是向用户提供查询结果排序列表(相对容易被欺骗),而是试图确定这些最符合查询要求的页面的型式,并对搜索结果进行分类从而得到更小的子集。这些型式包括常用词、同义字、相关词,甚至可以是利用专门法则识别的高级概念性主题。系统按照相关规则对每个链接子集进行分类。这样,通过选取某个特定的结果子集,用户可以执行进一步细化搜索。能够提供分类集查询结果的搜索引擎包括Northern Light(该技术的先驱)和Clusty。
Mooter也是一个使用分类集技术的创新搜索引擎,通过以可视方式显示分类集(请参见前页插图),它还向研究人员提供了几点额外的优越性。子分类集类按钮围绕表示所有结果的中心按钮排列,就像轮子的轮幅一样。点击某分类集按钮,可检索相关链接列表以及新的、相关联的分类集。Mooter记住被选择过的分类集。通过点击“refine”(细化)选项,Mooter把以前检索到的搜索分类集与当前查询结合起来,这样用户可以得到更精确的结果。
另一个利用可视化技术的类似搜索引擎是Kartoo。它是一个所谓的元搜索(metasearch)引擎,把用户的查询提交给其他的搜索引擎,并且以可视化形式提供汇总的结果。除显示与各网站相联系的关键词汇之外,Kartoo还显示一幅“地图”,其中以图标表示重要网址而以带标号的路径表示网址间的关系。每个标号可以用于进一步细化搜索。
计算机工具简化搜索的另一种方法是,像查询Web一样彻底地搜索本地硬盘。目前,在计算机用户桌面上搜索一个文件需要独立的应用软件。例如,Google最近宣布一款叫作“Desktop Search”(桌面搜索)的软件组合了这两种功能,对于给定的搜索,用户可以指定针对硬盘或Web进行查询,或同时指定二者。微软操作系统的下一个版本,其代码命名为Longhorm,有望提供类似的功能。利用在另一个叫做“Stuff I’ve Seen”的微软项目中发展起来的技术,Longhorm可以提供“蕴涵搜索”(implicit search)能力,它无须用户指定查询就能够检索到相关的信息。据报道,这种蕴涵搜索特性是从用户最近操作过的文本信息(诸如e-mail或字处理文档)中获取关键词,用以定位并显示存储在用户硬盘驱动器中的文件的相关内容。微软把搜索功能扩展到Web内容,并让用户可以更方便地将屏幕上显示的任意文本内容转化为查询。
搜索我
最近,亚马逊公司(Amazon)、Ask Jeeves公司和Google宣布将采取行动,通过为用户提供个性化搜索来改进搜索结果。亚马逊公司的搜索引擎A9.com和AskJeeves公司的搜索引擎myJeeves.ask.com,能够跟踪查询及检索到的页面,还可以让用户以书签方式永久保存它们。在MyJeeves中,存储的搜索可以被重新查阅和重新执行,从而为建立按个人兴趣组织起来的Web子集提供了一种方法。亚马逊公司的A9可支持类似的功能,同时利用个人搜索历史作为线索以推介其他的页面。这种建议功能很像亚马逊公司众所周知的图书推荐特性,后者利用搜索和用户团购模式一有时被称为协作过滤(collaborative filtering)的一种过程。
在A9和MyJeeves中的搜索历史并不是存储在用户的机器上,而是存储在搜索引擎服务器上,这样历史信息的安全性可以得到保证,而且今后在任何一台机器上执行后续搜索时,都可重新获得它们。
在个性化的Google中,通过从一个预生成的主题分级系统中进行选择,用户可以指定自己特别感兴趣的主题。它还可以让用户指定对各种主题或领域感兴趣的程度。然后,系统利用被选中的主题、指定的兴趣级别以及最初的查询来检索和排序结果。
尽管这些搜索系统提供了重要的新特性,然而这仅代表功能的量变增长。如果搜索引擎能够将个人查询中广泛的任务背景——也即,用户最近的搜索主题、个人行为、工作主题等——考虑进来,其用途将会大大增加。然而,确定用户背景要求软件设计者克服苛刻的工程障碍。开发者首先心须建立系统以自动监视用户的兴趣和习惯,这样搜索引擎就能确定某人在执行信息搜索时的背景、用户运行的计算机平台的类型,以及他或她通常的使用模式。预先建立好这些信息并将之存储在一个所谓的用户配置文件(user profile)中后,软件就可以传递定制化的信息。要获取并维护用户的准确信息的确很困难。毕竟除了执行标准的搜索动作外,大多数人都无法忍受不厌其烦地输入个人数据。
用户wet浏览行为的记录及他们与系统中常见应用软件的其他交互,是获得个人兴趣的良好信息源。当用户打开、阅读、播放、查看、打印或共享文档时,引擎应当跟踪他或她的活动,并且利用这些信息指导特定主题的搜索。该过程类似于由微软开发的蕴涵搜索功能。PowerScout和Warson是能够在搜索中考虑从间接信息源生成的用户兴趣配置文件的最早系统。PowerScout还是一个尚未发布的实验室系统,而Warson似乎已接近商业化。程序员目前正在开发更为复杂的软件,它可以收集以往的交互数据,然后生成并维护一个用户配置文件以预测用户将来的兴趣。
然而,这些系统中所采用的基于用户配置文件的技术还没有被广泛接受。多种因素导致这种情况:例如与如何通过不同任务并在较长时期内维持配置文件的精确性相关联的问题。要建立有效的配置文件,重复评估是必不可少的。用户兴趣的焦点可能以不可颀测和微妙的方式改变,从而显著地影响检索结果。
另一因素是隐私保护。Web导航的轨迹、保存的搜索以及与应用程序的交互方式会暴露大量隐秘的个人信息(甚至暴露用户的身份)。少数软件系统允许用户匿名从Web网站获得内容。这些工具所采用的主要手段是中介或代理服务器,用户的事务通过它们传送给站点的主机然后处理,因而提供数据或服务的站点仅仅知道代理系统,而无法跟踪返回到各个用户的请求。该技术的例证之一是网站anonynmizer.com,它允许用户匿名浏览Web。另一个例子是采用多重代理和多层加密技术的Freedom WebSecure软件。虽然这些工具可以提供适当的安全性,然而能够同时兼顾用户个性化和强大隐私保护的搜索服务还未出现。如何平衡维护隐私与充分利用个人配置文件之间的关系,这仍然是一个至关重要的挑战。
在路上
另一类需要了解背景的搜索系统考虑用户的位置。例如,如果一位度假者携带一台能够接收和解释全球定位系统(GPS)信号的PDA,或者能够利用无线电频率技术确定并不断更新当前的位置,系统将可以利用该能力。马里兰大学的研究人员正在开发该技术的一个例子。他们开发的系统叫做Rover,可以在广阔的地理区域内使用文本、音频或视频服务(参见53页的插图)。Rover可为用户提供附近地区的地图,并对适当的兴趣点加亮显示。通过对地图应用各种特定主题的“过滤器”,系统能够自动识别这些地点。
该系统也能够提供其他的信息。例如,如果Rover的一位用户正参观博物馆,手持设备可显示该机构的楼面平面图以及邻近的展览品。如果用户走出馆外,则PDA的显示会变成地区图,其中标注用户可能感兴趣的地点。Rover还可以让操作者直接输入他或她的位置,并从网络数据库中检索定制化的信息。2003年,创建Rover的小组和私人网络公司KoolSpan从马里兰州政府获得研究基金,用于联合开发保护无线数据传递和用户身份验证安全的应用软件。这一合作有望带来更安全和商业上更可接受的Rover版本。
遗憾的是,基于GPS系统的位置误差(三到四米)仍然相当大。尽管可以利用室内传感器以及室外信标系统来提高分辨率,但是这些技术实施起来相对比较昂贵。而且,与当前的手持设备或者现今的无线网络能够提供的带宽相比,发送非文本信息(特别是图像、音颇和视频)要求有更高的带宽能力。能够提供每秒11兆比特带宽的IEEE 802.11b无线局域网协议,已经在提供位置认知功能的搜索服务中测试成功,但是尚未推广使用。
绘图
背景不仅仅指的是用户的个人兴趣或位置。搜索引擎也已超越文本查询,转而寻找图形资料。现在Web上提供许多三维图象,但是艺术家、插图画家和设计师却无法利用关键词有效地搜索出这些图象或图形。普林斯顿大学形状检索和分析研究小组(Princeton Shape Retrieval and Analysis Group)的3-D模型搜索引擎支持三种方法生成查询(参见下面的插图)。第一种方法使用称为Teddy的画板工具,用户可以用它画一个基础二维图形。然后,软件根据该图形产生一个虚拟的立体图(拖动二维图形经过的空间)。第二种方法是让用户画出多个二维图形(相当于图象的不同投影图),然后搜索引擎将这些平面草图与数据库中某个三维物体的13个预存储的投影图一一进行比较。从理论上来说,这个功能可以推广到支持任意二维图象数据集检索。用户能够寻找图象的第三种方法是上载一个包含三维模型的文件。
该系统仍然处于开发阶段。在查询与这些图形相吻合的图象前,系统首先以一系列数学函数(三维图形的调和函数和二维图形的三角函数)的形式来描述每个图形。然后,系统从每个函数生成特定的“指纹”值,作为相关联图形的特征值。这些指纹称作球形或圆形识别标志。使用这些描述符具有二点好处:无论原始图形和搜索到的图形的方向如何,都可以对它们进行比较,而且系统对描述符的计算和处理可以很迅速。
那是什么歌曲?
音乐也已进入搜索引擎的领地。找寻特定曲调的一个关键问题是如何最好地规范搜索查询的格式。解决方案之一是使用音乐符号或一种基于特殊符号的查询语言,用户可通过键人字母数字字符来代表音符,从而指定一个曲调。然而,大多数用户发现难以把记在头脑里的歌曲转化为音乐符号。
新西兰数字图书馆工程(New Zealand DigitalLibrary Project)设计的Meldex系统通过提供多种寻找音乐的方式来解决该问题(参见相关页的插图)。首先,通过在系统的虚拟键盘上演奏音符,用户可以记录下一个查询。或者,他或她可以对着计算机话筒哼歌曲。最后,用户可以指定歌词作文本查询,或者将基于曲调的搜索和歌词搜索结合使用。
为了让Meldex系统能够工作,新西兰的研究人员必须克服一些障碍:如何把音乐查询转化为计算机可以容易处理的格式;如何以数字形式存储和搜索歌曲乐谱;以及如何用存储的音乐数据来匹配查询。在该系统中,有一个称为量子化(quantization)的过程可识别查询中的音符和定调。然后,Meldex通过分析波形结构来自动探测作为时间函数的定调,并把它们映射为数字音符。系统将音符和完整的作品一并存储到乐谱数据库中。利用数据串匹配(string-matching)算法,Meldex从乐谱数据库中找到与输入音符相吻合的音乐查询结果。由于查询输入可能包含错误,因而串匹配函数必定会容纳一定量的“噪声”。
搜索未来
未来的搜索服务将不会局限于常规的计算平台。工程师已经将它们集成到某些汽车移动数据通信(远程信息处理)系统中,而且他们可能还要把搜索能力嵌入到娱乐设备中,例如游戏站、电视和高端立体声系统。因此,通过在诸如驾车、听音乐和设计产品等活动中启用智能web服务,搜索技术将扮演看不见的重要辅助角色。
web搜索的另一个大变化将会围绕着新兴的在线商业交易,这类商业交易刺激了正式发行物的在线覆盖量大幅增长,包括计算机用户当前不能访问到的文本、视频和音频资料。
具有讽刺意味的是,下一代搜索技术在执行日益复杂的工作时,将或多或少变得可以看得见。未来,把搜索功能和数据挖掘操作结合在一起的更有力的工具将代表这种可见的角色,这些专门系统无须真正了解数据的意义就可以寻找和发现数据库的趋向或异常。而看不见的角色则包括开发无数的智能搜索操作,作为各种应用和平台的后端服务。在数据挖掘和用户接口技术方面取得的进步,使得单一系统有时能提供一个完美的连续统一体:将复杂的搜索服务和交互可视功能无缝集成在一起。
机器学习和分类技术方面的进步可帮助更好地理解和分类Web内容,利用这一点,程序员将开发易于使用的可视化数据挖掘函数,以提高搜索功能的可视化和与用户的交互程度。行业分析人员预期将出现各种挖掘函数,其中每一种分别适用于某一专门领域或格式的搜索内容(例如,音乐或生物数据)。软件工程师将设计出能够快速方便地对用户需求作出响应的数据挖掘函数,尽管它们同时需要操作大量的信息。丰富多彩界面可提供分门别类的搜索结果信息而不是简单地罗列一条条记录,这样web搜索者就可以轻松地在海量数据仓库中畅游。最终,计算机用户将难于确定系统从何处开始搜索,何处开始理解。