人工智能应用- 搜索引擎:03. 网页定位

搜索引擎的首要任务是从海量数据中迅速找到与用户查询相关的文档。互联网上的信息数量庞大,搜索引擎需要在极短时间内搜索到用户想要查找的内容,并且还要同时应对大量用户的请求,因此必须设计一种高效的查询算法。"倒排索引"是当前广泛采用的一种技术。

我们可以通过一个小例子来理解倒排索引的原理。假设有 1 万名学生,每个学生可以加入几个兴趣小组,每个小组由几十名学生组成。如果我们想知道两位学生是否在同一个小组,应该如何做呢?最直接的方法是逐个检查每个小组,看看他们是否都在其中。然而,如果小组数量庞大,这种方法的效率会很低。更高效的做法是提前为每位学生记录他们参加的小组信息。这样,当我们查询两位学生是否有共同小组时,只需检查他们各自的记录,并找出重叠的小组即可。这种由学生到小组的记录方式就是倒排索引的核心思想。

将这种方法应用到搜索引擎中,关键词就类似于"学生",文档则类似于"兴趣小组"。我们设计一个表,表中每一行是一个关键词,同时记录包含该关键词的所有文档。这相当于建立了一个从关键词到文档的索引。

有了这个索 引, 就能快速定位和用户搜索意图相关的文档。下面给出了一个具体示例:

倒排索引

第一步,确定一批关键词,如"谷歌""地图""创始人"等,为每个关键词建立一个空的索引项。

第二步,离线处理每篇文档。如果它包含某个关键词K,则把这篇文档加入 K 的倒排索引中。处理完成后,每个关键词的倒排索引中就包含了所有与之相关的文档。图 37.2是用 5 篇文档生成的一个倒排索引表,其中第一行表示"谷歌"这个词包含在文档 1,2,3,4,5 中。

第三步,处理搜索请求时。以"谷歌创始人"为例,首先查找"谷歌"和"创始人"这两个词的倒排索引,然后检查两个索引项的交集,即可得到同时包含"谷歌"和"创始人"两个词的文档。这些文档即可作为搜索请求返回的结果。在图 3.15.2 所示的倒排索引表中,文档 3 是搜索返回的结果,因为文档 3 同时出现在"谷歌"和"创始人"两个词的倒排索引中。

相关推荐
逆境不可逃26 分钟前
一篇速通互联网架构的不断升级过程:从单机到云原生
java·elasticsearch·搜索引擎·云原生·架构
AI周红伟1 小时前
All in Token, 移动,电信,联通,阿里,百度,华为,字节,Token石油战争,Token经济,百度要“重写”AI价值度量
大数据·人工智能·机器学习·百度·copilot·openclaw
AI周红伟1 小时前
Token经济学:AI时代的新货币战争,All in Token, 新时代的石油战争,华为,阿里,百度,字节的石油战争
大数据·人工智能·机器学习·百度·华为·copilot·openclaw
YUDAMENGNIUBI2 小时前
day20_逻辑回归
算法·机器学习·逻辑回归
XM_jhxx5 小时前
±0.03mm的精度怎么保证?翌东塑胶用AI赋能质量管控升级
人工智能
阿正的梦工坊5 小时前
深入理解 PyTorch 中的 unsqueeze 操作
人工智能·pytorch·python
秦歌6667 小时前
DeepAgents框架详解和文件后端
人工智能·langchain
测试员周周8 小时前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
霸道流氓气质8 小时前
基于 Milvus Lite 的 Spring AI RAG 向量库实践方案与示例
人工智能·spring·milvus
ar01238 小时前
AR巡检平台:构筑智能巡检新模式的数字化引擎
人工智能·ar