Slide 1

Slide 1 text

検索推薦チーム 浅野卓也 プロダクトマネージャーのための検索推薦システム入門

Slide 2

Slide 2 text

2 1 2 3 検索・推薦とはなにか 検索・推薦システムの概要と、検索と推薦の 違いについて知る 検索・推薦技術入門 検索・推薦で何ができて、何ができないのか をなんとなく理解し、検索・推薦を使った 施策のヒントを得る 検索・推薦の評価 検索・推薦システムの評価について理解し、 精度改善の方策を考えられるようになる ゴール

Slide 3

Slide 3 text

検索・推薦とはなにか

Slide 4

Slide 4 text

4 非構造の大規模コレクションのなかから、ユーザーの情報ニーズ (検索意図)を満たす文書を見つけ出すこと 検索とはなにか https://google.co.jp/

Slide 5

Slide 5 text

5 ● 検索システムの基本機能 ○ フィルタリング ○ ランキング(ソート) ● 検索に関連する周辺機能 ○ リランキング ○ 多言語検索 ○ ファセット検索 ○ オートコンプリート(QAC; query auto-complete) ○ クエリサジェスト(もしかして検索) ○ 質問応答(QA) ○ etc. 検索システムとその周辺機能

Slide 6

Slide 6 text

6 複数の候補から価値のあるもの を選び出し、意思決定を 支援するシステム 風間 正弘, 飯塚 洸二郎, 松村 優也. 推薦システム実践入門―仕事 で使える導入ガイド 推薦システムとは https://www.amazon.co.jp/ https://www.netflix.com/

Slide 7

Slide 7 text

7 ● 推薦の目的 ○ ユーザーやアイテムの情報から、ユーザーが嗜好するであろうアイテ ムを予測すること ● 推薦の種類 ○ 概要推薦 ■ 新着順、人気順など、パーソナライズしない推薦 ○ 関連アイテム推薦 ■ 「類似」しているアイテムを推薦 ○ パーソナライズ推薦 ■ ユーザーの行動ログなどからアイテムを推薦 推薦とはなにか

Slide 8

Slide 8 text

