org.terrier.matching.models
Class XSqrA_M

java.lang.Object
  extended by org.terrier.matching.models.WeightingModel
      extended by org.terrier.matching.models.XSqrA_M
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Model

public class XSqrA_M
extends WeightingModel

This class implements the XSqrA_M weighting model, which computed the inner product of Pearson's X^2 with the information growth computed with the multinomial M. It is an unsupervised DFR model of IR (free from parameters), which can be used on short or medium verbose queries.

XSqrA_M has a high performance, and in particular has statistically significant better MAP performance than all other supervised models on the GOV2 collection. MAP for short (title only) and medium (title+description) topics, and comparative p values (two-tailed paired t-test) compared to supervised models (with optimal MAP parameter values) are as follows:

QueriesMAP of XSqrA_MLGDDirichlet_LMPL2BM25In_expB2
short0.3156 p=0.3277p=0.0075p=0.0055p=0.0064p=0.0002
medium0.3311p=2.3E-07p=0.0002p=0.0395p=0.0025p=2.4E-10

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, documentFrequency, i, keyFrequency, numberOfDocuments, numberOfPointers, numberOfTokens, numberOfUniqueTerms, termFrequency
 
Constructor Summary
XSqrA_M()
          A default constructor to make this model.
 
Method Summary
 java.lang.String getInfo()
          Returns the name of the model, in this case "XSqrA_M"
 double score(double tf, double docLength)
          Uses XSqrA_M to compute a weight for a term in a document.
 double score(double tf, double docLength, double documentFrequency, double termFrequency, double keyFrequency)
          Uses XSqrA_M to compute a weight for a term in a document.
 
Methods inherited from class org.terrier.matching.models.WeightingModel
clone, getOverflowed, getParameter, prepare, score, setAverageDocumentLength, setCollectionStatistics, setDocumentFrequency, setEntryStatistics, setKeyFrequency, setNumberOfDocuments, setNumberOfPointers, setNumberOfTokens, setNumberOfUniqueTerms, setParameter, setRequest, setTermFrequency, stirlingPower
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XSqrA_M

public XSqrA_M()
A default constructor to make this model.

Method Detail

getInfo

public final java.lang.String getInfo()
Returns the name of the model, in this case "XSqrA_M"

Specified by:
getInfo in interface Model
Specified by:
getInfo in class WeightingModel
Returns:
the name of the model

score

public final double score(double tf,
                          double docLength)
Uses XSqrA_M to compute a weight for a term in a document.

Specified by:
score in class WeightingModel
Parameters:
tf - The term frequency of the term 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

score

public final double score(double tf,
                          double docLength,
                          double documentFrequency,
                          double termFrequency,
                          double keyFrequency)
Uses XSqrA_M to compute a weight for a term in a document.

Specified by:
score in class WeightingModel
Parameters:
tf - The term frequency of the term in the document
docLength - the document's length
documentFrequency - The document frequency of the term (ignored)
termFrequency - the term frequency in the collection (ignored)
keyFrequency - the term frequency in the query (ignored).
Returns:
the score assigned by the weighting model XSqrA_M.


Terrier 3.5. Copyright © 2004-2011 University of Glasgow