パーソナライズニュースを支えるml業務のまわしかた@yahoo! japan
DESCRIPTION
TRANSCRIPT
Confiden'al :Discussion purpose only
Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
2014/06/13
パーソナライズニュースを支える ML業務のまわしかた @ Yahoo! JAPAN
ヤフー株式会社 データソリューション本部 村尾一真 深澤良介
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P2 アジェンダ
• 自己紹介 • Yahoo! JAPANのパーソナライズニュースとは?
• ML(機械学習)の使いどころ • MLの精度評価と運用サイクル • まとめ
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P3 本日のGoal
ü MLの利用と運用について なるべく具体的に話をする
#MLCT
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
自己紹介
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P5 自己紹介
深澤 良介 2009年入社 検索サービスの開発、検索エンジンライブラリの開発を経て、2013年4月にデータソリューションへ 今回のサービスの担当範囲: データ入出力から配信までシステム全般 専攻: 自然言語処理、質問応答システム
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P6 自己紹介
村尾 一真 2012年入社 自然言語処理 -> レコメンデーション 今回のサービスの担当範囲: モデル精度改善 専攻: 適用対象に合った機械学習の改善(HCI、音楽情報処理)
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
Yahoo! JAPANの パーソナライズニュース?
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P8 Yahoo! JAPANのパーソナライズニュース
• 類似のキュレーションサービス • グノシー, SmartNews • ニュース・記事・情報の推薦
• 掲出場所 • ヤフースマホトップ • ヤフーiPhone/androidアプリトップ • ヤフーandroid tablet/iPadトップ
パーソナライズ
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P9
• 多様なログを利用 ü ニュース閲覧履歴 ü 検索キーワード ü 他のY!Jサービスの利用ログ ü etc.
• よりユーザーに合ったコンテンツを 掲出することを目指す
サービスの特徴
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
サービスの規模
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P11 利用者
約230万UB/1日 (デバイス合算、clickのみをカウント、2014年5月某日)
• スクロールしなければ認知されないため、 ヤフートピックスと比べるとview/clickともかなり少ない
• パーソナライズニュースサービスで(多分)最大規模
• リリース半年でじわじわと認知され、ユーザー増加中
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P12 解析対象
約2000万cookie/1日
• Y!Jの利用ユーザーはパーソナライズモジュールに非接触でも解析
• ユーザーが意識せずにパーソナライズされたコンテンツを利用可
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P13 入稿コンテンツ
約6000本/1日
• 約15秒に1本新しいコンテンツが入稿 =>リアルタイム反映の仕組み
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
ML(機械学習)の使いどころ
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P15 ML(機械学習)の使いどころ
• 検索likeなシステムを構築。高スコアの記事を上位に掲出。リアルタイム反映を実現
• コンテンツの特徴量(w)とユーザー特徴量(x)をマッチング • 特徴量のマッチング行列(A)を、ユーザーのフィードバックを用いて機械学習
• 検索のランキング学習と同じスキーム(Pairwise)で学習可能
yi,a =wTiAxa = (w1,w2,...,wN )iA
x1x2...xM
!
"
#####
$
%
&&&&&a
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P16 ML(機械学習)の使いどころ
• 特徴量: コンテンツの表層素性、ユーザーの行動履歴など。コンテンツの深い理解(メタデータを理解)も有用。10E5次元程度
• ロジスティック回帰を解くことで、高速に、かつ精度をある程度担保して学習可能(社内評価)
yi,a =wTiAxa = (w1,w2,...,wN )iA
x1x2...xM
!
"
#####
$
%
&&&&&a
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P17 ニュースの特性に合わせた工夫
1. マッチングのスコア計算後、コンテンツ入稿時刻とアクセス時刻の時間差によって減算処理 • ニュースの特性: 直近の記事が出ているほうがユーザーは嬉しい(?)
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P18 ニュースの特性に合わせた工夫
2. 1日あたりX回のモデル更新(バッチ処理) – アクセスのピークタイム前に最新の興味を反映
3. 直近ログを用いた学習結果に、過去の学習結果に 興味減衰率(α)をかけて加算 – 短期的興味と長期的興味を考慮する狙い – 長期的興味になりそうな特徴量は毎日加算される – 短期的興味とのバランスをパラメータで調整
A(t +1) =A(t)+αA(t −1)
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P19 Yahoo! JAPANのパーソナライズニュース
ü 多様・大量なログを解析 ü コンテンツ特性を考慮した
MLシステムを構築
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
MLの精度評価と 運用サイクル
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P21 2段階の精度評価
• オフライン評価 – フィードバックログを利用 – (定性評価)
• オンライン評価 – A/Bテスト
モデリング
オフライン 評価
オンライン 評価
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P22
モデリング
オフライン 評価
オンライン 評価
• フィードバックログを利用 • モデルによってスコアリングした結果をAUC、nDCGなどの指標によって評価
• 学習器のパラメータ等を調整
ü POINT ü 交差検定では、学習ログの日付に最適化されてしまう (ニュースドメインでは、日時で重みが変化するような特徴量がある。変化しないものもある)
ü 学習、チューニングに用いるログと、評価に用いるログは、異なるデータを用いるだけではなく、ログを収集した日付を変えたほうが良い
オフライン評価
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P23
モデリング
オフライン 評価
オンライン 評価
オンライン評価
• A/Bテストによる評価 • プロジェクトのKPIが各テストでどう変わるか
• 訪問率(重要!) • 記事のばらけ具合、等
• KPI も即時分かるものと、そうでない長期的なものとを見ている • CTRはすぐにわかるがいわゆる「釣り記事」などをポジティブに評価してしまう
• ユーザーの満足度は訪問率に現れるという仮説 • 有意な差を認めるには累積で数十万以上のログが必要(感覚値)
• 同時に実施可能なテスト本数がサービス規模に依存
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P24 MLの運用サイクル
• 問題設定、KPI設定 • モデリング • オフライン評価
• 有意な性能向上があった場合
• 定性的に有効だと思われ、性能に有意な低下が見られなかった場合 (ex. 特徴量を削減)
• => オンライン評価 • 改善版リリース • リリース後もKPIを定常観測
問題設定
モデリング
オフライン評価 (AUC, nDCG)
オンライン評価
(A/Bテスト)
リリース
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P25 MLの運用サイクル
• リリース後15週間で10回程度のモデル改善版リリース – パラメータチューニングを除く – オンライン評価は1週間程度見る必要
• MLを利用しないものもベースラインとして並行稼働させている
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P26 運用で改良したい点
• オフライン評価が実際の配信システムを完全にはシミュレートできていない => 感覚値70%くらいの確信度でA/Bテストに臨んでいる状況。。
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P27 MLの精度評価と運用サイクル
ü オンライン・オフライン評価を実施
ü 精度評価はKPI施策を 裏付けるためのもの.
ü 重要な施策は小↓でも実施
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
テスト運用の話
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P29 テスト運用フロー
アプリケーション
ビジネスロジック
機械学習 アルゴリズム
• アプリケーションテスト • FEでテスト
• ビジネスロジックテスト • 単体テスト
• 機械学習アルゴリズム • 目視で確認 • 性能テストをパッケージ化し、コマンドを叩くことで誰でも同一環境で性能評価可能に => CIに乗せたい
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
まとめ
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P31 まとめ
• Yahoo! JAPANのパーソナライズニュース • 検索ワード, Y!Jのクリックログ等を利用 • 大量のログを解析 コンテンツ特性を考慮したMLシステム
• 運用フロー • 評価は施策を裏付けるためのもの • 重要な施策は小↓でも実施
Confiden'al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora'on. All Rights Reserved.
P32 まとめ
• Yahoo! JAPANのパーソナライズニュース • 検索ワード, Y!Jのクリックログ等を利用 • 大量のログを解析 コンテンツ特性を考慮したMLシステム
• 運用フロー • 評価は施策を裏付けるためのもの • 重要な施策は小↓でも実施
• 機械学習アルゴリズムの改善に 力を入れています => 興味ある人ぜひjoinを!