0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

搜索和推荐的区别与联系

茶棚小二a 来源:未知 作者:van 2022-10-25 10:50 次阅读

搜索与推荐的区别

1. 场景需求不同

搜索的场景故名思义,就是用户提供想要寻找的内容的描述,系统返回给用户匹配到的结果,常见的场景如文字输入框的搜索,图片搜索,听音识曲,标签筛选等,看似很多场景,其实只是用户输入内容的形式不同。

推荐的场景我们常见的有各大App首页的个性化推荐(如猜你喜欢/每日歌曲推荐),选择页面的关联推荐(买了还买,看了还看,买了它的用户还买等等)等,推荐的场景更加的丰富,因为没有用户提供的内容的限制,场景更具多样性,推荐方法也多种多样,例如基于内容的推荐,基于用户行为的推荐,协同过滤等等。

各大互联网平台由于服务内容不同,平台成熟度的不同,对搜索和推荐的偏重程度也就不尽相同,但都是缺一不可。

例如对于房地产应用来说,用户目标明确,搜索服务会带来更大的购买力,但关联推荐会给用户带来更多的选择,同样也是不可缺少的。

对于短视频平台而言,由于用户较难通过文字或图片提供内容的描述,那么自然会偏重推荐服务。

对于电商在初期肯定是搜索服务带来了更多的购买率,当购买率到达瓶颈时,推荐带来的购买率就是突破瓶颈和继续发展的必要手段。

2. 输入输出不同


不论搜索还是推荐,实际上对于用户来说,都是一个提供服务的黑盒,它能够根据用户/物品/场景等信息,从候选物品的池子中选出与用户匹配的的物品列表。

不同的是对于搜索服务,还额外提供了用户对于自己诉求的描述信息(当然可能描述的并不准确)。

输入的区别天然的导致了用户对于结果的不同期待:

  • 个性化程度不同

    推荐系统更强调个性化,甚至更注重惊喜感。往往要在准确性和多样性之间作出权衡;搜索系统更强调相关性,如果搜索结果与用户的目标不符,用户的接受程度会很差,个性化对于搜索系统来说既没意义又有风险。

  • 排的更好与搜的更全

    对于推荐系统来说,排序更加重要,因为只有最开始的推荐结果吸引了用户,用户才可能向后浏览。

    对于搜索系统来说,召回更加重要,因为用户会主动向后浏览,以期望找到自己的目标,但如果最终没有找到,也就是搜的不全,就会有很差的用户体验。

  • 快速满足还是持续服务

    提到搜索系统,往往会提到马太效应,只有与用户搜索的结果更为匹配的物品才会被呈现给用户,让用户得到快速满足,那么满足需求的物品那么多,搜索的越准确,用户就越不会向后浏览,最终点击的热度就只会集中在少量的物品上。这也就是为什么广告最初诞生在搜索系统中的原因。

    提到推荐系统,往往会提到长尾效应,也就是让用户时刻保持新鲜感和惊喜感,考虑用户的长期兴趣,提高用户粘性,期望留住用户,并提供持续的服务,这也就是为什么刷短视频停不下来的原因。

  • 实时性与滞后性

    搜索的数据实时性要求是特别高的,数据常常要求秒级更新,例如一个商品已经没有货了就不应该被搜出来了。而推荐的数据很多是可以容忍天级更新的,由于推荐要考虑大量的用户行为信息,一定是具有一定滞后性的。

搜索与推荐的联系

1. 相同的本质

搜索与推荐本质上都是当前时代信息过载的产物,解决的根本思路都是通过匹配(召回)、排序为用户在过载的信息中挑选出用户想要的信息。只是根据业务场景的不同,在召回,排序阶段考虑的侧重点不同。

2. 搜索与推荐的协同作用

  • 推荐中的搜索

    推荐服务中基于内容的推荐实际上相当于一种无声的搜索,常常在实现时会采用搜索服务的中的倒排索引等技术,例如基于内容的推荐,常常是通过规则或推荐模型得到用户感兴趣的内容的标签,然后利用搜索服务的方法进行标签搜索和匹配即可得到最终的推荐列表。

  • 搜索中的推荐

    当搜索出来符合用户的数据量很多时,需要根据推荐服务中用户画像等结果帮助搜索服务匹配用户的需求。例如周一的晚上进行搜索得到的结果列表和周五的晚上进行搜索得到结果列表就会有所差异。

推荐与搜索常常在一个页面中协同为用户提供服务,例如搜索引擎搜索结果页面的关联推荐,电商软件搜索浏览页面的相关推荐等。

