賢い検索アルゴリズムを作るための評価方法
(shopify.engineering)- Shopifyが商品検索で使っていたアルゴリズムを切り替える際、本当に検索結果が良くなったのかを評価した方法
→ 既存の Vanilla PageRank : 検索に基づくPVで順位を計算
→ 新しい Query-specific PageRank : 検索語に対するクリック履歴に基づいて重みを計算
- 3段階で評価
-
データ収集 : Kafkaイベントとアノテーション付きデータセット
-
オフライン指標評価 : 既存の検索クエリを使って新しいアルゴリズムを評価
→ Mean Average Precision(MAP) : クエリが返す上位N件の結果に無関係な文書が含まれる場合にペナルティを与える
→ Normalized Discounted Cumulative Gain(NDCG) : MAP計算のためのカットオフスコアを算出し、高評価(Great/Good)アイテムの順位が低い場合にペナルティを与える
- オンライン指標評価 : 検索ログを使って実際の検索がどのように動作しているかを評価
→ 成功を判断する指標 : ユーザーがどれくらい頻繁に検索するか、望む結果を見つけるためにどれだけスクロールするか、問題解決のためにサポートチームへ連絡するか、など
→ Click-through rate (CTR): 検索結果のクリック率。高いほど良い
→ Average rank: クリックされた結果の平均順位。低いほど良い
→ Abandonment: 望む結果を見つけられなかった離脱率。もちろんボットやスパムなどの影響もあるが、適度に低いほうが良い
→ Kafka を使って収集
→ 既存方式とA/Bテストを実施
-
結果として、新しい検索アルゴリズムが既存方式を上回り、置き換えが進められた
-
キーポイント
→ 高品質で信頼できるラベル付きデータセットが評価の核心
→ オンライン指標はユーザー行動に関する優れたインサイトを提供
→ オフライン指標は新しいアルゴリズムを素早く反復テストし、リスクを減らすのに役立つ
まだコメントはありません。