Package org.terrier.matching.models
Class Js_KLs
- java.lang.Object
-
- org.terrier.matching.models.WeightingModel
-
- org.terrier.matching.models.Js_KLs
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,Model
public class Js_KLs extends WeightingModel
This class implements the Js_KLs weighting model, which is the product of two measures: the Jefrreys' divergence with the Kullback Leibler's divergence. The two measures are obtained by the addition of one query token. Then Jefrreys' divergence and the information growth in the document by Kullback Leibler's divergence are computed. The model computes the product of these two information measures as amount of information carried by a single query token. Js_KLs is an unsupervised model (parameter free model) of IR.Js_KLs has a high performance but it can be used with verbose queries. In particular, it has statistically or moderately significant better MAP performance than most of the supervised models with long queries on the terabyte collection (GOV2) with the exception of PL2. MAP for long topics, and comparative p values (two-tailed paired t-test) compared to supervised models (with optimal MAP parameter values) are as follows:
Queries MAP of JS_KLs LGD Dirichlet_LM PL2 BM25 In_expB2 long 0.3178 (>) p=1.7E-17 (>) p=0.0544 (<) p=0.3155 (>) p=0.7866 (>) p=5151 References
- Frequentist and Bayesian approach to Information Retrieval. G. Amati. In Proceedings of the 28th European Conference on IR Research (ECIR 2006). LNCS vol 3936, pages 13--24.
- Since:
- 3.5
- Author:
- Gianni Amati
- 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 Js_KLs()
A default constructor to make this model.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getInfo()
Returns the name of the model, in this case "Js_KLs"double
score(double tf, double docLength)
Uses Js_KLs to compute a weight for a term in a document.-
Methods inherited from class org.terrier.matching.models.WeightingModel
clone, getOverflowed, getParameter, prepare, score, setCollectionStatistics, setEntryStatistics, setKeyFrequency, setParameter, setRequest
-
-
-
-
Method Detail
-
getInfo
public final java.lang.String getInfo()
Returns the name of the model, in this case "Js_KLs"- Specified by:
getInfo
in interfaceModel
- Specified by:
getInfo
in classWeightingModel
- Returns:
- the name of the model
-
score
public final double score(double tf, double docLength)
Uses Js_KLs to compute a weight for a term in a document.- Specified by:
score
in classWeightingModel
- Parameters:
tf
- The term frequency of the term in the documentdocLength
- the document's length- Returns:
- the score assigned to a document with the given tf and docLength, and other preset parameters
-
-