パーソナライズニュースを支えるml業務のまわしかた@yahoo! japan

33
Confiden’al :Discussion purpose only Copyright (C) 2014 Yahoo Japan Corpora’on. All Rights Reserved. 2014/06/13 パーソナライズニュースを支える ML業務のまわしかた @ Yahoo! JAPAN ヤフー株式会社 データソリューション本部 村尾一真 深澤良介

Upload: yahoo

Post on 15-Jan-2015

3.626 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only

Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

2014/06/13

パーソナライズニュースを支える ML業務のまわしかた @ Yahoo! JAPAN

ヤフー株式会社 データソリューション本部 村尾一真 深澤良介

Page 2: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P2 アジェンダ

•  自己紹介 •  Yahoo! JAPANのパーソナライズニュースとは?

•  ML(機械学習)の使いどころ •  MLの精度評価と運用サイクル •  まとめ

Page 3: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P3 本日のGoal

ü MLの利用と運用について なるべく具体的に話をする

#MLCT

Page 4: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

自己紹介

Page 5: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P5 自己紹介

深澤 良介 2009年入社 検索サービスの開発、検索エンジンライブラリの開発を経て、2013年4月にデータソリューションへ 今回のサービスの担当範囲: データ入出力から配信までシステム全般 専攻: 自然言語処理、質問応答システム

Page 6: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P6 自己紹介

村尾 一真 2012年入社 自然言語処理 -> レコメンデーション 今回のサービスの担当範囲: モデル精度改善 専攻: 適用対象に合った機械学習の改善(HCI、音楽情報処理)

Page 7: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

Yahoo! JAPANの パーソナライズニュース?

Page 8: パーソナライズニュースを支えるML業務のまわしかた@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トップ

パーソナライズ

Page 9: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P9

•  多様なログを利用 ü ニュース閲覧履歴 ü 検索キーワード ü 他のY!Jサービスの利用ログ ü  etc.

•  よりユーザーに合ったコンテンツを 掲出することを目指す

サービスの特徴

Page 10: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

サービスの規模

Page 11: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P11 利用者

約230万UB/1日 (デバイス合算、clickのみをカウント、2014年5月某日)

•  スクロールしなければ認知されないため、 ヤフートピックスと比べるとview/clickともかなり少ない

•  パーソナライズニュースサービスで(多分)最大規模

•  リリース半年でじわじわと認知され、ユーザー増加中

Page 12: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P12 解析対象

約2000万cookie/1日

•  Y!Jの利用ユーザーはパーソナライズモジュールに非接触でも解析

•  ユーザーが意識せずにパーソナライズされたコンテンツを利用可

Page 13: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P13 入稿コンテンツ

約6000本/1日

•  約15秒に1本新しいコンテンツが入稿 =>リアルタイム反映の仕組み

Page 14: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

ML(機械学習)の使いどころ

Page 15: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

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

Page 16: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

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

Page 17: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P17 ニュースの特性に合わせた工夫

1.  マッチングのスコア計算後、コンテンツ入稿時刻とアクセス時刻の時間差によって減算処理 •  ニュースの特性: 直近の記事が出ているほうがユーザーは嬉しい(?)

Page 18: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

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)

Page 19: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P19 Yahoo! JAPANのパーソナライズニュース

ü 多様・大量なログを解析 ü コンテンツ特性を考慮した

MLシステムを構築

Page 20: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

MLの精度評価と 運用サイクル

Page 21: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P21 2段階の精度評価

•  オフライン評価 –  フィードバックログを利用 –  (定性評価)

•  オンライン評価 –  A/Bテスト

モデリング

オフライン  評価

オンライン  評価

Page 22: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P22

モデリング

オフライン  評価

オンライン  評価

•  フィードバックログを利用 •  モデルによってスコアリングした結果をAUC、nDCGなどの指標によって評価

•  学習器のパラメータ等を調整

ü  POINT ü 交差検定では、学習ログの日付に最適化されてしまう (ニュースドメインでは、日時で重みが変化するような特徴量がある。変化しないものもある)

ü 学習、チューニングに用いるログと、評価に用いるログは、異なるデータを用いるだけではなく、ログを収集した日付を変えたほうが良い

オフライン評価

Page 23: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P23

モデリング

オフライン  評価

オンライン  評価

オンライン評価

•  A/Bテストによる評価 •  プロジェクトのKPIが各テストでどう変わるか

• 訪問率(重要!) •  記事のばらけ具合、等

•  KPI も即時分かるものと、そうでない長期的なものとを見ている •  CTRはすぐにわかるがいわゆる「釣り記事」などをポジティブに評価してしまう

•  ユーザーの満足度は訪問率に現れるという仮説 •  有意な差を認めるには累積で数十万以上のログが必要(感覚値)

•  同時に実施可能なテスト本数がサービス規模に依存

Page 24: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P24 MLの運用サイクル

•  問題設定、KPI設定 •  モデリング •  オフライン評価

•  有意な性能向上があった場合

•  定性的に有効だと思われ、性能に有意な低下が見られなかった場合 (ex. 特徴量を削減)

•  => オンライン評価 •  改善版リリース •  リリース後もKPIを定常観測

問題設定

モデリング

オフライン評価  (AUC,  nDCG)

オンライン評価  

(A/Bテスト)

リリース

Page 25: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P25 MLの運用サイクル

•  リリース後15週間で10回程度のモデル改善版リリース –  パラメータチューニングを除く –  オンライン評価は1週間程度見る必要

•  MLを利用しないものもベースラインとして並行稼働させている

Page 26: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P26 運用で改良したい点

•  オフライン評価が実際の配信システムを完全にはシミュレートできていない => 感覚値70%くらいの確信度でA/Bテストに臨んでいる状況。。

Page 27: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P27 MLの精度評価と運用サイクル

ü オンライン・オフライン評価を実施

ü 精度評価はKPI施策を 裏付けるためのもの.

ü 重要な施策は小↓でも実施

Page 28: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

テスト運用の話

Page 29: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P29 テスト運用フロー

アプリケーション

ビジネスロジック

機械学習 アルゴリズム

•  アプリケーションテスト •  FEでテスト

•  ビジネスロジックテスト •  単体テスト

•  機械学習アルゴリズム •  目視で確認 •  性能テストをパッケージ化し、コマンドを叩くことで誰でも同一環境で性能評価可能に => CIに乗せたい

Page 30: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

まとめ

Page 31: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P31 まとめ

•  Yahoo! JAPANのパーソナライズニュース •  検索ワード, Y!Jのクリックログ等を利用 •  大量のログを解析 コンテンツ特性を考慮したMLシステム

•  運用フロー •  評価は施策を裏付けるためのもの •  重要な施策は小↓でも実施

Page 32: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN

Confiden'al  :Discussion  purpose  only Copyright  (C)  2014  Yahoo  Japan  Corpora'on.  All  Rights  Reserved.

P32 まとめ

•  Yahoo! JAPANのパーソナライズニュース •  検索ワード, Y!Jのクリックログ等を利用 •  大量のログを解析 コンテンツ特性を考慮したMLシステム

•  運用フロー •  評価は施策を裏付けるためのもの •  重要な施策は小↓でも実施

•  機械学習アルゴリズムの改善に 力を入れています => 興味ある人ぜひjoinを!

Page 33: パーソナライズニュースを支えるML業務のまわしかた@Yahoo! JAPAN