如何在短对排序中使用排序学习模型(CNN、LSTM)?
How to employ Learning-to-rank models (CNN, LSTM) in short-pair ranking?
在常见的应用学习排名任务中,输入通常是语义的并且具有良好的句法结构,例如问答排名任务。在这种情况下,CNN 或 LSTM 是捕获 QA 对的潜在信息(局部或长依赖性)的良好结构。
但实际上,有时我们只有短对和离散词。在这种情况下,CNN或LSTM仍然是一个不错的选择?或者有什么更合适的方法可以解决这个问题?
更大的问题是你有多少训练数据。有很多有趣的工作,但深度神经网络方法倾向于使用 QA 排名任务的原因是因为这些任务通常有数十万或数百万个训练示例。
当您有较短的查询时,即标题或网络查询,您可能需要更多的数据来学习,因为每个训练实例将使用更少的网络。这是可能的,但您选择的方法应该基于您可用的训练数据,而不是您的查询的大小,一般来说。
- [0-50 queries] -> Hand-tuned, time-tested model such as Query Likelihood, BM25, (or if you want better results, ngram models such as SDM) (如果你想多回忆一下,pseudo-relevance-feedback型号如RM3).
- [50-1000 次查询] -> 线性或 Tree-based learning-to-rank 方法
- [1000-millions] -> 深度方法,或者可能仍然 learning-to-rank。我不确定是否有任何深度论文真正主导了 state-of-the-art gradient-boosted-regression-tree 设置。
我的一位实验室伙伴最近发表的一篇论文使用了 pseudo-labels from BM25 to bootstrap a DNN。他们取得了不错的成绩(比 BM25 好),但他们确实必须 Google (training-time-wise) 才能成功。
在常见的应用学习排名任务中,输入通常是语义的并且具有良好的句法结构,例如问答排名任务。在这种情况下,CNN 或 LSTM 是捕获 QA 对的潜在信息(局部或长依赖性)的良好结构。
但实际上,有时我们只有短对和离散词。在这种情况下,CNN或LSTM仍然是一个不错的选择?或者有什么更合适的方法可以解决这个问题?
更大的问题是你有多少训练数据。有很多有趣的工作,但深度神经网络方法倾向于使用 QA 排名任务的原因是因为这些任务通常有数十万或数百万个训练示例。
当您有较短的查询时,即标题或网络查询,您可能需要更多的数据来学习,因为每个训练实例将使用更少的网络。这是可能的,但您选择的方法应该基于您可用的训练数据,而不是您的查询的大小,一般来说。
- [0-50 queries] -> Hand-tuned, time-tested model such as Query Likelihood, BM25, (or if you want better results, ngram models such as SDM) (如果你想多回忆一下,pseudo-relevance-feedback型号如RM3).
- [50-1000 次查询] -> 线性或 Tree-based learning-to-rank 方法
- [1000-millions] -> 深度方法,或者可能仍然 learning-to-rank。我不确定是否有任何深度论文真正主导了 state-of-the-art gradient-boosted-regression-tree 设置。
我的一位实验室伙伴最近发表的一篇论文使用了 pseudo-labels from BM25 to bootstrap a DNN。他们取得了不错的成绩(比 BM25 好),但他们确实必须 Google (training-time-wise) 才能成功。