概要
ドキュメントを検索する前に、OpenSearch はユーザーの検索クエリのセマンティクスを分析、処理します。シノニム機能は、検索クエリを同義語で拡張し、より広範な関連ドキュメントを検索します。ビジネスシナリオは多様であるため、最適な検索パフォーマンスを確保するには、アプリケーション固有のシノニムモデルが必要となります。
OpenSearch は、豊富なドメイン固有のシノニムモデルを提供します。対応する業界固有のアナライザーを使用して、専用のカスタムシノニムモデルを簡単にトレーニングできます。このモデルは、既存のデータを自動的に抽出して適応します。また、パーソナライズされたシノニムデータをインポートして、モデルトレーニングを最適化することもできます。詳細については、テクニカルサポートにお問い合わせください。
カスタマイズ検索モデルには、ストレージ容量、コンピューティングコスト、モデルトレーニングに基づいて料金が発生します。料金の詳細については、OpenSearch Industry Algorithm Edition の課金をご参照ください。
クイックスタート
カスタムシノニムモデルを作成して使用するには、次の 3 つの手順に従います。
-
カスタムシノニムモデルを作成してトレーニングします。
-
トレーニング済みモデルを参照するようにクエリ分析を設定します。
-
介入辞書を使用して、必要に応じてモデルを調整します。
モデルの作成とトレーニング
-
OpenSearch コンソールにログインし、[OpenSearch Industry Algorithm Edition] > [検索アルゴリズムセンター] > [検索設定] > [カスタマイズ検索モデル] > [作成] の順に移動します。
-
[モデル名] を入力し、[シノニムモデル] を選択し、[トレーニングフィールド] を選択してから、[送信] をクリックします。
[対象アプリケーション] ドロップダウンリストで、アプリケーションを選択します。[モデル名] は 1~30 文字で、英字で始まる必要があります。英字の大文字と小文字、数字、アンダースコア (_) を使用できます。
-
モデル名は、作成後に変更できません。
-
トレーニングフィールドは、
short_textまたはtextタイプである必要があります。
-
[トレーニング] をクリックしてシノニムモデルをトレーニングするか、[クエリ分析設定] をクリックしてクエリ分析でモデルを使用できます。[完了] をクリックしてページを閉じます。
-
作成時、モデルの [モデルステータス] は [利用不可]、[最新バージョンステータス] は [トレーニング待ち] になります。カスタマイズ検索モデルページで、モデルを見つけて、[操作] 列の [トレーニング] をクリックします。
-
モデルのトレーニング時間はデータ量によって異なり、通常は数時間かかります。
-
トレーニングが完了するたびに、システムはモデルの詳細ページの [トレーニング履歴] セクションに、連番が付いた新しいバージョンを追加します。
-
シノニムモデルのトレーニングが完了すると、[モデルステータス] が [利用可能] に、[最新バージョンステータス] が [トレーニング済み] に変わります。
クエリ分析の設定
クエリ分析ルールを設定する際に、[シノニム] チェックボックスをオンにします。表示される設定パネルで、辞書として [カスタムモデル] を選択します。作成した [カスタムシノニムモデル] (例: my_test)、[カスタムシノニムモデルバージョン] (例: 2)、およびオプションの [介入辞書] (例: syn) を選択します。設定が完了したら、[送信] をクリックします。
モデルの詳細
カスタマイズ検索モデル
このページには、カスタマイズ検索モデルが一覧表示され、管理できます。
モデルリストには、[シノニムモデル]、[重み付けモデル]、[テキストアナライザーモデル] などのさまざまなモデルタイプが含まれます。[操作] 列には、[詳細] や [トレーニング] などのオプションがあります。ページ上部の [作成] ボタンを使用して、カスタムモデルを作成できます。
-
モデルリストには、[モデル名]、[モデルタイプ]、[モデルステータス]、[最終トレーニング開始時刻]、[最新バージョンステータス]、[操作] の列が含まれます。
-
ルールによって参照されているカスタマイズ検索モデルは削除できません。
シノニムモデルの詳細
詳細ページには、[基本情報]、[設定情報]、[トレーニング履歴] の 3 つのセクションが含まれます。
1. カスタムシノニムモデルのトレーニングが完了したら、[詳細] をクリックしてから、[参照ルール] の下にある [表示] をクリックして、現在のシノニムモデルを参照しているクエリ分析ルールを確認できます。
ナビゲーションペインで [検索アルゴリズムセンター] > [検索設定] を選択し、[カスタマイズ検索モデル] タブをクリックします。対象のシノニムモデルを見つけて、[操作] 列の [詳細] をクリックします。[基本情報] セクションには、作成時刻、最終トレーニング開始時刻、[モデルステータス] (例: 「利用可能」)、[最新バージョンステータス] (例: 「トレーニング済み」) が表示されます。[設定情報] セクションには、トレーニングフィールド (例: title) が表示されます。[トレーニング履歴] テーブルには、モデルバージョン、バージョンステータス、トレーニング開始時刻、トレーニング終了時刻、参照ルール、アクション (削除を含む) の列が含まれます。
2. モデルパフォーマンスのテスト
[トレーニング履歴] テーブルで、対象のモデルバージョンを見つけて、[操作] 列の [パフォーマンステスト] をクリックします。[パフォーマンステスト] ページで、[テストテキスト] ボックスに検索クエリを入力して、対応する [シノニム拡張結果] を表示します。
3. [パフォーマンス比較] の表示
[モデル差分率] は、2 つのモデルのシノニム結果間の差分の割合です。
-
システムの組み込みモデルと現在のモデルの異なるバージョンを比較できます。[比較] をクリックすると、シノニムパフォーマンス比較が表示されます。
-
典型的なケース比較では、元のテキストとモデル 1 およびモデル 2 の両方からの結果を含む、シノニム結果が異なる最大 200 件のケースが表示されます。
-
[テストテキスト] ボックスにテストクエリを入力して、対応するシノニム結果を確認できます。
検索テストページ
-
OpenSearch コンソールで、[OpenSearch Industry Algorithm Edition] > [機能拡張] > [検索テスト] に移動して、検索パフォーマンスをテストします。
検索テストページで、検索クエリ default:'medicine' を入力します。シノニム拡張後、実際の検索クエリは (default:'medicine') OR (default:'drug') OR (default:'medicinal' AND default:'product') OR (default:'medical' AND default:'medicine') に書き換えられます。右側の [クエリ分析] パネルの [シノニム] 行には、拡張結果が drug/medicinal product/medical medicine として表示されます。
-
各検索リクエストのコンピューティングコストを表示するには、カスタムパラメータ
fetch=result:compute_costを追加し、[ソースコードモード] を有効にします。検索テストページで、クエリステートメントをdefault:'medicine'に設定し、このパラメータを追加してコンピューティングコスト (LCU) の詳細を取得します。JSON レスポンスのcompute_costフィールドにはalgos配列が含まれており、シノニムアルゴリズムのコスト (function: "synonym"、例:value: 5) とインデックスの合計 LCU 消費量 (例:value: 6.44) が表示されます。 -
インデックス検索に 2 つ以上のモデルを使用する場合は、OR 演算子で接続します。
クエリステートメントの例は zw_ds_model:'search' OR it_model:'black' です。返される compute_cost 構造には algos 配列が含まれます。配列内の各要素は、モデルの name とそのコンピューティングコスト value を示します。zw_ds_model と it_model の value はどちらも 2.1 で、これは各モデルのコンピューティングコストを表します。
制限事項
-
この機能は、Dedicated Cluster Instance of Industry Algorithm Edition でのみ使用できます。
-
インスタンスごとに最大 5 つのカスタムモデルを作成でき、各モデルは最大 3 つのバージョンを持つことができます。
-
特定のアプリケーション用に作成されたカスタマイズ検索モデルは、他のアプリケーションでは使用できません。