Class RecallAtK

  • All Implemented Interfaces:
    NamedWriteable, Writeable, ToXContent, ToXContentObject, EvaluationMetric

    public class RecallAtK
    extends java.lang.Object
    implements EvaluationMetric
    Metric implementing Recall@K (https://en.wikipedia.org/wiki/Evaluation_measures_(information_retrieval)#Recall).
    By default documents with a rating equal or bigger than 1 are considered to be "relevant" for this calculation. This value can be changed using the `relevant_rating_threshold` parameter.
    The `k` parameter (defaults to 10) controls the search window size.
    • Constructor Detail

      • RecallAtK

        public RecallAtK​(int relevantRatingThreshold,
                         int k)
        Metric implementing Recall@K.
        Parameters:
        relevantRatingThreshold - ratings equal or above this value will be considered relevant.
        k - controls the window size for the search results the metric takes into account
      • RecallAtK

        public RecallAtK()
    • Method Detail

      • writeTo

        public void writeTo​(StreamOutput out)
                     throws java.io.IOException
        Specified by:
        writeTo in interface Writeable
        Throws:
        java.io.IOException
      • getRelevantRatingThreshold

        public int getRelevantRatingThreshold()
        Return the rating threshold above which ratings are considered to be "relevant" for this metric. Defaults to 1.
      • getK

        public int getK()
      • forcedSearchSize

        public java.util.OptionalInt forcedSearchSize()
        Description copied from interface: EvaluationMetric
        Metrics can define a size of the search hits windows they want to retrieve by overwriting this method. The default implementation returns an empty optional.
        Specified by:
        forcedSearchSize in interface EvaluationMetric
        Returns:
        the number of search hits this metrics requests
      • evaluate

        public EvalQueryQuality evaluate​(java.lang.String taskId,
                                         SearchHit[] hits,
                                         java.util.List<RatedDocument> ratedDocs)
        Compute recall at k based on provided relevant document IDs.
        Specified by:
        evaluate in interface EvaluationMetric
        Parameters:
        taskId - an identifier of the query for which the search ranking is evaluated
        hits - the search result hits
        ratedDocs - the documents that contain the document rating for this query case
        Returns:
        recall at k for above SearchResult list.
      • equals

        public final boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class java.lang.Object