架构演进与架构统一

搜索架构的演进


一般而言,一个企业的搜索引擎,由于在初始阶段业务线不多,提供简单的搜索服务即可。随着业务的不断增多,对搜索需求的不断抽象和统一,逐渐可以发展为平台阶段,提供多数据源的写入与多业务的统一搜索能力,不同业务的不同需求可以灵活配置。

等到业务线不断增多,对接业务的工作占据了大部分的开发时间时,开发更加方便的运维与管理能力,帮入业务自助接入平台就能够进一步提高搜索功能开发的效率,此时搜索架构就进入到了运维更为便捷的云平台的阶段。

推荐架构的演进

对于推荐引擎,起步阶段一般会采用基于内容的推荐方法,由于数据不足,企业初期会基于业务侧提供的经验规则对物品和用户进行标注,然后通过在线匹配标签的方式进行推荐。继续发展,随着业务的不断丰富和迭代,会对推荐系统有更多的期望,当不断修改或增加经验规则却满足不了业务需求时,就需要一些基于模型的推荐方法以及个性化的推荐的服务了。再进一步,与搜索引擎一样,推荐引擎也需要对接多个业务线,向平台阶段发展,提供统一的公共服务,通过配置满足不同的业务线的需求。

架构统一

从上面的介绍和架构演进我们可以发现,推荐和搜索的架构有很多可以复用的地方,因而可以进行架构的统一。

  1. 流程上的统一:

    不论是搜索还是推荐,都会经历召回-排序-重排等流程,最终得到呈现给用户的物品列表,只不过流程中各个阶段的目标会不太相同。

  2. 数据与数据平台的复用:

    被搜索的物品和被推荐的物品是统一的,召回排序训练模型时所需要的埋点数据/用户行为数据等也是统一的,那么自然获取数据/处理数据的平台自然就是可以复用的。

  3. 算法与算法平台的复用:

    搜索和推荐发展到一定阶段,当简单的专家规则不再能够支撑复杂的搜索和推荐需求时,都会发展到基于模型进行召回排序的阶段,此时都需要根据用户数据/物品数据/埋点数据进行模型训练,只不过由于二者的训练目标不同,训练的模型的参数可能会不相同,但算法平台或者大家常说的机器学习/AI平台是可以复用的。

  4. A/B Test实验平台的复用:

    由于业务需求的不断变化,模型的不断更替,通过A/B Test平台能够通过分流的方式拿到真实的生产环境中的用户反馈,以帮助企业不断验证和优化搜索和推荐策略。

  5. 配置中心的复用:

    可以通过配置中心针对不同业务和服务配置不同的搜索和推荐策略,并且提供便捷的一键部署能力。

所以很多公司,在业务领域上搜索和推荐分属于不同的部门,但很多的公共的部分都有成熟的内部平台可以快速复用。

总结

本篇文章介绍了搜索和推荐的区别与联系,架构演进以及架构统一。我们都知道架构是因为需求的扩增而不断演进来的,例如从服务阶段发展到平台阶段,是因为要提高多业务的对接效率;从基于内容的推荐到复杂的融合在线用户画像和离线用户画像的个性化推荐,是因为简单基于规则或标签的推荐无法满足用户和业务侧的需求。

所以不要在一开始被过于复杂的架构绑住手脚,可以针对自身业务的需求进行搜索/推荐的简单架构设计,然后逐步演进和优化架构。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 推荐
    +关注

    关注

    0

    文章

    7

    浏览量

    2771
