总结:推荐策略产品经理实操(三):推荐系统与搜索系统的区别——整体逻辑流程对比
优采云 发布时间: 2022-10-31 01:27总结:推荐策略产品经理实操(三):推荐系统与搜索系统的区别——整体逻辑流程对比
小编介绍:推荐的目的主要是根据用户的行为偏好推荐用户可能喜欢的东西;搜索是用户为特定目的进行检索,前者是被动获取,后者是主动获取。具体来说,推荐系统与搜索系统有何不同?在这篇文章文章中,作者从整体逻辑层面总结了推荐系统和搜索系统的区别,一起来看看吧。
根据我平时接触的推荐和搜索业务,简单梳理一下这两个业务的流程,扩充知识点,让有需要的同学快速了解两个系统的基本逻辑。
1.推荐系统逻辑
推荐的本质是解决信息过载造成的“选择难”,让系统可以帮助用户在自己选择物品之前过滤掉最想要的信息。
以下是用户打开APP进入推荐页面时推荐系统返回用户推荐列表的整体流程:
整个过程的关键逻辑主要在召回、排序和重排这三层。本节专门介绍这部分。至于AB实验平台上的逻辑,后面会有专门的章节对AB实验进行详细讲解。
1.召回
什么是召回?大多数人会很快解释:召回是从素材库中获取一小部分素材,而这小部分素材会被模型用于后续环节的评分和排序。
在这里,让我们更直白地理解它。回忆是钓鱼。在向用户推荐的时候,不可能把平台上的所有商品都拿出来,按型号排序。这种情况下,计算时间会很长,资源消耗会很大,不合理。. 这时候就需要到平台内容库中去捞出最适合用户的物品,也就是我们所说的召回。
通常,从数十亿或数千万的数据中捞出数千个项目。这一步recall主要是处理大量数据,要求步骤够快,模型不能太复杂,使用的特征相对排序要少。
当然,召回率也是确定个性化推荐的基础。目前大部分召回都是多渠道召回(这里可以理解为通过不同的限制钓鱼)。
多次召回的好处:
常见的召回路径(策略都需要数据支持并且与场景密切相关):
1)协同过滤
基于用户的协同过滤、基于物品的协同过滤;简单来说,喜欢内容A的用户也喜欢游戏B(这种召回方式比较老,现在很少有公司用)。
协同过滤与用户和游戏有关。矩阵,你玩过就是1,没玩过就是0。没玩过的游戏很多,很多都是0,所以做矩阵分解:用户矩阵和商品矩阵,每一列是一个用户向量或商品向量。
2)word2vec(词向量)
(第一次用在 NLP 中)你需要获取用户的游戏顺序。每个游戏都是 one-hot 编码的,并且会有一个神经网络模型。输入是A→B→?→D→E,输出为C,或者A→B→C→D预测E。
模型中间的隐藏层称为词向量,与游戏相关,与用户无关,取数据时与用户相关(向量使用:用户与游戏相似度计算:用户A与游戏B向量做相似度计算;用户和游戏B用于相似度计算;用户、游戏和游戏)。
3)内容匹配召回
这块主要是和标签(类别)召回有关。例如,如果用户玩过王者荣耀,可以尝试回忆和推荐一款类似王者荣耀的吃鸡游戏。这是基于内容标签的召回;或者如果用户玩过《植物大战僵尸1》,那么你也可以尝试推荐《植物大战僵尸2/3》等,根据知识储备进行匹配。
4)高热召回(热召回)
这种召回方式主要是新用户使用的。新用户刚来APP,获取不到太多用户信息,没有任何行为。启动; 用户的冷启动这里就不做太多了,后面会有专门的部分介绍。
5)基于上下文的召回
这与用户在APP中行为的时间和地点有关。比如游戏在白天的休息时间推荐小游戏,在晚上的休息时间推荐大游戏和游戏时长较长的游戏等。在其他垂直品类中都有体现。如果是,就像打车类别对用户位置信息的敏感度,用户阅读新闻的时间等等。
6) 级联召回
一般召回是用户点击做正样本,级联就是把排名靠前的游戏作为正样本,后面的游戏做负样本,使用召回模型。
7) 其他召回
根据业务需要,还会有其他召回,每个渠道的召回次数也不同。比如为了让新用户快速停留,新用户的高热召回占比很大,但对于老用户来说,为了挖掘用户兴趣的多元化,高热召回占比会比较小.
召回层也有模型,特别是对于电商业务,召回模型会更加复杂。
2. 排序 - 粗/细
粗分类和细分类都是分类。一种要求快速排序,尽可能消除错误召回,另一种要求根据用户和业务需求进行精细准确的排序。
粗略排序介于召回和精细排序之间。一般需要从召回的10000/1000级item集合中选择更符合业务需求的千/百个item,送至细分类层。当平台内容较少时,很少做粗排序,因为粗排序最大的作用就是快速计算和截断召回量,让召回数据更准确,更适合推送给用户。一般粗选需要在20ms内完成。
如果没有粗排序模型,也可以在召回层和细排序层使用一些策略将数量截断为细排序,这也是一种粗排序方法,比如按点击转化率截断。
细化处理需要少量的数据,这就需要更精确的模型。通常会使用一些复杂的模型,使用更多的特征。
粗排序层和细排序层可以用一个模型打分,也可以多个模型打分合并再排序。大多数业务需求是多种模型。根据业务需要,模型的目标不同,但基本上都有点击模型(ctr)。
下面说说模型是如何通过单独点击模型进行评分和排序的。在谈论排序之前,你需要了解两个概念——标签和特征。这两个数据是ctr模型的主要训练数据。
label:以ctr模型为例。每个模型都有一个标签(模型的预测目标)。ctr 模型的标签是用户是否点击了当前暴露的项目。如果有曝光点击,则为正样本。label=1,有曝光。如果没有点击,就是负样本,label=0。
特征:是特征。特征主要分为三类:用户特征、物品特征、用户与物品的交集特征。
可以看出,特征是我们可以在推荐系统中采集到的数据,包括离散特征(如男女、分类、整数等)和连续特征(如点击率、自然数)。
在计算机只能处理数字代码的前提下,对这些信息进行编码和转换。大多数推荐系统对离散特征使用 one-hot 或嵌入。使用 one-hot 编码。
(大多数公司使用的离散特征多,连续特征少。有时连续特征也被处理成桶——分割,实际上是变相处理成离散数据。)
*注意,one-hot encoding 会将特征处理为 [0 0 0 0 1],而嵌入会将特征处理为 [0.2 0.4 0.6 0.8]
在明确了特征和标签的定义后,将构建相应的训练样本:
因此,CTR模型在训练时的输入为:特征向量及其对应的0、1标签。
预测的时候,输入只是一个特征向量,模型输出一个0到1之间的数字,代表估计的CTR值,可以用来排序。因此,在建模之后,CTR估计问题本质上是一个二分类问题。
这是其中一个模型的评分逻辑。多模型评分与融合的精细排序层会对多个模型的评分进行评分。每个模型的重要性不同,所以分数会有权重。权重计算相乘后就是该项的排序分数。每个项目按照分数从高到低排序,得到一个细化的分数表。
3.重新排列(洗牌/重新排列)
这一步是推荐的最后一步。每个公司的名称可能不同。有的叫重排,有的叫混排,学术点叫重排;不同的是,这一步更贴近业务需求,产品经理的发挥空间相对更大。
在做一些侵入式服务时,需要召回并配合重排层。例如,当您对新内容进行冷启动时,您需要给没有数据的内容一个暴露的机会。这时候就需要使用重排和强制了;或者做一些分解逻辑的时候,比如连续的7个内容中不能有相似的内容,或者连续的10个内容中最多有2个相似的内容,以此类推。
二、搜索系统逻辑
当你在搜索框中输入一串搜索词时,页面会显示你想要的结果,但是逻辑很复杂。这里我认为搜索是一个比推荐相对复杂的业务:
整个流程的关键逻辑还包括召回、排序、重排,但是查询处理部分更重要,因为召回-排序-重排部分在上面已经详细介绍过了,这里就不过多解释了,只重点介绍on 在查询处理中。
查询主要由四部分组成:查询预*敏*感*词*装”点击搜索,则用户查询为“秋冬装女装”)。
1)查询预处理
这一步主要是对用户在搜索框中输入的搜索词进行数据清洗。
搜索词基本上有长度限制。一是限制输入框中搜索词的长度,二是在查询预处理时截断搜索词。例如,如果搜索词的长度超过 20 个词,则只会截取前 20 个词。
由于用户输入的搜索词不规范,不同的用户往往在地域、文化水平、清晰度等方面对同一诉求的表达方式存在差异,搜索词会进行转换:大小写转换,如《太空狼杀3d》 》 《版本》转换为《太空狼人杀3D版》;简繁体转换,如“太空狼杀”转换为“太空狼杀”;
这一步查询预处理是根据用户主动输入的搜索词,对高频查询查询检索到的常见问题进行处理,根据问题解决本质问题。
2)意图识别
意图识别的本质是一个分类问题。主要是根据业务需求对用户意图进行分类。它分为几类。采集每个意图类别下的常用词用于模型训练。模型准确率越高,意图识别效果越好。意图识别在搜索系统中至关重要,它在很大程度上决定了用户搜索的质量。
* 意图识别的困难:
输入不规则;如上所述,不同用户对相同内容的认知存在差异,输入的搜索词也存在显着差异;数据冷启动,用户行为少,数据少,意图获取会相对不准确;多意图识别无法定位精确意图。例如,当用户搜索“汽车”时,无法知道他们想要的是玩具车、真正的四轮汽车还是*敏*感*词*;行业没有固定的评价标准,只有不同的业务直接划分模型的分类准确率是通过自身划分的分类计算出来的,而一些业务指标如ctr、cvr、pv等指标都是用来评价的整个搜索系统,
3)查询分词
查询分词主要是对用户的搜索词进行分词,根据分词进行重写和后续召回逻辑,不同业务的分词方法和免费分词库有所不同。
4)查询重写
这一步主要是针对用户搜索词的纠错,以及同义词扩展召回。需要做一个纠错词汇或者纠错模型,比如把“火才人”改成“火柴人”,把“超级猫狮子座”改成“超级马里奥”,把“校园”扩展成“学校”。”、“老师”、“教室”、“同桌”等,同义词扩展中会出现一些杂音。需要根据实际业务自定义头部搜索词的同义词。
推荐和搜索的区别
从上面对推荐系统和搜索系统整体流程的描述可以看出,推荐和搜索是密切相关的,但也存在一些差异。
1.主动或被动行为
本质问题的本质解决是搜索和推荐都是为了解决信息过载的问题。它们都是获取信息的方式。一种是主动获取——搜索,一种是被动获取——推荐:推荐行为是被动的,要求不是很明确。会有更多的个性化和多样性,而搜索需求是主动的和相对具体的,查询范围相对较小。
2、使用场景的目的
推荐的本质是让用户在APP里留住,让用户可以使用更长时间,用户也可以在第二天留住,逐步产生广告收入和其他收入,让用户消费更多。有必要分析用户的历史。行为和当前实时行为场景等,推荐系统自动生成查询条件,快速给出推荐列表,属于静默搜索。
搜索更像是张小龙早期口中的微信。你需要跑出去离开。搜索的本质是帮助用户快速找到自己需要的结果并完成转化离开。我明白一个好的搜索算法需要做的是让用户快速使用,高效查询,减少停留时间。
3、互为成就
从过程来看,搜索是有条件的推荐,推荐是自发的主动搜索;可以从用户查询中采集大量个性化推荐需求,推荐数据可以推荐与用户搜索内容相似的内容,并进行数据融合。当用户的搜索目的不明确时,使用好的推荐,结合意图识别和推荐模型,在类别下实现更准确的推荐,是提升用户体验的一种手段。
以上是我在实际项目中对推荐和搜索场景的逻辑回顾。如果有感兴趣的同学,欢迎私聊。
来吧,打工人!
本文由@王九蛋原创发表,大家都是产品经理。未经作者许可,禁止转载。
标题图片来自 Unsplash,基于 CC0 协议。
解决方案:【流程图模式】第一个采集案例
浏览 70023 次
总结:本教程教你如何使用流程图模式快速免费采集数据下载软件
流程图模式是优采云采集器团队为满足用户丰富的个性化数据采集需求而开发的一种操作模式。
该模式不仅支持可视化的网页选择操作,而且完全符合手动浏览网页的思维方式。用户只需打开采集的网站,鼠标点击几下,即可自动生成复杂数据采集规则;
同时支持积木式的采集组件拼接操作。通过可视化封装复杂的采集编码过程,开发采集规则就像搭积木一样简单,零基础就可以快速上手。.
下面向您展示流程图模式的基本操作流程。