推荐策略:如何解决重复推荐问题
你是否有这样的体会:信息流推荐的内容我已经看过。这是由于推荐算法存在重复推荐的问题,那么,针对不同的信息流,是否有改善该问题的方法?
前段时间接触了与推荐策略相关的工作,如今产品也顺利走上“正确的道路”。关于常见推荐算法规则及原理,网上有很多不错的相关文章,大家可以去搜索浏览。
下面主要聊聊推荐算法实验和常见推荐算法优缺点,以及内容重复推荐相关话题。
评测算法的方法
好的算法模型并不是一蹴而就的,而是不断训练慢慢打磨出来的。
那么,在打磨的路上如何评测推荐算法效果以及不同算法之间的优劣呢?
这里有3种实验方法供你参考。
1. 模拟实验
模拟实验主要通过用户产生的行为日志,比如对该条内容进行浏览、收藏、点赞等用户行为来生成推荐标准的数据集,再把数据集按规则分成“训练组”和“测试组”,在“训练组”上调教用户兴趣模型,在“测试组”上进行预测。
该实验好处在于,不需要真实用户参与,只需要从日志系统提取用户行为数据就可以快速计算出推荐效果。但缺点是无法得知用户真实转化指标,比如推荐点击率。
2. 用户调研
监控一批已体验推荐相关的用户,持续观察分析用户行为。
针对用户行为罗列相关问题,在调研中进行询问,最后根据问题及答案来了解推荐效果及满意度。
值得关注的是,准确率高不等于用户满意度高,更应该留意一些由推荐产生的内容有没有给他带来一些“惊喜”,更多偏向于用户主观感受。
也正因如此,从行为观察到问题归纳、用户邀约、最后调研结果分析等,实验调查流程及成本都比较高。
3. A/B测试
通过划分用户群,针对不同用户群采用不同推荐算法,统计出不同用户群体转化指标生成测试报告,谨记该实验唯一的变量就是算法规则,不允许有其它变量。
还有一点需要考虑清楚的是,满足什么样的条件用户去跑测试流程,A/B测试缺点在于周期长,短期迸发的测试结果无法保证真实性。所以,该实验适用于模拟实验和用户调研中效果比较好的算法模型,并不适用于跑所有算法,那样效率实在太差。
一类算法只能解决一部分问题,单一的算法难以达到真正的个性化,还需要算法与算法之间打组合拳,接下来聊聊目前常见推荐算法一些优缺点。
热度算法
1. 优点
能够有效过滤掉低质量内容,呈现给到用户都是大部分人都“喜欢过”的。对新用户相对友好,无需产生任何交互也能产生推荐列表;不存在推荐列表为空的情况,并且热度是相对的,热点不会一直都是热点,具有一定时效性。
基础热度分可以人为干预,比如,今天的热点新闻基础热度分要比今天普通新闻的基础热度分要高。
2. 缺点
针对用户层面精准触达精确度不是很够。
因为推荐列表是按热度进行排序,并不是基于个人兴趣喜好排序,单一的热度算法可以被“刷榜”,因此要做好相对措施。
采用热度算法典型例子:抖音
游客登录浏览前面几条视频多数为近期热度值为Top5内的,且上热门推荐是需要经过多个热度池大量用户检验,最后还要人工审核才能上首页推荐。
但不会持续超过1周,除非有大量的用户进行模仿跟拍,反推用户行为视频热度权重,用户“跟拍”行为的热度权重远大于收藏、点赞及分享。
基于内容推荐算法
1. 优点
对产品用户体量没有要求,不会因产品用户数的大小影响到该算法。因为每个用户产生行为相互独立,用户行为特征都是由自己的来决定,不存在干扰之说。
另外,该算法有较强的实时性,每当有一条新的内容就可以立马“被推荐”,推荐机会和旧内容是一样的,与时间新旧无必然联系。
2. 缺点
无法为新用户产生推荐列表,新用户没有历史行为数据也无法预测。
当没有用户行为特征,无法与内容进行匹配推荐。所以,多数产品会利用注册预填信息、首次登录成功着陆页的弹窗选择等手段,并结合热度推荐来进行冷启动。
但要注意这些动作是否会过分地打扰到用户,权衡用户流失和推荐精准度问题。
其次,基于内容推荐确定性非常强,所有推荐的内容都是由用户的浏览历史决定。单独使用该算法难以挖掘用户的潜在兴趣,所以该算法一般会与其他算法并存的原因也在这。
基于用户协同算法
1. 优点
在于能挖掘用户潜在兴趣,不断调整给用户制造惊喜。同时也有较强的实时性,有新内容同样立马能“被推荐”。
但与基于内容推荐差异在于,该算法除了平台本身产生的新内容外,还包含了用户交互行为所产生的新内容。
2. 缺点
启动门槛相对较高,对产品用户数以及平台内容有一定数量要求,并且对用户学习样本要求也高,学习样本书不足时推荐效果不理想,容易成为人工智障。
在KANO模型的需求分析上属于兴奋需求,所以在产品冷启动时一般不会优先考虑该算法。但在算法冷启动时,应该主动调教用户,如果能把用户圈到不同推荐雏形,对该算法会有一定帮助。
最后聊聊关于重复推荐问题
推荐算法最根本的意义,在于解决信息过载。如果推荐给到用户,是千篇一律的内容,那将毫无意义。
解决重复推荐可以从根源上压制,比如“阅后即焚”,当用户看过该条内容后即标记为已读,已读状态的内容不再推荐给该用户。
要定义清楚用户产生什么行为才定义为“看过”,是点击详情页就算,还是点开了“查看剩余全文”等行为,需要根据自身业务进行考虑。
上述的“阅后即焚”可以解决内容单条重复,但还无法解决同质化的问题。
以信息流产品为例,有A和B两篇文章:
1)A和B属于列表页和详情页都一致的文章
对用户而言只需要看A和B其中一篇就可以。所以,应该展示其中一篇适当的内容给予推荐,这里面的“适当”可以有两个维度:如发文时间(过滤搬运)、发布者信息(如果是新闻机构号权威一般大于个人号)。
2)A和B两篇文章属于列表页相同,但详情页不相同的情况
那么用户点击过A文章,短时间内大概率不会再看B文章。因为在用户的视角,他认为A和B是重复的,所以会大概率错过B文章,对于这类情况应该拉开推荐间隔。
3)A和B两篇文章属于列表页不同,但详情页相同的情况
需要考虑用户是否有“看过”其中一篇文章。如果看过A文就没必要再推B文;但如果都没有看过,那么可以进行推荐。因为列表页的差异会影响用户行为,一个标题一张封面都会导致用户是否会查看文章,所以这种情况A和B都有推荐的必要性。
#专栏作家#
动物园园长,微信公众号:首席吹牛官,人人都是产品经理专栏作家。互联网圈十八线作词人,国家一级退堂鼓表演艺术家。颜良而文丑,欢迎交流。
本文原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
同问,列表页a和b相同是指什么意思?
想问一下,如何解决推荐类别过于集中的问题,比如有些用户的推荐列表里可能出现连续10多个搞笑类别的内容
可以通过类目打散进行调整,比如精排之后,通过设置‘连续10个视频,同一类型的视频不超过2个’类似这种规则
最近在学习推荐相关内容,学习了
事先把用户框进推荐雏形里 这点不是很理解,求详
列表页是指什么呢?
列表页标题? 详情页内容?