概要
カテゴリ予測は、eコマース検索シナリオの基本的な機能です。この機能は、クエリ用語と商品カテゴリの関連性を予測するために使用されます。たとえば、クエリ用語がappleの場合、果物のカテゴリでは検索結果に果物のブランドが含まれている必要があります。携帯電話のカテゴリでは、検索結果にiPhoneが含まれている必要があります。カテゴリ予測機能の使用方法の詳細については、概要を参照してください。CategoryScoreクラスは、スコア計算中に、ドキュメント内のクエリ用語とカテゴリの関連性を示すスコアを取得するために使用されます。カテゴリ予測機能を実装するには、スコア計算オブジェクトを初期化するときにCategoryScoreオブジェクトを作成します。次に、スコア計算中に、double evaluate(OpsScoreParams params)関数を呼び出して、ドキュメント内のクエリ用語とカテゴリの関連性を示すスコアを計算します。スコアは0、1、または2になります。値が大きいほど、関連性が高いことを示します。
関数
関数 | 説明 |
---|---|
CategoryScore create(OpsScorerInitParams params, CString fieldName) | CategoryScoreオブジェクトを作成します。この関数はファクトリ関数です。 |
double evaluate(OpsScoreParams params) | ドキュメント内のクエリ用語とカテゴリの関連性を示すスコアを取得します。 |
関数の詳細
CategoryScore create(OpsScorerInitParams params, CString fieldName)
CategoryScoreオブジェクトを作成します。この関数はファクトリ関数です。パラメータ:params:スコア計算に使用されるパラメータ。OpsScoreParamsを参照してください。fieldName:ドキュメント内のカテゴリフィールドの名前。フィールドは属性フィールドである必要があります。名前は定数である必要があります。
double evaluate(OpsScoreParams params)
ドキュメント内のクエリ用語とカテゴリの関連性を示すスコアを計算します。この関数は、スコア計算オブジェクトのスコア関数で呼び出されます。パラメータ:params:スコア計算に使用されるパラメータ。OpsScoreParamsを参照してください。戻り値:ドキュメント内のクエリ用語とカテゴリの関連性を示すスコア。スコアは0、1、または2になります。値0は、クエリ用語がドキュメント内のカテゴリに関連していないことを示します。値が大きいほど、関連性が高いことを示します。サンプルコード:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.features.CategoryScore;
class BasicSimilarityScorer {
CategoryScore _categoryScore;
boolean init(OpsScorerInitParams params) {
_categoryScore = CategoryScore.create(params, "category_field");
return true;
}
double score(OpsScoreParams params) {
return _categoryScore.evaluate(params);
}
}