什么是学习排序?AI 如何把相关文档排到前面

学习排序是什么?AI 如何根据相关性标注把文档排成顺序,它和重排序模型有何不同,以及点击数据为什么不能直接当成相关。

什么是学习排序?AI 如何把相关文档排到前面
编辑部 ·

学习排序(Learning to Rank)用「哪篇更相关」的标注,训练一个给文档排顺序的模型。同一个问题下,人工或历史点击可以标出第一篇比第三篇更能回答问题。模型要学会把这种偏好变成新查询上的排序。

它关心的是相对顺序:相关的排在前面,答非所问的排在后面。单独给某一篇打一个很高的分数,如果更相关的那篇仍然排在它后面,排序就算没有学好。

它和检索、重排序怎么分工?

关键词检索和向量表示负责从大量文档里快速找出候选。Reranker在检索之后读少量候选,再把顺序调细。学习排序是训练这种排序能力的方法:既可以用在第一轮打分上,也可以用来训练后面的重排序模型。混合检索把多路结果合在一起时,也需要一个统一的顺序。

常见标注有三种。给每篇一个相关等级;只比较两篇里哪篇更好;或者一次判断一整列结果的顺序。等级适合积累明确的标准,两两比较适合标注的人难以打出绝对分数的时候。

点击为什么要小心用?

排在前面的文档更容易被点到,所以点击混有位置带来的偏差。把点击直接当成相关,模型会继续把已经靠前的结果留在前面。评测时要看排在前面的文档是否真能回答问题,并留出没有参与训练的查询。

小结

学习排序用来把相关性判断学成排序。它适合搜索和问答里的结果整理,标签里的偏差仍要单独处理。