Class LMSimilarity
java.lang.Object
org.apache.lucene.search.similarities.Similarity
org.apache.lucene.search.similarities.SimilarityBase
org.apache.lucene.search.similarities.LMSimilarity
- Direct Known Subclasses:
IndriDirichletSimilarity,LMDirichletSimilarity,LMJelinekMercerSimilarity
Abstract superclass for language modeling Similarities. The following inner types are introduced:
LMSimilarity.LMStats, which defines a new statistic, the probability that the collection language model generates the current term;LMSimilarity.CollectionModel, which is a strategy interface for object that compute the collection language modelp(w|C);LMSimilarity.DefaultCollectionModel, an implementation of the former, that computes the term probability as the number of occurrences of the term in the collection, divided by the total number of tokens.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceA strategy for computing the collection language model.static classModelsp(w|C)as the number of occurrences of the term in the collection, divided by the total number of tokens+ 1.static classStores the collection distribution of the current term.Nested classes/interfaces inherited from class org.apache.lucene.search.similarities.Similarity
Similarity.SimScorer -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final LMSimilarity.CollectionModelThe collection model. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance with the default collection language model.LMSimilarity(LMSimilarity.CollectionModel collectionModel) Creates a new instance with the specified collection language model.LMSimilarity(LMSimilarity.CollectionModel collectionModel, boolean discountOverlaps) Creates a new instance with the specified collection language model and discountOverlaps. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidexplain(List<Explanation> subExpls, BasicStats stats, double freq, double docLen) Subclasses should implement this method to explain the score.protected voidfillBasicStats(BasicStats stats, CollectionStatistics collectionStats, TermStatistics termStats) Computes the collection probability of the current term in addition to the usual statistics.abstract StringgetName()Returns the name of the LM method.protected BasicStatsFactory method to return a custom stats objecttoString()Returns the name of the LM method.Methods inherited from class org.apache.lucene.search.similarities.SimilarityBase
explain, log2, score, scorerMethods inherited from class org.apache.lucene.search.similarities.Similarity
computeNorm, getDiscountOverlaps
-
Field Details
-
collectionModel
The collection model.
-
-
Constructor Details
-
LMSimilarity
Creates a new instance with the specified collection language model. -
LMSimilarity
Creates a new instance with the specified collection language model and discountOverlaps. -
LMSimilarity
public LMSimilarity()Creates a new instance with the default collection language model.
-
-
Method Details
-
newStats
Description copied from class:SimilarityBaseFactory method to return a custom stats object- Overrides:
newStatsin classSimilarityBase
-
fillBasicStats
protected void fillBasicStats(BasicStats stats, CollectionStatistics collectionStats, TermStatistics termStats) Computes the collection probability of the current term in addition to the usual statistics.- Overrides:
fillBasicStatsin classSimilarityBase
-
explain
Description copied from class:SimilarityBaseSubclasses should implement this method to explain the score.explalready 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:
explainin classSimilarityBase- Parameters:
subExpls- the list of details of the explanation to extendstats- the corpus level statistics.freq- the term frequency.docLen- the document length.
-
getName
Returns the name of the LM method. The values of the parameters should be included as well.Used in
toString(). -
toString
Returns the name of the LM method. If a custom collection model strategy is used, its name is included as well.- Specified by:
toStringin classSimilarityBase- See Also:
-