Slide 1

Slide 1 text

データアナリティクス事業本部 中村祥吾 実践AI/ML ~よくあるユースケースと レコメンデーションの効果的な活用戦略~

Slide 2

Slide 2 text

これからお話する内容 2 レコメンデーションとは レコメンデーション導入の実際 まとめ

Slide 3

Slide 3 text

レコメンデーションとは 3 定義・特徴・メリット

Slide 4

Slide 4 text

レコメンデーションとは 4 ユーザに対しておすすめのアイテムを提示するようなシステム サービスの購入・利用履歴や、属性情報(ユーザ・アイテム)などを使用 【具体例】 ・ECサイト ・動画配信サービス ・ニュース配信 ・不動産情報サイト

Slide 5

Slide 5 text

レコメンデーション レコメンデーションとは 5 検索との関係性は近く、様々なシーンでレコメンデーションの可能性がある アイテム群 検索ワード (明示的) 検索 結果 アイテム群 レコメンド 結果 検索 購入履歴の蓄積 (暗黙的)

Slide 6

Slide 6 text

レコメンデーションとは 6 レコメンデーションを導入する意義 【利用者側:ユーザ体験向上】 ・目的のものに素早くアクセス ・ユーザが意図しない気づきを与える 【事業者側:サービスの活性化】 ・サービス利用の継続、売上の向上 ・流行させたい新規アイテムを適切なユーザに提示する 最終的なゴールに沿ったKPIを設定することが重要

Slide 7

Slide 7 text

レコメンデーション導入の実際 7 発生しうる課題とその解決策

Slide 8

Slide 8 text

レコメンデーション導入の実際 8 導入するにあたってのよくある懸念 ・データの懸念 ・利用履歴などのデータが蓄積されてないと難しいのでは? ・機械学習は難しい ・システムが複雑化するのでは? ・機械学習システムの構築、運用が大変なのでは? ・コスト ・大きな費用がかかるのでは?

Slide 9

Slide 9 text

レコメンデーション導入の実際 9 Amazon Personalizeを使った構築 ・AWSが提供するマネージドサービス ・データセットを準備するだけでレコメンド結果を得られる ・カスタマイズ性もあり用途やデータに合った多様なレシピを準備 構築・設計ノウハウ ・目的、用途に合わせた設計 ・機械学習の運用や評価分析を考慮した分析基盤の構築

Slide 10

Slide 10 text

レコメンデーション導入の実際 10 Personalizeで使用するデータセットの例 ・利用履歴データ(すべてのレシピで必要) (必須カラム: ITEM_ID, USER_ID, TIMESTAMP) ・アイテム属性 ・ユーザ属性 ITEM_ID,USER_ID,EVENT_TYPE,TIMESTAMP,DISCOUNT b93b7b15-9bb3-407c-b80b-517e7c45e090,3156,View,1660236191,No b93b7b15-9bb3-407c-b80b-517e7c45e090,3156,View,1660236196,No 3946f4c8-1b5b-4161-b794-70b33affb671,2122,View,1660236214,No ITEM_ID,PRICE,CATEGORY_L1,CATEGORY_L2,PRODUCT_DESCRIPTION,GENDER,PROMOTED b93b7b15-9bb3-407c-b80b-517e7c45e090,15.99,tools,wrench,Essential wrench for every craftperson,Any,Y 3946f4c8-1b5b-4161-b794-70b33affb671,119.99,apparel,shirt,Voguish printed casual shirt for women,F,N USER_ID,AGE,GENDER 3156,40,F 2122,35,F

Slide 11

Slide 11 text

レコメンデーション導入の実際 11 Amazon Personalizeの用途やデータセットに合わせたレシピ 種類 Recipe 説明 POPULAR_ITEMS Popularity-Count 最も人気のあるアイテムをレコメンド Trending-Now 急速に人気が高まっているアイテムをレコメンド USER_PERSONALIZATION User-Personalization 個人にパーソナライズされたレコメンドを提供 User-Personalization-v2 アップデート版(より高速、大規模なアイテム数に対応) PERSONALIZED_RANKING Personalized-Ranking あるコレクションに対してパーソナライズされたリランキングを実施 Personalized-Ranking-v2 アップデート版(より高速、大規模なアイテム数に対応) RELATED_ITEMS SIMS 利用履歴を用いた類似アイテムのレコメンド Similar-Items 利用履歴とアイテムデータを用いた類似アイテムのレコメンド USER_SEGMENTATION Item-Affinity 利用履歴からユーザをグループ化する Item-Attribute-Affinity 利用履歴とアイテムデータからユーザをグループ化する PERSONALIZED_ACTIONS Next-Best-Action ユーザが次に取るべきアクションをレコメンド https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html

Slide 12

Slide 12 text

