最近读了《内容算法》这本书,其中关于推荐算法原理的部分个人觉得讲的比较深入浅出,很适合我等小白作为入门来读。
本书内容主要分为两部分,前半部分关于个性化推荐的应用,以及推荐引擎实现原理;后半部分主要针对自媒体如何把握技术契机自我提升(这部分其实木有细看)
在此整理一下干货
一、推荐系统背景
在推荐系统没有大规模应用于内容分发之前,人们更多的使用搜索的方式来获取信息。
传统搜索引擎模式下,互联网数据量的爆发增长,也给用户快速获取有效信息带来更高成本。由此,致力于“知己知彼”的推荐系统应运而生。
千人千面的个性化信息推荐,多触角的交互带来更精准的信息匹配体验。用户在自然的人机交互中留痕,塑造个人画像,为喜欢的世界投票。
二、推荐系统架构初探
从工程角度来看,推荐系统的架构与搜索系统的架构具有一定的相似度:二者实现的都是信息与用户意图之间的匹配。
而差异在于:
搜索模式下,需要用户提供明确的意图(查询词),以获取到准确的匹配结果;
推荐模式下,即使表意不明确,也往往可以通过获取用户背景的多方位信息,来对意图进行补齐。
我们可以将推荐问题极度简化:当我们能获取到用户的唯一线索仅为“NBA”,那么推荐引擎给用户的结果就可以近似等于搜索引擎在“NBA”这个词下的搜索结果。
我们由此开始梳理:搜索引擎的架构是什么样的?
2.1 搜索系统的架构
我们通常将搜索系统划分为离线和在线两个部分
离线部分:专注于内容的搜集和处理。搜索引擎的爬虫系统会从海量网站上抓取原始内容,并针对搜索系统的不同要求建立不同的索引体系。
在线部分:负责响应用户的搜索请求,完成内容的筛选和排序,并最终把结果返回给用户。
2.2 推荐系统的架构
以搜索系统为基础,来理解推荐系统
离线部分:通过各种方式获取待推荐的内容(如用户提交、协议同步、数据库导入等);
在线部分:量化用户的请求,完成内容的筛选和排序。
总结一下两者核心区别:
1)我们刚才提到,搜索系统与推荐系统最大的差别在于:用户表意是否明确。因此推荐系统需要尽可能完善用户的长期画像(感兴趣的领域)和短期场景(时间、地点信息);这样才能在用户每一次请求时更好的揣摩用户当下的意图,以进行后续的内容匹配。
2)在搜索系统中,用户的点击行为会为内容的权威性投票,而在推荐系统中,用户的行为不仅像在搜索系统中那样具有针对内容价值的群体评估意义,而且还具有针对自身画像的个体进化意义。
三、推荐系统原理
3.1 推荐的起点:
更好的了解待推荐的内容,更好的了解要推荐给的人,从而高效的完成内容与人的连接。
断物:
1.内容标签化:适用于文字表义歧义小,可以枚举的类型;标签来源:专家系统产出;用户主动产出
2.信息聚类:适用于标准难界定,难以以规则枚举的场景
识人:
给人贴标签,塑造用户画像
静态画像:用户独立于产品之外的属性,如性别、学历、年龄等
动态画像:用户在产品场景中所产生的显示或隐式行为,如点赞、评论、分享
3.2推荐算法
总结:
个性化推荐的具体应用,随着应用场景的不同,推荐策略也会有区分。在实际项目中我们遇到的使用需求:
1. APP的不同主题页,如首页推荐区,活动专题页推荐,产品详情页相似产品推荐,支付成功页产品推荐等。根据页面主题的不同,需要去探究用户需求的差异,从而采取不同推荐策略
2. 产品搜索结果页排序优化
结合用户属性及浏览日志,对排序进行适度优化
3.智能客服机器人产品推荐
这个话题又可以展开新的一篇,还在需求分析阶段,简单谈一下。结合用户问题的意图识别,确定用户需要购买的产品类型,通过多轮对话引导,逐步剖析用户购买需求,并进行合适的产品推荐。
相比于搜索结果的优化展示,机器人推荐的难点在于,推荐结果显示篇幅有限,因此意图理解的全面性,及偏好引导的准确性非常重要
4. 其他应用
网站主动的营销推送,如专题活动推荐,edm宣传等