收藏 人收藏

    评论

    相关推荐

    socket与WebSocket的区别联系

    在现代网络通信中,Socket和WebSocket是两种常见的通信协议。它们在网络编程中扮演着重要的角色,但它们之间存在一些关键的区别联系。 1. 定义和基本概念 Socket(套接字
    的头像 发表于 11-04 09:19 373次阅读

    柔性机器人与刚性机器人区别联系

    柔性机器人和刚性机器人在结构、功能、应用场景等方面存在显著的区别,但也有一些联系。以下是它们的主要区别联系区别 1.结构材料 柔性机器
    的头像 发表于 07-21 15:37 600次阅读
    柔性机器人与刚性机器人<b class='flag-5'>区别</b>与<b class='flag-5'>联系</b>

    AI算法/模型/框架/模型库的含义、区别联系

    在人工智能(Artificial Intelligence,简称AI)的广阔领域中,算法、模型、框架和模型库是构成其技术生态的重要基石。它们各自承担着不同的角色,但又紧密相连,共同推动着AI技术的不断发展。以下是对这四者含义、区别联系的详细阐述。
    的头像 发表于 07-17 17:11 3695次阅读

    预训练和迁移学习的区别联系

    预训练和迁移学习是深度学习和机器学习领域中的两个重要概念,它们在提高模型性能、减少训练时间和降低对数据量的需求方面发挥着关键作用。本文将从定义、原理、应用、区别联系等方面详细探讨预训练和迁移学习。
    的头像 发表于 07-11 10:12 1016次阅读

    语音识别和自然语言处理的区别联系

    语音识别和自然语言处理是人工智能领域的两个重要分支,它们在很多方面有着紧密的联系,同时也存在一些明显的区别。本文将详细介绍语音识别和自然语言处理的区别联系。 一、语音识别(Speec
    的头像 发表于 07-05 10:09 1694次阅读

    生成式AI与神经网络模型的区别联系

    生成式AI与神经网络模型是现代人工智能领域的两个核心概念,它们在推动技术进步和应用拓展方面发挥着至关重要的作用。本文将详细探讨生成式AI与神经网络模型的定义、特点、区别联系以及它们在各个领域的应用。
    的头像 发表于 07-02 15:03 717次阅读

    神经元与神经网络的区别联系

    在人工智能和机器学习的领域中,神经元和神经网络是两个至关重要的概念。虽然它们都与人脑中的神经系统有着密切的联系,但在实际应用和理论研究中,它们各自扮演着不同的角色。本文旨在深入探讨神经元与神经网络之间的区别联系,以及它们在人工
    的头像 发表于 07-01 11:50 918次阅读

    运动控制和过程控制的区别联系

    和过程控制的区别联系。 运动控制 定义: 运动控制是指对机械设备的运动进行精确控制,以实现预定的运动轨迹、速度和加速度。这种控制通常涉及到位置、速度和加速度的精确控制。 关键技术: 伺服电机控制: 使用伺服电机来实
    的头像 发表于 06-13 09:19 2919次阅读

    PLC与DCS的区别联系

    至关重要的控制系统。它们各自具有独特的特点和优势,并在不同的应用场景中发挥着重要作用。本文将对PLC和DCS的区别联系进行详细阐述,以帮助读者更好地理解这两种控制系统的特性和应用。
    的头像 发表于 05-28 16:35 5541次阅读

    电路原理图和电路仿真图的区别联系

    电路原理图和电路仿真图是电子工程领域中两种常见的图形表示方法,用于描述电子电路的结构和工作原理。虽然二者在某些方面有所不同,但它们也有密切的联系。以下将从不同角度逐一介绍二者的区别联系。 定义
    的头像 发表于 04-21 10:17 6079次阅读

    fpga和单片机的区别联系 fpga和cpu区别

    fpga和单片机的区别联系 FPGA(现场可编程逻辑门阵列)和单片机在电子系统设计中都扮演着重要的角色,但它们之间存在明显的区别联系区别
    的头像 发表于 03-14 17:33 1114次阅读

    电势能和电势的区别联系

    电势能和电势是电学中两个重要的概念,它们在理论和实践中有着广泛的应用。电势能指的是电荷在电场中由于位置变化而具有的能量,而电势则是描述电场中某一点的电势能的大小。下面将详细阐述电势能和电势的区别
    的头像 发表于 02-26 14:02 3535次阅读

    栅格数据与矢量数据的区别联系

    等方面存在一些区别联系。 一、区别 形态上的区别: 栅格数据是由固定大小的像素网格组成,每个像素都具有特定的数值。整个数据集由一个矩阵来表示,每个像素位置都有特定的值。矢量数据则是由
    的头像 发表于 02-25 15:08 9660次阅读

    小白须知PCB、SMT、PCBA三者联系区别

    小白须知PCB、SMT、PCBA三者联系区别  PCB、SMT和PCBA是电子产品制造过程中的关键术语,它们分别代表了电路板、表面贴装技术和已组装的电路板。在这篇文章中,我们将详细探讨它们之间
    的头像 发表于 01-18 11:21 1912次阅读

    电感和电抗的区别联系

    电感和电抗的区别联系 电感和电抗是电学中的重要概念,它们在理论研究和实际应用中都有着重要的作用。本文将从定义、原理、特点和应用等方面详细介绍电感和电抗的区别联系。 一、电感的定义和
    的头像 发表于 01-03 17:26 3781次阅读