レコメンデーション導入の実際 13 利用履歴を用いないレコメンド手法の例 (Personalize以外で実現) ・概要推薦 ・新着順や人気順などでアイテムを表示する ・全くデータの無い新規ユーザにも対応 ・サービスを代表するようなコンテンツで魅力を伝える役割 ・コンテンツベースフィルタリング ・ユーザプロファイルとして好みのジャンル等の属性値を保持 ・これらとアイテム属性の一致度の高いものをレコメンド ・音楽や動画であっても、音声解析や画像解析により属性値の取得が可能

Slide 13

Slide 13 text

レコメンデーション導入の実際 14 どのように効果検証をするか? ・Personalizeが提供するオフライン指標 https://docs.aws.amazon.com/personalize/latest/dg/working-with-training-metrics.html#metric-definitions 種類 説明 coverage 多様なアイテムをレコメンドしているかどうか MRR: mean reciprocal rank at k (k=25) レコメンド結果の上位に正解があることを重視した指標 NDCG: normalized discounted cumulative gain at k (k=5,10,25) レコメンド結果の順序に依存した指標 precision at k (k=5,10,25) レコメンドの正確性を表す指標 USER-A,ITEM-002,購入 USER-A,ITEM-005,購入 USER-A,ITEM-012,購入 ... USER-A,ITEM-005,0.81 USER-A,ITEM-002,0.74 USER-A,ITEM-001,0.53 USER-A,ITEM-003,0.49 USER-A,ITEM-012,0.33 比較 Amazon Personalize 正解 推論 テストセット 全期間のデータセット

Slide 14

Slide 14 text

レコメンデーション導入の実際 15 効果検証:オンライン評価のための機械学習基盤 オフライン評価は「レコメンドしなくても購入したもの」を正解にしている 新規性やセレンディピティなど「もしレコメンドしたら購入されたもの」が存在 この評価にはユーザを分割したABテストが有効 レコメンドシステム Model(v1) Model(v2) 画面表示 集計・分析 Amazon Redshift Amazon QuickSight A群 B群

Slide 15

Slide 15 text

リアルタイム推論システム(即時推論、コスト高) バッチ推論システム(1日1回推論など、コスト低) レコメンデーション導入の実際 16 最適な設計:リアルタイム推論かバッチ推論か ・バッチ推論も使い方次第で多様なアイテムをレコメンドできる ・どうしても即時性が求められる場合にリアルタイムが選択肢に Amazon Personalize ユーザIDリスト バッチ推論結果 AWS Step Functions workflow EventBridge Scheduler Amazon Personalize リアルタイム推論 アプリケーション アプリケーション 通常は固定の結果取得 扱い次第で多様化が可能

Slide 16

Slide 16 text

レコメンデーション導入の実際 17 最適な設計:アプリケーションとの密接な関係、ドメイン知識 ・着目するイベント 購入やクリックだけではなく、お気に入り登録、途中からの視聴など 実システムのイベントは幅広い ・ユーザへの見せ方 レコメンドスコアを高い順に並べる以外にも様々な方法がある ・興味なしと見なす方法 何回表示してクリックされなかったら興味なしと見なすか それを再度提示するための条件 ・再購入の可能性 特性アイテム特性やシステムによっては再購入があるものが存在 ユーザの状態に応じて似たもののレコメンドが欲しい場合と欲しくない場合

Slide 17

Slide 17 text

レコメンデーション導入の実際 18 最適な設計:機械学習の運用や評価分析を考慮した分析基盤の構築 ・学習や推論に必要なETL処理基盤(Lambda, Glue, dbtなど) ・実験管理や利用履歴データの蓄積(DWH)、推論結果やABテストの分析(QuickSight) Amazon Personalize ユーザIDリスト バッチ推論結果 AWS Lambda Amazon API Gateway AWS Step Functions workflow EventBridge Scheduler アプリケーション Amazon Personalize Amazon Aurora Amazon DynamoDB Amazon Redshift 学習用の 利用履歴データ アプリケーションログ ユーザデータ アイテムデータ 学習済みモデル AWS Step Functions workflow Amazon QuickSight

Slide 18

Slide 18 text

まとめ 19 レコメンデーションとそれ以外

Slide 19

Slide 19 text

まとめ 20 レコメンデーションを中心に紹介 ・始めるだけであればデータセットの準備だけ ・一方で成果を出していくためには設計や効果検証が重要となる ・運用を考えて効果検証するのであればデータ分析基盤も重要 どのフェーズにおいてもクラスメソッド側でご支援が可能

Slide 20

Slide 20 text

まとめ 21 レコメンデーション以外の画像処理、時系列予測なども題材に Amazon SageMakerなどを用いたAWS上での機械学習実行基盤の構築 https://classmethod.jp/services/machine-learning/

Slide 21

Slide 21 text

22