org.apache.lucene.search.similarities
Class LMJelinekMercerSimilarity
java.lang.Object
org.apache.lucene.search.similarities.Similarity
org.apache.lucene.search.similarities.SimilarityBase
org.apache.lucene.search.similarities.LMSimilarity
org.apache.lucene.search.similarities.LMJelinekMercerSimilarity
public class LMJelinekMercerSimilarity
- extends LMSimilarity
Language model based on the Jelinek-Mercer smoothing method. From Chengxiang
Zhai and John Lafferty. 2001. A study of smoothing methods for language
models applied to Ad Hoc information retrieval. In Proceedings of the 24th
annual international ACM SIGIR conference on Research and development in
information retrieval (SIGIR '01). ACM, New York, NY, USA, 334-342.
The model has a single parameter, λ. According to said paper, the
optimal value depends on both the collection and the query. The optimal value
is around 0.1
for title queries and 0.7
for long queries.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
Method Summary |
protected void |
explain(Explanation expl,
BasicStats stats,
int doc,
float freq,
float docLen)
Subclasses should implement this method to explain the score. |
float |
getLambda()
Returns the λ parameter. |
String |
getName()
Returns the name of the LM method. |
protected float |
score(BasicStats stats,
float freq,
float docLen)
Scores the document doc . |
LMJelinekMercerSimilarity
public LMJelinekMercerSimilarity(LMSimilarity.CollectionModel collectionModel,
float lambda)
- Parameters:
lambda
- the λ parameter.
LMJelinekMercerSimilarity
public LMJelinekMercerSimilarity(float lambda)
- Parameters:
lambda
- the λ parameter.
score
protected float score(BasicStats stats,
float freq,
float docLen)
- Description copied from class:
SimilarityBase
- Scores the document
doc
.
Subclasses must apply their scoring formula in this class.
- Specified by:
score
in class SimilarityBase
- Parameters:
stats
- the corpus level statistics.freq
- the term frequency.docLen
- the document length.
- Returns:
- the score.
explain
protected void explain(Explanation expl,
BasicStats stats,
int doc,
float freq,
float docLen)
- Description copied from class:
SimilarityBase
- Subclasses should implement this method to explain the score.
expl
already contains the score, the name of the class and the doc id, as well
as the term frequency and its explanation; subclasses can add additional
clauses to explain details of their scoring formulae.
The default implementation does nothing.
- Overrides:
explain
in class LMSimilarity
- Parameters:
expl
- the explanation to extend with details.stats
- the corpus level statistics.doc
- the document id.freq
- the term frequency.docLen
- the document length.
getLambda
public float getLambda()
- Returns the λ parameter.
getName
public String getName()
- Description copied from class:
LMSimilarity
- Returns the name of the LM method. The values of the parameters should be
included as well.
Used in LMSimilarity.toString()
.
- Specified by:
getName
in class LMSimilarity
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.