如何让ai与搜索引擎合起来 (最强大的ai搜索引擎是哪个)

搜索引擎

互联网上的搜索引擎很多,有通用的网页搜索,也有针对不同领域的垂直搜索,2C、2B、用户产品、商业产品等等。对于一个IT系统来说,搜索功能也是标配功能之一。搜索引擎的主要任务比较单一,就是“搜索”,从大量数据中找到想要的数据。但这个任务并不简单:数据量大,用户真正想要的是什么,他的需求如何表达,怎么找到相关的数据,都是需要考虑的问题。

搜索引擎经过多年的发展,大致上经历了分类目录、文本检索、链接分析、场景化这几个大的发展阶段,各方面技术都有了比较成型的体系,主要包括数据获取、数据分析、检索、需求分析、数据展现等几个模块。本文将从技术角度,为大家解读搜索引擎的主要技术原理及其涉及人工智能的部分。

1. 搜索引擎的技术原理

搜索引擎面对的数据多种多样,主要有文字内容、图像内容、音频内容、视频内容,但技术流程大致相同,如图1所示。

ai搜索引擎哪个最好,如何让ai与搜索引擎合起来

图1搜索引擎技术流程

整个流程分成离线和在线两部分,离线部分进行大规模数据处理,包含数据获取、数据分析、数据索引。在线部分满足用户实时的检索请求,包含需求表达、需求分析、高级检索、基础检索、结果展现。我们以网页搜索为例,对这个流程做一个梳理:

(1)数据获取

数据来源主要包括网上的开放数据、自有数据、特定数据等几类。对于网上的开放数据,可以使用爬虫技术自动抓取。网络爬虫的逻辑其实很朴素,就是先选择一些网页作为种子,因为网页和网页之间有超级链接,从这批种子开始,顺着超级链接一路爬下去。但是其中的挑战还是很多的,比如种子如何选取,网页打开的很慢甚至打不开时如何保证爬取的速度,很多网页没有被超级链接指向时如何发现他们,循环爬取怎么办,被爬取的网页内容变化了怎么办等等,再加上硬件和带宽的要求,情况还是比较复杂的。

自有数据是企业自己的数据,范围是可知的。特定数据主要是有特殊需求的数据或者定性抓取的数据,往往需要定制化处理。这两类数据相对于开放数据来讲,情况简化了很多。

(2)数据分析

系统把数据存下来之后,就是加工处理环节,包括内容解析、去噪、链接分析、作弊分析、数据分类、打标签、挖掘关键词等。其中任何一个话题,都可以作为一个方向去研究。比如链接分析的原理就是利用网页之间的指向关系,分析每个网页的重要程度,基本假设是被指向越多的网页就越重要,当然在工程实践中会有很多种情况,链接有站内的,有站外的,链接源的质量有高有低,链接文本的表达,如何识别带有其他意图而故意制造的链接,链接关系会经常变化等。

(3)数据索引

接下来的步骤就是与在线环境的衔接,在线搜索对性能要求还是很高的,一般是在毫秒到秒级响应。这个环节就是对这些数据做预处理,处理成可以供在线系统使用的倒排索引格式。正排索引是文档到词的映射,倒排索引是词到文档的映射,所以在搜索一个词的时候,可以直接定位到包含该词的文档有哪些。对于不同的数据类型,索引结构是不一样的,比如空间数据要使用n叉树、R树等。

离线部分主要包含这三个环节,各系统会根据自己的需求有增减。

(4)需求表达

需求表达是在线部分的第一步,这个环节的主要问题是交互设计。主流倾向是尽量简化用户输入,输入越简单,对系统的智能化要求就越高,简化到极致不需要输入时,就成了推荐系统。即便是推荐系统,他的隐含输入项还有时间、地点、ip、浏览器、历史记录等很多信息,这些信息对系统的帮助非常大,因为用户是带着需求来的,但是他不一定知道如何表达自己的需求,系统想办法获取更多的参考信息,综合分析用户输入的背后需求。

(5)需求分析

