ヤフーの検索基盤と機械学習検索ランキング #yjtc / YJTC21 B-7

315 Views

January 12, 21

スライド概要

ヤフーの検索技術は、Yahoo!知恵袋やYahoo!トラベルなどヤフーのさまざまなサービスで利用されており、日々改善を行っています。利用サービスの増加に合わせて、より高度な検索機能を提供する基盤を構築し、機械学習モデルを利用した検索改善を実施しやすい環境を整えています。
本セッションではヤフーのサービスにおける検索改善について、検索基盤の活用方法や機械学習検索ランキングの構築・適用を、実際の事例を示しながら紹介します。

Yahoo! JAPAN Tech Conference 2021 は2021年1月22日に開催しました。
https://techconference.yahoo.co.jp/2021/

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

ヤフーの検索基盤と機械学習検索ランキング ~ ヤフーのサービスを支える検索基盤 ~ ヤフー株式会社 サイエンス統括本部 社本 秀之 ©2021 Yahoo Japan Corporation All rights reserved.

2.

社本 秀之 サイエンス統括本部 2016年新卒入社 検索エンジンの機能開発チームのリーダー ショッピング、知恵袋などのサービスで利用する 検索エンジンの機能開発や性能改善業務に従事 Copyrights 2019 Yahoo Japan Corporation. All Rights Reserved. ©2021 Yahoo Japan Corporation All rights reserved.

3.

このセッションについて ヤフーのサービスで利用されている検索技術がどのように実現・改善されるか 【前半】ヤフーのサービスを支える検索基盤 【後半】ヤフーにおける機械学習検索ランキング ©2021 Yahoo Japan Corporation All rights reserved.

4.

ヤフーのサービスを支える検索基盤 • 100以上の業務で利用されている検索基盤における機能開発について • 機械学習検索ランキングモデルを利用するための機能と適用について ©2021 Yahoo Japan Corporation All rights reserved.

5.

アジェンダ 1. ヤフーのサービスにおける検索 2. 検索を支えるシステム基盤 3. 検索基盤におけるサービスロジック開発 4. 機械学習ランキングプラグイン ©2021 Yahoo Japan Corporation All rights reserved.

6.

アジェンダ 1. ヤフーのサービスにおける検索 2. 検索を支えるシステム基盤 3. 検索基盤におけるサービスロジック開発 4. 機械学習ランキングプラグイン ©2021 Yahoo Japan Corporation All rights reserved.

7.

ヤフーのサービスにおける検索 検索技術を利用するサービス 検索キーワード ... 検索技術は様々なサービスに利用されており、 ひと目でわかりやすいショッピング(SHP)やオークション、知恵袋などの他にも、 内部のシステムで利用される分など含めて、100以上の業務で利用 ©2021 Yahoo Japan Corporation All rights reserved.

8.

ヤフーのサービスにおける検索 検索で日本をもっと便利に 多数のユーザに利用されている「検索」を改善し、 • 日々の疑問や悩みを解決するQ&Aが見つかりやすいように • 自分の興味にあったニュースが表示されるように • 条件にあった仕事が見つけやすいように このような改善の裏にある、検索基盤や機械学習モデルの適用について紹介する ©2021 Yahoo Japan Corporation All rights reserved.

9.

ヤフーのサービスにおける検索 多数の検索サービスを抱えるヤフーにおける課題 新機能開発について 機械学習の活用について • サービス毎に異なる要件に対応したい • 似た機能の開発はまとめ、共有したい • etc. • 機械学習ランキングモデルを適用したい • モデル改善用のデータ収集機能が欲しい • 新しい特徴量計算ロジックを追加したい • etc. ©2021 Yahoo Japan Corporation All rights reserved.

10.

ヤフーのサービスにおける検索 検索を利用するサービスにおける開発体制 サービス 利用するエンジンの選定、ユーザインターフェースや サービスロジックの開発・運用 基盤 検索エンジンの機能開発や、基盤開発・運用 前半の発表 モデリング 検索エンジン上で処理するモデルの開発・運用 後半の発表 ©2021 Yahoo Japan Corporation All rights reserved.

11.

ヤフーのサービスにおける検索 検索エンジンの種別と用途 検索エンジンといっても1種類ではなく、用途によって使い分けられる 全文検索エンジン ベクトル検索エンジン(疎・密) 利用例)キーワード検索 利用例)画像検索 本セッションにおける対象 ©2021 Yahoo Japan Corporation All rights reserved.

