评论专栏: David Konopnicki:搜索技术已经发生了改变,您是否跟上了它的发展呢?

本文介绍了信息检索领域的基础知识,包括倒排索引的作用及其在文档搜索中的应用,同时讨论了排序技术的重要性及其实现难度。此外,还探讨了高级搜索的特点及其实用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 寻找并有所发现

您输入一个关键字列表,点击 Search 按钮,马上将得到相关文档的列表。这非常容易,不是吗?是的,的确很容易。这是什么魔法吗?其实并不是。

信息检索或简称为“搜索”,目前是计算机科学中的一个非常重要的领域。从技术的角度来看,倒排索引用于存储文档中出现的关键字,并且支持搜索,它是一种广为熟悉并且精确描述的数据结构。

公正地说,查找包含关键字的文档列表是件很容易的事情,但是,排序技术却涉及到很多未知的技术和深奥的计算公式。事实上,对数以千计的、包含请求搜索的关键字的文档进行排序,以便将与用户最相关的文档列在最上方,这并不是一件容易的任务。尽管如此,用于排序结果的数学模型通常是常用的词频/倒排文档频率模型的变体,而对于这种模型,已有很好的研究基础。

每年,美国国家标准局都组织关于搜索引擎的“奥运比赛”:称为 TREC 挑战赛,这一赛事提供给参赛者海量的文档,而他们必须在这些文档中查找出满足要求的少部分内容。不幸的是,大多数商业搜索引擎都拒绝使用这类科学的方法进行评估。

除了使用关键字进行搜索之外,您还可以使用浏览的方法进行搜索,这种方法使用分层结构的、类似于目录的结构来定位文档。有些时候将这些分层结构称为分类,通常由专家来构建这些分类。例如曾经很受欢迎的 Open Directory 项目,这是一种用于 Web 站点的常规分类。

这个基本搜索方法的一种变体是高级搜索,其中使用预先选定的一组特定字段的值来执行搜索,如标题、作者,等等。通常认为这是“超级用户”的特性,超级用户希望查找特定的来源,而不是有关特定主题的任何来源。例如,如果您知道准确的标题、作者名、出版时间、或者关于您正在查找的文档的一些其他精确信息,那么您就可以使用高级搜索。

尽管这不是“高级”用户专用的,但是高级搜索也并非适用于所有的用户。如果您了解关于您正在搜索的对象的细节信息,那么什么因素可能阻止您使用高级搜索,并成为所谓的超级用户呢?高级搜索可能很麻烦。我的看法是,用于定义这些高级条件的用户接口和计算机语言通常令人费解或非常复杂,以至于普通人难以使用。

但是事情正在发生变化,并且现在有更多的方法用于获得相关的内容。要了解搜索技术所经历的发展趋势,并且要了解如何获得所需的搜索结果,很重要的一点是,必须弄清楚下面两种使用搜索引擎的方法之间的区别:发现和获得。

通常在需要发现 网络上可用的资源时,您需要搜索 Web;在您开始进行搜索之前,您并不清楚可能存在什么样的资源。另一方面,当您在搜索自己的硬盘时,通常试图获得 某项已经存在的信息,而您只是不知道该信息的具体位置而已。以下是两个基本的场景:发现与获得之间的比较。换句话说,寻找关于某个特定主题所存在的内容与寻找某项已经知道的特定信息,这两种搜索是不相同的。

。。。。。。

                                                                                                点击此处查看全文 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值