需求分析是搜索引擎的核心环节之一,也是非常具有挑战性的一个环节。用户的输入非常简单,系统要从中分析出用户背后的意图,再将这个意图落地成系统能够使用的形式。“意图”的表示方法很多,有分类、关键词、向量化、结构化等等。这些方法一般是综合使用的,因为单一的表示方式信息量太少。这里有一个更根本的问题,即人的“意图”如何用符号来表征,符号能不能表征人大脑中的“意图”,在以后的文章中我们会详细的讨论。

(6)在线检索

在线检索模块首先加载数据索引,接收需求分析的结果,负责从海里数据里命中满足需求的数据,然后汇总结果,统一整理,生成计算结果返回给用户。这里消耗的硬件资源会比较多,有的系统还会使用GPU做数据处理,对性能要求也比较高,要达到毫秒级、不超过秒级的响应时间。在实际部署时,要平衡cpu、内存、硬盘、带宽等硬件资源,通常会部署两套环境,作为备份或者测试使用。

(7)结果展现

结果展现是最后一个环节了,在应用层拼装数据展示给用户,但这个环节直接影响用户体验,跟需求表达环境相对应,主要问题是交互的设计。

2. 搜索引擎与人工智能

搜索引擎的任务是一边理解用户的需求,另一边理解数据的含义,然后两者做匹配。用户是带着需求来的,这个需求隐藏在用户头脑中,表现出来的就是在系统中的几个简单操作步骤,系统要尽量从简单的输入还原出其背后的需求。同样数据的表现形式虽然多种多样,但其抽象含义隐藏在这些表现之后,系统也要从这些表现中还原出抽象含义。这个过程完全符合人工智能的特点。所以不仅AI技术发挥的空间非常大,笔者认为搜索引擎本身就是一项人工智能技术,其中的每个环节都需要AI技术的深入应用。

我们以需求分析为例,介绍下其中的AI技术(图2)。

ai搜索引擎哪个最好,如何让ai与搜索引擎合起来

图2需求分析中的 AI 技术

用户的输入是五花八门的,涉及的领域也是非常的多。有的输入非常简单,比如“incoPat”是有明确指向的,这种就比较好处理,最典型的意图是寻址,但还有可能是找他的介绍,找他的历史发展,找他的新闻等等。这时大数据就要发挥作用了,我们可以分析这个用户以前都关心什么,最近这段时间什么话题最热门,其他人都在关心什么,最近什么内容产生的最多,把这些信息综合起来,可以为每种需求赋予一个概率,争取在第一页把可能性最高的数据展现给用户。

如果输入的内容复杂一些,比如“incoPat是什么时候成立的”,意图非常明确,但理解这句话对计算机来讲并非易事。比如“incPcat的成立时间”,这两句话的意思是一样的,对这里问题,我们上篇中介绍的知识图谱比较擅长,因为成立时间是实体的一个属性,可以直接给出答案。如果输入的再复杂一些,内容更长一些,挑战就会更大,当然可以简化成我们介绍过的话题模型,也能得到一些结果,但噪音会比较大。

如果输入是图片等多媒体信息,比较重要的是抽取特征,然后做特征之间的匹配。限于篇幅这里就不展开介绍了。

3. 搜索引擎的展望

我们说“智能”的一个比较重要的体现是反应应该是整体化的、场景化的,“搜索”是一个动作,虽然很专,但难免限制其价值发挥。笔者认为搜索引擎的未来发展会更偏专业化和场景化。从给出内容,到给出答案,到给出解决方案,再到一套服务,在这个发展过程中,搜索引擎的概念已经扩大了。

从技术角度讲,可以说搜索引擎是incoPat的核心功能之一,后面的文章中,我们会详细介绍incoPat作为可信好用的全球专利检索运营平台,如何做到专业化、场景化的搜索,如何打通各种形式的输入,如何提升用户的使用体验。

本文作者

ai搜索引擎哪个最好,如何让ai与搜索引擎合起来

姜庭欣 合享汇智CTO

ai搜索引擎哪个最好,如何让ai与搜索引擎合起来