12.

ヤフーのサービスにおける検索 全文検索について 複数の文書(SHPなら商品、知恵袋なら質問にあたる)から 特定の文字列が入った文書を検索すること 検索キーワード 鯛 1. 鯛(タイ、英: sea bream)とは、広義にはスズキ目タイ科の… 2. たい焼きは、鯛を形とった金属製焼き型で… 3. 人気たい焼き店ランキングTOP10… (マグロについての記事で、文字列「鯛」がないので検索対象外) ©2021 Yahoo Japan Corporation All rights reserved.

13.

アジェンダ 1. ヤフーのサービスにおける検索 2. 検索を支えるシステム基盤 3. 検索基盤におけるサービスロジック開発 4. 機械学習ランキングプラグイン ©2021 Yahoo Japan Corporation All rights reserved.

14.
[beta]
検索を支えるシステム基盤
Apache Solr
• 全文検索を実現するOSSの検索エンジンとして、主流なもののうちの一つ
• 検索キーワードを指定し、キーワードを含む適合度の高い文書を返却
$ curl “http://<SOLR_HOST>:8983/solr/collection/select?q=みかん”
{
ヒット件数: 8200,
文書リスト: [
{“name”: “温州みかん 3kg”},
{“name”: “有田みかん 2kg”},
…
検索キーワード
©2021 Yahoo Japan Corporation All rights reserved.
15.

検索を支えるシステム基盤 ABYSS Apache Solrをベースとした社内向けマネージドサービス • SolrCloud as a Service • ユーザはWebUIから新規クラスタ構築 • 設定ファイルの更新もWebUIから可能 • Solrの高い拡張性を利用し、プラグイン開発によりビジネスロジックに対応 • 機械学習ランキング、重複排除、ベクトル検索、etc. サービス ABYSS サービス用クラスタの構築 ©2021 Yahoo Japan Corporation All rights reserved.

16.

アジェンダ 1. ヤフーのサービスにおける検索 2. 検索を支えるシステム基盤 3. 検索基盤におけるサービスロジック開発 4. 機械学習ランキングプラグイン ©2021 Yahoo Japan Corporation All rights reserved.

17.

検索基盤におけるサービスロジック開発 ABYSSにおける機能拡張方針 ユーザの多い検索基盤において、どのように開発すれば • サービス固有の機能を追加できるか? • 機能の再開発を防ぎ、改善効率をあげられるか? 個々のサービスに必要な機能をプラグインとして開発 • サービス独自のビジネスロジックを実現し、個別に適用可能 • プラグインは社内で共有されており、どのサービスでも利用可能 ©2021 Yahoo Japan Corporation All rights reserved.

18.

検索基盤におけるサービスロジック開発 サービス間の知見共有とプラグイン改善 サービスA プラグイン開発・適用 サービスB プラグイン改修・適用 サービス毎に独自にスクラッチから機能開発を行わずとも 既存のプラグインを流用しつつ共通処理を実現できる ©2021 Yahoo Japan Corporation All rights reserved.

19.

検索基盤におけるサービスロジック開発 コミュニティ形成と機能や運用ノウハウの共有 サービス 運用ノウハウ共有 検索基盤 プラグイン共有 ©2021 Yahoo Japan Corporation All rights reserved.

20.

アジェンダ 1. ヤフーのサービスにおける検索 2. 検索を支えるシステム基盤 3. 検索基盤におけるサービスロジック開発 4. 機械学習ランキングプラグイン ©2021 Yahoo Japan Corporation All rights reserved.

21.

機械学習ランキングプラグイン 検索におけるマッチングとランキング 検索キーワード スニーカー 赤 検索対象の全文文書(SHPなら全商品) マッチング:クエリの語を含む文書のみを取得 “スニーカー” AND/OR “赤”を含む文書 ランキング:語の出現頻度や更新日などでソート 文書内の”スニーカー”の単語数が多い順 ©2021 Yahoo Japan Corporation All rights reserved.

22.

機械学習ランキングプラグイン Multi-phase ランキングプラグイン 機械学習モデル適用を可能にするSolr用プラグイン • 複数フェーズでのスコア計算が可能 例). 第1フェーズ:語の出現頻度でランキング 上位N件(Nは任意の値に設定可能) 第2フェーズ:機械学習モデルでランキング 絞られた文書集合に高精度なモデルを適用し、計算コストを削減 ©2021 Yahoo Japan Corporation All rights reserved.

23.
[beta]
機械学習ランキングプラグイン
機械学習モデルの適用例
1
{
2
"collectPhase": {
3
"parser": "rank-expression",
← 語の頻度を元にしたランキング
4
"expr": "BM25"
5
},
6
"rerankPhases": {
7
"mlrPhase": {
8
"parser": "rank-expression",
9
"expr": "mlr * xxx - yyy ...",
← 機械学習モデルを利用したリランキング
10
"rerankCount": 12345
11
}
12
},
13
"macros": {
14
"mlr": {
15
"parser": "model-json",
16
"expr": "file:/path/to/the/model/file"
17
}
18
}
19
}
©2021 Yahoo Japan Corporation All rights reserved.
24.

機械学習ランキングプラグイン ランキング機構を独自実装することで… 検索処理の高速化 • サービスデータの分布を利用した検索処理コストの軽量化 • 99.9%ile レイテンシを30%以上高速化 機械学習用データの収集 • スコアリング時の特徴量データを直接社内のデータ基盤に送信 他プラグインとの併用 • 文書ベクトルを用いた返却結果の重複排除 • ベクトルデータ用のフィールドを開発し、その類似度で重複判定 ©2021 Yahoo Japan Corporation All rights reserved.

25.

ヤフーのサービスを支える検索基盤 • ヤフーのサービスにおける検索技術利用されている検索基盤について紹介 • SolrCloud as a Serviceな基盤で、Web UIから各種操作可能 • 数多くのサービスで利用される検索基盤における機能開発 • サービス毎にプラグイン開発を行うことで、独自のロジックに対応 • プラグイン・ノウハウ共有しながら利用するコミュニティを形成 • 機械学習ランキングプラグインの開発 • 複数フェーズ化や各種高速化機能の実装で複雑なモデルの適用を実現 • 重複排除機能など、他のプラグインとの併用も可能 ©2021 Yahoo Japan Corporation All rights reserved.

26.

©2021 Yahoo Japan Corporation All rights reserved.

27.

ヤフーの検索基盤と機械学習検索ランキング ~ ヤフーにおける機械学習検索ランキング ~ ヤフー株式会社 サイエンス統括本部 井関 洋平 ©2021 Yahoo Japan Corporation All rights reserved.

28.

井関 洋平 サイエンス統括本部 2015年 ヤフー新卒入社 機械学習検索ランキングのモデリング業務に従事 複数サービスの検索改善に取り組み 現在は検索モデリングチームのリーダー Copyrights 2019 Yahoo Japan Corporation. All Rights Reserved. ©2021 Yahoo Japan Corporation All rights reserved.

29.

検索に機械学習を導入すると何がどう良くなるでしょうか? ©2021 Yahoo Japan Corporation All rights reserved.

30.

機械学習による検索ランキング改善の事例紹介 (1/2) 求人検索エンジン • 機械学習検索ランキングを初めて導入 • 導入して3ヶ月で CTR +29% ※環境要因や同時に行っていたUI改善の成果も含む CTR(相対値) 100% (6月) 129% (9月) ヤフーの検索改善の特徴 1 新規サービスの機械学習検索ランキング導入が早い ©2021 Yahoo Japan Corporation All rights reserved.

31.

機械学習による検索ランキング改善の事例紹介 (2/2) ヤフーショッピング商品検索 • 5年程度 機械学習検索ランキングの改善を継続 • 要所で基盤チーム開発の独自プラグインを導入 • 機械学習モデルの改善は継続すると徐々に頭打ちになるが 2019H2は 検索経由 流通総額 +2.2% と大きい成果 ヤフーの検索改善の特徴 2 独自の検索技術を実装し、非連続的な改善が可能 ©2021 Yahoo Japan Corporation All rights reserved.

32.

後半セッションについて ヤフーにおける機械学習検索ランキングの取り組みと その成果についてご紹介します ©2021 Yahoo Japan Corporation All rights reserved.

33.

アジェンダ 1. 検索ランキングの改善 2. 機械学習検索ランキング 3. ヤフーにおける機械学習検索ランキング 4. 検索改善チームの成果と今後 一般的な話 ヤフーの話 ©2021 Yahoo Japan Corporation All rights reserved.

34.

アジェンダ 1. 検索ランキングの改善 2. 機械学習検索ランキング 3. ヤフーにおける機械学習検索ランキング 4. 検索改善チームの成果と今後 一般的な話 ヤフーの話 ©2021 Yahoo Japan Corporation All rights reserved.

35.

検索ランキングの改善 良いランキングとは 「良いランキング」の定義はサービスによって異なる 1. 検索結果に対するユーザアクション(クリック等)を増やしたい 2. 定性的に良い文書を上位に出したい 3. 特定のクエリで特定の文書を必ず出したい … ヤフーでは主に 1. を目的に機械学習を用いた検索ランキング改善を行っている ©2021 Yahoo Japan Corporation All rights reserved.

36.

検索ランキングの改善 ランキング改善 = 「良いランキングスコア」を見つけること ランキングスコア:ランキングの基準となるスコア マッチングした文書集合 0.2 0.8 0.5 スコア順にソート ランキング結果 0.8 0.5 0.2 検索ランキング改善とは 「良いランキング」に相関する「良いランキングスコア」を見つけること ©2021 Yahoo Japan Corporation All rights reserved.

37.

検索ランキングの改善 ランキングスコアは無数に考えられる • 検索エンジンに実装されたSimilarityスコア • 更新日時 • Similarityと更新日時のハイブリッド { (0.6 * Similarity + 0.4 * 更新日時) (0.5 * Similarity + 0.5 * 更新日時) ... • … どれが良い(例:ユーザアクションと相関する)か分からない あらゆるランキングスコアをテストするのは困難 機械学習検索ランキング ©2021 Yahoo Japan Corporation All rights reserved.

38.

アジェンダ 1. 検索ランキングの改善 2. 機械学習検索ランキング 3. ヤフーにおける機械学習検索ランキング 4. 検索改善チームの成果と今後 一般的な話 ヤフーの話 ©2021 Yahoo Japan Corporation All rights reserved.

39.

機械学習検索ランキング 機械学習検索ランキング ランキングスコアを機械学習モデル(ランキングモデル)によって算出する f( ) = 0.5 f( ) = 0.8 f( ) = 0.2 マッチングした文書集合 ランキングモデルの スコア順にソート ランキング結果 0.8 0.5 0.2 ©2021 Yahoo Japan Corporation All rights reserved.

40.

機械学習検索ランキング ランキング学習 ランキングモデルの学習には順序関係を学習するランキング学習を利用する > f( ) > f( ) となるようにモデル を学習 ©2021 Yahoo Japan Corporation All rights reserved.

41.

機械学習検索ランキング ランキング学習の順序関係 順序関係は「良いランキング」の定義に合わせて決定する 検索結果のクリック数を増やしたい > クリックされやすさ 定性的に良いもの上位に出したい > 定性の良さ ランキングモデルのスコアが「良いランキング」に相関する ©2021 Yahoo Japan Corporation All rights reserved.

42.

アジェンダ 1. 検索ランキングの改善 2. 機械学習検索ランキング 3. ヤフーにおける機械学習検索ランキング 4. 検索改善チームの成果と今後 一般的な話 ヤフーの話 ©2021 Yahoo Japan Corporation All rights reserved.

43.

ヤフーにおける機械学習検索ランキング (再掲)検索を利用するサービスにおける開発体制 サービス 利用するエンジンの選定、ユーザインターフェースや サービスロジックの開発・運用 基盤 検索エンジンの機能開発や、基盤開発・運用 前半の発表 モデリング 検索エンジン上で処理するモデルの開発・運用 後半の発表 ©2021 Yahoo Japan Corporation All rights reserved.

44.

ヤフーにおける機械学習検索ランキング 検索ランキング改善のサイクル サービス・モデリング 一緒にアイデアを出し合う 改善案を出す サービス モデリング オフライン 評価 モデリング オフライン指標を確認 改善していたらABテスト ABテスト サービス ABテスト 結果分析 モデリング ABテストのログを分析 改善していたらリリース リリース 基盤 ©2021 Yahoo Japan Corporation All rights reserved.

45.

ヤフーにおける機械学習検索ランキング ランキングモデルの学習 サービスログ > ユーザアクションの多さ 検索エンジンログ f1 = 10 f2 = 15 文書に紐づく特徴 学習データ 特徴+順序関係 Apache Hive Apache Spark ランキングモデル LightGBM より詳しい内容はこちらのスライド ※Speaker Deckで公開済み ヤフーにおける機械学習 検索ランキングの取り組み Search Engineering Tech Talk 2019 Autumn 2019/12/4 ヤフー株式会社 サイエンス統括本部 鈴木 翔吾 ©2021 Yahoo Japan Corporation All rights reserved.

46.

ヤフーにおける機械学習検索ランキング ランキングモデルの運用 | 特徴量の異常検知 (1/2) ランキングモデルは文書に紐づく特徴量をもとにスコア計算する f1 = 10 f2 = 15 f( ) = f(10, 15) = 0.8 特徴量に異常があると正しくランキングスコアを計算できない f1 = 10 f2 = -inf f( ) = f(10, -inf) = ????? ©2021 Yahoo Japan Corporation All rights reserved.

47.

ヤフーにおける機械学習検索ランキング ランキングモデルの運用 | 特徴量の異常検知 (2/2) 特徴量の値を監視して、異常値がある場合は自動で前日の特徴量を利用 → 翌営業日対応で済むため運用コストが小さくなる 7/1 f1 = 10 f2 = 12 f( ) = f(10, 12) = 0.2 7/2 f1 = 11 f2 = -inf 異常値なので前日の特徴量を利用 f( ) = f(11, 12) = 0.21 ©2021 Yahoo Japan Corporation All rights reserved.

48.

アジェンダ 1. 検索ランキングの改善 2. 機械学習検索ランキング 3. ヤフーにおける機械学習検索ランキング 4. 検索改善チームの成果と今後 一般的な話 ヤフーの話 ©2021 Yahoo Japan Corporation All rights reserved.

49.

検索改善チームの成果と今後 ヤフーの検索改善チームはここがスゴイ! (1/2) • 基盤チーム・モデリングチームは複数サービスの検索改善を担当 • 様々なノウハウが貯まり、新規サービスの機械学習検索ランキング導入が早い • 〇〇は検索エンジンで実現できる? • 検索エンジンのチューニングは何をすれば良い? • モデルを作るためにどんなログを落とせばいい? • オフライン評価は何を選べば良い? • 機械学習モデルの監視は何を見れば良い? … サービス 基盤 モデリング • △△はできますが □□は難しいと思います • 一般的には〜するのが良いです • 別サービスは☆☆をしています • ◇◇は一度検証しましたが うまくいきませんでした ©2021 Yahoo Japan Corporation All rights reserved.

50.

検索改善チームの成果と今後 ヤフーの検索改善チームはここがスゴイ! (2/2) サービス モデリング 〇〇したいけど検索エンジンに実装されてない…… 残念だけどあきらめようかな 需要があるならプラグインを実装します。 やりましょう!! 基盤 サービス モデリング スゴイ!!!! ありがとうございます!!! 独自の検索技術を実装し、非連続的な改善が可能 ©2021 Yahoo Japan Corporation All rights reserved.

51.

検索改善チームの成果と今後 (再掲)機械学習による検索ランキング改善の事例紹介 (1/2) 求人検索エンジン • 機械学習検索ランキングを初めて導入 • 導入前と比べて CTR +29% ※環境要因や同時に行っていたUI改善の成果も含む CTR(相対値) 100% (6月) 129% (9月) ヤフーの検索改善の特徴 1 新規サービスの機械学習検索ランキング導入が早い ©2021 Yahoo Japan Corporation All rights reserved.

52.

検索改善チームの成果と今後 (再掲)機械学習による検索ランキング改善の事例紹介 (2/2) ヤフーショッピング商品検索 • 5年程度 モデル改善を継続 • 要所で基盤チーム開発の独自プラグインを導入 • 機械学習モデルの改善は継続すると徐々に頭打ちになるが 2019H2は 検索経由 流通総額 +2.2% と大きい成果 ヤフーの検索改善の特徴 2 独自の検索技術を実装し、非連続的な改善が可能 ©2021 Yahoo Japan Corporation All rights reserved.

53.

検索改善チームの成果と今後 検索改善チームの今後 サービスの方がより簡単に、精度の良い検索ランキングを実現できるよう サービス需要に合わせた技術を獲得する ランキングモデルが多数存在し モデル管理が課題に MLOps ベクトル検索の需要の高まり Approximate Nearest Neighbor (ANN) ©2021 Yahoo Japan Corporation All rights reserved.

54.

アジェンダ 1. 検索ランキングの改善 2. 機械学習検索ランキング 3. ヤフーにおける機械学習検索ランキング 4. 検索改善チームの成果と今後 一般的な話 ヤフーの話 ©2021 Yahoo Japan Corporation All rights reserved.

55.

©2021 Yahoo Japan Corporation All rights reserved.