实例拆解搜索中的相关性推荐
编辑导语:如今这个大数据时代,可以根据你的兴趣爱好、最近搜索、地理位置等进行一个相关性推荐,提高转化率;比如冬天,你平常喜欢在网上买买衣服,那系统就有可能给你推荐冬季的衣服;本文作者利用实例拆解了搜索中的相关性推荐,我们一起来看一下。
一、推荐在搜索中的作用
搜索与推荐是信息分发的重要手段,从用户视角观察,搜索更多是一种主动行为,一般带有用户明确的查询意图;而推荐是一种被动的行为,是在用户“闲逛”的场景下,结合用户历史与偏好预测,给用户安利可能感兴趣的内容。
某些时候,用户的想法也是模糊的,比如昨天刚从视频直播中看到了一款产品还不错,而此时用某宝搜索却无法想起准确的名字;这时在搜索中植入推荐功能可以帮助用户更准更快的查询,甚至还可以帮助企业长尾的内容进行更多曝光。
一般搜索中的相关性推荐主要有以下几种场景:搜索发现、信息流相关搜索词推荐、无少结果推荐。
- 搜索发现出现在搜索第一屏,此时用户还没有输入明确的query,通过用户历史偏好预测内容进而推荐给用户;
- 信息流相关搜索词推荐,出现在搜索结果页,通常是在结果信息流的第10条内容以后植入与用户输入的搜索词相关的搜索同义词、扩展词等,因用户下滑很多条结果仍无点击,那么可能当前的搜索词无法很好匹配用户意图,就引导用户换个词查询;
- 无少结果推荐,是查询的词比较冷门、生僻,或搜索系统的数据内容较少,没有匹配到用户查询的相关内容,这时避免用户体验挫败感,就需提供原始query相关的词语(电商则可以直接推荐相关商品)引导用户继续搜索。
二、实例拆解:搜索发现
下来我们通过电商行业搜索中的“搜索发现”这个场景,拆解需求分析过程。
分析步骤基于以下思路:
- 确立目标,在当前需求背景下要达成什么目的;
- 确定输入,梳理对需求策略能够产生影响的因子;
- 设计策略,在给定输入范围内通过怎样的处理逻辑达成期望。
1. 目标
搜索发现是在用户还未给定明确意图之前,希望帮助用户减少输入路径,直达搜索结果;通常系统借助行为数据,预测用户偏好,为其推荐可能感兴趣的内容,同时有机会曝光更多长尾商品。
从产品指标上讲,可以关注两个维度:
- 业务转化,即从搜索渠道带来的用户交易(搜索GMV/UV),考察功能对业务价值的助益效果;
- 点击率,搜索发现模块点击量/曝光量,考察功能的用户使用效果。
2. 输入
搜索发现是基于用户特征,系统推荐可能感兴趣的搜索词,因此影响策略的输入因子就可以从用户与搜索词两个维度着手。
用户的维度,首先是基础的静态画像特征,如人口统计学类的年龄、性别、婚姻状况、居住城市等;其次,系统要利用用户的历史行为建模,在搜索场景下可以考虑上一次的搜索词,以及最常浏览的频道、收藏、加购的商品等衡量用户喜好的指标;另外,从交易特征考虑,可以看用户的交易资格如是否会员、账户等级等,还可以参考RFM的思想,从近期交易、交易频次、交易额度去考虑指标影响因子。
搜索关键词的维度,一般可采用搜索词统计类特征如近期内(一周/一月等)搜索次数/曝光次数/点击次数最多的搜索词;另外就是搜索本身的文本特征如TF-IDF、BM25分值等。
下图是笔者整理过的一部分影响因子:
3. 策略
因搜索发现的前提需要有用户数据,所以对访问的用户角色要按新户、存量户进行分客群的处理逻辑。
1)新用户
新用户是推荐模块常遇到的冷启动问题,这里的新用户除了是缺乏行为数据的新注册用户,还包括以游客身份访问的白用户(诸如拿不到设备ID及设备ID无法匹配上身份的用户)。
对于这类客群,常用的做法是提供一套由运营人员配置好的关键词作为兜底策略;另外亦可结合热度算法提取搜索系统的热门搜索点击词作为混合的推荐关键词;当然,还可以通过地域、季节等上下文信息设置一套推荐词组合,比如进入秋冬季推荐毛衣、雪地靴等搜索词。
2)存量户
系统对存量户已经有了一定的数据基础,就可以通过常见的推荐召回算法如ALS算法、协同过滤等提取一批用户可能有关联的搜索词(对于什么是ALS算法、协同过滤的介绍可以参考本文末尾的相关阅读了解)。
算法召回的关键词数量可以很多,而“搜索发现”模块容纳内容有限,往往不超过10个推荐词,对召回内容合理排序就可以设计一套混合策略。
首先,通过ALS算法初步召回一批数据,接下来如果团队有条件的话,可以利用机器学习(比如GBDT+LR算法)建模,将用户静态属性、行为属性、交易属性以及搜索词的属性作为特征,输入模型进一步获取考虑了以上特征的精细排序结果。
其次,用户的历史搜索词也很有用,在一段时间内反应了用户关注的商品,那么就可以把用户历史搜索最靠近的三个query,借助协同过滤算法召回最相关的3~4个关键词;这里对于“时间窗口”要做一些限制,对于超过这个时间范围的搜索词就可以停用丢弃,毕竟太久远的历史搜索词可能就已经不是用户当前的心头好。
另外,如果能加入实时反馈的逻辑就更好了,比如找商品系统对用户有“加购”、“收藏”行为时,通过实时接口将商品告知搜索推荐系统,再利用协同过滤算法召回最相关商品的简称作为搜索词推荐。
之后,把协同过滤召回的3~4个搜索词与ALS等机器学习算法召回的排名前列的5、6条数据混排,进行内容去重后(内容重复则继续从ALS召回序列中往后取数),组成10个搜索词随机排列呈现给到用户。
三、尾声
以上就是“搜索发现”的案例拆解思路,对于其他相关性推荐在搜索中的应用,流程也是类似的,只不过把用户属性换成了具有明确搜索意图的query词特征。
总的来说,搜索中应用推荐其实无外乎两个目的:让搜索更准、帮商品更多曝光进而带动销售。
然而我们有时候也常会听到大家抱怨,为什么我都买过的商品,我来搜索的时候还给我重复推荐;事实上,做好搜索推荐仍然是一项比较复杂的任务,在技术和策略方面都可以结合业务不断深入细化的。
相关阅读:
作者:策略伽;公众号:策略伽
本文由 @策略伽 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。
每一篇文章都是精华!