【TensorFlow】TensorFlow 的排序学习库(TF-Ranking)

905 阅读1分钟

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流水线

用户只需要定义绿色模块: 在这里插入图片描述 实现上述步骤的代码: 在这里插入图片描述