Package org.terrier.matching.models
Class BM25
- java.lang.Object
-
- org.terrier.matching.models.WeightingModel
-
- org.terrier.matching.models.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
-
-
Field Summary
-
Fields inherited from class org.terrier.matching.models.WeightingModel
averageDocumentLength, c, cs, documentFrequency, es, i, keyFrequency, numberOfDocuments, numberOfPointers, numberOfPostings, numberOfTokens, numberOfUniqueTerms, rq, termFrequency
-
-
Constructor Summary
Constructors Constructor Description BM25()
A default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getInfo()
Returns the name of the model.double
getParameter()
Returns the b parameter to the BM25 ranking formula as set by setParameter()void
prepare()
preparedouble
score(double tf, double docLength)
Uses BM25 to compute a weight for a term in a document.void
setParameter(double _b)
Sets the b parameter to BM25 ranking formula-
Methods inherited from class org.terrier.matching.models.WeightingModel
clone, getOverflowed, score, setCollectionStatistics, setEntryStatistics, setKeyFrequency, setRequest
-
-
-
-
Method Detail
-
getInfo
public final java.lang.String getInfo()
Returns the name of the model.- Specified by:
getInfo
in interfaceModel
- Specified by:
getInfo
in classWeightingModel
- 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 classWeightingModel
- Parameters:
tf
- The term frequency in the documentdocLength
- the document's length- Returns:
- the score assigned to a document with the given tf and docLength, and other preset parameters
-
prepare
public void prepare()
Description copied from class:WeightingModel
prepare- Overrides:
prepare
in classWeightingModel
-
setParameter
public void setParameter(double _b)
Sets the b parameter to BM25 ranking formula- Specified by:
setParameter
in interfaceModel
- Overrides:
setParameter
in classWeightingModel
- 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 interfaceModel
- Overrides:
getParameter
in classWeightingModel
-
-