2017-02-21 3 views
0

ich eine Frage gestellt What is the ...? mit /fcselect Handler ohne Ranker ID und bekam folgende Dokumente:Ist mein Ranger richtig ausgebildet?

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

Dann habe ich einen Ranker mit der folgenden Grundwahrheit erstellt:

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

Dann fragte ich die * gleiche Frage * mit /fcselect Handler mit dem Ranker und bekam die folgenden Dokumente:

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

aber ich erwarte, wie die folgende Reihenfolge:

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

Ist Ranker richtig ausgebildet?

Antwort

3

Hier finden Sie eine Antwort auf eine ähnliche Frage: https://developer.ibm.com/answers/questions/317822/4-stars-answers.html.

Mit einem Learning-to-Rank-Ansatz gibt es sicherlich keine Garantien, dass der Ranzer Antworten, die in der Grundwahrheit als "korrekt" markiert sind, an die Spitze des Suchergebnisses verschiebt. Das liegt daran, dass der Ranker keine richtigen richtigen Antworten speichert, sondern eher versucht, Verallgemeinerungen in den Feature-Value-Verteilungen zu erfassen, die die Überlappung zwischen Abfragen und Suchergebnissen erfassen. Um zu überprüfen, ob Ranker-Training wie erwartet funktioniert, können Sie die Genauigkeit des ersten Ergebnisses über eine große Anzahl von Abfragen messen (anders als die während des Trainings verwendeten Abfragen) und im Durchschnitt überprüfen.

Das gesagt, es ist sicherlich seltsam, dass die Top-2 Ranglisten-Suchergebnisse als Reaktion auf Rancer-Training überhaupt nicht ändern. Manche Dinge im Experimentieren zu berücksichtigen Leistung zu verbessern:

  • Sind die Anzahl der Zeilen an die Ranker geleitet wird ausreichend hoch (in Ihrem Beispiel, sollte der Parameter auf mindestens 100 eingestellt werden, da der Standardwert ist 10).
  • Die Anzahl der Zeilen, die während des Ranker-Trainings (bei der Erstellung der Ground-Truth-Datei) enthalten sind, entspricht der Anzahl der während der Laufzeit enthaltenen Zeilen (sie sollten übereinstimmen, um optimale Leistung zu erzielen.) ?
  • Gibt es eine lexikalische Lücke zwischen der Abfrage und den richtigen Antwortdokumenten, die den Rancher wahrscheinlich verwirrt? Könnten Synonyme/stopword removal/lowcasing/stemming usw. in Ihren Index/Query Analyzer integriert werden, um die Überlappung zwischen der Abfrage und der richtigen Antwort zu verbessern?
  • Gibt es zusätzliche Funktionen, die Sie hinzufügen und an den Rancher während des Trainings und der Laufzeit übergeben können, um die Überschneidung zwischen Fragen und Kandidatenantworten aus dem Suchergebnis besser erfassen zu können? Siehe hier für weitere Informationen: https://medium.com/machine-learning-with-ibm-watson/developing-with-ibm-watson-retrieve-and-rank-part-3-custom-features-826fe88a5c63?cm_mc_uid=06908383978514879641730&cm_mc_sid_50200000=1488383112#.gtzsdg4k3
Verwandte Themen