[翻訳] ハイブリッド検索のための Z スコア正規化手法の紹介
検索エンジンや機械学習において、データ正規化は異なる特徴やスコアを公平かつ正確に比較するために不可欠です。
ハイブリッドクエリでは、最終結果を生成するために複数の正規化手法を使用します。主な手法として、スコアベースの正規化とランクベースの組み合わせがあります。スコアベースの正規化では、デフォルトの min-max 正規化は外れ値をうまく処理できません。外れ値とは、データセット内の他のデータポイントと大きく異なる値のことです。min-max スケーリングや Z スコア正規化などの手法では、外れ値が結果に大きな影響を与える可能性があります。
本記事では、OpenSearch 3.0-beta1 で追加された Z スコア正規化について紹介します。この手法の概要、重要性、そして OpenSearch での活用方法について解説します。
Z スコア正規化とは
Z スコア正規化 (標準化とも呼ばれる) は、平均値と標準偏差を使用してデータをスケーリングする手法です。Z スコアの計算式は以下のとおりです。
Z = (X – μ) / σ
- X: 元の値
- μ: 母集団の平均値
- σ: 母集団の標準偏差
Z スコア正規化を使用するタイミング
インデックスの構造によって、どの正規化手法を使用するかを判断できます。それぞれに独自の利点があるためです。ドキュメントが非常に類似しており、典型的なクエリがインデックス内で密接にクラスタ化されたトップ k の結果を返す場合は、以下のグラフに示すように、min-max 正規化がより適しています。

一方、結果がより均等に分布し、以下のグラフに示すように正規分布に近いパターンに従う場合は、Z スコア正規化がより適しています。

min-max と Z スコア正規化の選択プロセスを以下の図に示します。

