Package org.apache.solr.ltr.model
Class MultipleAdditiveTreesModel
java.lang.Object
org.apache.solr.ltr.model.LTRScoringModel
org.apache.solr.ltr.model.MultipleAdditiveTreesModel
- All Implemented Interfaces:
org.apache.lucene.util.Accountable
A scoring model that computes scores based on the summation of multiple weighted trees. Example
models are LambdaMART and Gradient Boosted Regression Trees (GBRT) .
Example configuration:
{
"class" : "org.apache.solr.ltr.model.MultipleAdditiveTreesModel",
"name" : "multipleadditivetreesmodel",
"features":[
{ "name" : "userTextTitleMatch"},
{ "name" : "originalScore"}
],
"params" : {
"trees" : [
{
"weight" : "1",
"root": {
"feature" : "userTextTitleMatch",
"threshold" : "0.5",
"left" : {
"value" : "-100"
},
"right" : {
"feature" : "originalScore",
"threshold" : "10.0",
"left" : {
"value" : "50"
},
"right" : {
"value" : "75"
}
}
}
},
{
"weight" : "2",
"root" : {
"value" : "-10"
}
}
]
}
}
Training libraries:
Background reading:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassclass -
Field Summary
Fields inherited from class org.apache.solr.ltr.model.LTRScoringModel
features, name, normsFields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.lucene.search.Explanationexplain(org.apache.lucene.index.LeafReaderContext context, int doc, float finalScore, List<org.apache.lucene.search.Explanation> featureExplanations) Similar to the score() function, except it returns an explanation of how the features were used to calculate the score.voidnormalizeFeaturesInPlace(float[] modelFeatureValues) Goes through all the stored feature values, and calculates the normalized values for all the features that will be used for scoring.protected voidnormalizeFeaturesInPlace(float[] modelFeatureValues, boolean isNullSameAsZero) floatscore(float[] modelFeatureValuesNormalized) Given a list of normalized values for all features a scoring algorithm cares about, calculate and return a score.voidsetIsNullSameAsZero(boolean nullSameAsZero) voidtoString()protected voidvalidate()Validate that settings make sense and throwsModelExceptionif they do not make sense.Methods inherited from class org.apache.solr.ltr.model.LTRScoringModel
equals, getAllFeatures, getFeatures, getFeatureStoreName, getInstance, getName, getNormalizerExplanation, getNorms, getParams, hashCode, ramBytesUsedMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
Constructor Details
-
MultipleAdditiveTreesModel
-
-
Method Details
-
setIsNullSameAsZero
public void setIsNullSameAsZero(boolean nullSameAsZero) -
setTrees
-
validate
Description copied from class:LTRScoringModelValidate that settings make sense and throwsModelExceptionif they do not make sense.- Overrides:
validatein classLTRScoringModel- Throws:
ModelException
-
normalizeFeaturesInPlace
public void normalizeFeaturesInPlace(float[] modelFeatureValues) Description copied from class:LTRScoringModelGoes through all the stored feature values, and calculates the normalized values for all the features that will be used for scoring.- Overrides:
normalizeFeaturesInPlacein classLTRScoringModel
-
normalizeFeaturesInPlace
protected void normalizeFeaturesInPlace(float[] modelFeatureValues, boolean isNullSameAsZero) -
score
public float score(float[] modelFeatureValuesNormalized) Description copied from class:LTRScoringModelGiven a list of normalized values for all features a scoring algorithm cares about, calculate and return a score.- Specified by:
scorein classLTRScoringModel- Parameters:
modelFeatureValuesNormalized- List of normalized feature values. Each feature is identified by its id, which is the index in the array- Returns:
- The final score for a document
-
explain
public org.apache.lucene.search.Explanation explain(org.apache.lucene.index.LeafReaderContext context, int doc, float finalScore, List<org.apache.lucene.search.Explanation> featureExplanations) Description copied from class:LTRScoringModelSimilar to the score() function, except it returns an explanation of how the features were used to calculate the score.- Specified by:
explainin classLTRScoringModel- Parameters:
context- Context the document is indoc- Document to explainfinalScore- Original scorefeatureExplanations- Explanations for each feature calculation- Returns:
- Explanation for the scoring of a document
-
toString
- Overrides:
toStringin classLTRScoringModel
-