DLCM: Learning a Deep Listwise Context Model for Ranking Refinement

72 阅读2分钟

Link:arxiv.org/abs/1804.05…

DLCM中,通过建模精排生成的Top-N列表中物品间的互相影响,来优化搜索结果。

基于的motivation是:通过建模精排生成的Top-N列表中物品信息,可以补充query的信息。通过建模Top物品的局部信息,来改进排序结果。

具体地说,DLCM中,作者将精排生成的Top-N列表的逆序作为RNN模型的输入,生成Top-N列表中物品的新的分数。逆序的作用是,可以最大程度将精排分高的物品信息,保存到到RNN的隐藏向量中,来补充query的信息,这样其他和精排分高的物品相似的物品的得分也会比较高,从而改进了排序结果。

image.png Motivation:

作者通过用户实际反馈数据,来学习模型参数,即希望该重排序模型将用户点击的物品排在前面【主要用于搜索检索】。

Point-wise模型只考虑单item的得分,而没有考虑最后TopN个item之间的相关性,所以需要一个Rerank的模型来解决这个问题;

Contribution:

本文作者提出使用排序后的TopN个item的信息(local ranking context),来对最终的排序结果进行调整。主要做法是通过使用GRU模型来学习TopN的item形成的local ranking context信息,然后用于rerank。

DLCM模型主要包括3步:

  • ① 传统LTR模型,得到精排的TopN个item;
  • ② 使用GRU从后到前的顺序学习TopN个item的关系;
  • ③ 根据GRU输出进行rerank学习;

GRU使用常见的方式,注意的是这里Item的Position是从低分到高分输入到GRU中的,是因为这样的顺序可以使得高分的Item对最终Sn的影响大一些;

image.png 最后进行rerank学习的时候,使用类似于机器翻译中的attention函数。

image.png

Metric:①NDCG;②ERR(Expected Reciprocal Rank);

Listwise Loss Function:①ListMLE,②SoftRank,③Attention Rank