Z スコア正規化の使用方法
Z スコア正規化を使用するには、検索パイプラインを作成し、z_score を手法として指定します。
PUT /_search/pipeline/z_score-pipeline
{
"description": "Zscore processor for hybrid search",
"phase_results_processors": [
{
"normalization-processor": {
"normalization": {
"technique": "z_score"
}
}
}
]
}
次に、ハイブリッドクエリを作成し、パイプラインを適用します。
POST my_index/_search?search_pipeline=z_score-pipeline
{
"query": {
"hybrid": [
{}, // 最初のクエリ
{}, // 2 番目のクエリ
... // その他のクエリ
]
}
}
開発環境での Z スコア正規化のベンチマーク
ベンチマーク実験は、コーディネーターノードとして 1 つの r6g.8xlarge インスタンスと、1 シャードを持つ 3 つの r6g.8xlarge インスタンスをデータノードとする OpenSearch クラスターで実施しました。Z スコア正規化のパフォーマンスを包括的に評価するために、5 つの異なるデータセットで 2 つの主要なメトリクスを測定しました。使用したデータセットの詳細については、データセットを参照してください。
サンプルクエリとパッセージ
以下の表は、各データセットのサンプルクエリとパッセージを示しています。
| データセット | サンプルクエリ | サンプルパッセージ |
|---|---|---|
| SciDocs | 建物の外部表面における対流熱伝達係数の CFD 分析 | この論文は、屋外環境のための建物性能シミュレーションにおける CFD の応用の概要を提供し、4 つのトピックに焦点を当てています... |
| FiQA | 請求書の「営業日」と「支払期日」 | 土曜日も営業日ではないと思います。金曜日の午後 4 時以降に銀行のドライブインで小切手を預けると、領収書には月曜日に預けたかのように記載されます。企業のコンピュータが平日の支払期日に請求を調整しない場合... |
| NQ | バランスシートの非支配持分とは何か | 会計では、少数株主持分 (または非支配持分) は、親会社が所有していない子会社の株式の一部です。子会社における少数株主持分の大きさは一般的に発行済み株式の 50% 未満であり、そうでなければ一般的にその会社は親会社の子会社ではなくなります。 |
| ArguAna | 密猟はより高度になっている | 密猟がより...になるにつれて、より強力な軍事的アプローチが必要です。アフリカの自然保護区のより厳しい保護は、より多くの流血をもたらすだけでしょう。軍隊が武器、戦術、兵站を強化するたびに、密猟者は対抗するために自分たちの方法を改善します... |
| Touche-2020 | 大学教育は価値があるか? | Pro が使用した決議は、オーストラリアがすでに「重要な」国ではないと「仮定」していますが、実際には重要です。まず、重要性が何を意味するかを明確にすべきです。1.a 重要であることの状態または質 1.b 結果または... |
検索の関連性は、業界標準の正規化割引累積利得 (NDCG@10) を使用して定量化しました。また、検索レイテンシー測定によりシステムパフォーマンスを追跡しました。このセットアップにより、検索品質と運用効率の両方を評価するための堅固な基盤が得られました。
NDCG@10
以下の表は、min-max 正規化と Z スコア正規化を使用したハイブリッド検索の NDCG@10 スコアを比較し、5 つのデータセットにおける検索関連性の差を示しています。
| データセット | ハイブリッド (min-max) | ハイブリッド (z-score) | パーセント差 |
|---|---|---|---|
| SciDocs | 0.1591 | 0.1633 | +2.45% |
| FiQA | 0.2747 | 0.2768 | +0.77% |
| NQ | 0.3665 | 0.374 | +2.05% |
| ArguAna | 0.4507 | 0.467 | +3.62% |
| Touche-2020 | 0.841 | 0.8542 | +1.54% |
| 平均 | 2.08% |
検索レイテンシー
以下の表は、min-max と Z スコア正規化を使用したハイブリッド検索の各パーセンタイル (p50、p90、p99) における検索レイテンシー (ミリ秒) を示しています。「パーセント差」列は、これらの手法の相対的なパフォーマンスへの影響を示しています。
| p50 | p90 | p99 | |||||||
|---|---|---|---|---|---|---|---|---|---|
| ハイブリッド (min-max) | ハイブリッド (z-score) | パーセント差 | ハイブリッド (min-max) | ハイブリッド (z-score) | パーセント差 | ハイブリッド (min-max) | ハイブリッド (z-score) | パーセント差 | |
| SciDocs | 76.25 | 77.5 | 1.64% | 99 | 100.5 | 1.52% | 129.54 | 133.04 | 2.70% |
| FIQA | 80 | 81 | 1.25% | 104.5 | 105 | 0.48% | 123.236 | 124 | 0.62% |
| NQ | 117 | 117 | 0% | 140 | 140 | 0% | 166.74 | 165.24 | -0.90% |
| ArguAna | 349 | 349 | 0% | 382 | 382 | 0% | 417.975 | 418.475 | 0.12% |
| Touche-2020 | 77 | 77.5 | 0.64% | 100 | 100.5 | 0.50% | 140 | 140 | 0% |
| 平均: 0.70% | 平均: 0.50% | 平均: 0.50% |
まとめ
ベンチマーク実験から、ハイブリッド検索で min-max 正規化の代わりに Z スコア正規化を使用する場合のメリットとトレードオフが明らかになりました。
-
検索品質 (4 つのデータセットにおける NDCG@10 で測定)
- Z スコア正規化は検索品質に適度な改善を示し、NDCG@10 スコアが平均 2.08% 向上しました。
- これは、Z スコア正規化がデフォルトの min-max 正規化と比較して、わずかに優れた検索結果の関連性を提供できる可能性を示唆しています。
-
レイテンシーへの影響
- Z スコア正規化は、以下の表に示すように、各パーセンタイルでわずかなレイテンシー増加を示しています。
レイテンシーパーセンタイル パーセント差 p50 0.70% p90 0.50% p99 0.50% - 正のパーセンテージは、Z スコア正規化が min-max 正規化と比較してわずかに高いレイテンシーを持つことを示していますが、その差は最小限 (平均で 1% 未満) です。
-
トレードオフ
- 検索品質とレイテンシーの間にわずかなトレードオフがあります。Z スコア正規化は検索関連性の改善 (NDCG@10 が 2.08% 向上) を提供しますが、わずかなレイテンシー増加 (各パーセンタイルで 0.50% から 0.72%) を伴います。
-
総合評価
- Z スコア正規化は、レイテンシーへの影響がほとんどなく、検索品質に適度な改善をもたらします。
- Z スコアと min-max 正規化の選択は、ユースケースによって異なります。検索関連性が優先事項であり、システムがわずかなレイテンシー増加を許容できる場合は、Z スコア正規化がより適しています。
本番環境での Z スコア正規化のベンチマーク
ベンチマーク実験は、コーディネーターノードとして 1 つの r6g.8xlarge インスタンスと、12 シャードを持つ 3 つの r6g.8xlarge インスタンスをデータノードとする OpenSearch クラスターで実施しました。
NDCG@mean
以下の表は、min-max 正規化と Z スコア正規化を使用したハイブリッド検索の NDCG@mean スコアを比較し、5 つのデータセットにおける検索関連性の差を示しています。
| データセット | ハイブリッド (min-max) | ハイブリッド (z-score) | パーセント差 |
|---|---|---|---|
| FiQA | 0.3105 | 0.3120 | +0.48% |
| NQ | 0.4563 | 0.4540 | -0.50% |
| ArguAna | 0.4713 | 0.4700 | -0.28% |
| Touche-2020 | 0.3788 | 0.3719 | -1.82% |
| 平均 | -0.53% |
P@mean
以下の表は、min-max 正規化と Z スコア正規化を使用したハイブリッド検索の平均精度 (P@mean) スコアを比較し、4 つのデータセットにおける検索関連性の差を示しています。
| データセット | ハイブリッド (min-max) | ハイブリッド (z-score) | パーセント差 |
|---|---|---|---|
| FiQA | 0.0921 | 0.0925 | +0.43% |
| NQ | 0.0943 | 0.0935 | -0.85% |
| ArguAna | 0.0878 | 0.0878 | 0% |
| Touche-2020 | 0.2364 | 0.2318 | -1.95% |
| 平均 | -0.59% |
まとめ
本番環境での実験から、ハイブリッド検索における Z スコア正規化と min-max 正規化の比較について以下の点が明らかになりました。
検索品質
- Z スコア正規化は検索品質にわずかな低下を示し、NDCG@mean スコアが平均 0.53% 減少しました。
- P@mean の結果も同様の傾向を示し、データセット全体で平均 0.59% 減少しました。
- FIQA データセットのみが一貫した改善 (NDCG@mean で +0.48%、P@mean で +0.43%) を示しました。
- 最大の低下は Touche-2020 データセット (NDCG@mean で -1.82%、P@mean で -1.95%) で観察されました。
トレードオフ
- 本番メトリクスは、検索関連性に一貫しているがわずかな低下を示しています。
- データセットのサイズがパフォーマンスに影響を与えるようで、より大きなデータセットではより顕著な減少が見られます。
- FIQA データセットは、特定のシナリオでは Z スコア正規化が min-max 正規化よりも優れたパフォーマンスを発揮できることを示しています。
- パフォーマンスへの影響は、データセットによって大きく異なります。
総合評価
- Z スコア正規化は本番設定では min-max 正規化をわずかに下回るパフォーマンスを示します。
- 結果は、データセットの特性が正規化の有効性に大きく影響することを示唆しています。
- 実装の判断は、特定のユースケース要件とデータセットの特性を優先すべきです。
これらの調査結果から、Z スコア正規化は依然として有効な選択肢である一方、min-max 正規化は本番シナリオでより信頼性の高いパフォーマンスを示すことがわかります。手法の選択は、特定のデータセットとユースケースでの十分なテストに基づいて行うべきです。
今後の展開
私たちは、カスタム正規化関数の実装により、Z スコア正規化を超えて OpenSearch のハイブリッド検索機能を強化し続けています。これにより、独自の正規化ロジックを定義し、検索結果のランキングを細かく調整できるようになります。この機能強化により、信頼性と一貫性のあるハイブリッド検索結果を確保しながら、検索結果のランキングをより細かく制御できるようになります。詳細については、この Issue を参照してください。
参考文献
OpenSearch Project(OSS) の Publicationです。 OpenSearch Tokyo User Group : meetup.com/opensearch-project-tokyo/
Discussion