第3章 智能搜索技术
AIMatrix
2024年01月03日 20:13
收录于文集
共4篇
聊聊人工智能

在前2篇文章中,我们分别了解了人工智能产品的基本特性和实现逻辑,接下来我们将进入到技术主题相关的研习。因为如果我们不清楚基本的人工智能技术能力和边界,我们也就没有办法去设计具体的AI产品,因此,这也是打基础的一部分。

本篇我们将学习和了解智能搜索技术相关的概念、类型和应用。

智能搜索是使用人工智能技术,尤其是机器学习和自然语言处理,来提升搜索引擎的精度、相关性和用户体验的领域。

在进入智能搜索相关的探讨之前,我想我们应该首先对“搜索”本身共识一下。

3.1搜索技术的基本原理及组件

(1)数据索引与分词:数据索引是创建数据集的索引以便快速查询的过程,而分词是将文本分割成有意义的字或词的过程。在索引构建时,搜索引擎会对文本数据进行分词处理。对于英文,这通常意味着按空格和标点分割;而对于中文等语言,搜索引擎需要使用特定的分词算法来识别词汇。分词直接影响到索引的构建和查询处理的效果,是搜索引擎理解文本的基础。

(2)查询处理:

  • 分词处理: 用户输入的查询也需要经过分词处理,以便搜索引擎理解和匹配。

  • 查询理解: 搜索引擎分析查询的意图和上下文,确定最相关的数据索引进行检索。

(3)相关性排序:

  • 算法评估: 搜索引擎使用各种算法(如PageRank)来评估每个结果的相关性和权威性,并进行排序。

  • 用户行为: 搜索结果的排名也可能会受到用户行为的影响,如用户的点击率等。

    ​随着技术的发展,搜索引擎的分词技术和算法也在不断进步,提供了更加智能和个性化的搜索体验。

我们不妨以大家身边常见的需要“搜索”的产品为例子,对比下技术特点>>>

3.2 搜索的命中方式

  • 关键字匹配:最基础的搜索方式,通过匹配用户查询中的关键字与文档中的词项来确定相关性。

  • 语义理解:更高级的搜索技术,理解查询和文档的语义内容,即使没有直接的关键字匹配也能找到相关结果。

例如:在搜索“苹果的营养价值”时,智能搜索不仅返回包含“苹果”和“营养价值”字眼的文章,也会返回关于苹果健康益处的相关内容。

3.3 SMT与词义相似度的概念

  • SMT(语义匹配技术):用于确定两段文本在语义上的相似度。

  • 词义相似度:度量单词之间意义上的相似度,通常基于词向量来计算。

例如:在搜索时,SMT技术可以识别“快速”和“迅速”在某些上下文中具有相似意义,从而提升搜索结果的相关性。

3.4 词向量与Word2Vec的概念

  • 词向量:将词语表示为数值向量,常用于捕捉单词之间的语义关系。

  • Word2Vec:一种流行的词向量生成技术,通过神经网络模型学习单词的向量表示。Word2Vec是一种广泛使用的文本表示技术,它能够将词汇映射到向量空间中,使得语义上相似的词汇在向量空间中的距离也相近。这种技术对于很多自然语言处理(NLP)任务都是非常有用的,比如文本分类、情感分析、机器翻译等。关于它的详细介绍可参见官方指南https://www.tensorflow.org/text/tutorials/word2vec。

例如:使用Word2Vec技术,单词"King"和"Queen"的向量将在多维空间中彼此接近,反映了它们在语义上的相似性。具体说明如下>>>

用向量来表示词汇会句子可能的样子是:

[ 89 270 0 0 0 0 0 0 0 0] => ['first', 'citizen', '', '', '', '', '', '', '', '']

[138 36 982 144 673 125 16 106 0 0] => ['before', 'we', 'proceed', 'any', 'further', 'hear', 'me', 'speak', '', '']

[34 0 0 0 0 0 0 0 0 0] => ['all', '', '', '', '', '', '', '', '', '']

[106 106 0 0 0 0 0 0 0 0] => ['speak', 'speak', '', '', '', '', '', '', '', '']

[ 89 270 0 0 0 0 0 0 0 0] => ['first', 'citizen', '', '', '', '', '', '', '', '']

