SVM-rank 查询级特征

SVM-rank query-level features

我想知道查询级别的功能(例如查询中的术语计数)有何用处?因为,在生成模型文件时忽略了查询级特征。

训练文件;

3 qid:1 1:2 2:1 3:0 4:0.2 5:0
2 qid:1 1:2 2:0 3:1 4:0.1 5:1
1 qid:1 1:2 2:1 3:0 4:0.4 5:0
1 qid:1 1:2 2:0 3:1 4:0.3 5:0 
1 qid:2 1:3 2:0 3:1 4:0.2 5:0 
2 qid:2 1:3 2:0 3:1 4:0.4 5:0
1 qid:2 1:3 2:0 3:1 4:0.1 5:0 
1 qid:2 1:3 2:0 3:1 4:0.2 5:0

在此文件中,第一个特征是查询级特征,它在同一查询中是相同的 - 不同的项目对。

它已经通过 SVM-rank 进行了训练。然后,生成的模型文件忽略第一个特征,从第二个特征开始。

生成模型文件;

1 2:0.50956941 3:-0.50956941 4:0.1913875 5:1.0382775 #

查询级别的功能可能在不同的排名范例中有所帮助,但是 Joachims states that:

Note that ranks are comparable only between examples with the same qid. Note also that the target value (first value in each line of the data files) is only used to define the order of the examples. Its absolute value does not matter, as long as the ordering relative to the other examples with the same qid remains the same.

这意味着模型永远不会使用每个查询中不变的特征。为了使这样的功能有用,您的模型必须在 qid 之间进行某种比较。