8 検索と推薦の位置づけ クエリ \ データ 非構造化データ Unstructured 構造化データ Structured 明示的 Explicit 情報検索 Information Retrieval 関係データベース Relational Database 暗黙的 Implicit 推薦システム Recommender System 未知 Unknown データマイニング Data Mining Ricardo Baeza-Yates. 2020. Bias in Search and Recommender Systems. In Proceedings of the 14th ACM Conference on Recommender Systems (RecSys '20). Association for Computing Machinery, New York, NY, USA, 2. https://doi.org/10.1145/3383313.3418435

Slide 9

Slide 9 text

9 ● 検索=ユーザーがキーワードなどを入力する(能動的) ○ 入力 ■ 検索キーワード ■ ユーザーのコンテキスト ○ 出力 ■ アイテムの集合(ランキング) ● 推薦=ユーザーが好みそうなアイテムをシステムが提示する(受動的) ○ 入力 ■ ユーザーの情報 ■ アイテムの情報 ■ ユーザーとアイテムのインタラクション情報 ○ 出力 ■ アイテムの集合(ランキング) 検索と推薦の違い 検索と推薦は非常に近い分野であり、たとえば推薦のために内部的にElasticsearch等の検索エンジンが使われることも多々ある ユーザーの情報要求 (information need) が明確 ユーザーの情報要求が不明確 もしくは存在しない

Slide 10

Slide 10 text

検索技術入門

Slide 11

Slide 11 text

11 ● ユーザーの情報ニーズ(検索意図)に適合するような 文書集合をランク付けして表示すること ○ 検索エンジンを用いて実現されることが多い ○ 学術分野では情報検索(IR; information retrieval)とよばれる 検索とはなにか

Slide 12

Slide 12 text

12 検索モデル CS 276 / LING 286: Information Retrieval and Web Search 本当のユーザタスク (user task) から情報ニーズ (information needs) が構築されるまでに誤解 (misconception) の余地がある 情報ニーズからクエリが構成されるまでに成形ミス (misformulation) が発生することがある やりたいこと 情報ニーズ クエリ ユーザーは最初から完璧な クエリを書けるわけではない ユーザータスクを達成するために総 合的に考える必要がある

Slide 13

Slide 13 text

13 ● Informational(情報型) ○ 「Elasticsearch について知りたい」 ● Transactional(取引型) ○ 「ワンピース(服)を買いたい」「航空券を予約したい」 ● Navigational(案内型) ○ 「LegalOn Technologies の会社概要ページを見たい」 検索意図(情報ニーズ)の分類 ユーザーの検索意図によって、返すべき文書集合や見せ方も変わってくる

Slide 14

Slide 14 text

14 ● 適合率 (precision) ○ 検索システムが返した文書集合 (retrieved elements) のうち、適合している文書の割 合 ● 再現率 (recall) ○ 適合している文書 (relevant elements) の うち、検索システムが返した文書の割合 ● 適合率と再現率はトレードオフ ○ 両方100%は不可能、要はバランス ○ どちらを重視するかはサービスやユース ケースによって異なる 検索結果の「よさ」 https://en.wikipedia.org/wiki/Precision_and_recall

Slide 15

Slide 15 text

15 ● 検索結果のランキングとしての「よさ」 ○ 関連性の高いものが上に出してほしい ○ 関連性の低いものは下にあってほしい ○ このランキングをどう改善するか?が検索エンジニアの関心事 ● ランキングのよさを測るには? ○ nDCG や MRR といった評価指標がある ○ ここでは割愛 理想の検索結果?

Slide 16

Slide 16 text

16 ● 逐次検索型(grep型) ○ すべての対象テキストを走査 ○ 文書数が多くなると遅くなっていく ● インデックス型 ←現在主流の方式 ○ 事前にインデックス(索引)を作っておくことで、高速に検索できる ○ 転置インデックス (inverted index) というデータ構造を使用する ○ Elasticsearchはこの方式 全文検索の方式

Slide 17

Slide 17 text

17 ● 本の索引 (index) みたいなもの ○ キーワードと、それが含まれる文書リスト ● Pros: キーワードが含まれる文書を高速 に取り出せる ● Cons: 事前にインデックスを作る必要 がある 転置インデックスとは? 秘密 契約 ︙ 転置インデックスの構造(イメージ)

Slide 18

Slide 18 text

18 ● 2024年現在デファクトの検索ミドルウェア ○ 転置インデックス型 ○ 複数のノードで分散処理できる(スケールする) ● いまも高速化、機能追加が続けられている ○ Elastic 社がサポート 全文検索エンジン Elasticsearch

Slide 19

Slide 19 text

19 ● 検索対象を「ドキュメント」という単位で保存する ○ たとえば、契約書、条文などが1つのドキュメントとして保存される ○ テキストだけでなく、数値などの属性もドキュメントに保存できる ● Elasticsearch クエリ(SQLみたいなもの)で全文検索ができる ○ キーワード検索 ■ クエリによるスコアリング ■ ブーリアン検索(いわゆるAND検索・OR検索) ○ 属性でのフィルタリングやソートもサポート Elasticsearch にできること

Slide 20

Slide 20 text

20 ● RDBのような悲観的ロックなどの高度なトランザクション機能はない ○ 結果整合にするしかない ● あくまで全文検索エンジンであり、リレーショナルデータベースのよ うに扱うことはできない Elasticsearch にできないこと

Slide 21

Slide 21 text

21 全文検索の流れ クエリ クエリ拡張 スコア計算 転置インデックス のルックアップ トークナイズ 言語判定 カテゴリ判定 固有表現認識 ストップワード 除去 クエリ理解、言語解析 検索結果 リランキング フィルタリング クエリ処理 後処理 クエリ構文解析 正規化 ステミング

Slide 22

Slide 22 text

22 ● キーワードマッチだけでは限界がある ○ 「意味」をとらえた検索をすることで検索精度を向上させたい ● 基本的なアイデアは以下 ○ クエリと文書の「意味」を、言語モデルで高次元ベクトルにエンコードする ■ ベクトル空間上で距離が近いものを「似ている」と考える ● そうなるように学習している ● このベクトルは「(意味)埋め込み」とも呼ばれる ○ ベクトル空間上で距離が近い文書を検索する ■ クエリベクトルと「近い」文書ベクトルを探す ■ ベクトル検索エンジンを使うと高速に検索できる(Elasticsearchでも可) ● キーワード検索と組み合わせることもできる(ハイブリッド検索) ○ 現在も発展していて、まだベストプラクティスは確立していない 意味検索(セマンティックサーチ)

Slide 23

Slide 23 text

23 ● スコアリング(スコア関数)について ● ブーリアン検索の詳細 ● 形態素解析と N-gram について ● 検索の周辺技術 ○ リランキング ○ QAC ○ キーワードサジェスト ○ etc. 話さなかったこと

Slide 24

Slide 24 text

24 検索システム ― 実務者のた めの開発改善ガイドブック さらに学ぶために - 検索 打田智子, 古澤智裕, 大谷 純, 加藤 遼, 鈴木翔吾, 河 野晋策 情報検索 :検索エンジンの実 装と評価 Stefan Büttcher, Charles L. A. Clarke, Gordon V. Cormack 梅澤 克之, Neil Rubens, 松田 健, 三川 健太, 水野 信也, 山本 健司 (翻訳) Introduction to Information Retrieval Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze 書籍

Slide 25

Slide 25 text

25 ● スライド ○ 情報検索の基礎 | slideshare ● 記事 ○ 情報検索とその周辺 | stop-the-world ○ クランフィールド検索実験から2019年のニューラルモデルまで | Qiita ○ Information Retrieval and Web Search Advent Calendar 2020 | Adventar ○ Google検索品質評価ガイドライン | 株式会社デジタルファーム さらに学ぶために

Slide 26

Slide 26 text

推薦技術入門

Slide 27

Slide 27 text

27 1 2 3 検索・推薦とはなにか 検索・推薦システムの概要と、検索と推薦の 違いについて知る 検索・推薦技術入門 検索・推薦で何ができて、何ができないのか をなんとなく理解し、検索・推薦を使った 施策のヒントを得る 検索・推薦の評価 検索・推薦システムの評価について理解し、 精度改善の方策を考えられるようになる 今日のゴール

Slide 28

Slide 28 text

28 複数の候補から価値のあるもの を選び出し、意思決定を 支援するシステム 風間 正弘, 飯塚 洸二郎, 松村 優也. 推薦システム実践入門―仕事 で使える導入ガイド 推薦システムとは(再掲) https://www.amazon.co.jp/ https://www.netflix.com/

Slide 29

Slide 29 text

29 ● 推薦の目的 ○ ユーザーやアイテムの情報から、ユーザーが嗜好するであろうアイテ ムを予測すること ● 推薦の種類 ○ 概要推薦 ■ 新着順、人気順など、パーソナライズしない推薦 ○ 関連アイテム推薦 ■ 「類似」しているアイテムを推薦 ○ パーソナライズ推薦 ■ ユーザーの行動ログなどからアイテムを推薦 推薦とはなにか(再掲)

Slide 30

Slide 30 text

30 ● 新着順・人気順などの「パーソナライズしない」推薦 ● アイテムの流動性が高い場合に有効 推薦システムの例:概要推薦 (Netflix) https://www.netflix.com/

Slide 31

Slide 31 text

31 ● 類似度などの情報を使って関連性の高いアイテムを推薦 ● クリック・コンバージョン等のユーザーの行動履歴を使う場合も 推薦システムの例:関連アイテム推薦 (Amazon) https://amazon.co.jp/

Slide 32

Slide 32 text

32 推薦システムの例:パーソナライズ推薦 (Amazon) https://amazon.co.jp/ ● ユーザーの行動履歴等をもとにパーソナライズした推薦 ● ユーザーの興味や嗜好に応じて結果を最適化できる

Slide 33

Slide 33 text

33 ● 推薦アイテムの系列全体の価値を最大 化したい場合もある ● 系列内の一貫性・連続性・テーマ性が 重要になる 推薦システムの例:パーソナライズ推薦/アイテム系列消費 (Spotify) https://open.spotify.com/

Slide 34

Slide 34 text

34 検索と推薦の位置づけ(再掲) クエリ \ データ 非構造化データ Unstructured 構造化データ Structured 明示的 Explicit 情報検索 Information Retrieval 関係データベース Relational Database 暗黙的 Implicit 推薦システム Recommender System 未知 Unknown データマイニング Data Mining Ricardo Baeza-Yates. 2020. Bias in Search and Recommender Systems. In Proceedings of the 14th ACM Conference on Recommender Systems (RecSys '20). Association for Computing Machinery, New York, NY, USA, 2. https://doi.org/10.1145/3383313.3418435

Slide 35

Slide 35 text

35 ● 検索=ユーザーがキーワードなどを入力する(能動的) ○ 入力 ■ 検索キーワード ■ ユーザーのコンテキスト ○ 出力 ■ アイテムの集合(ランキング) ● 推薦=ユーザーが好みそうなアイテムをシステムが提示する(受動的) ○ 入力 ■ ユーザーの情報 ■ アイテムの情報 ■ ユーザーとアイテムのインタラクション情報 ○ 出力 ■ アイテムの集合(ランキング) 検索と推薦の違い(再掲) 検索と推薦は非常に近い分野であり、たとえば推薦のために内部的にElasticsearch等の検索エンジンが使われることも多々ある ユーザーの情報要求 (information need) が明確 ユーザーの情報要求が不明確 もしくは存在しない

Slide 36

Slide 36 text

推薦システムの概要

Slide 37

Slide 37 text

37 推薦システムのモデル 入力 (Input) 推薦アルゴリズム (予測モデル) プロセス (Process) 出力 (Output) 入力から嗜好アイテムを予測する ユーザーの コンテンツ情報 アイテムの コンテンツ情報 ユーザーとアイテムの インタラクション情報 (行動履歴) 推薦アイテム のリスト ● 媒体はWebサイトだった りメールだったり様々 ● 推薦理由などの説明を付 与することも (アルゴリズムによっては使わないものもある)

Slide 38

Slide 38 text

38 ● 内容ベースフィルタリング (content-based filtering) ○ ユーザー・アイテムのコンテンツ情報を使う ● 協調フィルタリング (collaborative filtering) ○ ユーザーの行動履歴を使う ● ハイブリッドフィルタリング (hybrid filtering) ○ 2つの組み合わせ 推薦アルゴリズム

Slide 39

Slide 39 text

39 ● ユーザーとアイテムの特徴量から嗜好アイテムを予測 ● ユーザーの特徴量 ○ デモグラフィック、プロファイル, etc. ● アイテムの特徴量 ○ 内容(テキスト)、タグ・カテゴリ等のメタデータ, etc. 内容ベースフィルタリング

Slide 40

Slide 40 text

40 ● ユーザとアイテムのインタラク ション情報(行動ログ)から 嗜好アイテムを予測 ○ 特徴量やドメイン知識がなくて も予測できる ○ 行動ログが溜まるまでは予測精 度が低い=コールドスタート問 題 協調フィルタリング i1 i2 i3 i4 A 👍 👎 👍 👍 B 👍 👎 👎 C 👍 👍 👎 D 👎 👍 E 👍 👍 ? 👎

Slide 41

Slide 41 text

41 協調フィルタリング vs. コンテンツベース 内容ベース 協調フィルタ 多様性 👎 ✅ コールドスタート 😑 👎 カバー率 ✅ 👎 ユーザー数が 少ない場合 ✅ 👎 アイテム特徴量の 活用 ✅ 👎 予測精度 😑 ✅

Slide 42

Slide 42 text

推薦システムの「良さ」

Slide 43

Slide 43 text

43 ● 単なるコンテンツ情報(テキスト等)の類似度(関連度)だけ ではうまくいかない ○ ユーザーの置かれているコンテキストによっても、最適な推薦アイテ ムは異なる ● 関連度・類似度は、どんな尺度を使うかで大きく変わる ○ ユーザーのニーズに応じて設計する 関連アイテム推薦における「類似度」

Slide 44

Slide 44 text

44 ● 推薦アルゴリズムはバイアスとの戦い ○ 実システムでは様々なバイアスが混入する ○ 「オフライン評価では成績良かったのに・・・」 ● 対策 ○ 推薦アルゴリズムの数理モデルに組み込む、データセットの作りかたを工夫, etc. 推薦におけるバイアス ポジションバイアス ランキング上位のアイテムに行動が偏る セレクションバイアス ユーザーが選好したアイテムのみに行動が偏る 同調バイアス 他のユーザーの評価に影響される 表示バイアス 表示されやすいアイテムに行動が偏る 人気バイアス 人気のアイテムがより推薦されやすい バイアスの例

Slide 45

Slide 45 text

45 ● 推薦システムの「良さ」を定義するのは難しい ○ ただユーザーにクリックさせればよいわけではない ○ 情報要求が明確な、情報検索とは異なる ● 予測精度以外の基準 ○ 新規性 (novelty) ■ 過去に見たアイテムと類似していない ○ セレンディピティ (serendipity)・多様性 (diversity) ■ 推薦アイテム集合のアイテムが互いに類似していない 推薦システムの「良さ」

Slide 46

Slide 46 text

46 ● 予測精度とカバー率・多様性はトレードオフの関係にある ● たとえば、クリック率を上げようとしたとき ○ 人気のアイテムだけを推薦するとクリック率は向上するかもしれない ○ ただしその結果は、ユーザーが本当に好むアイテムはカバーされない ○ 多様性も低くなることが予想される 予測精度とカバー率のトレードオフ

Slide 47

Slide 47 text

47 推薦の説明性 ● 近年のアルゴリズムの高度化に伴い、推薦結果の説明性は重要 なトピックに ○ 透明性・調査性・信頼性・実効性・説得力・効率性・満足度 https://www.netflix.com/ https://open.spotify.com/

Slide 48

Slide 48 text

推薦システムのプロジェクト

Slide 49

Slide 49 text

49 ● 素早くリリース・改善のサイクルを回すのが大事 ○ 最終的な推薦システムとしての「よさ」は、出してみるまでわからないことが多い ○ 最初はシンプルなアルゴリズムでスタートする 推薦システムのプロジェクトの進め方 課題定義 仮説立案 データ収集 ・分析 アルゴリズム 選定 学習・ チューニング システム 設計・実装 評価 Discovery Delivery

Slide 50

Slide 50 text

50 ● 具体的な推薦アルゴリズムの手法 ● バッチ推薦 vs. リアルタイム推薦 ● MLOps ● NNを使った推薦システム 今日話さなかったこと

Slide 51

Slide 51 text

51 推薦システム実践入門―仕事 で使える導入ガイド さらに学ぶために 風間 正弘, 飯塚 洸二郎, 松村 優也 Recommender Systems The Textbook Charu C. Aggarwal 情報推薦システム入門 -理論 と実践- Dietmar Jannach, Markus Zanker, Alexander Felfernig, Gerhard Friedrich 田中 克己, 角谷 和俊 (翻訳) 書籍

Slide 52

Slide 52 text

52 ● スライド ○ 推薦システム | kamishima.net ○ 「機械学習〜推薦システムを題材に〜」講義資料(生成AIの話題も含む)|masa_kazama ● 記事 ○ これから推薦システムを作る方向けの推薦システム入門|masa_kazama ○ Search&Discovery 全部俺 Advent Calendar 2019 - Adventar さらに学ぶために

Slide 53

Slide 53 text

検索・推薦システムの評価

Slide 54

Slide 54 text

54 1 2 3 検索・推薦システム の評価方法 オフライン評価、オンライン評価、ユーザー スタディ 評価指標 集合、予測誤差、ランキングの評価指標 A/Bテストによる オンライン評価 メトリクスの決定、A/Bテストのワークフ ロー、実験プラットフォーム 検索・推薦システムの評価

Slide 55

Slide 55 text

55 オフライン評価 オンライン評価 ユーザースタディ 概要 データセットを使ってモデル の性能を評価 実際のサービスに出して評価 ユーザーに直接触ってもらっ て評価 評価方法 シミュレーション A/Bテスト、インターリービ ング、多腕バンディット アンケート、 インタビュー 目的 モデルの性能向上 実際のサービスでの仮説検証 ユーザーから洞察を得る データセット構築コスト 中〜高 なし なし〜低 実装コスト 低 低〜高* なし〜中 評価実施コスト 低 低〜高* 大 再現性 高 中 低 実利用者への影響 なし あり なし UIの評価 ✅ ✅ ビジネス指標の評価 ✅ * 実験プラットフォームのシステム化の程度による 検索・推薦システムの評価方法

Slide 56

Slide 56 text

56 ● データセットを構築 ○ アノテーション、もしくはサービスのログから構築 ● データセットを入力として、モデルの予測精 度を評価 ○ テストデータからモデルの出力(2値、連続値、ラン ク付きリスト, etc.)を計算 ○ データセットに含まれる正解と、モデルの出力を比 較し、評価指標を計算 オフライン評価 データ セット システム 集合の評価 予測誤差の評価 ランキングの評価 概要 アイテムごとの正 解・不正解を評価 モデルの出力と 正解との差を評 価 モデルが出力し たランク付きリ ストを評価 代表的な 評価指標 正解率、再現率、 適合率、F値 MAE、RMSE nDCG、MAP、 RR 結果 実験者

Slide 57

Slide 57 text

57 ● 新しいモデル(アルゴリズム)の出力やUI をユーザーに見せ、その反応を測定する ● 代表的な手法 ○ A/Bテスト ○ インターリービング ○ 多腕バンディット ● 評価指標の例 ○ CTR、CVR ○ 収益、継続率 ○ セッション成功率 ○ (サービス・実験ごとに何がよいかは異なる) オンライン評価 システム ログ コントロール群 ユーザー 介入群 ユーザー 新しいモデル の結果 既存モデル の結果 ログの保存 A/B テストによるオンライン評価

Slide 58

Slide 58 text

58 ● ユーザーにUIを通してシステムを使っても らい、インタビュー・アンケートを行う ○ クラウドソーシングサービスを使うこともできる ○ フィードバックを直接受けることができる ○ バイアスの影響を受けやすい ● 主な評価指標 ○ 満足度、有用性など ユーザースタディ システム 実験者 ユーザー (被験者)

Slide 59

Slide 59 text

検索・推薦システムの評価指標

Slide 60

Slide 60 text

60 1 2 3 4 集合の評価指標 2値の評価指標 予測誤差の評価指標 連続値の評価指標 ランキングの評価指標 ランク付きリストの評価指標 その他の評価指標 検索・推薦結果特有の評価指標 検索・推薦システムの評価指標

Slide 61

Slide 61 text

61 ● タスク:2値分類問題 ○ 対象集合の要素が、適合 (1) か非適合 (0) かをそれぞれ予測する ○ モデルが出力した top-k の集合を対象として評価指標を計算する ● 評価指標 ○ 適合率 (precision) ○ 再現率 (recall) ○ F値 (F-score) 評価指標(1): 集合の評価

Slide 62

Slide 62 text

62 ● 適合率 (precision) ○ 検索システムが返した文書集合 (retrieved elements) のうち、適合している文書の割合 ● 再現率 (recall) ○ 適合している文書 (relevant elements) のうち、検 索システムが返した文書の割合 ● F値 (F-score) ○ F尺度 (F-measure) とも呼ぶ ○ 亜種があるが、F1 が最もメジャー ○ F1 (F1-score): 適合率と再現率の調和平均 適合率・再現率・F値 - 集合の評価 https://en.wikipedia.org/wiki/Precision_and_recall

Slide 63

Slide 63 text

63 ● 混同行列 (Confusion Matrix) ○ 評価結果を、「モデル予測の正負」と「実デー タの正負」の2軸で視覚的に表現したもの ○ True Positive (TP): 実データが正、予測も正 ○ False Positive (TP): 実データが負、予測は正 ○ 例:PCR検査の偽陽性・偽陰性 ● 以下のように読み替えれば間違えない ○ Trueは「モデルが正しく予測した」 ○ False は「モデルが間違って予測した」 ○ Positive は「陽性(モデルが1と出力した)」 ○ Negative は「陰性(モデルが0と出力し た)」 混同行列 - 集合の評価 実データ \ モデル予測 Positive (正) Negative (負) Positive (正) 真陽性 TP; True Positive 偽陰性 FN; False Negative Negative (負) 偽陽性 FP; False Positive 真陰性 TN; True Negative ● 正解率 (accuracy) ○ True Positive (TP) + True Negative (TN) がモデルの正解数 ○ 正解率 = TP + TN / 全体

Slide 64

Slide 64 text

64 ● 正解率 (accuracy) ○ モデルが正 (1) や負 (0) と予測したものが、実際に正解である割合 ● 適合率 (precision) ○ モデルが正 (1) であると予測したものが、実際に正 (1) である割合 ● 再現率 (recall) ○ 実際に正 (1) であるデータのうち、モデルが正 (1) であると予測した割合 ● F値 (F-score) ○ 適合率と再現率のバランス 集合の評価まとめ

Slide 65

Slide 65 text

65 1 2 3 4 集合の評価指標 2値の評価指標 予測誤差の評価指標 連続値の評価指標 ランキングの評価指標 ランク付きリストの評価指標 その他の評価指標 検索・推薦結果特有の評価指標 検索・推薦システムの評価指標

Slide 66

Slide 66 text

66 ● タスク:対象の適合性を予測する(回帰問題) ○ モデルの予測値とテストデータの値との誤差(連続値) ● 評価指標 ○ 平均絶対誤差 (MAE; mean absolute error) ○ 平均二乗誤差平方根 (RMSE; root mean squared error) ○ 決定係数 R2 (coefficient of determination R2) ● MAE のほうが RMSE より、外れ値の影響を受けにくい ○ 言い換えると、外れ値の影響を考慮したい場合は RMSE を使っ て評価する 評価指標(2): 予測誤差の評価 ŷi: 予測値, yi: 正解値, ӯ: 平均値

Slide 67

Slide 67 text

67 1 2 3 4 集合の評価指標 2値の評価指標 予測誤差の評価指標 連続値の評価指標 ランキングの評価指標 ランク付きリストの評価指標 その他の評価指標 検索・推薦結果特有の評価指標 検索・推薦システムの評価指標

Slide 68

Slide 68 text

68 ● Precision@k ○ ランク付きリスト k 位までの適合率 (precision) ● Recall@k ○ ランク付きリスト k 位までの再現率 (recall) ● 逆数順位 (RR; reciprocal rank) ○ 最初に見つかった適合文書のランクの逆数 ● nDCG (normalized discounted cumulative gain) ○ 理想的リストとの差を定量化したもの 評価指標(3): ランキングの評価指標

Slide 69

Slide 69 text

69 ● 平均適合率 (AP; Average Precision) ○ 適合しているものが見つかるたびにそ こまでの適合率を計算し、その平均を とったもの ○ I(r): r位が適合なら1、そうでないなら0 を返す指示関数 ● 平均精度 (AP) を複数の検索結果で平均した ものを MAP (Mean Average Precision) という Precision@k・平均適合率・MAP - ランキングの評価指標 ランキング1 ランキング2 1 ✅ ✅ 2 3 ✅ 4 ✅ ✅ 5 Precision@5 0.6 (= ⅗ ) 0.4 (= ⅖) 平均適合率 (AP) (1 + ⅔ + ¾) / 3 = 0.81 (1 + 2/4) / 2 = 0.75 ● Precision@k ○ ランク付きリスト k 位までの 適合率 (precision)

Slide 70

Slide 70 text

70 Recall@k - ランキングの評価指標 ランキング1 ランキング2 1 ✅ ✅ 2 3 ✅ 4 ✅ ✅ 5 ランク外 ✅ ✅ ランク外 ✅ ランク外 ✅ ✅ Recall@5 0.6 (= ⅗) 0.4 (= ⅖) ● Recall@k ○ ランク付きリスト k 位までの再現 率 (recall) ○ k 位までに含まれる適合アイテム が、すべての適合しているアイテ ムのうち、どのくらいの割合含ま れているか

Slide 71

Slide 71 text

71 ● 逆数順位 (RR; reciprocal rank) ○ 適合アイテムの最上位のランクを r1 とすると、 RR = 1 / r1 ○ ユーザーが求めているアイテムが1つでも見つかればよい、という指標 ○ 検索意図が Navigational (誘導型)である場合に適している ● 平均逆数順位 (MRR; mean reciprocal rank) ○ 結果のランキング全体に対して逆数順位を平均したもの 逆数順位 (RR; reciprocal rank) - ランキングの評価指標

Slide 72

Slide 72 text

72 ● ランキング全体の得点(利得)を考慮に入れる ○ g(r)を、ランキングr位の結果の利得 (gain) とする ○ 例えば高適合を3点、部分適合を1点とする、など ● 第r位のdg (discounted gain) を以下のように定義する ○ log(r+1) によって、ランクが下になるほど利得が ディスカウントされていく ● DCG@k (discounted cumulative gain) ○ dg(r) を k 番目まで累積したもの nDCG@k - ランキングの評価指標 ● nDCG (normalized discounted cumulative gain) ○ 理想的リスト (ideal list) を考え、その DCG@k (DCG*@kとする)で正規化した DCG@k ● 以下の場合、DCG@4 = 3/log(1+1) + 1/log(4+1) = 3.4、DCG*@4 = 3/log(1+1) + 3/log(2+1) + … = 5.8、nDCG@4 = 3.4 / 5.8 = 0.59 ランク r 利得 g(r) 減損利得 dg(r) 理想的リストの 利得 g*(r) 理想的リストの 減損利得 dg*(r) 1 3 3 / log(1+1) 3 3 / log(1+1) 2 0 0 3 3 / log(2+1) 3 0 0 1 1 / log(3+1) 4 1 1 / log(4+1) 1 1 / log(4+1)

Slide 73

Slide 73 text

73 1 2 3 4 集合の評価指標 2値の評価指標 予測誤差の評価指標 連続値の評価指標 ランキングの評価指標 ランク付きリストの評価指標 その他の評価指標 検索・推薦結果特有の評価指標 検索・推薦システムの評価指標

Slide 74

Slide 74 text

74 ● 2つの集合の類似度 ○ Jaccard 係数 (Jaccard coefficient):集合どうしの共通の要素が占める割合 ● 2つのランキングの相関 ○ ケンドールの順位相関係数 (Kendall rank correlation coefficient) またはケンドールのタ ウ (Kendall’s tau) ○ スピアマンの順位相関係数 (Spearman’s rank correlation coefficient) またはスピアマン のロー (Spearman’s rho) ○ Rank biased overlap (RBO) ● 推薦での評価指標 ○ 新規性 (novelty):過去に見たアイテムと類似していない ○ セレンディピティ (serendipity)・多様性 (diversity):推薦アイテム集合のアイテムが互 いに類似していない 評価指標(4): その他の評価指標

Slide 75

Slide 75 text

A/Bテストによるオンライン評価

Slide 76

Slide 76 text

76 ● ユーザーに対して変更を表出させ、その反応を見る ○ 良かったものだけを正式に製品に取り込む ● データ駆動による意思決定 ○ オンラインテストから現実世界に対する仮説を 検証する ○ 新しく実装・改善したものが本当に良かったの か、統計的に確認することができる ○ ただし、特定の条件下でのテストであることを 忘れずに ■ 過度な汎化に注意 オンライン評価 システム ログ コントロール群 ユーザー 介入群 ユーザー 新しいモデル の結果 既存モデル の結果 ログの保存 A/B テストによるオンライン評価

Slide 77

Slide 77 text

77 実験成熟度モデル (experimentation maturity models):データ駆動の組織の成熟度を表す 1. クロール (crawl) フェーズ ○ 1ヶ月に1回程度の実験を設計・実行・分析できる ○ 仮説検証のために必要な統計量の計算ができる基盤がある 2. ウォーク (walk) フェーズ ○ 週に1回程度の信頼できるオンラインテストが実行できる ○ 標準的なメトリクスの策定ができている 3. ラン (run) フェーズ ○ 毎日のようにオンラインテストが実行できている ○ 合意された評価基準をもとに、一貫した意思決定ができる 4. フライ (fly) フェーズ ○ 年に1,000回以上の実験が実行されている ○ すべての変更において、オンラインテストが標準手法になっている ○ すべての実験と変更は記録され、集計は自動化されている 実験成熟度モデル

Slide 78

Slide 78 text

78 ● A/Bテスト (A/B testing) ○ 対照群 (control group) にはそのまま現行システムを割り当てる ○ 介入群 (treatment group) に新システムを割り当てる ● インターリービング (interleaving) ○ 新システムの結果と現行システムの結果を混ぜて表示する ● 多腕バンディット (multi-armed bandit algorithm) ○ システムによってビジネス指標が上下する ○ ユーザーへのシステムの割り当てを最適化し、報酬を最大化 代表的なオンライン評価の方法

Slide 79

Slide 79 text

79 1. 実験の定義 a. 課題定義 b. 仮説の立案 c. 実験デザイン(評価基準の決定など) 2. PoC a. モデルの選定 b. モデルの最適化・オフライン評価 3. 実装 a. モデルの実装・プロダクトへの組み込み b. 負荷試験・定性評価 c. デプロイ 4. 実験の実行 a. 実験群への割り当て・A/Bテスト開始 b. メトリクスやアラートの監視 c. 集計・分析 5. ネクストアクションの決定 a. 仮説の検証・リリース判断 A/Bテストのワークフロー

Slide 80

Slide 80 text

80 ● オンラインでの実験のために、OEC(総合評価基準)を設定する ○ 実験の目的の定量的で明確な指標 ○ 可能な限り、実験の前に決めておく ● OEC は、以下の条件を満たすのが望ましい: ○ 測定可能:なんらかの方法でメトリクスが記録・計算できる ○ 紐付け可能:各実験群にメトリクスが紐付けて比較できる ○ 鋭敏:実験中にメトリクスの変化が見える(例えば解約率などの遅行指標は適さない) ○ 単一もしくは最小:意思決定の一貫性や自動化のため、メトリクスをできるだけ1つにまとめる OEC (Overall Evaluation Criterion): 総合評価基準

Slide 81

Slide 81 text

81 ● 複数のメトリクスを1つのOECにまとめる ○ 検索エンジンを考えたとき、収益だけをOECにすると、ユーザー体験を損なう変更(広告を増やすな ど)が「良い」とされてしまう ○ この場合、ユーザー体験のメトリクスを計算式に含めたOECを設計する必要がある(重み付き平均な ど) ○ 個々人の頭のなかにあるトレードオフを言語化し数式に落とす ● よりよいOECにするためには、調整と試行錯誤が必要 ○ OEC は、長期的な戦略目標を推進すると信じられるものでなければならない ○ 組織内での調整と合意が必要 OEC (Overall Evaluation Criterion): 総合評価基準

Slide 82

Slide 82 text

82 ● A/Bテストの実験デザイン(計画)を 記述したドキュメント ○ 実験を標準化し、効率的かつ一貫性をもって 実行・評価できるようにする ○ レビュープロセスによって実験の質を担保す る Experiment Design Doc (EDD) Objective テストの目的 Issue 解決したい課題 Hypothesis 仮説 How to improve 変更内容 Trigger A/Bテストの割り当てタイミング Duration テスト期間 Goal metrics (OEC) このテストで改善したい指標 Guardrail metrics 毀損したくない指標 Debugging metrics 意図しないバイアスを確認する指標 Action plans 改善した場合、しなかった場合に何をする か 記入項目例 参考:メルカリにおけるA/Bテスト標準化への取り組み| Mercari Analytics Blog

Slide 83

Slide 83 text

83 ● 実験開始までのオーバーヘッドは小さく なければならない ● 各実験を公平に評価するためにも、シス テム化されているのが望ましい ● A/Bテストの割り当ての実装にはフィー チャーフラグ (feature flag) を利用する のが一般的 A/Bテストのための実験プラットフォーム フロント エンド 実験のオーナー サーバー 実験管理サービス 実験システムの 設定 エンドユーザー 実験群への割り当て 利用 設定 ログ基盤 ログの保存 データ分析 パイプライン 可視化・アラート 実験群への割り当て

Slide 84

Slide 84 text

84 ● 統計解析 ○ p値、t検定、カイ二乗検定、二項検定、フィッシャーの正確検定、その他の検定手法、検出力、多重検 定、サンプルサイズの決定など ○ 検定の妥当性、各種の統計ハック(多重仮説検定、p-hackingなど) ● A/Bテストの発展的な話題 ○ SRM (sample rate mismatch)、実験間でのリーク、Long-term effect、Institutional memory、A/Aテ ストなど ● その他のオンラインテスト手法 ○ インターリービング ○ 多腕バンディット 今日話さなかったこと

Slide 85

Slide 85 text

85 情報アクセス評価方法論 検索エンジンの進歩のために さらに学ぶために 酒井 哲也 効果検証入門 安井 翔太 株式会社ホクソエム (監修) A/Bテスト実践ガイド Ron Kohavi, Diane Tang, Ya Xu 大杉 直也 (翻訳) 書籍

Slide 86

Slide 86 text

86 ● スライド ○ 推薦システム | kamishima.net ○ 「いい検索」を考える | Slideshare ○ A/Bテスト概論 / Introduction of ABTesting - Speaker Deck ● 記事 ○ メルカリにおけるA/Bテスト標準化への取り組み|Mercari Analytics Blog ○ 検索システムを適切に評価したい - Qiita ○ ZOZOTOWN検索の精度評価への取り組み - ZOZO TECH BLOG さらに学ぶために