假设我们有以下几个词汇:“王后”,“女王”,“国王”,“男人”,“女人”。我们想要通过Word2Vec技术来学习这些词汇的向量表示。

  • 模型训练:首先,我们会用大量的文本数据来训练Word2Vec模型。在训练过程中,模型会尝试理解每个词汇的上下文信息,并据此来学习词汇的向量表示。这样,语义上相似或者在相同上下文中出现的词汇,其向量表示会比较接近。

  • 向量空间:经过训练之后,每个词汇都会被转换为一个多维空间中的向量。假设我们在二维空间进行表示(实际上Word2Vec通常使用更高维的空间以捕捉更复杂的语义关系),我们可能会得到如下图所示的分布:

(女人) ---- (女王) ---- (王后)

|

(国王) ---- (男人)

    在这个向量空间中,“女王”和“王后”靠得很近,因为它们在语义上相似;同样,“国王”和“男人”也靠得很近。而“国王”和“女王”作为统治者的角色,也在向量空间中相对接近。

  • 应用示例:有了这些词汇的向量表示后,我们就可以进行很多有趣的操作了。比如,我们可以计算词汇之间的相似度,找出与某个词汇最相似的词汇,或者进行词汇之间的类比推理。例如,给定“国王”减去“男人”再加上“女人”,最相似的词可能会是“女王”,这种操作展示了Word2Vec在捕捉和表达语言的丰富性和微妙性方面的能力。

3.5 利用DNN优化搜索结果的方法

DNN(深度神经网络)是指通过多层次的非线性变换学习复杂的特征表示,用于提高搜索结果的相关性和准确性。当我们谈论深度神经网络(DNN)在搜索引擎中的应用时,我们是在探讨它们如何帮助解析和理解用户查询的深层次意图以及文档内容的语义信息。DNN在智能搜索中的应用说明如下:

(1)理解用户查询的意图:

  • 查询解析:DNN可以分析查询中的每个词汇,甚至是整个查询的结构,来捕捉用户的查询意图。这意味着DNN不仅仅在乎单词的字面意思,还在乎它们在特定上下文中的含义。

  • 意图分类:DNN可以将查询分类为不同的意图类型,如信息获取、交易、导航等。这样搜索引擎可以更准确地理解用户想要什么,并提供相应的结果。

(2)理解文档的深层次语义:

  • 语义编码:DNN能够将整个文档或网页内容转化为语义编码,即捕捉其核心主题和含义的向量表示。这种表示不仅包含了关键词信息,还包含了词与词之间的关系、句子结构等深层次信息。

  • 相关性匹配:利用DNN处理后的查询和文档语义编码,搜索引擎可以更精确地评估查询与文档之间的相关性。它不再只是简单地匹配关键词,而是深入理解两者在语义上的匹配度。

举例说明>>>

假设用户输入了查询:“Apple的最新手机在哪里可以买到?”在这个查询中,用户的意图不仅仅是寻找“Apple”或“手机”的相关信息,而是想要知道如何购买最新的Apple手机。

在没有DNN的情况下,搜索引擎可能只会根据关键词“Apple”、“最新”、“手机”、“买”来提供结果,可能会返回一些关于Apple手机的新闻或者旧款手机的购买页面。

但是,当使用DNN时,它可以更深入地理解查询:

  • 解析查询:DNN识别“Apple的最新手机”是一个整体概念,表示一种特定的产品类型。

  • 识别意图:DNN进一步理解用户的实际意图是“购买”行为,而且是针对“最新”的Apple手机。

  • 匹配文档:在评估文档时,DNN不仅寻找包含这些关键词的页面,还会寻找语义上匹配用户购买意图的页面,如最新Apple手机的官方销售页面或者信誉良好的电商平台。

因此,借助DNN,搜索引擎能够提供一个直接的、最相关的销售页面作为搜索结果,而不是仅仅提供包含相关关键词的文档列表。这样的搜索结果更贴近用户的实际需求,提高了用户满意度和效率。

3.6 利用CNN计算语义相关性的方法

    CNN(卷积神经网络)是深度学习技术中的一种,它在图像处理领域取得了巨大成功。然而,CNN同样可以被应用于文本处理任务中,特别是在理解语义相关性和捕捉局部语义信息方面。在搜索引擎中,CNN可以帮助提升搜索结果的准确性和相关性。CNN在智能搜索中的应用说明如下:

