扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
寻找并有所发现
您输入一个关键字列表,点击 Search 按钮,马上将得到相关文档的列表。这非常容易,不是吗?是的,的确很容易。这是什么魔法吗?其实并不是。
信息检索或简称为“搜索”,目前是计算机科学中的一个非常重要的领域。从技术的角度来看,倒排索引用于存储文档中出现的关键字,并且支持搜索,它是一种广为熟悉并且精确描述的数据结构。
公正地说,查找包含关键字的文档列表是件很容易的事情,但是,排序技术却涉及到很多未知的技术和深奥的计算公式。事实上,对数以千计的、包含请求搜索的关键字的文档进行排序,以便将与用户最相关的文档列在最上方,这并不是一件容易的任务。尽管如此,用于排序结果的数学模型通常是常用的词频/倒排文档频率模型的变体,而对于这种模型,已有很好的研究基础。
|
除了使用关键字进行搜索之外,您还可以使用浏览的方法进行搜索,这种方法使用分层结构的、类似于目录的结构来定位文档。有些时候将这些分层结构称为分类,通常由专家来构建这些分类。例如曾经很受欢迎的 Open Directory 项目,这是一种用于 Web 站点的常规分类。
这个基本搜索方法的一种变体是高级搜索,其中使用预先选定的一组特定字段的值来执行搜索,如标题、作者,等等。通常认为这是“超级用户”的特性,超级用户希望查找特定的来源,而不是有关特定主题的任何来源。例如,如果您知道准确的标题、作者名、出版时间、或者关于您正在查找的文档的一些其他精确信息,那么您就可以使用高级搜索。
尽管这不是“高级”用户专用的,但是高级搜索也并非适用于所有的用户。如果您了解关于您正在搜索的对象的细节信息,那么什么因素可能阻止您使用高级搜索,并成为所谓的超级用户呢?高级搜索可能很麻烦。我的看法是,用于定义这些高级条件的用户接口和计算机语言通常令人费解或非常复杂,以至于普通人难以使用。
但是事情正在发生变化,并且现在有更多的方法用于获得相关的内容。要了解搜索技术所经历的发展趋势,并且要了解如何获得所需的搜索结果,很重要的一点是,必须弄清楚下面两种使用搜索引擎的方法之间的区别:发现和获得。
通常在需要发现 网络上可用的资源时,您需要搜索 Web;在您开始进行搜索之前,您并不清楚可能存在什么样的资源。另一方面,当您在搜索自己的硬盘时,通常试图获得 某项已经存在的信息,而您只是不知道该信息的具体位置而已。以下是两个基本的场景:发现与获得之间的比较。换句话说,寻找关于某个特定主题所存在的内容与寻找某项已经知道的特定信息,这两种搜索是不相同的。
|
后过滤(Post-filtering)和方面(facet):这是高级搜索的终结吗?
很明显,高级搜索主要用于获得场景,而这些场景很少出现在搜索 Web 的情况下。这正是为什么大多数最新的 Web 搜索引擎放弃了所谓的高级搜索特性的原因。另一方面,当您在搜索个人数据(或者甚至公司内部网)时,您通常知道关于正在查找的信息的一些细节信息。
这就产生了称为面向方面的搜索的新的搜索范例。面向方面的搜索的价值是,它使用户能够研究结果并且更精确地细化他们的搜索,而无需使用复杂的高级搜索语法所提供的布尔条件。当您使用支持面向方面的搜索特性的搜索引擎时,除了您的搜索结果之外,您还将得到一组方面,每个方面都描述了某种属性,如作者、出版日期,等等。对于其中的每个方面,您可以看见与搜索相关的各种可能的值所组成的列表,并且还提供了一个数字,用于表现包含对应值的结果的数量。
例如,假设您正使用词汇“marketing chicken”对您的计算机进行搜索。搜索引擎可能为这些词汇返回一个结果列表,同时包括下面的这些方面:
Source:Lotus Notes (34), Disk (26)
Author:John H. (12), David K (23), Others (25)
Updated:Last Week (15), Last Month (45)
这意味着在搜索结果的范围中,其中 34 项存储于您的 Lotus® Notes 电子邮件中,而有 26 项存储在您的硬盘上。如果不考虑存储位置,那么 John H. 是其中 12 项结果的作者,David K. 是其中 23 项结果的作者,而由其他人所撰写的内容共计 25 项。另外,如果不考虑存储位置和作者,那么在上周进行更新的有 15 项,而在上个月进行更新的有 45 项。
如何使用这些方面呢?很容易。这些方面都是链接,所以当您认为某个方面对您是最重要的,只需单击它即可,这将显示来自对应来源的筛选结果,而且所显示的结果将使用剩下的方面进行组织。例如,单击 Lotus Notes 链接,可能出现下列的方面:
Author:John H. (3), David K (11), Others (20)
Updated:Last Week (11), Last Month (23)
当只考虑那些来自 Lotus Notes 的结果时,您可以通过深入研究最重要的方面并且更精确地定制搜索,直到找到所需的信息。您可以在任何时候撤消所做的选择,从而研究其他的路径。
这种方法的优点可能非常明显。当搜索结果中包含很多属性时,您可以采用简单而直观的方式对其进行研究,而无需求助于布尔逻辑。此外,因为通过数值表示了每个方面可用内容的潜在范围,所以您可以确保不会深入研究任何“空”的路径。
在 Internet 上的电子商务站点(如消费电子产品站点)中,当前最流行的是面向方面的搜索,这类产品信息有足够的特性和部分,以使得这种导航操作非常有意义。尽管对于标准的 Web 页面,面向方面的搜索目前看起来并不是很合适,但有足够的特性以使得面向方面的搜索适用于个人和内部网搜索引擎的环境,所以我相信在今后的几年中,随着我们越来越多地对电子邮件、个人文件和内部网信息进行搜索,我们将会更多地看到这种特性。
|
标记和社会化搜索:这是分类法的终结吗?
如前所述,您可以使用分类法对感兴趣的主题和相应的文档进行定位。尽管对于这些分类,很难进行维护。在创建一个新的文档时,必须将其与这种复杂数据结构中合适的类别关联。这引出了一种新的趋势,称为 大众分类法 :您可以对您撰写的或者访问的文档进行分类,而无需依赖分类专家或者其他人根据实际情况对信息加以分类。通过将文档关联于单个单词或者标记,就可以完成这项操作。然后,任何用户都可以搜索并利用这个标记空间,查看其中最频繁使用的标记,查看使用这个单词标记了哪些文档,等等。从理论上讲,标记将帮助更多的人找到更多的文档。例如,可以使用“微电子学”这个单词来标记一篇关于微电子学的文章,即使“微电子学”这个术语根本没有出现在文档本身的内容中。因此,如果使用这个词作为标记搜索微电子学相关的内容,那么将在搜索结果中找到该文档,这正是由于那位有远见或判断力的人创建了这个标记,并且标记本身具有动态实用性。而使用关键字进行搜索,则不会出现这种情况。
当然,在实践中,标记的使用可能会使得一些事情变得复杂。因为任何人都可以随意地建立标记,所以经过一段时间后,在搜索集合中无法防止无关标记或错误标记的出现。在企业环境中,安全性也是一个问题。如果不允许某些用户访问某个文档,那么当他们使用标记空间时,是否应该允许他们看到与这个文档相关联的标记呢?这种方法可以简化和改进在个人控制的信息集合(您的团队文件、您的照片)中的搜索,但是,同时会使得对大型企业范围内的信息集合的搜索变得更加复杂。
|
来自多个来源的结果
当您进行搜索时,可能希望通过多个来源进行搜索。例如,在 Web 上,通常会限制您只能使用一个搜索引擎,这是因为,使用多个搜索引擎并对其进行比较是非常麻烦的。当搜索您的个人文件或者企业内部网时,这个问题甚至变得更加复杂。有一些搜索引擎,可以使用不同的用户接口进行访问,可以访问不同的数据集,并产生不同的结果集。在这种情况下,联合和聚合这两种方式可以提供帮助。
联合 意味着使用某种工具注册所有可用的搜索引擎,将您所进行的搜索转发给所有这些搜索引擎,然后检索结果,并在单个列表中显示经过组合的结果。在大多数情况下,很难以统一的方式对结果进行排序。(在某些搜索引擎中,在对结果的相关性评分中,85% 是一个“好”的评分,而在其他的引擎中,好的评分是 95%。)因此,在使用联合的时候,很有可能会将来自每个来源的结果分离开来。(在这种情况下,面向方面的搜索可能是很有帮助的。)
在使用聚合 的时候,中央搜索引擎将汇总所有的搜索内容。对某个位置进行搜索,并从所有的来源返回统一的结果。因此,聚合的方式非常方便,但是却难以实现,因为它需要通过爬网的方式处理所有可用的数据来源,并且扩展搜索引擎。多数情况下,您将不得不接受几个不同层次的联合和聚合(对于目前而言)。
|
门户搜索工具箱
随着需要搜索的信息越来越多,我们可以使用的搜索方式也越来越多。WebSphere Portal Search Development 团队希望帮助您使用不同的搜索方式,而有了这些方式,可以让最终用户在企业中查找信息的任务变得更加容易。这正是我们发布公共 API 以及免费提供搜索工具的原因。这些工具的目标是帮助您进行试验,以便开发出更有效的搜索应用程序,并对我们周围日益增长的信息空间,找到合适的搜索方式。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者