Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
evaluate_metricsaverages the scores returned by pytrec_eval over the number of queries present in that output. A judged query omitted from a retrieval run disappears from the denominator, so an incomplete run can report perfect NDCG, MAP, recall and precision. Representing the same missing query with an explicit empty result instead gives a different score. A completely empty run also divides by zero even when the judgment set is nonempty.Changes
Average these four metrics over the full set of queries in
qrels, matching the evaluation population already used by this module's MRR and capped recall. Missing query results contribute zero without changing per-query pytrec_eval calculations or complete-run scores.Validation
git diff --checkpass.