(1)捕捉局部语义信息

  • 局部特征提取:在文本处理中,CNN通过卷积层捕捉局部特征,如关键短语或句子结构。这些局部特征可能是查询和文档相关性判定的重要线索。

  • 窗口技术:CNN通常使用一定大小的窗口在文本上滑动进行卷积操作,从而捕捉到词汇的局部上下文信息。这对于理解短语的语义特别有用。

(2)计算查询和文档间的语义相关性

  • 特征映射:CNN通过多个卷积层和池化层创建高级特征映射,这些映射代表了文档和查询中的深层次语义信息。

  • 相似度度量:利用CNN处理得到的特征,搜索引擎可以更精确地计算查询和文档间的语义相似度,而不仅仅是基于单词的匹配。

举例说明>>>

假设用户查询为:“快速简单的意大利面食谱”。在没有CNN的情况下,搜索引擎可能会依赖于关键词“快速”、“简单”、“意大利面”和“食谱”进行匹配,返回所有包含这些关键词的文档,不论这些词汇的上下文和组合。

使用CNN之后,情况会有所不同:

  • 局部上下文捕捉:CNN能够识别“快速简单”作为一个整体短语表达了对食谱的要求,而不是单独的两个词。

  • 语义理解:它还能够捕捉到“意大利面食谱”作为一个特定类型的菜肴,而非简单地理解为“意大利面”和“食谱”的组合。

  • 相关性评估:最终,CNN通过这些高级特征帮助搜索引擎评估候选文档与查询的语义相关性,优先返回那些不仅包含所有关键词,还在语义上与用户查询紧密相连的食谱。

因此,利用CNN计算语义相关性,搜索引擎可以更准确地识别和返回与用户查询语义上真正相关的文档,提供更满意的搜索结果。

3.7 利用RNN构建语言模型的方法

    RNN(递归神经网络)是处理序列数据的一类神经网络,能够在时间序列上进行学习和推理,适用于构建语言模型,特别适合于文本等序列化信息的任务。在自然语言处理(NLP)中,RNN 被广泛应用于构建语言模型,这些模型可以预测下一个词或字符,从而在智能搜索中实现自动补全或搜索提示功能。以下是对这一应用的详细解释:

(1)语言模型的作用:

预测下一个词:语言模型的主要任务是给定一系列词后,预测下一个最可能的词。这种预测基于统计概率,考虑到前面的词对后续词的影响。

生成文本:良好的语言模型不仅可以用来预测单个词,还可以生成连贯的文本序列。

(2)RNN特点在语言模型中的应用:

  • 记忆能力:RNN的设计使其能记住前面的输入信息,并利用这些信息来影响后续的输出。这对于理解和预测具有语境依赖性的语言特别重要。

  • 处理任意长度的序列:RNN可以处理任意长度的输入序列,这使得它适合处理语言中的长句子或长查询。

(3)搜索提示和自动补全的应用:

搜索提示>

    当用户开始输入搜索查询时,搜索引擎可以实时提供一系列建议词或短语,帮助用户快速完成输入。RNN语言模型可以实时分析用户已经输入的词,并预测下一个可能的词,这些预测可以作为搜索提示直接显示给用户。

研习到这里的时候,不禁心中有疑问,因为大预言模型(例如ChatGPT背后的模型)也是预测下一个Token。既然RNN语言模型和LLM大语言模型都是用于预测文本的下一个词或词组,那它们之间有什么不同?


补充探究:RNN和LLM之间的比较分析>>>

   RNN语言模型和LLM(如ChatGPT)各有优势和应用场景。RNN因其结构简单和对资源的相对较低需求,在一些实时性要求高或数据量较小的场景中依然有其适用性。而LLM则在文本理解和生成方面展现出极大的潜力,能够处理复杂的语言任务和长文本,适用于需要高质量文本输出的场景。以ChatGPT为例,由于其广泛的预训练和强大的生成能力,可以用于各种文本生成任务,包括聊天、写作、翻译、总结等,在理解长上下文和复杂的用户意图方面表现更出色,可以进行更深层次的交互和更连贯的文本生成。


