Upload
recruit-technologies
View
7.518
Download
3
Embed Size (px)
Citation preview
株式会社リクルートテクノロジーズIT ソリューション部 ビッグデータグループ
石川 信行
リクルート式 Hadoop の使い方 2ndEdition
分社化について
2
(株)リクルート ホールディングス
(株)リクルートキャリア
(株)リクルートジョブズ
(株)リクルートスタッフィング
(株)リクルート住まいカンパニー
(株)リクルートライフスタイル
(株)リクルートマーケティングパートナーズ
(株)スタッフサービス・ホールディングス
(株)リクルートアドミニストレーション
(株)リクルートテクノロジーズ
(株)リクルートコミュニケーションズ
主な事業会社
機能会社
~リクルートについて
旅行
お稽古
時事
ファッション
飲食
ライフスタイル領域ライフイベント領域
進学就職
結婚
転職
住宅購入車購入
出産 / 育児
「選択・意思決定・行動」を支援する情報サービスの提供
リクルートグループのご紹介
カスタマーとクライアントを新しい接点で結び、「まだ、ここにない、出会い」の場を創造する。
カスタマー(ユーザー) クライアント
リクルートグループのご紹介
自己紹介□ 名前石川 信行( ground_beetle )
□ 出身福島県 いわき市大学時代は、害虫制御学、生物統計学、進化生態学専攻
□ 経歴・ 2009 年リクルート新卒入社・営業支援システムのコーダー( java )、 DBA として参加。・ 2010 年~ Hadoop 推進担当・現 Hadoop 案件推進・新用途開発チームリーダー
□ 趣味・外国産カブト虫飼育・スキューバダイビング・海水魚・サンゴ飼育
2011 年 Hadoop カンファレンスにて
6
Hadoop 導入のストーリーと課題感、初期の事例紹介、エコシステムの利用状況などを中心にお話しましたが、
この時点と比べてどのようにデータ活用が進んできたか。そんな話をできたらと思っています。
アジェンダ
1• 体制と環境の進化
2• 利活用事例紹介
3• 新しい技術・用途開発
4• 誰もが利用できる Hadoop へ
5• まとめ
体制と環境の進化
ビッグデータに対峙する2種類のアナリスト
【役割】事業の抱える課題解決に向けた仮説を立て、大量データをマイニングし具体的な解決案を提案する。現場に近いところで超具体的な方針を示す
【スキル・知識】分析力、論理的思考力、仮説力、統計 / マーケティング知識、 SQL 、 Rなど
【役割】データマイニングや機械学習を行った結果をもとに、ユーザーの行動特性など一定の規則性を見出し、提供サービスの品質向上に努める
【スキル・知識】Hadoop 、 MapReduce 、 Mahout 、 Java 、 R 、統計解析、時系列解析、データマイニング、機械学習、自然言語処理など
出展: http://engineer.typemag.jp/knowhow/2012/02/-13-2.php
アナリスト定義
ビッグデータ G 創設
10
(「コンサル型」+「エンジニア型」) × マーケター協力できる体制が整備されました。
コンサル型 エンジニア型
協働
事業担当者≒マーケタービッグデータグループ
Hadoop エンジニア分析者
そんな中で僕の業務は
11
事業担当者≒マーケター
事業担当者≒マーケター
分析者 エンジニア 構築・運用
技術提案案件提案集計・分析
要件定義集計・分析依頼事業戦略共有
事業の担当者と直接要件のやりとりをし、実装や分析を通じて共に価値を見出していく最前線の部隊。
これまで数多くの失敗と成功を経験してきた
とある調査会社の資料には 8 割の会社が情報活用を失敗すると記載がある。
リクルートでも正直失敗は繰り返されていた。・分析しっぱなし。・予算がとれない。・データを信用しない。
しかし、リクルートにはボトムアップの文化があった。事業担当者もエンジニアも分析者も現場レイヤーの人間がそれはもう泥臭く要件だし、実装、効果把握、報告を繰り
返したことでここまでやってこれたし、社内での認知度もあがってきたといえる。
ビックデータの認識
13
サンプリングではなく全量データを対象に可視化と予測が可能に。会員×原稿全パターンの最適化・パーソナライズなど。
Volume –大量データを格納・処理–
非構造データ(ログやテキスト)を扱うことができ、人でなければ不可能だった処理を機械で実行可能に。テキスト分類、画像解析など。
Variety –多様な種類のデータを格納・処理–
リアルタイム処理で web のインタラクティブ性を向上。個々のユーザの利用に応じて進化するレコメンドや、アクティブユーザの物件閲覧数をサイトに表出させる。
Velocity –データを速く処理–
リサーチ段階
3 ~ 4台
2008 ~ 9
実験機
Web サイトのバッチ処理移植など、処理性能の評価・研究
実験・検証
20台
ラボ環境
2010
システム移行などで余ったハードウェアを再利用
第 1世代環境
120台
プライベートクラウド
2011
商用利用が可能な設計(セキュリティなど非機能面)を施した環境
第 2世代環境
40台 (今後拡大)
プライベートクラウド環境との融合を進めた環境
プライベートクラウド
2012
イマココ
部分的な環境融合
完全なる環境融合
システム構成概要①
MapR / GreenplumMR
Node5 Node6 Node7 Node8
TaskTrackerFileServer
TaskTrackerFileServer
TaskTrackerFileServer
TaskTrackerFileServer
Warden
Node1 Node2
CLDB
JobTracker
Node3 Node4
TaskTrackerFileServer
TaskTrackerFileServer
TaskTrackerFileServer
TaskTrackerFileServer
CLDB CLDB CLDB
CLDBCLDBCLDBCLDB
JobTracker JobTracker JobTracker
JobTrackerJobTrackerJobTrackerJobTracker
Apache Hadoop / CDH
SlaveNode1 SlaveNode2 SlaveNode3 SlaveNode4
Heartbeat + DRBD
MasterNode1 MasterNode2 MasterNode3 MasterNode4
JobTracker
NameNode
SecondaryNameNode
SecondaryNameNode
NameNode
JobTracker
TaskTracker
DataNode
TaskTracker
DataNode
TaskTracker
DataNode
TaskTracker
DataNode
Master4台+ Slave15台+batch1台の 20台構成をベースに利用リソースに応じて Slave を増設
3 Node から、利用リソースに応じて増設
第2世代第1世代
システム構成概要②
「エコシステム」をフル活用中。
SQLライクな操作言語として、H iveマイニングのライブラリとして、 mahoutデータ連携ツールとして、 sqoopそして、 Hbase も現在実装中。
RDB
PV ログPV ログ問い合わせログ問い合わせログ
レコメンドデータ
レコメンドデータ
Quest® Data Connector
エコシステムを活用
利活用事例紹介
18
事業A
事業B
事業C
事業D
事業E
事業F
事業G
事業H
事業I
事業J
事業K
事業L
事業M
サイト間クロス UU調査
サイト横断モニタリング
指標
施策シェア分析
レコメンド
予約分析
BIメルマガ施策
リスティング分析
KWD×LP 分析
クチコミ分析
ステータス分析
LPO
メール通数分析
自然語解析
現行応募相関
行動ターゲティング
KPIモニタリング
レコメンド ログ分析
自然語解析 メール コメンレド 需要予測 クレンジング
需要予測
クライアント HP 分析
領域間クロスUU
カスタマープロファイル
集客モニタリング
商材分析
レコメンド
カスタマートラッキング共通バナー
KPIモニタリング
アクション数予測 効果集計
価格分析 コメンドレ クラスタリング クチコミ分析
レコメンド
レコメンド
効果見立て分析
13事業に対し、
半期で 120 件超の
データ利活用を展開中
2012 年度進めてきた案件パターン
19
Hadoop に関してはほぼ全事業に提供完了。下図のように利用が概略化される。
・ RDB のデータ・行動履歴(サイトカタリスト、独自ログ)・テキスト・外部データ
・セグメント切りの軸を複数に。・対象期間を増やすetc
・会員×原稿のスコア付・行動履歴から相関算出
・分析用の変数作成
大量集計
スコア計算・アルゴリズム
分析前集計
モニタリング営業用資料戦略資料機能開発判断材料
メール・ WEBレコメンド
ロジック作成シナリオ作成etc
パーソナライズド企業一覧
20
個人の行動履歴をもとに会員にお勧め企業一覧を 100 件レコメンド。
結果 12/18~24 までの 7日間で 18000 ものエントリーがあり、そのうち一括エントリーが 149回( 13410 件)という結果が得られた。
説明と効果
DB
転職仲間機能応募総数最大化に向けて、転職仲間機能を昨年の 4/23 に C/O 。
近い属性のユーザーを対象ユーザーにレコメンドし、ブックマークする機能を提供。週に約 70応募増の効果。
ためぞうためぞう
アクティブユーザー選出、ノンアクティブユーザー選出 @日
次
ユーザー属性ごとにレコメンド対象ユーザーを算出
リクともLiteメール版
22
1週間での効果
転職仲間のロジックをリクナビに移行しメールで配信。リクナビ 13 で、卒業間近の 2012年 11月に送ったにも関わらず通常メールに比べ CVR で約 2倍の効果。リクナビ 14 での配信と画面化も予定。
オファー施策の改善のための戦略的分析
23
レコメンドような目に見える施策だけではなく、事業の今後の施策実行のための戦略的分析も行っている。例えばオファー施策改善のための分析などがある。
・オファーはどのようなステータスのカスタマーに送信されているのか?
・ オファーを受信するタイミングにより、どの程度返信率が変化するのか?
転職エージェントクライアント
RNN登録会員数370万人
スカウト登録者数約 180万人
①オファーの送信
②応募・返信
課題
オファー施策の改善のための戦略的分析
24
RDBMS 1月 1日のDB
1月 2日のDB
1月 3日のDB
・最新のステータス(会員離脱状況や原稿掲載状況など)の保存
・行動履歴の部分取得
・離脱のタイミングやレジュメの変更比較が可能に。
・種々の行動履歴を長期間保存可能に。
例えば分析の中で使われる 1 つのクエリはメッセージ送信テーブル( 3500万件)と行動履歴テーブル( 7億件)を 外部結合して120億件の中間テーブルを作成する処理
通常の汎用 RDBMS では、 37 時間程度かかる見込みの処理が 30 分で帰ってくる。
価値あるOutput
共通チーム
事業での Hadoop 案件推進体制
ビッグデータ G担当
Hadoop事務局
媒体 3企画者
媒体 4企画者
媒体 2企画者
事業IT 担当
■エントリ~実施判断まで
媒体 1企画者
案件
案件
案件
案件
GM
媒体 5企画者
案件
案件エントリ過去事例などから工数と効果予測
実施案件判断
案件を一か所に集約することで、分析の知見を集約する!
事業での案件検討スキーム
情報共有活性化 エントリ 優先度判断 要件定義
開発モニタリン
グ
勉強会を定期的に開催
( Q毎ぐらい)
月次でエントリ締め切り
フレームワークを元に、開発評議会にて判断す
る
企画・開発を近づけ、ビッグ
データ G と各開発 G が直接開発
を進める
開発評議会にてモニタリングを
行う
活性化 活性化 投資効率 UP 開発効率 UP 投資効率 UP
「検討」「開発」「振り返り」のプロセスを 標準化・効率化を目指し、開発フローを作成する。
27
現在取り組み中の案件も数多く、それも段々と難しく、事業インパクトも強い案件が多くなっている傾向があります。
シナリオマーケティング
マッチング最適化
テキスト解析
新しい技術・用途開発
R-Stage Dev-Stage β-Stage 運用 -Stage
・技術要素調査・技術の実態を 把握する
・効果的な仕組みとしてプレ実装・活用方法をさらに開拓
・正式にフィジビリティスタディとして推進~展開をする
・実運用へ
Gate Review Gate Review Gate Review
ビッグデータ( Hadoop )
新技術のR&D取り組みステップ
非構造データ分析手法開発リアルタイム
Chemical Reaction
30
会員レジュメ クライアント原稿
会員レジュメはらしさと仕事のクラスタ原稿側もクラスタリング
らしさクラスター
仕事クラスター
メイン
サブ 1
サブ 2
サブ 3
原稿クラスター
マッチングアルゴリズム
はたらいくテキストマッチング
• 以下のような技術要素について、トライ & エラー・・・!
①データの定義※クラスタリングが適切になされるようにするために検討が必要
・ 150文字以下のレジュメは除外・レジュメフォーマット使用疑い者を除外・原稿側で、複数回掲載原稿でコピペしたような原稿について修正・原稿タイトル部分のウエイトを重くする・単語の重要度を定義し、使用用語を選定
②クラスタリング手法・階層クラスタリング (KH-Coder による )・ K-Means(Mahout による )・ Fuzzy K-Means(Mahout による )・ LatentDiricletAllocation(Mahout による )
③クラスタ間の関係の表現手法
・アソシエーション・ロジスティック回帰 (SPSS-Modeler による )・ SGD手法 (Mahout による )・ RandomForest(Mahout による )・ Tree-Net(SLFD による )
④評価指標 ・各種論文やモデリング指標を参考
Try の数だけ成果があがる
11形態素解析
12PV データ抽出
21重要後抽出
22辞書変換
23ユーザスコア割当
マッチングアルゴリズム作成フェーズの演算をHadoop に移植
レジュメ情報
原稿情報
応募履歴
閲覧履歴
24クラスタリング
23マッチング学習
推薦結果
分析ロジックを Hadoop で実装する。
Hbase の利用
34
現在 Hbase を利用した機能 C/O に向けて、開発を行っている最中。
HBase (列指向データベース )
HDFS ( 分散ファイルシステム )
HBase Client
HBase & Hadoop Cluster
まずは行動履歴の保存先として例:ユーザのアクセスログ用テーブル
HBaseRow Column
User IP
URL
Cookie
Row Column Value
1 IP x
1 IP x
1 URL /aaa
1 URL /bbb
2 IP y
2 Cookie yyy
2 URL /aaa
Key を指定して Value を検索
Key でソート済
リアルタイムにデータアクセス
画面への状態表示。例えばこのエリアを見た人が何人とか、ログインした人が何人とか。それとリアルタイムレコメンド
リアルタイムレコメンド
35
分析チームで作成したアルゴリズムを Hadoop ならびに Hbase に移植。リアルタイムで差配が効くレコメンドアルゴリズムが実装される。
レコメンド出現数
推薦アイテムPV数
多←PV数→少
IMAレコメンド出現数PV数
IMA アルゴリズム
flushバルクロード
行動履歴スコア表
スコア表作成
スコア表更新
WEB サーバー
コールドスタート問題を軽減
36
初来訪のユーザーに対してレコメンド物件がない(コールドスタート)という問題に対し、外部データ( IP アドレスとエリアの紐付データ)を使うことで問題を軽減する。
初来訪時
IP アドレスと紐付エリアから市区町村レベルまで絞ってレコメンド
一個でも閲覧したユーザー
閲覧
リアルタイムレコメンド開始
エリアのおすすめ原稿
リアルタイムレコメンド概要 バッチ
37
会員 ID 原稿 ID スコア
AAAAA 000001 1.0
AAAAA 000002 0.8
AAAAA 000003 0.6
AAAAA 000004 0.55
AAAAA 000005 0.52
AAAAA 000006 0.5
AAAAA 000007 0.4
AAAAA 000008 0.2
AAAAA 000009 0.1
会員×原稿の推薦リスト、原稿 -原稿の関連性を作成する。 (OffLine の処理 )
SC データ 原稿データ
原稿 ID 原稿 ID スコア
000001 000002 0.2
000001 000003 0.52
000001 000004 0.55
000001 000005 0.8
000001 000006 0.5
000001 000007 0.5
000001 000008 0.8
000001 000009 0.2
000002 000003 0.52
原稿の閲覧関連性スコア会員×原稿の推薦リスト
リアルタイムレコメンド概要 オンライン
38
閲覧した原稿に紐づく、原稿 -原稿の相関スコアを、他の原稿のスコアに合算。(Online の処理 )
とあるロジックでスコアを合算
この原稿を閲覧
Hbase をリクルートらしく!
39
リクルート内部には非構造系データがまだまだたくさん眠っているこれをもっと有効活用していきたい。例えば、使いどころが難しいとされている Hbase0.92 より追加されたコプロセッサ機能。これに種々のアルゴリズムを実装し事業へ提供するようなことも考えている。
コプロセッサ
分類
類似検索
スコア計算
誰もが利用できる Hadoop へ
ユーザービリティ強化
41
Hadoop へ自由にアクセスできるように Webhive を利用。事業の声を受けて改良中。ある事業ではすでに 60本ものクエリ登録がなされ頻繁に利用されている。
機能追加をしていく!
42
Hive のテーブル定義情報表示のように新機能を追加予定。
マスタデータのインサート機能、コメント表示やデリミタの切り替えなどの機能を追加。
知見の集約・展開
43
WebHive の画面に Tips集を追加している。Hive の高速化知見、関数の使い方などを蓄積し随時追加していき事業に公開している。(ただし、オープンソース版には追加していない。)
事業と並走する
44
また、 Hbase の利用により、 Tips集にメッセージ機能を追加予定。 Q&A にもベストエフォートで対応する。また、ビッグデータグループのもつデモサイトの役割も果たし新機能をどんどん追加予定。
SQL 対応分散クエリエンジンも導入予定
45
このように事業担当者がクエリを流すことに馴れてきている今、次はさらなる速さを求める動きもあり、 SQL 対応分散クエリエンジンの導入も視野にいれている。使い手が Hadoop に対する知識を持ち、 Hive でのクエリ処理に馴れてきたこのタイミングが重要。
まとめ
リクルート的ビッグデータ解析フロー。
リクルートにおけるビッグデータ解析は TryandError 方式。素早く環境を構築し、データを移行。実際のデータを用いて初回OUTPUT を行い、結果を見ながら要件を詰めて施策へ結び付けていく。
外部データ
ログ
本番 DB Hadoop検証環境
Hadoop エンジニア主導で素早くデータを蓄積
ある程度事業担当のやりたいことを汲み取り、迅速に初回
OUTPUT を作成
技術
分析
事業知見
実際のデータを見ながら、次の要件を検討
Output
効果を測定し、エンハンスや次期新施策を検討す
る。効果測定
正のビッグデータ
マネジメントループ
データ分析に関して必要なものとは。
48
事業担当者と最前線でやってきた立場から言えば、データ分析に必要なものは分析力、技術力はもちろんのこと事業の知見、安易に「できない」と判断しない思考、結果できた施策によってどんな世界が実現できるかを想像する力などヒューマンスキルも重要な気がしている。そしてこれらは実業での Try&Error で成長するものだと確信している。
※社員を育成する場合は、分析スキルを 中心としたOJTが必要。
分析スキル
マーケティング&ビジネススキル テクノロジースキル
ヒューマンスキル
グランドデザイン
49
Solr
Apache drill
RDB
BIツール
高速オンライン処理
・高速バッチ処理・データストア
ログ日次蓄積
行動ログリアルタイ
ム蓄積
リクルート外部データ
画面表示連携
検索
アナリスト エンジニア
マーケッター
Storm
リクルートでは今後も Hadoopそしてデータ分析を使い倒す!!
今後世に出るサービスの裏でデータ分析が、そして Hadoop が活躍していくこと
でしょう。