Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

リクルートにおけるhadoop活用事例+α

2,725 views

Published on

2015/03/04 MapRユーザ・カンファレンスでの、白井の講演資料になります

Published in: Technology
  • Be the first to comment

リクルートにおけるhadoop活用事例+α

  1. 1. 株式会社リクルートテクノロジーズ ITソリューション統括部 ビッグデータ2グループ 白井 祐典 リクルートにおける hadoop活用事例+α
  2. 2. 自己紹介 2 氏名 白井 祐典 所属 RTC ITソリューション統括部 ビッグデータ2G 略歴 中途入社3年目。カーセンサー.netのHadoop施策において 要件定義/開発を2年間実施中。 Hadoopエコシステムの検証や、 画像解析などの検証/事業接続を実施。 学歴 長岡技術科学大学 経営情報システム工学専攻 趣味etc ゴルフ 映画 将棋(振り飛車党)
  3. 3. アジェンダ 最近のデータ活用状況1 データ利活用紹介(案件/R&D)2 まとめと今後3
  4. 4. 4 最近のデータ活用状況
  5. 5. 数値で見るデータ解析環境 5 本番110台 860 TB(レプリケート時) エコシステム
  6. 6. 数値で見るHadoopの使われ方 6 24,698 295 1038 万 1日あたりの全JOBの数 1日あたりの全WebHiveクエリの数 1日あたりの全Hbaseクエリの数 ※2
  7. 7. 数値で見るデータ解析案件状況 7 200 224 データ解析案件数(年間) ビッグデータ部の案件従事人数 ぐらい
  8. 8. 8 データ利活用紹介(案件)
  9. 9. 9 ビッグデータ活用における体制図 (「コンサル型」+「エンジニア型」)×マーケター コンサル型 エンジニア型 事業担当者 ≒マーケタービッグデータグループ Hadoop
  10. 10. 10 データドリブンの意思決定・施策 【数が多い】 (レコメンド・BI・予測・リアルタイム・非構造) 施策ひとつひとつがより難易度高くかつ長期に【質が高い】 ①シナリオマーケティング、②リアルタイムレコメンド、 ③画像解析 etc 事業担当者 ≒マーケター の知識向上、データドリブン施策の 重要性が認識・拡散。 ここ数年での変化
  11. 11. 11 データドリブンの意思決定・施策 【数が多い】 (レコメンド・BI・予測・リアルタイム・非構造) 施策ひとつひとつがより難易度高くかつ長期に【質が高い】 ①シナリオマーケティング、②リアルタイムレコメンド、 ③画像解析 etc 事業担当者 ≒マーケター の知識向上、データドリブン施策の 重要性が認識・拡散。 ここ数年での変化
  12. 12. 12 シナリオマーケティング カーセンサー
  13. 13. カスタマのニーズに沿ったアクションまでの最適なシナリオの提供 ~カスタマの行動に応じた適切な施策の表出~ カーセンサー シナリオマーケティング 欲しい車種はある。けど、物 件が多すぎて探し切れない… カーセンサーを知ってる! 中古車欲しいから来てみた! 近くで探したいけど まだ車種が決まっていない… 初回来訪 アクション 物件一覧 カタログ TOP CS使い方 欲しい車 種を見つ けよう ※ 実施策ではなく、イメージです 絞込 ボディT 車種 絞込 地域 価格上限 燃費 相場 販売店 高崎店 近店検索 並列比較
  14. 14. 14 カーセンサー シナリオマーケティング Hadoop×D3.jsでサイトの使われ方を解体 ※ デモ
  15. 15. 15 カーセンサー シナリオマーケティング D3.jsに描画するまでの流れ 過去2年分の 行動ログ取得 画面遷移および 人数・CVR集計 Json形式へ整形 木構造を持った 画面遷移を機械的に描写
  16. 16. 16 カーセンサー シナリオマーケティング 有用な機能を使いやすい条件を集計/決定木などで特定 次画面名 1000000 100 175000 100 138543 100 449567 100 69201 100 29835 100 7048 100 1 物件詳細 650000 34.44 0 0% 88232 14% 400000 62% 38337 6% 18284 3% 1537 0% 2 離脱 120000 32.78 120000 100% 0 0% 0 0% 0 0% 0 0% 0 0% 3 機能A 78000 11.62 0 0% 33000 42% 10959 14% 6426 8% 3020 4% 308 0% 4 再来訪 55000 8.59 55000 100% 0 0% 1 0% 0 0% 0 0% 0 0% 5 機能B 41000 8.46 0 0% 10000 24% 300 1% 20000 49% 4000 10% 10 0% 6 TOP 39000 1.89 0 0% 5191 13% 2307 6% 1764 5% 1177 3% 226 1% 7 特集記事A 34000 1.48 0 0% 2000 6% 20000 59% 1466 4% 2391 7% 967 3% 8 特集記事B 22000 0.75 0 0% 120 1% 16000 73% 1208 5% 963 4% 4000 18% 人数 割合人数 割合 人数 割合 人数 割合 All 人数 割合 人数 割合 人数 物件一覧ランディング 全体 滞在時間 無し 15秒以下 15~30秒 30~60秒 1~3分 3~5分 割合 次画面名 1000000 100 100000 100 155543 100 450587 100 69201 100 70315 100 48840 100 1 物件詳細 650000 34.44 0 0% 88232 14% 400000 62% 38337 6% 18284 3% 1537 0% 2 離脱 120000 32.78 90000 75% 0 0% 0 0% 0 0% 10000 8% 20000 17% 3 機能A 78000 11.62 0 0% 10000 13% 10959 14% 6426 8% 33500 43% 22100 28% 4 再来訪 55000 8.59 10000 18% 40000 73% 1 0% 0 0% 0 0% 0 0% 5 機能B 41000 8.46 0 0% 10000 24% 300 1% 20000 49% 4000 10% 10 0% 6 TOP 39000 1.89 0 0% 5191 13% 2307 6% 1764 5% 1177 3% 226 1% 7 特集記事A 34000 1.48 0 0% 2000 6% 24000 71% 1466 4% 2391 7% 967 3% 8 特集記事B 22000 0.75 0 0% 120 1% 13020 59% 1208 5% 963 4% 4000 18% 人数 割合 人数 割合 人数 割合 人数 割合 人数 割合 人数 割合 人数 割合 All 物件一覧ランディング 全体 [検索]物件ヒット数_e27 <1000<100 <10000<10 10000<0件 ※ A 15 HIT 0 B 30
  17. 17. 17 カーセンサー シナリオマーケティング 有用な機能を使いやすい条件を集計/決定木などで特定 ※ N=50000 離脱率=24% N=12000 離脱率=14% N=38000 離脱率=29% 検索キーワードに「中古」がある 検索キーワードに「中古」がない N=28000 離脱率=22% N=10000 離脱率=38% HIT件数がX件以上 HIT件数がX件以下
  18. 18. どの画面遷移をした人に、どの条件でどういう施策を連続して 打つ(シナリオ)か?を分析者/実装者/事業担当者間で要件定義 カーセンサー シナリオマーケティング 欲しい車種はある。けど、物 件が多すぎて探し切れない… 初回来訪 アクション 物件一覧 ※ 施策の一部(デバイス:PC) 絞込 地域 価格上限 店誘導 在庫数 問合せ先
  19. 19. 19 リアルタイムレコメンド タウンワーク
  20. 20. 【期待される効果】 ① カスタマ毎の嗜好が並び順に反映されるため CVRが上がる ② 一覧がカスタマに望ましい順番になるため 表示上位から応募されて、応募数増が見込める カスタマ毎におすすめの求人をスコアが高い順で一覧へ表示する + カスタマが原稿を閲覧したタイミングで検索結果が変化する タウンワーク:検索結果の最適化 カスタマ別に検索結果を最適化する
  21. 21. タウンワーク: 仕組み紹介 21 スコア表 STEP1 過去のカスタマーの行動情報をもとにして、 「原稿同士の関連スコア」=スコア表 を計算 閲覧ログ スコア演算 日次 バッチ スコア表 更新 検索結果の入れ替え STEP2 スコア表とリアルタイムの行動履歴情報をもとに、逐 次演算してカスタマーが最も嗜好するような検索結果に最適化 スコア表 リアルタイム 行動履歴 ユーザID 原稿ID スコア User001 A001 0.9+0.1 User001 B001 0.8+0.5 ユーザID 原稿ID スコア User001 A001 0.9 User001 B001 0.8 リアル タイム
  22. 22. 22 データ利活用紹介( R&D )
  23. 23. 取り掛かり中(一部やりたい)のテーマ紹介 23 Titan グラフ画像解析 テキスト 解析 ストリーム分散SQL
  24. 24. 取り掛かり中(一部やりたい)のテーマ紹介 24 Titan グラフ画像解析 テキスト 解析 ストリーム分散SQL
  25. 25. 一般物体認識:スパースコーディング+SVM 25 一般物体認識: 画像に映った物を特定する処理 ① 画像をベクトルに変換するencoderの作成 ② encoderで画像をベクトルに変換 ③ 教師有ベクトルを用いて判別モデルを生成 ④ 未知の画像を②でベクトルに変換 ⑤ ③のモデルに④を通し物体を特定 カスタマが興味のある画像に、何が映っているかを特定し、 検索の軸としたり、レコメンド利用の可能性がある
  26. 26. 一般物体認識:スパースコーディング [encoder作成] 26 K-means, Sparse Coding, OMP, RBM, Auto Encoder… ①学習する全画像から、d×dピクセルの局所画像をランダムに抽出。 ②抽出した局所画像をrgb×d×dの配列とし、 ベクトル空間へプロット。 ③ベクトルの軸を、各画像がスパースになる ような軸の変換式(encoder)を作成。
  27. 27. 一般物体認識:スパースコーディング [学習用vector作成] 27 Encoding Pooling fn(x) 先のページで作った エンコーダー適応 ΣやM 特徴ベクトル化 y(1,1) y(1,2) k次元 先のページで作ったエンコーダーを用いて画像を特徴ベクト ルの変換する。 投入イメージ 画像表現 特徴量 ④学習画像を左上から順にd×dピクセルづつ 取得し、encoderを用いてベクトル変換。 ⑤得たベクトルを4範囲で各平均を取り、 それを合成して画像のベクトルとする。
  28. 28. スパースコーディング [分類器の作成] 28 得られた特徴を用いて一般物体認識(SVM…)を行う。 これにより、未知の画像に何が映るか判別 ⑥⑤で得たベクトルに、正解ラベルを付与し SVMで分類器を生成。 ⑦未知の画像を⑥の分類器にかけることで、 どのラベルに属するかを判定
  29. 29. 施策展開 [ホットペッパービューティ] 似ているデザインから探す カラーから探す NEW① NEW① NEW② 似ている画像を表示 NEW② 39色から選択可能 目的 ・ネイルカタログの回遊を高め、CVRの増加 ・ネイルカタログの競合劣位の改善 施策内容 ■似ているデザインから探す デザイン詳細画面に、ユーザーが選択したネイルデザインに類似度が高いネイルデザインを表示する。 ■カラーから探す 39色から探せる検索軸を追加する。 ※類似デザインやカラーに合致したデザインは、画像解析エンジンを用いて判別している。
  30. 30. 画像解析はまだhadoopが利用できていない 30 1 H2O[DeepLearning] hbase
  31. 31. 31 まとめと今後
  32. 32. Hadoop まとめと今後 32
  33. 33. ご清聴ありがとうございました リクルートテクノロジーズ

×