TF-Ranking
是一个基于 TensorFlow 平台,用于解决大规模的排名问题的开源库。 它基于通常称为“排序学习/ Learning to Rank” (LTR)
的底层技术。 这种技术被广泛地应用于如搜索和推荐。 TF-Ranking 是第一个用于 LTR 问题的开源深度学习库,并已被工业界广泛采用。接下来介绍一下该库的主要功能和一些小例子。
行业采用情况:
- 英领
- Grubhub
- 知乎
- 爱奇艺
- …
排序学习
常用场景如下:
TF-Ranking架构
TF-Ranking主要模块
- 损失函数:排序损失是排序学习的核心技术
- 指标:排序效果应以排序指标作为最佳评估标准
- 流水线:流水线易于使用,可用来构建和训练排序学习模型
损失函数:可被归为3中方法
1)单文档法
- 将各文档分开考虑
- 部分示例包括:有序回归、分类、渐进梯度回归树(GBRT)
2)文档对法
- 考虑文档对:考虑文档A是不是比文档B更相关
- 部分示例包括:RankNet、RankSVM、RankBoost
3)文档列表法
- 考虑整个列表的排序
- 部分示例把包括:LambdaMART、ApproxNDCG、List{Net, MLE}
支持的损失函数示例
支持的排序指标示例
TF-Ranking流水线
用户只需要定义绿色模块:
实现上述步骤的代码: