Share via


BM25SimilarityAlgorithm Class

public final class BM25SimilarityAlgorithm
extends SimilarityAlgorithm

Ranking function based on the Okapi BM25 similarity algorithm. BM25 is a TF-IDF-like algorithm that includes length normalization (controlled by the 'b' parameter) as well as term frequency saturation (controlled by the 'k1' parameter).

Constructor Summary

Constructor Description
BM25SimilarityAlgorithm()

Creates an instance of BM25SimilarityAlgorithm class.

Method Summary

Modifier and Type Method and Description
static BM25SimilarityAlgorithm fromJson(JsonReader jsonReader)

Reads an instance of BM25SimilarityAlgorithm from the JsonReader.

Double getB()

Get the b property: This property controls how the length of a document affects the relevance score.

Double getK1()

Get the k1 property: This property controls the scaling function between the term frequency of each matching terms and the final relevance score of a document-query pair.

String getOdataType()

Get the odataType property: The @odata.type property.

BM25SimilarityAlgorithm setB(Double b)

Set the b property: This property controls how the length of a document affects the relevance score.

BM25SimilarityAlgorithm setK1(Double k1)

Set the k1 property: This property controls the scaling function between the term frequency of each matching terms and the final relevance score of a document-query pair.

JsonWriter toJson(JsonWriter jsonWriter)

Methods inherited from SimilarityAlgorithm

Methods inherited from java.lang.Object

Constructor Details

BM25SimilarityAlgorithm

public BM25SimilarityAlgorithm()

Creates an instance of BM25SimilarityAlgorithm class.

Method Details

fromJson

public static BM25SimilarityAlgorithm fromJson(JsonReader jsonReader)

Reads an instance of BM25SimilarityAlgorithm from the JsonReader.

Parameters:

jsonReader - The JsonReader being read.

Returns:

An instance of BM25SimilarityAlgorithm if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.

Throws:

IOException

- If an error occurs while reading the BM25SimilarityAlgorithm.

getB

public Double getB()

Get the b property: This property controls how the length of a document affects the relevance score. By default, a value of 0.75 is used. A value of 0.0 means no length normalization is applied, while a value of 1.0 means the score is fully normalized by the length of the document.

Returns:

the b value.

getK1

public Double getK1()

Get the k1 property: This property controls the scaling function between the term frequency of each matching terms and the final relevance score of a document-query pair. By default, a value of 1.2 is used. A value of 0.0 means the score does not scale with an increase in term frequency.

Returns:

the k1 value.

getOdataType

public String getOdataType()

Get the odataType property: The @odata.type property.

Overrides:

BM25SimilarityAlgorithm.getOdataType()

Returns:

the odataType value.

setB

public BM25SimilarityAlgorithm setB(Double b)

Set the b property: This property controls how the length of a document affects the relevance score. By default, a value of 0.75 is used. A value of 0.0 means no length normalization is applied, while a value of 1.0 means the score is fully normalized by the length of the document.

Parameters:

b - the b value to set.

Returns:

the BM25SimilarityAlgorithm object itself.

setK1

public BM25SimilarityAlgorithm setK1(Double k1)

Set the k1 property: This property controls the scaling function between the term frequency of each matching terms and the final relevance score of a document-query pair. By default, a value of 1.2 is used. A value of 0.0 means the score does not scale with an increase in term frequency.

Parameters:

k1 - the k1 value to set.

Returns:

the BM25SimilarityAlgorithm object itself.

toJson

public JsonWriter toJson(JsonWriter jsonWriter)

Overrides:

BM25SimilarityAlgorithm.toJson(JsonWriter jsonWriter)

Parameters:

jsonWriter

Throws:

Applies to