本节书摘来自华章出版社《大规模元搜索引擎技(1)》一书中的第1章,第1.1节,作者[美]孟卫一(Weiyi Meng)纽约州立大学宾汉姆顿分校於德(Clement T.Yu)伊利诺伊大学芝加哥分校,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1.1 Web上查找信息
Web上查找信息有两种基本模式:浏览(browsing)和搜索(searching)。绝大多数Web用户(如果不是全部的话)都使用过这两种方法从网上查找所需信息。本节就这两种模式展开讨论。
1.1.1 浏览
浏览包含两个步骤:找到一个开始页面和跟随当前页面里的链接。若用户已经知道开始页面的URL,则可直接在Web浏览器的地址栏输入该页面的URL。许多用户把经常访问页面的URL保存在浏览器的书签或收藏夹列表里。在此情况下,用户也可以从书签列表启动开始页。用户可以记住或保存在书签列表中的URL数目是非常有限的。另一个广泛使用的寻找开始页面的技术是搜索(searching),其中搜索是通过一组词(term)来进行的,然后将搜索引擎返回结果中的一个页面作为开始页面。因此,用户在查找所需信息时经常同时使用搜索和浏览。确定开始页面后,该页面成为当前页面,用户可以点击当前页面中任何可点击文本,进而展示嵌入该可点击文本下的URL所对应的页面。可点击文本也称为锚文本(anchor text),因为这个文本是写在HTML锚标签〈a href="URL"〉和〈/a〉之间的文本。锚文本可能提供关于其所对应页面内容的线索。
为了方便浏览,门户网站、Web站点和网页的开发者有责任使基于浏览的信息查找尽可能容易。雅虎(Yahoo!)可能是最流行的Web门户网站,它把数以百万计的网页和Web站点分门别类,并且把它们组织成层次结构。因为类别的层次结构可以通过从一个层次到下一个层次迅速缩小信息的范围,从而减少查找信息的时间。许多Web站点还提供一个站点地图
(sitemap),它以层次的方式展示可访问页面使得浏览更容易。在具体的网页中,每个链接的锚文本应该提供被链接页面内容的足够信息。
1.1.2 搜索
搜索是因特网(Internet,或国际互联网)上第二个最常见的活动,仅次于发送和接收电子邮件。搜索由三步组成:确定所用的搜索引擎;形成一个查询;浏览返回结果列表以确定相关结果。第三步是相当直接的,因为大多数搜索引擎返回的结果都包含足够的信息让用户确定是否值得进一步检查完整的页面。下面我们将讨论如何确定合适的搜索引擎以及如何形成适当的查询。
1.确定合适的搜索引擎
大多数用户都熟悉Web上的一个或多个主流搜索引擎。根据comScore (http://www.comscore.com/) 2010年8月发布的报告[comScore report,2010],在美国最受欢迎的搜索引擎是:Google(http://www.google.com/)、Yahoo!(http://www.yahoo.com/)、Bing(http://www.bing.com/)、Ask(http://www.ask.com/)和AOL(http://www.aol.com/)。它们分别占据了65.4%、17.4%、11.1%、3.8%和2.3%的搜索市场。然而,Web搜索引擎实际上数以百万计,只有少量的通用搜索引擎致力于提供针对整个Web的搜索覆盖。大多数搜索引擎限定在小范围搜索。例如,大多数机构,如大学、报纸和图书出版商都有自己的搜索引擎,仅覆盖与其自身相关的Web内容。作为另一个例子,还有很多专业领域或垂直搜索引擎覆盖一个特定领域或子领域Web内容,如医药、新闻、电影和体育。另外,还有搜索引擎覆盖深网的内容。特定的小领域的搜索引擎常常会比主流搜索引擎返回更相关和更新的结果,因为它们的搜索范围更集中且较小的数据集更容易更新。此外,深网搜索引擎返回的结果往往从主流搜索引擎无法得到,因为主流搜索引擎主要搜索表层网。
从上面对搜索引擎的分析可以看出,对于给定的信息需求,选定一个合适的搜索引擎为我所用并非易事。首先,大多数用户甚至不知道存在大量的搜索引擎。目前Web上所有搜索引擎的完整目录尚不存在。在CompletePlanet (http://aip.completeplanet.com/) 上列出的当前最完整目录中大约有70 000个搜索引擎,其中有一小部分被认为是可用的。其次,对Web上所有搜索引擎没有系统的质量评价。因此,对于普通用户而言很难知道哪个搜索引擎最适合其信息需求。由于这些困难,大多数用户仅使用一些流行的搜索引擎解决其搜索需求。具有较多经验的用户通常根据个人的经验和别人的建议可以找到更合适的搜索引擎。然而,拥有一个所有搜索引擎的完整目录及这些搜索引擎质量评价的信息并使之成为Web基础设施的一部分是一件很好的事。如果能有一个像常规搜索引擎一样易用的搜索引擎推荐系统,那就更好了。
2.形成适当的搜索查询
文档驱动的搜索引擎通常有一个简单的查询接口——一个允许用户输入查询的文本框和一个提交按钮。对提交给搜索引擎的用户查询的分析表明大多数用户提交简短的查询——这暗示大多数用户很少或根本没有培训过如何填写好的查询。例如,通过对1998年提交给AltaVista搜索引擎(http://www.altavista.com/)的大约10亿个查询的分析,显示了以下关于Web搜索查询的有趣特征[Silverstein et al.,1999]:
查询通常很短:查询词的平均个数是2.35,约26%的查询只有单个词,不到13%的查询超过3个词。
大多数查询不包含算符:大约80%的查询没有使用任何算符。
一些算符被搜索引擎广泛支持,包括布尔AND,即一个网页必须包含所有的查询条件才能满足查询;布尔OR,即一个网页必须包含至少一个查询条件;布尔NOT,即一个网页必须不包含NOT所限定的查询词。一些搜索引擎也支持某些形式的邻近查询(proximity query),这种查询把 “指定查询中的一些词需要在Web页面中彼此接近” 作为查询条件。
用户可以按照以下建议提高其查询的质量:
1)避免提交歧义查询。一个查询如果有多个非常不同的解释就是歧义的。例如,查询“windows”可能被解释为微软的Windows操作系统或建筑的窗户。避免歧义查询的有效方法是避免使用过短的查询。使用较长的查询就有更多的词通过上下文帮助确定每个查询词的正确含义。有证据表明,越来越多的用户提交较长的查询。到2007年年底,提交给Google的查询词的平均个数首次达到4个[Ussery,B.,2008]。
2)使用合适的算符。如果用户打算经常使用某个搜索引擎,那么他就值得努力找出该搜索引擎支持的算符。不同搜索引擎的算符往往有不同的格式。此外,如果没有指定算符,许多搜索引擎使用默认算符。例如,Google使用布尔AND作为默认算符。
在另一项研究中,根据对用户的调查,Broder[Broder,A.,2002]分析了用户查询所蕴含的需求,发现用户提交查询给搜索引擎时经常有各种不同的需求。基于这项研究,Broder根据搜索需求把Web查询分为以下三类。
1)导航查询。这种类型的查询旨在找到一个用户心中特定的Web页面或Web站点。例如,查询“Binghamton University”的目的是找到Binghamton大学的主页,也就是说,http://www.binghamton.edu/。这个主页以外的任何页面将不认为是正确的。通常,用户提交这种查询时知道他们所寻找的那些Web页面,或许由于他们以前访问过那些页面。
2)信息查询。这类查询旨在从Web上找到具体的信息,该信息可能分布在多个页面。只要检索出包含所需信息的页面中的一个,通常就能满足提交此类查询的用户。
3)事务查询。这类查询的目的是找到一个能完成某些事务的Web站点。事务的例子包括购物、下载音乐和电影、注册某些服务。
根据对1000个查询的分析,48%的查询是信息查询,30%是事务查询,20%是导航查询[Broder,A.,2002]。
分析用户查询的目的是设计更好的查询处理技术。