TRECRun
is a library for working with TREC run files, with an API heavily inspired by PyTerrier's pipeline operators.
API | Operator | Description |
---|---|---|
TRECRun(results) |
Create a TRECRun object from a dictionary of results or a path to a run file in TREC format. |
|
add(self, other) , subtract , multiply , divide |
+ , - , * , / |
Perform the given operation between self's document scores and other , which can be a TRECRun or a scalar. |
topk(self, k) |
% |
Retain only the top-k documents for each qid after sorting by score. |
intersect(self, other) |
& |
Retain only the queries and documents that appear in both self and other . |
concat(self, other) |
Concat the documents in other and self , with those in other appearing at the end. Their scores will be modified to accomplish this. |
|
normalize(self, method='rr') |
Normalize scores in self using RRF (rr ), sklearn's min-max scaling (minmax ), or sklearn's scaling (standard ). |
|
write_trec_run(self, outf) |
Write self to outfn in TREC format. |
|
evaluate(self, qrels, metrics) |
Compute metrics for self using qrels and return a dict mapping metric names to their values for each QID. Metrics are computed by ir_measures . |