Upload
recruit-lifestyle-co-ltd
View
15.687
Download
0
Embed Size (px)
Citation preview
CET(Capture EveryThing) プロジェクトにおける
機械学習・データマイニング最前線
高柳慎一株式会社リクルートコミュニケーションズ
ICT ソリューション局アドテクノロジーサービス開発部兼
株式会社リクルートライフスタイルネットビジネス本部ディベロップメントデザインユニット
アーキテクト 2 兼 リーン開発グループ
2
会社&自己紹介
3
リクルートグループの提供価値
リクルートグループ
<提供価値>
人生や生活の中で選択に困った際に
その人が必要とする情報を提供
クライアント(企業)
悩み
ユーザ(生活者)
悩み
<提供価値>
ユーザとの出会いの機会や
最終的なマッチングを創出
4
リクルートグループについて
㈱リクルートホールディングス
㈱リクルートキャリア
㈱リクルートジョブズ
㈱リクルートスタッフィング
㈱スタッフサービス・ホールディングス
㈱リクルートライフスタイル
㈱リクルートマーケティングパートナーズ
㈱リクルート住まいカンパニー
㈱リクルートアドミニストレーション
㈱リクルートテクノロジーズ
㈱リクルートコミュニケーションズ
主な事業会社
機能会社
制作・宣伝・流通・サービス開発機能
社員募集領域
AP 人材募集領域
派遣人材募集領域
本社機能R & D (事業開発)
グローバル住宅領域
派遣人材募集領域
日常消費領域
結婚・進学・自動車等領域
アドミニストレーション機能
IT /基幹システム開発
リクルートコミュニケーションズ&リクルートライフスタイルはここです
5
リクルートコミュニケーションズの概要
• リクルートコミュニケーションズ– リクルートグループの機能会社– 制作、流通・宣伝、カスタマーサポート– デジタルマーケティング等の統括的な支援
リクルートコミュニケーションズ
メディア制作 流通・宣伝 カスタマー
サポート
サポート
デジタルマーケティ
ング
6
リクルートライフスタイルのサービス概要
7
自己紹介
• CET(Capture EveryThing) プロジェクト、やリーン開発に伴う AB テストなどのデータ分析 / 開発を担当
http://www.ipsj.or.jp/event/sj/sj2016/IT-F_bigdata.html
8
CET プロジェクトについて
• リクルートライフスタイルの全サービス横断で、リアルタイムにデータ(システムログ、ユーザの行動、在庫変動など)を収集・分析するための基盤
• リアルタイムデータ分析に必要な処理(収集、加工、集計、分析、可視化)を一気通貫で実施
• 少数精鋭なビジネス系メンバ、データサイエンティスト、エンジニアでプロジェクトを推進
CET の概要・特徴
9
• サービス・ビジネスに関するあらゆる情報の変化(ユーザの行動、在庫量の変動など)を、我々サービス提供者がリアルタイムに把握できていない
• その結果、状況に応じて最適な施策を講じることができておらず、機会損失が発生している
CET が解決する課題
10
• リアルタイムなデータに対する適切な処理を実施することで課題を解決
CET のログ収集システム構成
11
CET – Capture EveryThingサービス サービス運用者
機械学習エンジニア
データ分析者
が活用
ELB
Elasticsearch,Kibana
BigQuery
S3
APIELB Cloud Bigtable* GCP 関連製品は技術検証中
Cloud Pub/Sub
Cloud Dataproc,Apache Spark
計算結果を格納
• コールセンタでリアルタイムにログをモニタリング
• アプリケーションのスローダウンやユーザ操作の戸惑いなど、ユーザビリティに関する情報を迅速に検知し、顧客サポート品質向上に努める
リアルタイムデータ可視化事例 – Air レジ
12
• Spark Streaming を使用してウインドウ集計を実施
• 定期的に直近のユーザ行動ログを集計し、宿ページごとの UU 数をリアルタイムに算出
ストリームデータ処理事例 1 – じゃらん
13
• Spark Streaming を使用してログを定期的に集計
• 処理時間が特定のしきい値を超えるログの件数をURLごとに集計し、結果をサービス運用者へ通知
ストリームデータ処理事例 2 – サービス共通
CET – Capture EveryThingサービス サービス運用者
ELB Cloud Pub/Sub
Cloud DataprocApache Spark
14
Amazon SNS
AWS Lambda
メール
Slack
15
ストリームデータ処理事例 3 – 直近閲覧状況の可視化
16
CET における機械学習 / データマイニング
17
エンジニア兼データ分析者の使うツール群
今日は特に を活用した機械学習 / データマイニングの話をしします!
18
CET のデータ分析環境
AWS S3
Elastic Search
TreasureData
RedShift
Spark Notebook
Docker※一部試験環境用
AWS S3
Cloud Bigtable
RUNDECK※サーバ・バッチ起動管理
分析用サーバ (EC2)
Spark 用サーバ (EMR)
19
R を活用した機械学習 / データマイニングの流れ
• データの取得– COLD データ : 数億件のレコードを RedShift,
TreasureData で捌いて特徴量抽出 / 生成– HOT データ : CET の Elastic Searchから取得
• 機械学習 / データマイニングの実行– 1,000万件程度のレコードに対して実施
• 分析環境 (AWS)– 基本的には r3.2xlarge を複数人で使用– 計算パワーが足りないときは で殴る💰(インスタンスのグレードを上げる)
• サービスへの展開– BigTable に格納し、結果を API 化
20
社内用パッケージの開発
• DB接続・ ID マスキング・ AUC 計算などのよくやる処理をパッケージとして共通化
21
顧客のクラスタリング
• 時系列データのクラスタリングを実施• あるクラスタに属するユーザに対して、
サービス改善の施策を提案
関連・使用しているRのパッケージなど・秘密のマエショリ・ dplyr, tidyr, rls (いつもの)※クラスタリング結果(同一クラスタに属するもの)
22
XXしそうなユーザの判定
• ユーザの行動に応じて、画面選択の省略やデフォルト値の変更を行う
• 多値クラス分類問題を解いて、デフォルトの選択肢を用意する
関連・使用しているRのパッケージなど・ ranger・ dplyr, tidyr, rls (いつもの)
23
人気上昇ランキング
• じゃらんの全宿の”予約速度”を計算し、スコアリング。人気度に応じた文言を表示
関連・使用しているRのパッケージなど・ RcppRoll・ dplyr, tidyr, rls (いつもの)
• 在庫変動データに基づいた、在庫売り切れ予測
• 予約が急激入り始める時点の予測• 多腕バンディットアルゴリズムを活用した配信
• リアルタイム異常検知※すべてを でやるわけではない
今後対応を検討していること
24
25
機械学習 / データマイニングエンジニアの
スキル向上の施策
26
手を動かしながら学ぶ機械学習
手を動かしながら学ぶ機械学習クラスタリング・回帰・自然言語処理までを手を動かしながら順にお勉強するという企画
27
機械学習大会
機械学習大会某機械学習サイトにインスパイアされたサイト( Play framework で内製)。予測結果をアップロードすると結果の計算&順位付けを行う(※この大会は、ほぼ皆某 Deep でやってました… )
28
論文輪読会
論文輪読会テーマは自由&論文の時期も自由、ただし「発表者本人がこれから勉強したいこと」が条件
29
あれやこれやの詳細は…
懇親会で!!!
30
補足
• SparkR を EC2上で動かして分散処理してみる | Tech Blog | リクルートライフスタイル RECRUIT LIFESTYLEhttp://engineer.recruit-lifestyle.co.jp/techblog/2015-08-19-sparkr/
• 第 4回 [データ分析編]“制約なし”で大規模データ分析基盤を構築:リクルートライフスタイルの技術力を追え!|gihyo.jp … 技術評論社http://gihyo.jp/dev/serial/01/recruit-lifestyle/0004
(補足)関連資料 1/2
31
• リクルートライフスタイル全サービス横断のリアルタイムログ収集・可視化・分析基盤 @JAWS-UG Meguro #2 http://www.slideshare.net/RecruitLifestyle/ss-53400381
• 「ビッグデータは“リアルタイム”でこそ価値がある」 CET エンジニア 吉田啓二氏インタビュー | Tech Blog | リクルートライフスタイル RECRUIT LIFESTYLE http://engineer.recruit-lifestyle.co.jp/techblog/2015-11-02-yoshida-interview-1/
(補足)関連資料 2/2
32