Package org.terrier.evaluation
Class TRECQrelsInMemory
- java.lang.Object
-
- org.terrier.evaluation.TRECQrelsInMemory
-
public class TRECQrelsInMemory extends java.lang.ObjectLoads the relevance assessments in memory, for performing evaluation of runs.- Author:
- Ben He & Vassilis Plachouras & Craig Macdonald
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTRECQrelsInMemory.QrelsHashSetModels the set of relevant documents for one query.
-
Field Summary
Fields Modifier and Type Field Description protected java.io.File[]fqrelsAn array with the qrels files.protected static org.slf4j.LoggerloggerTRECQrelsInMemory.QrelsHashSet[]qrelsPerQueryEach element in the array contains the docids of the relevant documents with respect to a query.inttotalNumberOfRelevantDocsThe total number of relevant documents.
-
Constructor Summary
Constructors Constructor Description TRECQrelsInMemory()A default constructor that creates an instance of the class and loads in memory the relevance assessments from the files that are specified in the file specified by the property TREC_QRELS.TRECQrelsInMemory(java.lang.String qrelsFilename)A constructor that creates an instance of the class and loads in memory the relevance assessments from the given file.TRECQrelsInMemory(java.lang.String[] qrelsFilenames)A constructor that creates an instance of the class and loads in memory the relevance assessments from the given files.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description gnu.trove.THashSet<java.lang.String>getAllRelevantDocuments()Get the identifiers of all relevant documents in the pool.java.lang.String[]getAllRelevantDocumentsToArray()Get the identifiers of all relevant documents in the pool.intgetGrade(java.lang.String qid, java.lang.String docno, int def)Returns the grade of a document for a given query.gnu.trove.THashSet<java.lang.String>getNonRelevantDocuments()Get all the pooled non-relevant documents.gnu.trove.THashSet<java.lang.String>getNonRelevantDocuments(java.lang.String queryid)Get the pooled non-relevant documents for the given query.java.lang.String[]getNonRelevantDocumentsToArray()Get all the pooled non-relevant documents.java.lang.String[]getNonRelevantDocumentsToArray(java.lang.String queryid)Get the pooled non-relevant documents for a given query.intgetNumberOfQueries()Returns the total number of queries contained in the loaded relevance assessments.intgetNumberOfRelevant(java.lang.String queryid)Returns the numbe of relevant documents for a given query.java.lang.String[]getQueryids()Get ids of the queries that appear in the pool.gnu.trove.THashSet<java.lang.String>getRelevantDocuments(int grade)Get the identifiers of all relevant documents in the pool with a given relevance grade.java.lang.String[]getRelevantDocuments(int[] grades)Get the identifiers of all relevant documents with the given relevance grades.gnu.trove.THashSet<java.lang.String>getRelevantDocuments(java.lang.String queryid)Get the pooled relevant documents for the given query.gnu.trove.THashSet<java.lang.String>getRelevantDocuments(java.lang.String queryid, int grade)Get the pooled relevant documents for the given query.gnu.trove.THashSet<java.lang.String>getRelevantDocuments(java.lang.String queryid, int[] grades)Get the pooled relevant documents for the given query.java.lang.String[]getRelevantDocumentsToArray(int grade)Get the identifiers of all relevant documents in the pool with the given relevance grade.java.lang.String[]getRelevantDocumentsToArray(java.lang.String queryid)Get the pooled relevant documents for a given query.java.lang.String[]getRelevantDocumentsToArray(java.lang.String queryid, int grade)Get the pooled relevant documents for a given query.java.lang.String[]getRelevantDocumentsToArray(java.lang.String queryid, int[] grades)Get the pooled relevant documents for the given query.booleanisRelevant(java.lang.String queryid, java.lang.String docno)Check if the given document is relevant for a given query.protected voidloadQrelsFile()Load in memory the relevance assessment files that are specified in the array fqrels.static java.lang.StringparseTRECQueryNo(java.lang.String queryid)booleanqueryExistInQrels(java.lang.String queryid)Checks whether there is a query with a given identifier in the relevance assessments.
-
-
-
Field Detail
-
logger
protected static final org.slf4j.Logger logger
-
qrelsPerQuery
public TRECQrelsInMemory.QrelsHashSet[] qrelsPerQuery
Each element in the array contains the docids of the relevant documents with respect to a query.
-
fqrels
protected java.io.File[] fqrels
An array with the qrels files.
-
totalNumberOfRelevantDocs
public int totalNumberOfRelevantDocs
The total number of relevant documents.
-
-
Constructor Detail
-
TRECQrelsInMemory
public TRECQrelsInMemory(java.lang.String qrelsFilename)
A constructor that creates an instance of the class and loads in memory the relevance assessments from the given file.- Parameters:
qrelsFilename- String The full path of the qrels file to load.
-
TRECQrelsInMemory
public TRECQrelsInMemory(java.lang.String[] qrelsFilenames)
A constructor that creates an instance of the class and loads in memory the relevance assessments from the given files.- Parameters:
qrelsFilenames- String[] The full path of the qrels files to load.
-
TRECQrelsInMemory
public TRECQrelsInMemory()
A default constructor that creates an instance of the class and loads in memory the relevance assessments from the files that are specified in the file specified by the property TREC_QRELS.
-
-
Method Detail
-
getQueryids
public java.lang.String[] getQueryids()
Get ids of the queries that appear in the pool.- Returns:
- The ids of queries in the pool.
-
getRelevantDocuments
public java.lang.String[] getRelevantDocuments(int[] grades)
Get the identifiers of all relevant documents with the given relevance grades.- Parameters:
grades- The relevance grades.- Returns:
- The identifiers of all relevant documents with the given relevance grades.
-
getAllRelevantDocuments
public gnu.trove.THashSet<java.lang.String> getAllRelevantDocuments()
Get the identifiers of all relevant documents in the pool.- Returns:
- The identifiers of all relevant documents in the pool.
-
getRelevantDocuments
public gnu.trove.THashSet<java.lang.String> getRelevantDocuments(int grade)
Get the identifiers of all relevant documents in the pool with a given relevance grade.- Returns:
- The identifiers of all relevant documents in the pool.
-
getAllRelevantDocumentsToArray
public java.lang.String[] getAllRelevantDocumentsToArray()
Get the identifiers of all relevant documents in the pool.- Returns:
- The identifiers of all relevant documents in the pool.
-
getRelevantDocumentsToArray
public java.lang.String[] getRelevantDocumentsToArray(int grade)
Get the identifiers of all relevant documents in the pool with the given relevance grade.- Returns:
- The identifiers of all relevant documents in the pool.
-
getNonRelevantDocuments
public gnu.trove.THashSet<java.lang.String> getNonRelevantDocuments(java.lang.String queryid)
Get the pooled non-relevant documents for the given query.- Parameters:
queryid- The id of the given query.- Returns:
- A hashset containing the docnos of the pooled non-relevant documents for the given query.
-
getNonRelevantDocuments
public gnu.trove.THashSet<java.lang.String> getNonRelevantDocuments()
Get all the pooled non-relevant documents.- Returns:
- All the pooled non-relevant documents.
-
getNonRelevantDocumentsToArray
public java.lang.String[] getNonRelevantDocumentsToArray()
Get all the pooled non-relevant documents.- Returns:
- All the pooled non-relevant documents.
-
getRelevantDocuments
public gnu.trove.THashSet<java.lang.String> getRelevantDocuments(java.lang.String queryid)
Get the pooled relevant documents for the given query.- Parameters:
queryid- The id of the given query.- Returns:
- A hashset containing the docnos of the pooled relevant documents for the given query.
-
getRelevantDocuments
public gnu.trove.THashSet<java.lang.String> getRelevantDocuments(java.lang.String queryid, int grade)Get the pooled relevant documents for the given query.- Parameters:
queryid- The id of the given query.- Returns:
- A hashset containing the docnos of the pooled relevant documents for the given query.
-
getRelevantDocuments
public gnu.trove.THashSet<java.lang.String> getRelevantDocuments(java.lang.String queryid, int[] grades)Get the pooled relevant documents for the given query.- Parameters:
queryid- The id of the given query.- Returns:
- A hashset containing the docnos of the pooled relevant documents for the given query.
-
getRelevantDocumentsToArray
public java.lang.String[] getRelevantDocumentsToArray(java.lang.String queryid, int[] grades)Get the pooled relevant documents for the given query.- Parameters:
queryid- The id of the given query.- Returns:
- A hashset containing the docnos of the pooled relevant documents for the given query.
-
getNonRelevantDocumentsToArray
public java.lang.String[] getNonRelevantDocumentsToArray(java.lang.String queryid)
Get the pooled non-relevant documents for a given query.- Parameters:
queryid- The id of the given query.- Returns:
- An array of the docnos of the pooled non-relevant documents for the given query.
-
getRelevantDocumentsToArray
public java.lang.String[] getRelevantDocumentsToArray(java.lang.String queryid)
Get the pooled relevant documents for a given query.- Parameters:
queryid- The id of the given query.- Returns:
- An array of the docnos of the pooled relevant documents for the given query.
-
getRelevantDocumentsToArray
public java.lang.String[] getRelevantDocumentsToArray(java.lang.String queryid, int grade)Get the pooled relevant documents for a given query.- Parameters:
queryid- The id of the given query.- Returns:
- An array of the docnos of the pooled relevant documents for the given query.
-
getNumberOfQueries
public int getNumberOfQueries()
Returns the total number of queries contained in the loaded relevance assessments.- Returns:
- int The number of unique queries in the loaded relevance assessments.
-
getNumberOfRelevant
public int getNumberOfRelevant(java.lang.String queryid)
Returns the numbe of relevant documents for a given query.- Parameters:
queryid- String The identifier of a query.- Returns:
- int The number of relevant documents for the given query.
-
loadQrelsFile
protected void loadQrelsFile()
Load in memory the relevance assessment files that are specified in the array fqrels.
-
parseTRECQueryNo
public static java.lang.String parseTRECQueryNo(java.lang.String queryid)
-
queryExistInQrels
public boolean queryExistInQrels(java.lang.String queryid)
Checks whether there is a query with a given identifier in the relevance assessments.- Parameters:
queryid- String the identifier of a query.- Returns:
- boolean true if the given query exists in the qrels file, otherwise it returns false.
-
isRelevant
public boolean isRelevant(java.lang.String queryid, java.lang.String docno)Check if the given document is relevant for a given query.- Parameters:
queryid- String a query identifier.docno- String a document identifier.- Returns:
- boolean true if the given document is relevant for the given query, or otherwise false.
-
getGrade
public int getGrade(java.lang.String qid, java.lang.String docno, int def)Returns the grade of a document for a given query.- Parameters:
qid- String the identifier of the desired query.docno- String a document identifier.def- The default value to be returned if the document is not found.- Returns:
- int The grade of the document for the given query.
-
-