Class QualityStats

java.lang.Object
org.apache.lucene.benchmark.quality.QualityStats

public class QualityStats extends Object
Results of quality benchmark run for a single query or for a set of queries.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    A certain rank in which a relevant doc was found.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Number of points for which precision is computed.
  • Constructor Summary

    Constructors
    Constructor
    Description
    QualityStats(double maxGoodPoints, long searchTime)
    Construct a QualityStats object with anticipated maximal number of relevant hits.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addResult(int n, boolean isRelevant, long docNameExtractTime)
    Add a (possibly relevant) doc.
    Create a QualityStats object that is the average of the input QualityStats objects.
    double
    Return the average precision at recall points.
    long
    Returns the time it took to extract doc names for judging the measured query, in milliseconds.
    double
    Returns the maximal number of good points.
    double
    Returns the Mean reciprocal rank over the queries or RR for a single query.
    double
    Returns the number of good points (only relevant points).
    double
    Returns the number of points (both relevant and irrelevant points).
    double
    Return the precision at rank n: |{relevant hits within first n hits}| / n .
    double
    Return the recall: |{relevant hits found}| / |{relevant hits existing}|.
    Returns the recallPoints.
    long
    Returns the search time in milliseconds for the measured query.
    void
    log(String title, int paddLines, PrintWriter logger, String prefix)
    Log information on this QualityStats object.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • MAX_POINTS

      public static final int MAX_POINTS
      Number of points for which precision is computed.
      See Also:
  • Constructor Details

    • QualityStats

      public QualityStats(double maxGoodPoints, long searchTime)
      Construct a QualityStats object with anticipated maximal number of relevant hits.
      Parameters:
      maxGoodPoints - maximal possible relevant hits.
  • Method Details

    • addResult

      public void addResult(int n, boolean isRelevant, long docNameExtractTime)
      Add a (possibly relevant) doc.
      Parameters:
      n - rank of the added doc (its ordinal position within the query results).
      isRelevant - true if the added doc is relevant, false otherwise.
    • getPrecisionAt

      public double getPrecisionAt(int n)
      Return the precision at rank n: |{relevant hits within first n hits}| / n .
      Parameters:
      n - requested precision point, must be at least 1 and at most MAX_POINTS.
    • getAvp

      public double getAvp()
      Return the average precision at recall points.
    • getRecall

      public double getRecall()
      Return the recall: |{relevant hits found}| / |{relevant hits existing}|.
    • log

      public void log(String title, int paddLines, PrintWriter logger, String prefix)
      Log information on this QualityStats object.
      Parameters:
      logger - Logger.
      prefix - prefix before each log line.
    • average

      public static QualityStats average(QualityStats[] stats)
      Create a QualityStats object that is the average of the input QualityStats objects.
      Parameters:
      stats - array of input stats to be averaged.
      Returns:
      an average over the input stats.
    • getDocNamesExtractTime

      public long getDocNamesExtractTime()
      Returns the time it took to extract doc names for judging the measured query, in milliseconds.
    • getMaxGoodPoints

      public double getMaxGoodPoints()
      Returns the maximal number of good points. This is the number of relevant docs known by the judge for the measured query.
    • getNumGoodPoints

      public double getNumGoodPoints()
      Returns the number of good points (only relevant points).
    • getNumPoints

      public double getNumPoints()
      Returns the number of points (both relevant and irrelevant points).
    • getRecallPoints

      public QualityStats.RecallPoint[] getRecallPoints()
      Returns the recallPoints.
    • getMRR

      public double getMRR()
      Returns the Mean reciprocal rank over the queries or RR for a single query.

      Reciprocal rank is defined as 1/r where r is the rank of the first correct result, or 0 if there are no correct results within the top 5 results.

      This follows the definition in Question Answering - CNLP at the TREC-10 Question Answering Track.

    • getSearchTime

      public long getSearchTime()
      Returns the search time in milliseconds for the measured query.