推荐系统
-  系统职能:头条/抖音/快手,都是以推荐系统作为流量的分发的主要手段; 
-  职业发展:大数据处理/流式计算/数据挖掘/机器学习/高并发服务等领域。 
-  更具用户的离十信息和行为,向用户推荐他感兴趣的内容 -  基于行为的协同过滤  
-  基于内容相似推荐  
 
-  
推荐系统 - 包括那些环节
挑战:怎么从海量的内容中,挑选出用户感兴趣的条目,并且满足系统的50ms~300ms的低延迟要求
图片环节1
找回路径
推荐系统中常见的名词:i2i/u2i/u2i2i/u2u2i/u2tag2i,这些叫做推荐的召回路径。
 U2I:来源于用户的直接行为,比如播放/点击/购买等
 I2I:内容相似,协同过滤关联规则挖掘等
 U2I2I:基于item的协同过滤货先到先用户的行为列表,然后查找I2I做扩展
 U2U2I:基于用户的协同过滤,用户画像相似然后推荐,用户聚类推荐
 U2Tag2I:先算出用户的tag偏好,然后匹配item列表
Netflix 经典的推荐系统架构
图:推荐架构1
 挑战:架构既能处理海量数据,又能及时响应用户交互
 在线层:
 特点:快速响应,使用最新的数据输入,比如200ms
 缺点:不能使用复杂的算法,只能读取少量数据
 离线层:
 特点:大部分数据包括模型训练都在这一层
 优点:可以采用复杂的算法,扫描海量的数据
 缺点:不能对最新的情景和新数据做响应,比如天粒度
 近线层:
 特点:离线和在线的折中,一般将结果存入高速缓存
 优点:能使用几乎最新的数据计算,延迟10秒~1分钟级别;允许更复杂的算法处理,加载查询耕更多数据
 组合使用的例子:
 1,天粒度:离线层做矩阵分解,得到用户向量和物品向量做数据存储到Mysql
 2,10秒钟:近线层根据用户行为,查询TopN相似的物品列表,存入Cassandra
 3,200毫秒:在线层查询的第儿步骤的结果,更新推荐列表
推荐架构2
如何实现一个基于内容的推荐系统(Content-Based Recommendations)
推荐架构3
地位:最早被使用的推荐算法,年代久远,单当今仍然被广泛使用,效果良好
 定义:给用户X推荐之前喜欢的物品相似的物品。即,U2I2I/U2Tag2I
 优缺点:
 优点:不需要其他用户数据
 能给具备独特口味的用户推荐
 推荐最新的/冷门的物品
 容易做推荐结果的解释
 缺点:
 很难找到能表达物品的标签,有时候需要人工打标签
 过于局限于自己的世界,无法挖掘出用户的潜在兴趣
 新用户如果没有行为,没法做推荐
协同过滤的推荐系统
使用行为数据,利用集体智慧推荐
 
 
 
推荐系统如何实现多路找回融合排序


如何实现AB测试

 
 
如何实现内容的相似推荐

https://ai.tencent.com/ailab/nlp/zh/index.html
 https://ai.tencent.com/ailab/nlp/en/embedding.html

 
 
矩阵分解的协同过滤


 
 
 
 
 
 
 

 
 

 
 
 
Python 使用Faiss实现向量的近邻搜索


 
 



















