すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:カテゴリ予測の使用

最終更新日:Jan 13, 2025

フローチャート

image

: カテゴリ予測を有効にするには、上記の図のすべての設定を完了する必要があります。

手順

カテゴリ予測モデルの作成とトレーニング

  1. 左側のナビゲーションペインで、検索アルゴリズムセンター > 並べ替え設定を選択します。[ポリシー管理] ページで、左側のペインの [カテゴリ予測モデル] をクリックします。[カテゴリ予測モデル] ページで、[作成] をクリックしてカテゴリ予測モデルを作成します。

image

  1. [カテゴリ予測の作成] ページで、モデル名、データ型、商品ID、商品タイトル、カテゴリID、カテゴリ名、フィルター条件などのモデル情報を指定します。

image

  • データ型:

    • 商品データ: 現在のアプリケーションのドキュメントデータ。データ型として [商品データ] を選択する場合は、ドキュメントデータにカテゴリID、商品タイトル、カテゴリ名フィールドが含まれていることを確認してください。

    • 行動データ: 収集されたクリック行動データ。詳細については、データ収集に関するトピックを参照してください。

  • カテゴリID: アプリケーションドキュメントのカテゴリIDを表すフィールド。INTデータ型がサポートされています。このパラメータは必須です。

  • 商品タイトル: アプリケーションドキュメントの商品タイトルを表すフィールド。TEXTおよびLITERALデータ型がサポートされています。このパラメータは必須です。

  • カテゴリ名: アプリケーションドキュメントのカテゴリ名を表すフィールド。TEXTおよびLITERALデータ型がサポートされています。このパラメータは必須です。

  • フィルター条件: モデルのトレーニングデータをフィルタリングするために使用される条件。このパラメータはオプションです。このパラメータを設定する場合は、フィルター条件のフィールド名がアプリケーションスキーマのフィールド名と同じであることを確認してください。次の演算子がサポートされています: <、>、<=、>=、=、!=。複数のフィルター条件を設定する場合は、条件をカンマ (,) で区切ります。この場合、すべての条件はAND論理演算に基づいて同時に有効になります。OR論理演算はサポートされていません。例: is_onsale > 0.

  1. モデルが作成されたら、完了をクリックしてカテゴリ予測モデルの詳細ページに移動します。

image

  1. [カテゴリ予測モデル] ページに戻ります。作成されたモデルは [トレーニング待機中] 状態です。[トレーニング開始] をクリックしてモデルをトレーニングします。

image

カテゴリ予測モデルは、次のいずれかの状態になります。

  • トレーニング待機中: モデルは作成されていますが、トレーニングされていません。

  • トレーニング中: モデルが作成され、トレーニング中です。

  • トレーニング失敗: データエラーによりモデルのトレーニングに失敗しました。

  • 適用されていません: モデルはトレーニングされていますが、検索または並べ替えの参照として使用されていません。

  • トレーニング済みで合格していません: モデルはトレーニングされていますが、トレーニングに合格できませんでした。

ご質問がある場合は、チケットを送信してください。

クエリ分析と並べ替え式の構成

  1. 左側のナビゲーションペインで、検索アルゴリズムセンター > 検索設定を選択します。[基本設定] ページで、左側のペインの [クエリ分析ルール設定] をクリックします。[クエリ分析ルール設定] ページで、[作成] をクリックしてクエリ分析ルールを作成します。

image

  1. 次の図に示すように、クエリ分析ルールを設定して作成します。

image

  1. カテゴリ予測モデルを大まかな並べ替えまたは細かい並べ替えに適用します。左側のナビゲーションペインで、検索アルゴリズムセンター > 並べ替え設定を選択します。[ポリシー管理] ページで、[作成] をクリックして並べ替えポリシーを作成します。

image

カテゴリ予測モデルを大まかな並べ替えに適用するには、次の手順を実行します。

  1. [ポリシーの作成] ページで、ポリシー名を入力します。[スコープ] ドロップダウンリストから [大まかな並べ替え] を選択します。最初の並べ替えは大まかな並べ替えです。次に、[タイプ] ドロップダウンリストから [式] を選択します。コンソールでは式のみがサポートされています。カスタムプラグインは後でサポートされます。

image

  1. [並べ替え設定] ステップで、[スコアリング特性] ドロップダウンリストから category_score() を選択します。

image

  1. フィールドを選択し、重みを設定して、設定を保存します。

image

カテゴリ予測モデルを細かい並べ替えに適用するには、次の手順を実行します。

  1. [ポリシーの作成] ページで、ポリシー名を入力します。[スコープ] ドロップダウンリストから [細かい並べ替え] を選択します。2番目の並べ替えは細かい並べ替えです。次に、[タイプ] ドロップダウンリストから [式] を選択します。コンソールでは式のみがサポートされています。カスタムプラグインは後でサポートされます。

image

