2017-02-21 25 views
0

我問一個問題What is the ...?使用/fcselect處理程序不排序器ID,並得到了以下文件:我的排行榜是否受過適當的培訓?

"docs": [ 
    {"id": "100"}, // ranked first 
    {"id": "101"}, // ranked second 
    ... 
    {"id": "198"}, // ranked second from last (99th) 
    {"id": "199"} // ranked last (100th) 
] 

然後,我用下面的地面實況創建一個排序器:

What is the ...?,199,5,198,4 
... 

然後,我問*同一問題*使用/fcselect處理程序與排名並獲得以下文檔:

"docs": [ 
    {"id": "100"}, // ranked first 
    {"id": "101"}, // ranked second 
    ... 
    {"id": "199"}, // ranked 30th 
    ... 
    {"id": "198"} // ranked 35th 
    ... 
] 

但我希望像下面的順序:

"docs": [ 
    {"id": "199"}, // ranked first 
    {"id": "198"}, // ranked second 
    {"id": "100"}, // ranked third 
    {"id": "101"} // ranked 4th 
    ... 
] 

是排名器適當的培訓?

回答

3

請參閱這裏以回答一個類似的問題:https://developer.ibm.com/answers/questions/317822/4-stars-answers.html

通過學習到排名的方法,當然不能保證排名者會將基本事實中標記爲「正確」的答案移動到搜索結果的頂部。這是因爲排名者不會記住正確答案,而是希望捕獲捕獲查詢與搜索結果之間重疊的特徵值分佈中的概括。要驗證排序器訓練的行爲與預期相同,您可以通過大量查詢(與訓練期間使用的查詢不同)來測量前1個結果的準確性,並檢查平均的改進

這就是說,排名前兩位的搜索結果根本不會因排序訓練而改變。有些事情要在實驗中考慮,以提高性能: