本文转载自微信公众号“于大胆的推特”,作者于大胆。转载本文请在twitter上大胆联系Yu公众号。推荐系统存在技术壁垒,涉及各种算法和机器学习,工程实施难度更大。所以我们选择了神策智能推荐服务,但是效果不是很好。通过他们提供的几个pdf,我们大致了解了一下,发现recall是推荐系统中的关键点。推荐系统的作用:减少信息过载,如果每天推荐的内容不多;发现长尾,这是核心,让好文章有更多的曝光机会;提高转化率,是不是提高dau?还是用户粘性?如何衡量推荐系统的好坏?或许人的感受更重要,但无法量化;如果用CTR,一定程度上可以体现质量(点击后不看也没用),点击后的反馈可能会更Precise,比如浏览时间,准确评论等。推荐系统的整个过程主要包括两点。第一个是recall,也就是粗排序,筛选出比较小的候选集;二是排序,即细排序,对项目进行评分。推荐系统是建立任何物品之间的关系。核心是数据,包括三部分:第一,用户行为,比如阅读文章,点击收藏;二、物品信息;最后,通过行为和物品信息形成用户画像。肖像可能是常规意义上的肖像和标签,但在机器学习中,它是隐含的和矢量化的,人类无法直接理解。接下来说一下神策推荐系统提到的四种召回方式,如下图所示:首先,强调了基于深度用户行为分析的召回。因为它是矢量化的,所以很难向人们解释它的优点和缺点。太黑箱了;主要分为两个分支。协同过滤(基于矩阵分解)非常普遍。缺点是无法解决新内容冷启动、时效性不足的问题;二是深度学习召回模型(HMF),借鉴了facebook论文,主要提到四大优势,更全面的行为表达,比如结合点击、收藏、搜索等行为,可以更全面地表达用户行为偏好;可以在模型中添加一些用户画像;考虑用户行为顺序(感觉挺牛逼);结合各种复杂的特征。二是自然语言技术。神策的解释是为了解决新内容的冷启动问题。一开始我有点疑惑,后来我意识到,当一个新的内容出来时,我会立即使用NLP技术从中找到一些被标记的(比如关键词)。内容结合用户画像,可以快速推荐给用户。但很遗憾的是,神策建议在我们的业务场景中不使用NLP技术。最近也看了一些文章,纯靠内容推荐,也能做出一个不错的推荐系统。比如通过分词、主题分析、word2vec(分析词向量之间的隐含关系),有了这些关键“要素”,就可以用于相关计算、召回、排序等过程。如果没有NLP技术,即使是人类(编辑或用户)也可以进行分类和标注(更细分的分类)。虽然不够智能和准确,但还是能代表一些舆论。但是图片和视频的语义分析比较困难,需要引入一些其他的解决方案。最后,Sence提到了NLP技术的三个好处:利用自然语言技术,我们可以获得能够代表每篇文章主题内容的语义向量。根据语义向量,推荐用户喜欢的话题的文章只需要分析文章的内容,而不需要用户行为。可以很好的推荐新文章,解决表现内容的冷启动问题,然后根据用户画像进行召回。第一种是利用现有的注意力(不是朋友之间的注意力)关系,把你在APP上的每一个行为都隐藏起来。用户偏好,比如搜索某个关键词(是不是意味着你想看一些相关的文章?那么文章NLP的分析有多重要),或者点击某个标签(比如军事标签,是不是意味着想看军事相关的文章?),或者收藏某篇文章(是否可以推荐类似的文章)。二是基于标签构建用户画像。用户有很多常规的画像,可以进行解释,也可以表明他的一些兴趣爱好,比如性别、经常发表的文章、网站提供的可选标签等。反过来,通过推荐系统不断完善用户画像,进一步做出精准推荐。最后是多源数据,比如介绍性数据、编辑推荐的文章、KOL文章、官方文章等,这些在回忆的时候非常有用,在Sensors中体现为权重。意思是这个是用来排序的吗?不回忆?为什么说神策智能推荐不成熟,比如没有用户差评(我不喜欢),没有用到NLP技术(对于我们这样的内容APP来说,这个太重要了),没有理解businesstypes(不能针对Sexualtuning,这可能是verticalsass解决方案的一个缺点,太machine-based了),结合他们的console,只能看到popularrecalls和behavior-basedrecalls,这两种都是默认的策略。既然是个性化推荐,那如何证明自己实现了个性化推荐呢?我也担心最后的推荐效果会退化为编辑推荐。最后,好好理解这句话。数据和特征决定了机器学习的上限,而模型和算法只是接近这个上限。
