カテゴリ予測は、トレーニング済みのモデルを使用して検索クエリを製品カテゴリにマッピングし、そのカテゴリに属する結果を上位に表示します。たとえば、「running shoes」というクエリは「Sports > Footwear」にマッピングされ、関連性の低い結果よりもスポーツシューズが優先的に表示されます。「denim」というクエリは「Clothing > Pants」にマッピングされ、デニム素材のホームグッズよりもジーンズが上位にランク付けされます。
カテゴリ予測を有効にするには、次の 3 つの構成を完了してください:モデルの作成とトレーニング、そのモデルを参照するクエリ分析ルールの構成、および category_score を呼び出すソート式の追加です。

前提条件
開始する前に、以下の要件を満たしていることを確認してください。
アプリケーションスキーマ内で、カテゴリ ID、商品タイトル、カテゴリ名の各フィールドが属性フィールドとして構成されていること
(商品データを使用する場合)カテゴリ ID、商品タイトル、カテゴリ名の各フィールドを含むドキュメントデータがあること
(動作データを使用する場合)データ収集を通じて収集されたクリック動作データがあること
カテゴリ予測モデルの作成とトレーニング
左側のナビゲーションウィンドウで、検索アルゴリズムセンター > ソート構成 を選択します。ナビゲーションツリーで カテゴリ予測モデル をクリックし、作成 をクリックします。

カテゴリ予測の作成 ページで、モデルの詳細情報を入力します。
フィールド 説明 必須 モデル名 モデルの名前 はい データの型 商品データ:アプリケーションからのドキュメントデータ。カテゴリ ID、商品タイトル、カテゴリ名の各フィールドが必要です。動作データ:収集されたクリック動作データ。 はい カテゴリ ID アプリケーションドキュメント内のカテゴリ ID を表すフィールド。INT 型をサポートします。正の整数である必要があります。非正の値を指定すると、サーバーエラーが発生します。 はい 商品タイトル 商品タイトルを表すフィールド。TEXT 型および LITERAL 型をサポートします。 はい カテゴリ名 カテゴリ名を表すフィールド。TEXT 型および LITERAL 型をサポートします。 はい フィルター条件 トレーニングデータをフィルターするための条件。フィールド名はアプリケーションスキーマ内のものと一致している必要があります。サポートされる演算子: <、>、<=、>=、=、!=。複数の条件をカンマ (,) で区切ると、すべての条件が AND 論理で評価されます。OR 論理はサポートされていません。例:is_onsale > 0いいえ 
完了 をクリックして、モデル詳細ページに移動します。

カテゴリ予測モデル ページで、モデルのステータスは Pending Training と表示されます。操作 列の トレーニング をクリックして、トレーニングを開始します。

モデルは以下の状態を遷移します。
状態 意味 Pending Training モデルが作成されましたが、トレーニングは開始されていません Training モデルのトレーニング中 Training Failed データエラーによりトレーニングが失敗しました Not Applied トレーニングは完了しましたが、取得またはソートでまだ参照されていません Trained and Not Passed トレーニングは完了しましたが、モデルがトレーニング基準を満たしませんでした ご不明な点がある場合は、チケットを送信してください。
クエリ分析およびソート式の構成
クエリ分析ルールの作成
左側のナビゲーションウィンドウで、検索アルゴリズムセンター > 取得構成 を選択します。ナビゲーションツリーで クエリ分析ルール構成 をクリックし、作成 をクリックします。

クエリ分析ルールを構成して保存します。

基本ソートへのモデルの適用
基本ソートは最初のランキング処理です。
左側のナビゲーションウィンドウで、検索アルゴリズムセンター > ソート構成 を選択します。ポリシー管理 ページで、作成 をクリックします。

ポリシーの作成 ページで、ポリシー名を入力します。スコープ を 基本ソート に、タイプ を 式 に設定します。コンソールでは式のみがサポートされています。カスタムプラグインは今後サポートされる予定です。

