public class LMJelinekMercerSimilarity extends LMSimilarity
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.
Values should be between 0 (exclusive) and 1 (inclusive). Values near zero act score more like a conjunction (coordinate level matching), whereas values near 1 behave the opposite (more like pure disjunction).
LMSimilarity.CollectionModel, LMSimilarity.DefaultCollectionModel, LMSimilarity.LMStatsSimilarity.SimScorercollectionModeldiscountOverlaps| Constructor and Description |
|---|
LMJelinekMercerSimilarity(float lambda)
Instantiates with the specified λ parameter.
|
LMJelinekMercerSimilarity(LMSimilarity.CollectionModel collectionModel,
float lambda)
Instantiates with the specified collectionModel and λ parameter.
|
| Modifier and Type | Method and Description |
|---|---|
protected Explanation |
explain(BasicStats stats,
Explanation freq,
double docLen)
Explains the score.
|
protected void |
explain(List<Explanation> subs,
BasicStats stats,
double freq,
double 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 double |
score(BasicStats stats,
double freq,
double docLen)
Scores the document
doc. |
fillBasicStats, newStats, toStringcomputeNorm, getDiscountOverlaps, log2, scorer, setDiscountOverlapspublic LMJelinekMercerSimilarity(LMSimilarity.CollectionModel collectionModel, float lambda)
public LMJelinekMercerSimilarity(float lambda)
protected double score(BasicStats stats, double freq, double docLen)
SimilarityBasedoc.
Subclasses must apply their scoring formula in this class.
score in class SimilarityBasestats - the corpus level statistics.freq - the term frequency.docLen - the document length.protected void explain(List<Explanation> subs, BasicStats stats, double freq, double docLen)
SimilarityBaseexpl
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.
explain in class LMSimilaritysubs - the list of details of the explanation to extendstats - the corpus level statistics.freq - the term frequency.docLen - the document length.protected Explanation explain(BasicStats stats, Explanation freq, double docLen)
SimilarityBaseSimilarityBase.score(BasicStats, double, double)
method) and the explanation for the term frequency. Subclasses content with
this format may add additional details in
SimilarityBase.explain(List, BasicStats, double, double).explain in class SimilarityBasestats - the corpus level statistics.freq - the term frequency and its explanation.docLen - the document length.public float getLambda()
public String getName()
LMSimilarityUsed in LMSimilarity.toString()
getName in class LMSimilarityCopyright © 2000-2020 Apache Software Foundation. All Rights Reserved.