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

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

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

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

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

倒排索引

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

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

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

相关推荐
嘉伟咯几秒前
动手做一个AIAgent - 简易框架搭建
人工智能·agent
嘉伟咯3 分钟前
动手做一个AIAgent - RAG基础
人工智能·agent
AI-Ming5 分钟前
程序员转行学习 AI 大模型: 踩坑记录:服务器内存不够,程序被killed
服务器·人工智能·python·gpt·深度学习·学习·agi
2601_955363157 分钟前
技术赋能B端拓客:号码核验行业的痛点破解与高质量发展之路,氪迹科技法人股东核验系统,阶梯式价格
大数据·人工智能
龙腾AI白云10 分钟前
如何利用知识图谱实现推理和计算
人工智能·深度学习·语言模型·自然语言处理·数据分析
阿部多瑞 ABU10 分钟前
文明文化悖论
前端·人工智能·ai写作
2501_9453184911 分钟前
零基础学习AI的选型指南:CAIE认证与编程型AI认证如何取舍
人工智能·学习
2601_9485960512 分钟前
勇毅领航,共创未来!汉高亮相第27届中国胶粘剂和胶粘带行业年会
大数据·人工智能
love530love12 分钟前
冷门干货!llama.cpp 自带原生网页聊天 UI,无需第三方依赖一键开启
人工智能·windows·ui·llama·flash-attention·switch-cuda
码农的AI客栈17 分钟前
飞书CLI开源,AI操控飞书时代来临!
人工智能·agent