在常见的学习排序任务中,输入通常是语义的并且具有良好的句法结构,例如问答排序任务。在这种情况下,CNN 或 LSTM 是捕获 QA 对的潜在信息(局部或长依赖)的良好结构。
但实际上,有时我们只有短对和离散的单词。在这种情况下,CNN 或 LSTM 仍然是一个公平的选择?或者有一些更合适的方法可以处理这个问题吗?
最佳答案
更大的问题是你有多少训练数据。有很多有趣的工作,但深度神经网络方法倾向于使用 QA 排名任务的原因是因为这些任务通常有数十万或数百万个训练示例。
当您的查询较短(即标题或网络查询)时,您可能需要更多数据来学习,因为每个训练实例将使用更少的网络。这是可能的,但您选择的方法通常应基于您可用的训练数据,而不是查询的大小。
- [0-50 个查询] -> 手动调整、耗时考验的模型,例如查询似然、BM25(或者如果您想要更好的结果,则使用 ngram 模型,例如 SDM)(如果您想要更多召回率、伪相关性) -反馈模型,例如 RM3)。
- [50-1000 次查询] -> 线性或基于树的学习排序方法
- [1000-millions] -> 深度方法,或者可能仍在学习排名。我不确定任何深度论文是否真正主导了最先进的梯度增强回归树设置。
我的一位实验室伙伴最近发表的一篇论文使用了 pseudo-labels from BM25 to bootstrap a DNN 。他们得到了很好的结果(比 BM25 更好),但他们实际上必须是 Google(训练时间方面)才能实现这一目标。
关于neural-network - 如何在短对排序中使用学习排序模型(CNN、LSTM)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44602346/