介入辞書は、システムがクエリの修正に失敗した場合に、カスタムの修正動作を定義できます。クエリ分析でスペルチェックを設定する際に、対応する介入辞書を選択して修正に介入できます。
使用上の注意
現在、システムの組み込みスペル修正辞書に対して手動での介入が可能です。介入プロセスは、通常、以下の 4 つのステップで構成されます。
スペル修正介入辞書の作成 [検索アルゴリズムセンター] > [再現率設定] > [辞書管理] に移動してクエリ分析介入辞書ページを開きます。ページ右上の [作成] をクリックします。辞書タイプを選択して辞書に名前を付けると、介入辞書が作成され、ページの辞書リストに表示されます。
介入辞書内の介入エントリの追加と管理 辞書を作成したら、リスト内の辞書名をクリックするか、辞書の [管理] をクリックして詳細ページを開きます。詳細ページで、介入エントリを追加および管理できます。クエリに対して 2 種類の介入を適用できます。
修正の追加 クエリに修正を追加します。クエリが検索されると、システムはそれを追加した修正内容に書き換えて、検索結果を取得します。
修正のブロック クエリの修正をブロックします。クエリが検索されると、システムはそれをブロックした修正内容に書き換えることはなくなります。
介入辞書の使用 スペル修正介入辞書を作成して設定した後、任意のアプリケーションのクエリ分析ルールで選択して使用できます。
介入辞書のテストと本番適用 クエリ分析ルールで介入辞書を使用した後、本番環境に適用する前に検索効果テストを実行して、結果が期待に沿うか評価することを推奨します。
介入エントリの適用優先順位
1. より前方にあるエントリが優先されます。
例:介入エントリ 中国建社 → 中国建設 と 建社很行 → 建設銀行、クエリ: 中国建社很行。両方のエントリがクエリ内で連続する意味タームと一致しますが、エントリがクエリ内で重複しているため、より前方にあるエントリが適用されます。最終的な修正結果は 中国建設很行 です。
2. 位置が同じ場合、長さ (意味タームの数) が大きいエントリが優先されます。
例:介入エントリ 開法 → 開発 と 開法搜嗦 → 開放搜索、クエリ: 開法搜嗦真優秀。最終的な修正結果は 開放搜索真優秀 です。
3. 1 つのクエリに対して複数の包含一致介入が有効になる可能性があります。
注記
ユーザーによる介入がある場合、このスペルチェックの信頼性は高くなります。
介入エントリに一致したクエリは、介入が適用された状態で修正モデルに渡されます。ユーザーによる介入内容は保持され、介入されなかった部分がさらに修正されます。例:
介入エントリ:
手機冲電器 → 手機充電器クエリ:
query: 手機冲電器哪個排子好結果 介入後、クエリは 手機充電器哪個排子好 になります。このクエリはその後、システムモデルを通じて修正されます。介入 手機冲電器 → 手機充電器 の効果を維持しつつ、システムはさらに修正を行い、手機充電器哪個牌子好 という結果を生成します。
実践例
ビジネスシナリオ あるECサイトの運営者が、OpenSearch アプリケーションインスタンスでクエリ分析ルールを設定して使用していました。このルールにはスペル修正機能が含まれていましたが、本番環境でバッドケースが見つかったため、運営者は介入機能を使用することにしました。
バッドケース ユーザーがクエリ「福健」を検索すると、わずかな結果しか返されず、その結果はすべてキーワード「福建」を完全に含むものでした。実際には、このクエリに関連する多くの結果が取得されませんでした。
問題の診断 ユーザーの入力クエリが正しくありません。正しくは「福建」です。システムのスペル修正機能が、この誤ったスペルを検出できませんでした。
解決策 スペル修正介入辞書を作成し、クエリ「福健」に対して修正「福建」を追加し、本番環境で使用されているクエリ分析ルールにこのスペル修正辞書を適用します。
手順
1. OpenSearch コンソールで [検索アルゴリズムセンター] > [再現率設定] > [辞書管理] に移動し、[作成] をクリックします。
[名前] を入力し、[辞書タイプ] で [スペル修正] を選択します。
[名前] には dic_error を入力し、[辞書タイプ] で [スペル修正] を選択します。
2. 新しく作成したスペル修正介入辞書で、[介入エントリを追加] をクリックします。[クエリ] フィールドに「福健」、[修正] フィールドに「福建」と入力し、[介入タイプ] で [追加] を選択します。
3. クエリ分析ページで、まだ本番適用されていないクエリ分析ルールに、新しく作成したスペル修正介入辞書を適用し、検索効果テストを実行できるようにします。
[ルール追加] ダイアログで、以下のパラメーターを設定します:
[ルール名]:
test_errorを入力します[インデックス範囲]:[デフォルト]を選択します
[業種]: [一般] を選択します
[機能選択]: [スペル修正] を選択します
[介入辞書]:
dic_errorを選択します
設定が完了したら、[OK] をクリックします。
4. 検索結果が期待どおりかテストします。検索クエリが「福建」に書き換えられ、期待どおりの結果が取得できることを確認します。
注記
辞書タイプと名前は作成後に変更できません。
介入エントリを追加する際、入力するクエリは、介入リストに登録済みのクエリと重複してはなりません。
同じ介入辞書を複数のクエリ分析ルールで使用できます。
現在の介入辞書は、システムの組み込み辞書に基づくパッチスタイルの介入であるため、辞書を使用する際には、システムの組み込み辞書がデフォルトで選択されます。
現在、スペル修正介入辞書の適用ルールは 包含一致 です。クエリ内の 1 つ以上 (最大 5 つ) の連続した完全な意味ターム が介入エントリ内のクエリと一致する場合にのみ適用されます。包含一致は、部分文字列一致とは異なります。
任意のクエリ分析ルール (本番適用されているかどうかにかかわらず) で使用されている介入辞書は削除できません。削除するには、まずそのルールとの関連付けを解除する必要があります。
制限
合計 20 個のスペル修正介入辞書を作成できます。
スペル修正の介入エントリを 1 件追加する際、入力できるクエリは 1 つのみで、同じクエリに対して設定できる修正も 1 つのみです。
各スペル修正介入辞書には、最大 1,000 個の介入エントリを含めることができます。
スペル訂正介入エントリは、介入クエリが検索クエリと完全に一致する場合にのみ有効になります。たとえば、クエリ「武汗」に対してスペル訂正として「武汉」を追加した場合、「武汗」を検索するとクエリは「武汉」に書き換えられて検索されます。しかし、「去武汗」を検索しても書き換えは行われず、元のクエリに基づいて検索が実行されます。
追加された介入内容は、大文字と小文字、および全角と半角が正規化されます。大文字は小文字に、全角文字は半角文字に変換されます。