未来のサービスを作る基礎技術

第7回リクルート式Hadoopの使い

前回は、リクルートグループでのHadoopを利用したサービス活用事例を紹介しました。今回は、Hadoop Conference Japan 2013 Winterで弊社の石川信行が講演した「リクルート式Hadoopの使い方 2nd Edition」の紹介をします。

図1 Hadoop Conference Japan 2013 Winterでの講演の様子
図1 Hadoop Conference Japan 2013 Winterでの講演の様子

ビックデータを扱う体制と環境の進化

リクルートで、ビックデータに挑むアナリストは2種類います。

コンサル型データアナリスト

コンサル型データアナリストは、事業の抱える課題解決に向けた仮説を立て、具体的な解決案の提案を行います。分析力、論理的思考力、統計などの数学的知識が必要とされます。

エンジニア型データアナリスト

エンジニア型データアナリストは、データマイニングやマシンラーニング(機械学習)などを行い、その結果を元に一定の規則性を見つけ出し、品質向上につなげます。主にHadoopとその周辺のツールの知識が必要とされます。

図2 アナリストの定義
図2 アナリストの定義

リクルートテクノロジーズでは、2種類のアナリストが協働してサービス担当者にこれまで以上のサービスを提供することができるよう、ビッグデータグループが創設されました。

図3 ビックデータグループの体制
図3 ビックデータグループの体制

ビッグデータグループの役割

ビッグデータグループは事業担当者(マーケッター)と直接要件のやりとりを行い、実装や分析を通じてお互いの価値を見出していく部署です。8割の会社が情報活用に失敗するという調査報告がありますが、リクルートグループでも失敗が繰り返されていました。

分析しっぱなし

とりあえずやるだけ、やっているだけ。活用がうまくできてない。

予算が取れない

効果がわからないので予算の確保が難しい。

しかしリクルートグループでは、現場担当者が実装、効果把握、報告を繰り返し行ったことで、社内の認知度が徐々に高まり、現在ではほぼすべての事業部でHadoopなどを利用したデータ分析が行われる状態になりました。

図4 ビックデータグループの役割
図4 ビックデータグループの役割

リクルート式Hadoopの使い方 2nd Editionで発表したHadoopの活用パターンは、大きく2つに分けられます。

図5 2012年度リクルートグループで進めてきた案件パターン
図5 2012年度リクルートグループで進めてきた案件パターン

1.大量集計

集計対象期間を増やすことで、今までExcelなどでは分析しきれなかった新たな発見をしたり、機能追加開発の際の説得資料などに役立てる。

図6 オファー施策の改善
図6 オファー施策の改善

転職サイトのスカウトメールが、どのようなステータスのカスタマー(ユーザ)に送信されているか、オファーを受信するタイミングなどにより、返信率がどのように変化していくかを長期間の時間軸で分析することで、価値のあるアウトプットを生み出すことができるようになりました。

RDBMSでは、約37時間かかるような処理が、Hadoopを利用することで、30分ほどで返ってくるようになり、より説得力のあるデータを短時間で作成することができるようになりました。

2.スコア計算、アルゴリズム

行動履歴ログから相関データを算出したり、自然言語処理を取り入れてレコメンドロジック評価やメール分析を行う。

図7 行動履歴を元にしたお勧め企業の一覧
図7 行動履歴を元にしたお勧め企業の一覧

ユーザの行動履歴データを利用して、個人にマッチしたお勧めの企業一覧を表示します。ユーザがこれまで見つけることができなかった企業がお勧めされるので、エントリー率が大幅に向上しました。

図8 転職仲間の仕組み
図8 転職仲間の仕組み

ユーザのクラスタリングを行い、近い属性のユーザのレコメンドを行います。ユーザは、似たような仲間がどのような求人情報を見ているか確認することができます。

R&Dとしての新たな取り組み

これら実際にサービスに組み込まれている以外にも、R&Dの一つとして、リクルートグループでは、現在3つの新たな取り組みを行っています。

1.分析手法開発

マッチングアルゴリズムの作成フェーズをHadoopに移植することで、マッチングアルゴリズム手法の高速化を行います。形態素(MeCab)を利用して、レジェメ情報や入稿されるデータの単語分割を行います。単語分割したデータの中から特徴語の抽出を行い、ユーザ辞書を作成します。その後に、機会学習ライブラリであるMahoutを利用して、クラスタリングなどの機械学習処理を行います。

図9 分析ロジックのマッチングアルゴリズムをHadoopへ
図9 分析ロジックのマッチングアルゴリズムをHadoopへ

2.リアルタイム処理

現在、開発途中のシステムですが、ユーザのIPアドレス、参照しているURL、Cookieの情報をHBaseに格納して、同じURLを見ている人がどのくらいるか表示させたり、ユーザの行動を元に、リアルタイムにレコメンドを行う機能にです。ユーザの行動をベースにリアルタイムでレコメンドを行うことで、より個人の目的に合ったレコメンドを提供することが可能になります。

図10 リクルートグループ式HBaseの活用法
図10 リクルートグループ式HBaseの活用法

3.非構造データ

HBaseを活用して、リクルートグループ内に眠る非構造データの有効活用を行います。例えば、メールやレジェメなどの非構造なデータやソーシャルデータのようなストリームデータをHBaseに格納します。また、HBase 0.92より追加されたコプロセッサ機能(RDBMSのトリガやストアドプロシージャのように、ある特定の条件を満たした場合に処理がサーバ側で実行されたりする機能)を利用したアルゴリズムを実装して事業へ提供していくことも検討しています

図11 非構造データの活用法に関して
図11 非構造データの活用法に関して

このようにHadoopと周辺のエコシステムを利用して、リクルートグループ内に眠っているたくさんのデータを有効活用していきたいと考えています。

次回は、現在まさに開発中でもあるリアルタイムシステムに関してのお話をします。動画の公開も予定していますのでお楽しみに。

おすすめ記事

記事・ニュース一覧