概要
エンティティ認識は、固有表現抽出 (NER) とも呼ばれ、検索クエリ内の意味的エンティティを識別します。クエリ分析は、この結果を使用して、各エンティティタイプの優先度に基づいてクエリを書き換えます。これにより、取得されたドキュメントがユーザーの検索意図と一致することが保証されます。現在、OpenSearch のエンティティ認識機能は、e コマース業界にのみ対応しています。主なエンティティタイプは次のとおりです。
|
カテゴリ |
|||
|
一般語 |
素材 |
スタイル |
スタイル要素 |
|
色 |
ブランド |
機能性 |
サイズ / 仕様 |
|
品質 / 状態 |
シーン |
対象者 |
セット |
|
時期 / 季節 |
モデル |
新作 |
シリーズ |
|
マーケティングサービス |
場所 / 地域 |
人名 |
文化作品 |
|
組織 |
映画 / テレビタイトル |
ゲームタイトル |
数値 |
|
単位 |
カテゴリ |
新語 |
修飾語 |
|
固有名詞 |
カテゴリ修飾語 |
記号 |
接頭辞 |
|
接尾辞 |
ギフト |
否定 |
エージェント |
エンティティ認識の仕組み
クエリ分析において、エンティティ認識は主にクエリ書き換えとカテゴリ予測に使用されます。
クエリ書き換え
OpenSearch のクエリ分析は、最大 2 つの書き換えられたクエリを生成します。最初のクエリはより精密なものになります。2 番目のクエリは、使用する検索語を減らして検索範囲を広げるもので、最初のクエリで返される結果が少なすぎる場合に役立ちます。
クエリ書き換えは、エンティティの優先度に基づいて行われます。取得時には、優先度の高いエンティティの検索語が保持され、再現率に使用されます。優先度の低いエンティティの検索語は再現率に影響せず、アルゴリズムによるソートにのみ影響します。エンティティの優先度は、高、中、低の 3 つのレベルに分類されます。
クエリ書き換えのルールは次のとおりです。
-
優先度が高いエンティティは、常に取得条件に含まれます。
-
優先度が低いエンティティは、取得条件に含まれません。
-
優先度が中程度のエンティティについては、クエリ分析で設定された順序に基づいて優先順位が付けられます。書き換えルールは次のとおりです。
-
クエリに優先度の高いエンティティが含まれる場合、システムは最初の書き換えクエリに優先度が中程度のエンティティを取得条件として含めます。2 番目のクエリでは、これらのエンティティは取得条件から除外され、ランキングにのみ影響します。
-
クエリに優先度の高いエンティティが含まれない場合、システムは最初の書き換えクエリにすべての中程度の優先度エンティティを取得条件として含めます。2 番目のクエリでは、最も優先順位の高い中程度の優先度エンティティタイプは取得条件として保持されますが、その他の中程度の優先度エンティティはランキングにのみ影響するように降格されます。
-
-
クエリに優先度が高または中程度のエンティティが含まれない場合、エンティティ認識の結果はクエリ書き換えに使用されません。
-
クエリに優先度が高いエンティティのみ、または優先度が高と低のエンティティのみが含まれる場合、システムは 1 つの書き換えクエリのみを生成します。
例
エンティティの優先度が次のように設定されているとします:
高:カテゴリ
中:ブランド、素材、スタイル要素、スタイル、色
1. 優先度が高と中程度のエンティティを含むクエリ:
query=default:'楊冪 同款 Nike スリムフィット ワンピース 送料無料'
エンティティ認識の結果:楊冪 (人名) 同款 (接尾辞) Nike (ブランド) スリムフィット (スタイル要素) ワンピース (カテゴリ) 送料無料 (マーケティングサービス)
書き換えクエリ:
Query1: (default:'Nike' AND default:'スリムフィット' AND default:'ワンピース' RANK default:'楊冪' RANK default:'送料無料' RANK default:'同款')
Query2: (default:'ワンピース' RANK default:'楊冪' RANK default:'Nike' RANK default:'送料無料' RANK default:'同款' RANK default:'スリムフィット')
2. 優先度が高と低のエンティティを含むクエリ:
query=default:'ワンピース 送料無料'
エンティティ認識の結果:ワンピース (カテゴリ) 送料無料 (マーケティングサービス)
書き換えクエリ:
Query1: (default:'ワンピース' RANK default:'送料無料')
3. 優先度が高いエンティティのみを含むクエリ:
query=default:'ワンピース'
エンティティ認識の結果:ワンピース (カテゴリ)
書き換えクエリ:
Query1: (default:'ワンピース')
4. 優先度が中程度と低のエンティティを含むクエリ:
query=default:'Nike スリムフィット 送料無料'
エンティティ認識の結果:Nike (ブランド) スリムフィット (スタイル要素) 送料無料 (マーケティングサービス)
書き換えクエリ:
Query1: (default:'Nike' AND default:'スリムフィット' RANK default:'送料無料')
Query2: (default:'Nike' RANK default:'スリムフィット' RANK default:'送料無料')
5. 優先度が低いエンティティのみを含むクエリ:
query=default:'楊冪 同款 送料無料'
エンティティ認識の結果:楊冪 (人名) 同款 (接尾辞) 送料無料 (マーケティングサービス)
エンティティ認識に基づくクエリの書き換えは行われません。
カテゴリ予測との併用
クエリからカテゴリを予測できない場合、システムはカテゴリとの関連性が低い検索語を削除して、予測を再試行します。このプロセスにより、ロングテールクエリのカテゴリ予測が大幅に向上します。このプロセスで保持されるエンティティタイプは次のとおりです。
カテゴリ
対象者
時期 / 季節
スタイル要素
スタイル
例
クエリ 楊冪 (人名) 同款 (接尾辞) 春 (時期 / 季節) スリムフィット (スタイル要素) ワンピース (カテゴリ) の場合、検索語削除後のクエリは次の順序で試行されます。
春 スリムフィット ワンピース
春 ワンピース
スリムフィット ワンピース
ワンピース
システムは、指定された順序でこれらのクエリを使用してカテゴリ予測を試行します。
手順
1. OpenSearch コンソールの左側メニューで [取得設定] に移動し、[クエリ分析設定] をクリックします。アプリケーション名とアプリケーションタイプ (オンライン / オフライン) を選択し、[作成] をクリックします。
2. ルール名を入力し、インデックス範囲を選択し、[業種タイプ] を [e コマース向け拡張クエリ分析] に設定し、機能として [エンティティ認識] を選択してから、[OK] をクリックします。
デフォルトでは、エンティティの優先度は次のとおりです。高 (カテゴリ)、中 (ブランド、素材、スタイル要素、スタイル、色、機能性、シーン、対象者、時期 / 季節、モデル、場所 / 地域、人名、修飾語、カテゴリ修飾語)、低 (サイズ / 仕様、品質 / 状態、セット、新作、シリーズ、マーケティングサービス、文化作品、組織)。各レベルのエンティティタイプをカスタマイズできます。注:エンティティの優先度 をカスタマイズする場合、システムは組み込みの辞書を使用します。システムがエンティティを誤って識別した場合は、介入辞書を使用して結果を修正できます。
3. ルールを作成した後、検索パフォーマンスをテストできます。
クエリ分析設定のリストで、対象のルールを見つけ、[操作] 列の [検索テスト] をクリックします。検索テストページで、クエリを入力し (例: query=title:'中華風 夏 漢服 シルク 桑シルク 改良版 チャイナドレス ワンピース')、qp パラメータにクエリ分析ルール名 (例: test_entity) を選択し、[検索] をクリックします。ページの下部にある [システムで実行された実際のクエリ] セクションには、クエリが title フィールドに対する複数の AND 条件に書き換えられたかが表示されます (例: (title:'中華風' AND title:'夏' AND title:'漢服' AND title:'シルク' AND title:'桑' AND title:'シルク' AND title:'改良' AND title:'版' AND title:'チャイナドレス' AND title:'ワンピース'))。[クエリ分析の詳細を表示] をクリックすると、詳細な分析を表示できます。検索テストでは、[クエリ分析の詳細] ポップアップウィンドウに、書き換えられたクエリ (ブール検索式)、元のクエリ、およびインデックス名が表示されます。また、各機能の処理結果が表形式で一覧表示され、[正規化]、[形態素解析]、[エンティティ認識] の具体的な出力や、[スペル修正]、[ストップワード]、[同義語]、[カテゴリ予測] への設定リンクが含まれています。下部には、[クエリ分析が正しくありませんか? 介入する] というラベルのリンクから、介入辞書に移動して修正を行うことができます。
4. デバッグが完了し、ルールが期待どおりに動作することを確認したら、クエリ分析ページに移動し、[インデックスビュー] タブに切り替えます。ルールを見つけ、[操作] 列の [デフォルトとして設定] をクリックして、このルールをデフォルトとして設定します。
5. カスタムクエリ分析ルールをデフォルトとして設定すると、UI は次のように更新されます。
ルール名に [デフォルト] タグが追加されます (例: [デフォルト] test_entity)。
エンティティ認識の介入辞書
検索語の意味はビジネスシナリオによって異なる可能性があるため、OpenSearch では、エンティティの意味をカスタマイズできるよう、エンティティ認識用の介入辞書を提供しています。介入には、主に2つの方法があります。エンティティ認識の結果を直接修正する方法と、エンティティの優先度を調整する方法です。エンティティ認識が不正確な場合は、介入辞書を使用して修正してください。介入辞書を作成してクエリ分析ルールに関連付けることで、エンティティ認識機能のデフォルトの動作をオーバーライドできます。介入辞書の設定方法と使用方法の詳細については、「介入辞書」をご参照ください。