听到搜索公司解释搜索和 AI 的工作原理时可能会感到困惑。 Bing 添加了使用大型语言模型 (LLM) 的 ChatGPT,但甚至在此之前它们就具有深度学习功能。谷歌最近宣布了新的图像搜索功能和自己的 LLM 服务。在 Algolia,我们还将推出我们自己的人工智能技术,该技术使用神经散列来扩展任何应用程序的智能搜索。所有这些术语都可能令人困惑。
让我们通过分解与搜索相关的技术来解决这个问题。
关键字搜索引擎已经存在了几十年。 Apache Lucene 项目是最著名的开源搜索引擎之一,它提供关键字搜索功能。这种类型的搜索引擎使用统计技术将查询与索引中的项目相匹配。它们的工作方式很像书后的索引,指向书中信息所在的所有位置。拼写错误容错、分词和词干提取等查询处理技术也用于帮助搜索引擎消化和理解拼写和查询理解。
关键字搜索往往非常快,并且适用于精确的查询关键字匹配。但是,他们经常遇到长尾查询、概念搜索、问题式搜索、同义词和查询与索引中的内容不完全匹配的其他短语。出于这个原因,许多公司添加了额外的功能,例如 AI 同义词生成来提供帮助。
语义搜索涉及理解搜索查询中单词和短语的含义,并返回与查询语义相关的结果。语义搜索引擎使用自然语言处理 (NLP) 技术来理解单词和短语的含义,并查找可能与搜索查询相关的相关概念、同义词和其他相关信息。
人工智能搜索是一个通用且更广泛的术语,包括语义搜索以及其他用于提供搜索结果的机器学习技术。人工智能搜索通常涉及几个步骤,包括查询处理、检索和排名。
查询处理:此步骤涉及分析用户的查询以了解其意图、范围和约束。查询处理可能包括诸如将查询解析为其组成部分、关键字和短语的语义理解、将查询规范化为标准格式等任务。
检索:处理完查询后,系统会检索一组与查询条件匹配的文档或数据项。人工智能搜索通常使用机器学习算法来确定相似度并衡量术语之间的相关性以提供相关结果。
排名:检索到文档或数据项后,系统会根据它们对用户查询的相关性和重要性对其进行排名。强化学习等学习排名模型用于不断优化结果。
OpenAI的ChatGPT、谷歌的Bard、Midjourney等类似的AI技术,就是所谓的生成式AI 。这些通用解决方案试图根据输入来预测结果,并且实际上会生成新的响应。他们使用预先存在的文本和视觉内容来生成新内容。
另一方面,搜索引擎可以使用人工智能来改善搜索结果。就像生成 AI 一样,搜索 AI 可用于理解自然语言输入。与生成式 AI 不同,搜索引擎不会创建任何新颖的内容。这两种技术可以一起使用,也可以单独使用。生成式 AI 技术可用于辅助创意输出,搜索用于过滤和排序结果。寻找新时尚创意的人可能会询问聊天机器人最新趋势是什么,获得结果,然后使用搜索来查找结果。或者,您可以使用搜索来查找产品,然后通过聊天来解释每个结果的优缺点。
生成式聊天 AI 和搜索 AI通常都通过对自然语言的理解来提供更好的用户体验。
大型语言模型 (LLM) 已经存在了一段时间,但 GPT 将它们置于聚光灯下。 LLM 是经过训练可以处理和生成自然语言文本的人工智能模型。这些模型通常使用深度学习技术构建,需要大量数据和计算资源进行训练。在 Algolia,我们也使用法学硕士,但目的是帮助机器理解。我们使用 LLM 创建向量,我们可以用它来比较查询和结果。
向量化是将单词转换为向量(数字)的过程,这允许对它们的含义进行编码和数学处理。您可以将向量视为代表某物的一组数字。在实践中,向量用于自动化同义词、聚类文档、检测查询中的特定含义和意图以及对结果进行排名。嵌入的用途非常广泛,其他对象(如整个文档、图像、视频、音频等)也可以嵌入。
矢量搜索是一种使用词嵌入(或图像、视频、文档等)来查找具有相似特征的相关对象的方法,使用机器学习模型检测索引中对象之间的语义关系。
有许多不同的近似最近邻 (ANN) 算法用于计算向量相似度。 HNSW(分层导航小世界)、IVF(倒置文件)或 PQ(乘积量化,一种减少向量维数的技术)等技术是一些最流行的 ANN 方法,用于查找向量之间的相似性。每种技术都专注于改进特定的性能属性,例如使用 PQ 减少内存或使用 HNSW 和 IVF 快速但准确的搜索时间。通常的做法是混合多个组件来生成“复合”索引,以实现给定用例的最佳性能。
使用向量的挑战之一是它们的大小。它们往往是非常大的字符串,需要专门的数据库和 GPU 管理。神经散列是一种使用神经网络压缩向量的新过程,因此它们的处理速度比标准向量计算快 500 倍,并且可以在商用硬件上运行。
混合搜索是矢量搜索与关键字搜索的结合。矢量搜索非常适合模糊或广泛搜索,但关键字搜索仍然是精确查询的主宰。例如,当您在关键字引擎上查询“阿迪达斯”时,默认情况下您只会看到阿迪达斯品牌。矢量引擎的默认行为是返回相似的结果——耐克、彪马、阿迪达斯等,因为它们都在同一个概念空间中。关键字搜索仍然可以为具有特定意图的简短查询提供更好的结果。
混合搜索提供了两个词的最佳选择,为精确匹配和简单短语提供了速度和准确性,而向量改进了长尾查询并为新的搜索解决方案打开了大门。在 Algolia,我们的混合人工智能解决方案——Algolia NeuralSearch——即将推出。了解更多。
也发布在这里。