Class BM25

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Model

    public class BM25
    extends WeightingModel
    This class implements the Okapi BM25 weighting model. The default parameters used are:
    k_1 = 1.2d
    k_3 = 8d
    b = 0.75d
    The b parameter can be altered by using the setParameter method.
    Author:
    Gianni Amati, Ben He, Vassilis Plachouras
    See Also:
    Serialized Form
    • Constructor Detail

      • BM25

        public BM25()
        A default constructor.
    • Method Detail

      • getInfo

        public final java.lang.String getInfo()
        Returns the name of the model.
        Specified by:
        getInfo in interface Model
        Specified by:
        getInfo in class WeightingModel
        Returns:
        the name of the model
      • score

        public double score​(double tf,
                            double docLength)
        Uses BM25 to compute a weight for a term in a document.
        Specified by:
        score in class WeightingModel
        Parameters:
        tf - The term frequency in the document
        docLength - the document's length
        Returns:
        the score assigned to a document with the given tf and docLength, and other preset parameters
      • setParameter

        public void setParameter​(double _b)
        Sets the b parameter to BM25 ranking formula
        Specified by:
        setParameter in interface Model
        Overrides:
        setParameter in class WeightingModel
        Parameters:
        _b - the b parameter value to use.
      • getParameter

        public double getParameter()
        Returns the b parameter to the BM25 ranking formula as set by setParameter()
        Specified by:
        getParameter in interface Model
        Overrides:
        getParameter in class WeightingModel