org.terrier.matching.models
Class Hiemstra_LM

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

public class Hiemstra_LM
extends WeightingModel

This class implements the Hiemstra LM weighting model. A default lambda value of 0.15 is used, according to section 5.2.3 of Djoerd Hiemstra's thesis: Using language models for information retrieval. PhD Thesis, Centre for Telematics and Information Technology, University of Twente, 2001.

Author:
Jie Peng
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
Hiemstra_LM()
          A default constructor.
Hiemstra_LM(double lambda)
          Constructs an instance of this class with the specified value for the parameter lambda.
 
Method Summary
 java.lang.String getInfo()
          Returns the name of the model.
 double score(double tf, double docLength)
          Uses Hiemestra_LM to compute a weight for a term in a document.
 double score(double tf, double docLength, double n_t, double F_t, double keyFrequency)
          Uses Hiemstra_LM 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

Hiemstra_LM

public Hiemstra_LM()
A default constructor. Uses the default value of lambda=0.15.


Hiemstra_LM

public Hiemstra_LM(double lambda)
Constructs an instance of this class with the specified value for the parameter lambda.

Parameters:
lambda - the smoothing parameter.
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 final double score(double tf,
                          double docLength)
Uses Hiemestra_LM 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

score

public final double score(double tf,
                          double docLength,
                          double n_t,
                          double F_t,
                          double keyFrequency)
Uses Hiemstra_LM 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
n_t - The document frequency of the term
F_t - the term frequency in the collection
keyFrequency - the term frequency in the query
Returns:
the score assigned by the weighting model Hiemstra_LM.


Terrier 3.5. Copyright © 2004-2011 University of Glasgow