自动补全>

    自动补全是一种更积极的辅助输入方式,它可以自动完成用户的输入,用户通常可以选择接受或继续输入。基于用户至今的输入,RNN语言模型预测最有可能的下一个词或词组,并将其作为补全的候选,用户每输入更多的字符,候选就会更新。

举例说明>>>

    假设用户想要搜索有关健康饮食的信息,他们开始输入“Healthy eating is...”。这时,RNN语言模型可以基于“Healthy eating is”这个序列预测下一个词,可能的候选包括“important”、“beneficial”、“essential”等。这些建议可以立即显示给用户,作为搜索提示或自动补全的候选项。如果用户选择了其中一个,如“important”,搜索引擎可以继续提供更多的补全选项或相关搜索建议,如“Healthy eating is important for overall health”。

    这样的智能搜索体验大大减少了用户输入的工作量,提高了搜索的效率,并能引导用户进行更精确的查询。通过不断学习和优化的RNN语言模型,智能搜索的相关性和用户满意度可以持续提高。

3.8 基于知识图谱的知识推理方法

  知识图谱是一个大规模语义网络,包含实体、属性和它们之间的关系,用于支持复杂的知识推理。例如:

    知识推理则是基于图谱结构进行逻辑推理,从而在缺少直接数据支持的情况下得出结论。例如:用户搜索“托马斯·杰斐逊的著作”,知识图谱能够推理出与杰斐逊相关的书籍,即使这些书籍的文本中并未直接提到“托马斯·杰斐逊”。


补充探究:构建企业知识图谱的数据库技术和表字段设计>>>

    继续以企业图谱为例子,它是一种利用图形数据库技术构建的,能够表现企业间关系和属性的复杂结构。以爱企查、企查查、天眼查这类产品为例,它们的数据库设计需要支持复杂的关系网络,同时保证查询效率和数据一致性。以下是这些产品的数据库技术和表字段设计的一般性描述。

(1)数据库技术

图数据库:这类产品通常使用图数据库如Neo4j、Amazon Neptune或Microsoft Azure Cosmos DB等。图数据库优于传统的关系型数据库,因为它们能更自然地表达实体之间的关系,如企业间的投资、股权结构等。

  • 高性能和可扩展性:因为企业数据量大,且实时更新频繁,数据库需要具备高性能和可扩展性。

  • 数据一致性和安全性:保证数据的准确性和安全性是至关重要的,因此数据库需要有强大的数据一致性和安全机制。

(2)表字段设计(推测)

    企业基本信息表:存储企业的基本信息,如企业名称、注册号、法定代表人、注册资本、成立日期等。

  • 企业名称

  • 注册号/统一社会信用代码

  • 法定代表人

  • 注册资本

  • 成立日期

  • 企业类型

  • 经营状态

  • 注册地址

  • 经营范围

关系表:描述企业间的关系,如股权结构、投资情况等。

  • 投资方企业ID

  • 被投资方企业ID

  • 投资比例

  • 投资日期

高管信息表:存储高管的信息,包括姓名、职位等。

  • 高管姓名

  • 职位

  • 任职公司

变更记录表:企业的变更记录,如法人变更、资本变更等。

  • 变更项目

  • 变更前内容

  • 变更后内容

  • 变更日期

其他相关表:还包括但不限于诉讼信息表、专利表、商标表、资质证书表等,存储企业相关的法律和知识产权信息。不再逐一展开。


知识图谱的局限性

  • 覆盖面限制:现有知识图谱可能无法覆盖所有领域的知识,特别是新兴或小众领域。

  • 更新频率:知识图谱的更新可能滞后于知识本身的发展,导致信息过时。

  • 复杂性管理:构建和维护大规模知识图谱极具挑战性,需要大量资源。

3.9 语音搜索

   语音搜索是一种用户可以通过语音输入来进行搜索的技术,它结合了语音识别技术和自然语言处理(NLP)技术,使得用户无需通过键盘输入就能进行查询。这种技术在移动设备和智能家居设备上变得尤其流行。

(1)语音识别技术

  • 技术原理:语音识别技术首先将用户的语音输入转化为文本。这通常通过收集声音信号,然后将其数字化和分析,使用声学模型(如隐马尔可夫模型或深度神经网络)来识别语言中的单词和短语。

  • 特点:近年来,语音识别准确度的提升使得语音搜索变得更加实用,尤其是在嘈杂环境下的识别能力的提升。

