Reputation: 1001
I am completely new to trec_eval. When I run it for a set of queries, I get the following results for iprec_at_recall:
iprec_at_recall_0.00 all 0.5059
iprec_at_recall_0.10 all 0.5059
iprec_at_recall_0.20 all 0.5059
iprec_at_recall_0.30 all 0.5059
iprec_at_recall_0.40 all 0.5059
iprec_at_recall_0.50 all 0.5059
iprec_at_recall_0.60 all 0.5059
iprec_at_recall_0.70 all 0.5059
iprec_at_recall_0.80 all 0.5059
iprec_at_recall_0.90 all 0.5059
iprec_at_recall_1.00 all 0.5059
So my precision is not changing as a function of recall thresholds. Does this necessarily imply a problem with my data?
Upvotes: 0
Views: 765
Reputation: 241
iprec_at_recall_X is the measure for interpolated precision at standard recall level X. The particular rule used to interpolate precision at standard recall level X in trec_eval is to use the maximum precision obtained for the query for any actual recall level greater than or equal to X (this is how there can be a precision value for recall level 0). You can read more about how trec_eval computes measures in the appendix to (some of) the TREC proceedings, for example, see https://trec.nist.gov/pubs/trec20/appendices/measures.pdf .
So, my guess is that you are using a very small collection (or, at least, one with very few relevant documents) such that you reach 100% recall very early in your ranked list.
Ellen Voorhees
TREC project manager
NIST
Upvotes: 2