ソート構成 ステップで、スコアリング特性 ドロップダウンリストから
category_score()を選択します。
フィールドを選択し、重みを設定して構成を保存します。

高度ソートへのモデルの適用
高度ソートは 2 回目のランキング処理です。
ポリシーの作成 ページで、ポリシー名を入力します。スコープ を 高度ソート に、タイプ を 式 に設定します。コンソールでは式のみがサポートされています。カスタムプラグインは今後サポートされる予定です。

ソート構成 ステップで、組み込み関数 ドロップダウンリストから
category_score(cate_id_field)を選択します。
cate_id_fieldをご利用のモデルのカテゴリ ID に置き換え、構成を保存します。
ソートポリシーによってモデルが参照された後のステータスを確認します。
アプリケーションで検索テストを実行します。
raw_queryパラメーターに検索クエリを設定して、カテゴリ予測の結果をテストします。
API および SDK 呼び出しでのカテゴリ予測の有効化
カテゴリ予測は、raw_query パラメーターが存在し、その値がインデックス内の検索クエリと一致する場合にのみ、検索結果をソートします。
raw_query にユーザーが入力した検索クエリを設定します。
raw_query=<search_query>API 経由で呼び出す場合:
URL_ENCODEを使用して値を URL エンコードします。SDK 経由で呼び出す場合:エンコードは不要です。
カテゴリ予測が有効になるタイミング
以下の表は、インデックス構成とリクエスト内の raw_query の値に基づいて、カテゴリ予測が適用されるタイミングを示しています。
| インデックス構成 | raw_query リクエスト内 | raw_query が検索クエリと一致 | カテゴリ予測が適用されるか? |
|---|---|---|---|
| 無効 | はい | — | いいえ |
| 無効 | なし | — | いいえ |
| 有効 | なし | — | いいえ |
| 有効 | はい | いいえ | いいえ |
| 有効 | はい | はい | はい |
マルチインデックス時の動作: リクエストが複数のインデックスを対象とする場合、上記のルールに基づき、インデックスごとにカテゴリ予測が適用されます。
# index3 の予測のみ有効(クエリが index3 の raw_query と一致)
query=index2:'index_query' AND index3:'search_query'&raw_query=search_query
# index2 の予測が優先的に有効;
# index2 の構成が適用されない場合、index3 が有効
query=index2:'search_query' AND index3:'search_query'&raw_query=search_query制限事項
1 つのアプリケーションにつき、最大 5 つのカテゴリ予測モデルを作成できます。
モデルのトレーニングに使用するデータフィールドは、クエリ分析ルールが適用されるインデックスに含まれている必要があります。
モデルを作成する前に、カテゴリ ID および関連フィールドを属性フィールドとして構成してください。
クエリ分析ルールがカテゴリ予測モデルを参照しており、かつリクエストに
category_predictionパラメーターが含まれている場合、エラーが発生します。カテゴリ予測を有効にするには、以下の 3 つすべてを構成する必要があります:モデルを参照するクエリ分析ルール、
category_score関数を含むソート式、およびリクエスト内のraw_queryパラメーター。関連 API オペレーション:Algorithms
高度な使用方法
固有表現抽出 (NER) との併用
クエリ分析ルール内でカテゴリ予測と固有表現抽出 (NER) を同時に構成すると、より多くのドキュメントが取得されます。NER の結果も取得に使用されます。予測されたカテゴリに一致するドキュメントが存在しない場合、検索クエリ内の語句が選択的に無視され、結果が広範囲に拡張されます。この拡張された結果が最終的なカテゴリ予測出力となります。詳細については、「固有表現抽出」をご参照ください。
予測結果への介入
介入機能を使用すると、トレーニング済みモデルの予測結果を上書きできます。これはクエリ分析の介入と同様の仕組みです。詳細については、「カテゴリ予測のための介入辞書」をご参照ください。