(2)自然语言处理(NLP)

  • 技术原理:NLP技术用于理解和解析用户通过语音输入的查询。它不仅识别单词,还分析查询的结构和语义,以确定用户的真实意图。

  • 特点:NLP技术使得语音搜索能理解更加复杂和自然的语言输入,提供更准确的搜索结果。

举例说明>>>

Google Assistant

  • 产品介绍:Google Assistant是Google提供的虚拟助手,用户可以通过语音命令进行交互,执行包括搜索在内的多种任务。

  • 技术实现:Google Assistant使用了Google的先进语音识别和NLP技术,可以理解多种语言的语音输入。当用户提出查询时,它不仅能准确识别语音,还能理解用户的查询意图,并提供相关的信息或执行相关的任务。

Apple Siri

  • 产品介绍:Siri是Apple的虚拟助手,允许用户通过语音与其设备进行交互,包括进行搜索。

  • 技术实现:Siri结合了语音识别和自然语言处理技术,用户可以用自然的方式询问问题或下达命令。Siri还能根据用户的使用习惯和偏好来个性化回应。

Amazon Alexa

  • 产品介绍:Amazon Alexa是Amazon开发的虚拟助手,被广泛应用于Echo系列智能扬声器中。用户可以通过语音与Alexa交互,进行搜索和其他多种功能。

  • 技术实现:Alexa使用Amazon的语音识别和NLP技术,能够理解和回应用户的语音指令。它也能与多种服务和设备集成,提供丰富的功能。

    语音搜索通过提供一个快捷、自然的搜索方式,大大提升了用户体验,尤其是在移动和家居环境中。随着语音识别和自然语言处理技术的不断进步,语音搜索变得更加准确和智能,能够理解并处理更复杂的查询。从Google Assistant到Siri再到Alexa,各大科技公司都在不断推动语音搜索技术的发展,带来更便捷、更智能的用户交互方式。

3.10 图像搜索

    图像搜索是一种允许用户以图像作为查询的搜索技术,它使用图像识别技术来找到相关信息或相似图像。这种技术在电子商务、版权检测、内容发现等多个领域有着广泛的应用。

(1)图像识别技术

  • 技术原理:图像识别技术通过分析图像内容,识别出图像中的对象、场景、人物等信息。这通常涉及特征提取和匹配过程,其中特征可以是颜色、纹理、形状或更复杂的模式。

  • 特点:近年来,随着深度学习技术的发展,图像识别的准确度大幅提升,能够识别和理解图像中的复杂内容。

(2)相似度匹配

  • 技术原理:在用户上传查询图像后,图像搜索系统会提取其特征,并在数据库中搜索具有相似特征的图像。

  • 特点:相似度匹配不仅基于图像的外观相似度,还可能考虑图像的语义相似度,即使在视觉上不完全相同,但含义或主题相似的图像也能被检索到。

举例说明>>>

Google Images

  • 产品介绍:Google Images允许用户上传图片进行搜索,可以找到相似图片、相关网页、不同尺寸的同一图片等。

  • 技术实现:Google Images使用先进的图像识别和深度学习技术,提供准确的图像搜索结果。用户可以通过上传图片或输入图片URL进行搜索。

Pinterest Visual Search

  • 产品介绍:Pinterest的视觉搜索功能允许用户选择图片中的一部分进行搜索,找到风格或主题相似的图片。

  • 技术实现:Pinterest使用机器视觉技术来理解图片内容和风格,提供与用户选定部分相似的图片推荐。

Amazon StyleSnap

  • 产品介绍:Amazon StyleSnap是Amazon应用内的一项功能,用户可以上传服装图片,系统会推荐相似的产品。

  • 技术实现:StyleSnap利用深度学习和计算机视觉技术理解服装的风格、颜色和设计,从Amazon的庞大商品库中找到类似项。

当然,中国的互联网公司也开发了一系列创新的图像搜索技术和应用,例如:

百度图片搜索

  • 产品介绍:百度图片搜索允许用户上传图片进行搜索,可以找到相似图片、相关新闻、图像来源等信息。

  • 技术实现:百度利用其在图像识别和深度学习领域的技术积累,为用户提供准确的图像搜索结果。百度的图像搜索技术也支持反向图片搜索,即用户可以通过上传图片来找到图片的其他实例或相关信息。

