从电商到短视频,推荐系统被广泛应用于各个场景,但实际上要打造好一个有效的推荐系统并不容易。TensorFlow Recommenders
就是这样一个为了打造高效可扩展的推荐系统而专门制作的库。
接下来介绍 TensorFlow Recommenders 打造一个召回系统来介绍 TensorFlow Recommender 库。
推荐系统
推荐系统:依据用户行为对数据进行推荐。某个用户的行为数据,和过往其他用户的行为数据,有助于预测接下来给用户推荐内容。
推荐系统的复杂性
- 大多数基于神经网络的推荐系统,会有多个组件组合构成
推荐系统的几大难点
- 难以训练:高纬度、稀疏的大规模模型。需要解决多目标优化的问题。
- 难以评估:离线指标可能具有极大勿扰性。在线试验中的长期学习效果难以评估。
- 难以部署:词汇表庞大,需要邻近召回来实现更低延迟。大多数模型都包括召回、粗排、精排等多个过程。
核心代码
查看数据集(movielens)
随机打乱、切分数据集
准备电影片名、用户ID的词汇表(用来映射)
Demo:双塔召回模型
定义查询塔、候选条目塔
定义模型指标、训练损失函数
组合成一个完整模型
编译模型、并准备训练和测试数据集