2. [並べ替え設定] ステップで、[組み込み関数] ドロップダウンリストから category_score(cate_id_field) を選択します。

image

3. cate_id_field 変数をモデルのカテゴリIDに置き換え、設定を保存します。

image

4. 並べ替えポリシーによってモデルが参照された後、カテゴリ予測モデルのステータスを表示します。

5. カテゴリ予測モデルのアプリケーションで検索テストを実行し、テスト結果を表示します。この手順では、raw_query= パラメータを検索クエリに設定する必要があります。

image

SDK で検索操作を呼び出す

raw_query パラメータを設定します。

  • このパラメータは、カテゴリ予測に基づく検索に使用されます。検索結果は、検索クエリが raw_query パラメータの値と同じ場合にのみ、カテゴリ予測に基づいて並べ替えられます。

  • このパラメータは、ユーザーが入力した検索クエリに設定することをお勧めします。このパラメータは、次の形式で設定する必要があります。

    raw_query=content
    // API操作を呼び出して検索クエリをパラメータに渡す場合は、URL_ENCODE関数を使用して検索クエリをエンコードする必要があります。SDKを使用して検索クエリをパラメータに渡す場合は、検索クエリをエンコードする必要はありません。

    : 次の表は、アプリケーションのクエリ分析ルールを示しています。

インデックス

クエリ分析ルール

カテゴリ予測

index1

rule1

いいえ

index2

rule2

はい

index3

rule3

はい

  1. 検索インデックスでカテゴリ予測が無効に設定されていて、リクエストに raw_query パラメータが含まれている場合、検索結果はカテゴリ予測に基づいて並べ替えられません。

  2. 検索インデックスでカテゴリ予測が無効に設定されていて、リクエストに raw_query パラメータが含まれていない場合、検索結果はカテゴリ予測に基づいて並べ替えられません。

  3. 検索インデックスでカテゴリ予測が有効に設定されていて、リクエストに raw_query パラメータが含まれていない場合、検索結果はカテゴリ予測に基づいて並べ替えられません: query=index2:'search_query'.

  4. 検索インデックスでカテゴリ予測が有効に設定されていて、リクエストの raw_query パラメータの値が検索インデックスの検索クエリと異なる場合、検索結果はカテゴリ予測に基づいて並べ替えられません: query=index2:'search_query'&raw_query=raw_query.

  5. 検索インデックスでカテゴリ予測が有効に設定されていて、リクエストの raw_query パラメータの値が検索インデックスの検索クエリと同じ場合、検索結果はカテゴリ予測に基づいて並べ替えられます: query=index2:'search_query'&raw_query=search_query.

  6. 検索に複数のインデックスが含まれていて、リクエストに raw_query パラメータが含まれている場合、異なるインデックスのカテゴリ予測が有効になる可能性があります: a. query=index2:'index_query' AND index3:'search_query'&raw_query=search_query # index3 のカテゴリ予測が有効になります。 b. query=index2:'search_query' AND index3:'search_query'&raw_query=search_query # index2 のカテゴリ予測が優先的に有効になります。index2 のカテゴリ予測設定が検索結果に適用されない場合、index3 のカテゴリ予測が有効になります。

使用上の注意

  • アプリケーションにつき最大5つのカテゴリ予測モデルを作成できます。

  • クエリ分析ルールがカテゴリ予測モデルを参照する場合、モデルのトレーニングに使用されるデータフィールドは、クエリ分析ルールが適用されるインデックスに含まれている必要があります。

  • カテゴリ予測モデルを作成する前に、カテゴリIDなど、カテゴリ予測に使用されるフィールドが属性フィールドとして設定されていることを確認してください。

  • クエリ分析ルールがカテゴリ予測モデルを参照し、リクエストに category_prediction パラメータが含まれている場合、エラーが発生します。

  • 予測モデルを有効にするには、カテゴリ予測モデルを参照するクエリ分析ルールと category_score 関数を含む並べ替え式が設定されていて、リクエストに raw_query パラメータが含まれていることを確認してください。

  • カテゴリIDは正の数である必要があります。そうでない場合、サーバーエラーが発生します。

  • 関連する管理および制御API操作: アルゴリズム

高度な使用方法

  1. クエリ分析ルールでカテゴリ予測に加えて固有表現認識 (NER) を設定すると、より多くのドキュメントが取得されます。NERの結果もドキュメントの取得に使用されます。設定されたカテゴリに一致するデータがない場合、検索クエリの1つ以上の単語が無視されてより多くのドキュメントが取得され、カテゴリ予測の最終的な検索結果として返されます。詳細については、固有表現認識を参照してください。

  2. OpenSearchでは、トレーニング済みのカテゴリ予測モデルに介入できます。カテゴリ予測介入のプロセスは、クエリ分析介入のプロセスに似ています。詳細については、カテゴリ予測の介入辞書を参照してください。