淘宝拍立淘(图片搜索购物神器)

  • 产品介绍:淘宝的拍立淘功能允许用户通过拍照或上传图片来搜索淘宝网站上的相似商品。

  • 技术实现:拍立淘使用图像识别技术来分析用户上传的图片,识别图片中的商品,然后在淘宝的海量商品数据库中快速找到相似或相关商品。这项功能在服装、家居装饰、电子产品等多个领域特别有用。

    ​根据云栖社区的介绍,拍立淘流程主要分为离线流程和在线流程,主要步骤如下:

离线流程:主要是指拍立淘每天离线构建索引库的整个流程,涉及选品、离线抠图、离线抽取特征、构建索引等环节。执行完毕之后,每天会在规定时间完成线上图库的更新。

在线流程:主要是指用户一张query图上传之后,到最后返回结果的整个中间过程,包含在线类目识别,在线抠图,在线特征提取和在线索引查询等关键步骤。

   图像搜索通过允许用户以图像作为查询输入,大大拓展了搜索的可能性,提供了一种直观且高效的信息检索方式。无论是找到相似图片、了解图片内容还是发现相关产品,图像搜索技术都能够提供强大支持。随着技术的发展,图像搜索变得越来越智能和准确,为用户提供了更加丰富和便捷的搜索体验。这些产品不仅提升了用户体验,也推动了电子商务、内容发现和多媒体管理等领域的技术进步。

3.11 多模态搜索:

    多模态搜索是指结合文本、图像、声音等多种模式的信息来进行搜索的技术。它可以提供更丰富的用户体验和更精确的搜索结果,因为它能够从多个角度理解用户的查询意图和需求。

多模态搜索的技术原理

  • 数据融合:多模态搜索首先需要对来自不同模式的数据进行融合,包括文本数据、图像数据、声音数据等。这可能涉及到特征提取、特征匹配和语义理解等技术。

  • 查询处理:在多模态搜索中,系统需要能够同时处理来自不同模式的查询输入,并综合这些信息来理解用户的真实意图。

  • 相关性评估:系统需要评估多种类型的内容与用户查询的相关性,并综合这些信息来提供搜索结果。

多模态搜索的特点

  • 丰富的查询输入:用户不仅可以使用文本查询,还可以使用图像、声音或其他模式的数据进行查询。

  • 综合的理解能力:多模态搜索可以从多个角度理解用户的查询意图,提供更全面的搜索体验。

  • 精确的搜索结果:通过综合不同模式的信息,多模态搜索能够提供更精确和相关的搜索结果。

举例说明>>>

Baidu EasyDL

  • 产品介绍:Baidu EasyDL是百度提供的一款多模态学习平台,支持开发者构建自定义的多模态识别应用。

  • 多模态应用:开发者可以使用该平台结合图像、文本、声音等数据构建应用,比如商品识别、客服机器人等。

更多具体介绍可参见官方文档:https://ai.baidu.com/ai-doc/EASYDL/pk38n3odv

Microsoft Video Indexer

  • 产品介绍:Microsoft Video Indexer是一款视频内容分析工具,它可以提取视频中的文本、语音、人物和场景等信息。

  • 多模态应用:Video Indexer结合视频中的图像和声音信息,提供包括视频搜索、内容标注、情感分析等多种功能。

更多具体介绍可参见官方文档:https://vi.microsoft.com/zh-Hans

    多模态搜索通过结合文本、图像、声音等多种模式的信息,提供了更丰富和准确的搜索体验。这种技术能够从多个角度综合理解用户的查询意图,提供更全面的搜索结果。随着技术的发展,多模态搜索将在电子商务、内容管理、人机交互等多个领域发挥更大的作用,为用户带来更便捷、更智能的信息检索方式。

  通过以上技术的结合和应用,智能搜索正在不断地超越传统的关键字匹配模式,向更深层次的语义理解和智能交互发展。这些技术不仅提升了搜索的准确性和效率,也极大地丰富了用户的搜索体验。


本期关于智能搜索技术的研习就到此结束。

下一期,我们将探讨知识推理与规划技术相关的概念和知识。