Class KLCorrect


  • public class KLCorrect
    extends QueryExpansionModel
    This class implements the correct Kullback-Leibler divergence for query expansion, which takes the contribution into consideration. See the equation before (8.13), page 149.
    Author:
    Gianni Amati, Ben He, Vassilis Plachouras
    • Constructor Detail

      • KLCorrect

        public KLCorrect()
        A default constructor.
    • Method Detail

      • getInfo

        public final java.lang.String getInfo()
        Returns the name of the model.
        Specified by:
        getInfo in class QueryExpansionModel
        Returns:
        the name of the model
      • parameterFreeNormaliser

        public final double parameterFreeNormaliser()
        This method provides the contract for computing the normaliser of parameter-free query expansion.
        Specified by:
        parameterFreeNormaliser in class QueryExpansionModel
        Returns:
        The normaliser.
      • parameterFreeNormaliser

        public final double parameterFreeNormaliser​(double maxTermFrequency,
                                                    double collectionLength,
                                                    double totalDocumentLength)
        This method provides the contract for computing the normaliser of parameter-free query expansion.
        Specified by:
        parameterFreeNormaliser in class QueryExpansionModel
        Parameters:
        maxTermFrequency - The maximum of the in-collection term frequency of the terms in the pseudo relevance set.
        collectionLength - The number of tokens in the collections.
        totalDocumentLength - The sum of the length of the top-ranked documents.
        Returns:
        The normaliser.
      • score

        public final double score​(double withinDocumentFrequency,
                                  double termFrequency)
        This method implements the query expansion model.
        Specified by:
        score in class QueryExpansionModel
        Parameters:
        withinDocumentFrequency - double The term frequency in the X top-retrieved documents.
        termFrequency - double The term frequency in the collection.
        Returns:
        double The query expansion weight using he complete Kullback-Leibler divergence.
      • score

        public final double score​(double withinDocumentFrequency,
                                  double termFrequency,
                                  double totalDocumentLength,
                                  double collectionLength,
                                  double averageDocumentLength)
        This method implements the query expansion model.
        Specified by:
        score in class QueryExpansionModel
        Parameters:
        withinDocumentFrequency - double The term frequency in the X top-retrieved documents.
        termFrequency - double The term frequency in the collection.
        totalDocumentLength - double The sum of length of the X top-retrieved documents.
        collectionLength - double The number of tokens in the whole collection.
        averageDocumentLength - double The average document length in the collection.
        Returns:
        double The score returned by the implemented model.