リクルート式HBaseの使い方
株式会社リクルートテクノロジーズ
ITソリューション統括部 ビッグデータ2グループ
池田 裕一
2Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
趣味etc
学歴
略歴
所属
氏名
自己紹介
RTC ITソリューション統括部
ビッグデータ2G
池田 裕一
東京大学大学院工学系研究科
精密機械工学専攻
社会人5年目。
某大手メーカー系SIerで3年間、Java・C++を使った位
置情報サービスの開発やAndroidアプリの開発に従事。
2014年4月からリクルートテクノロジーズ入社。
レコメンド施策開発のディレクション、自然言語処理やグラ
フ解析の技術開発に従事。
テニス
ゴルフ
旅行
カメラ
3Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
本日覚えて帰って頂きたい事
HBaseを使った
リアルタイムレコメンドの実装方法
4Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
1
2
最近のデータ活用状況紹介
3
4
5
6
HBaseの活用事例
HBaseを使ったユーザー行動ログ収集
HBaseを使ったリアルタイムレコメンド
その他の工夫点
HBaseの導入効果
アジェンダ
7 まとめと今後の展望
5Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
最近のデータ活用状況紹介
6Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Server Database
数値で見るデータ解析環境
エコシステム
本番98台/開発24台 1 PB
7Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
数値で見るHadoopの使われ方
28,344
1038万
1日あたりの全JOBの数
1日あたりの全Hbaseクエリの数
8Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
数値で見るデータ解析案件状況
約200 データ解析案件数(年間)
ビッグデータ部の案件従事人数 240
9Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBaseの活用事例
10Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBase導入の背景
Hadoop
レコメンド生成
バッチ
ユーザー
行動ログ
集計バッチユーザー情報
行動ログ
ユーザー毎の
レコメンド
ユーザー毎のパーソナライズレコメンドを日次で実施(主にHive)
11Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
Hiveで解決できないサービス課題
レコメンド更新の
リードタイム
コールドスタート問題
12Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBase導入の目的
ユーザーがサイト上で
アクションしたタイミングで
おすすめが変化する
ユーザー毎に
おすすめのアイテムを
スコアが高い順で
一覧表示する
期待される効果
1. 登録直後のユーザー離脱を防ぐ
2. ユーザーアクションを活性化する
3. 応募数の増加
13Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBaseを活用して実現した2つの機能
書き込み
API ユーザー行動ログ収集
参照
API リアルタイムレコメンド
14Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBaseを使った
ユーザー行動ログ収集
15Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ユーザ行動ログ収集機能のシステム構成
Web
HBase
ユーザ行動ログの書
き込みAPI
Hadoop
行動ログ
集計バッチ
検索API
APIリクエスト
検索行動
ユーザー
データ書き込み
エキスポート
16Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBase
ユーザ行動ログ収集機能の内部処理
APIリクエスト
tomcat
ユーザー行動ログの書
き込みAPI
書き込み専用
ログテーブル
参照兼用書き込み
ログテーブル
17Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBase
ユーザ行動ログ収集機能の内部処理
APIリクエスト
tomcat
ユーザー行動ログの書
き込みAPI
書き込み専用
ログテーブル
参照兼用書き込み
ログテーブル
バッチでの
分析に使用
全てのユーザーのサイト
上での全てのアクション
を格納
key value
Hash化した
文字列
文字列
18Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBase
ユーザ行動ログ収集機能の内部処理
APIリクエスト
tomcat
ユーザー行動ログの書
き込みAPI
書き込み専用
ログテーブル
参照兼用書き込み
ログテーブル
リアルタイムの
レコメンドに使用
全てのユーザーの、直近
の特定アクションを格納
key
CF1 CF2
アクションCD アクションCD
ユーザーID アイテムCD アイテムCD
19Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ユーザ行動ログ収集機能のポイント
1. サイト上でのユーザー行動をHBaseのテーブルに入れる
2. 書き込み専用テーブルは、Hash化した文字列をkeyとして、書
き込みスピードを担保
3. 参照兼用の書き込みテーブルは、シーケンシャルな文字列をkey
として、参照スピードを担保
4. カラムのバージョンを設定する事で、直近の行動ログをテーブル
に格納する
5. 書き込み専用テーブルのデータはHiveテーブルにエキスポートし、
ユーザ行動分析を別途行うためのインプットとして使用する
20Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBaseを使った
リアルタイムレコメンド
21Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能のシステム構成
ユーザー
Web
HBase
レコメンドテーブルの
参照API
Hadoop
行動ログ
集計バッチ
検索API
APIリクエスト
検索行動
レコメンド取得
レコメンド
バルクロード
テーブル参照
22Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能の内部処理
HBase
APIリクエスト
tomcat
レコメンドテーブル
の参照API
ユーザ情報テーブル
レコメンドテーブル
(属性ベース)
レコメンドテーブル
(アイテムベース)
参照兼用書き込み
ログテーブル
23Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能の内部処理
HBase
APIリクエスト
tomcat
レコメンドテーブル
の参照API
ユーザ情報テーブル
レコメンドテーブル
(属性ベース)
レコメンドテーブル
(アイテムベース)
参照兼用書き込み
ログテーブル
ユーザーIDとレコメンドCD
をリクエスト
24Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能の内部処理
HBase
APIリクエスト
tomcat
レコメンドテーブル
の参照API
ユーザ情報テーブル
レコメンドテーブル
(属性ベース)
レコメンドテーブル
(アイテムベース)
参照兼用書き込み
ログテーブル
ユーザーIDをkeyにして、
ユーザーが直近で閲覧した
アイテムを返却
key
CF1 CF2
アクションCD アクションCD
ユーザーID アイテムCD アイテムCD
25Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能の内部処理
HBase
APIリクエスト
tomcat
レコメンドテーブル
の参照API
ユーザ情報テーブル
レコメンドテーブル
(属性ベース)
レコメンドテーブル
(アイテムベース)
参照兼用書き込み
ログテーブル
アイテムをkeyにして
類似するアイテムを返却
key value
アイテムCD レコメンドリスト
26Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能の内部処理
HBase
APIリクエスト
tomcat
レコメンドテーブル
の参照API
ユーザ情報テーブル
レコメンドテーブル
(属性ベース)
レコメンドテーブル
(アイテムベース)
参照兼用書き込み
ログテーブル
スコアの高いアイテムから順
に返却
27Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能の内部処理
HBase
APIリクエスト
tomcat
レコメンドテーブル
の参照API
ユーザ情報テーブル
レコメンドテーブル
(属性ベース)
レコメンドテーブル
(アイテムベース)
参照兼用書き込み
ログテーブル
ユーザーIDをkeyにして
ユーザーの属性情報を返却
key value
ユーザーCD 属性CDリスト
28Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能の内部処理
HBase
APIリクエスト
tomcat
レコメンドテーブル
の参照API
ユーザ情報テーブル
レコメンドテーブル
(属性ベース)
レコメンドテーブル
(アイテムベース)
参照兼用書き込み
ログテーブル
属性情報keyにして、属性に
適したアイテムを返却
key value
属性CD レコメンドリスト
29Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能の内部処理
HBase
APIリクエスト
tomcat
レコメンドテーブル
の参照API
ユーザ情報テーブル
レコメンドテーブル
(属性ベース)
レコメンドテーブル
(アイテムベース)
参照兼用書き込み
ログテーブルスコアの高いアイテムから順に
返却
30Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能のポイント
1. ユーザのアクションに即座に対応してレコメンドできる
1. アクションが無いユーザに対しては、ユーザの属性に適したレコメ
ンドができる
2. ユーザ登録直後から全てのユーザに対してレコメンドできる
3. APIのインターフェースを汎用に作ることで、新規のレコメンド
テーブルにも対応できる
31Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
その他の工夫点
32Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
その他の工夫点 その1 〜バルクロード
• 1レコードずつPUTする
• 高負荷状態が長時間続く
• データの参照は可能
• テーブルごと更新する
• データ参照が出来ない時
間帯がある
負荷低減とテーブルアクセスの担保を両立したい
importTSV CompleteBulkload
33Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
その他の工夫点 その1 〜バルクロード
ZooKeeperでテーブル参照とテーブル更新を管理
ZooKeeper
CompleteBulkload
34Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBase
その他の工夫点 その1 〜バルクロード
tomcat
レコメンドテーブル
の参照API
ZooKeeper
レコメンド
テーブル
レコメンド
テーブル
Hadoop
データ更新処理
35Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBase
その他の工夫点 その1 〜バルクロード
tomcat
レコメンドテーブル
の参照API
ZooKeeper
レコメンド
テーブル
レコメンド
テーブル
Hadoop
データ更新処理
参照
更新
36Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBase
その他の工夫点 その1 〜バルクロード
tomcat
レコメンドテーブル
の参照API
ZooKeeper
レコメンド
テーブル
レコメンド
テーブル
Hadoop
データ更新処理
参照
更新
37Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
その他の工夫点 その2 〜モニタリング
38Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
その他の工夫点 その3 〜レコメンドロジック
アイテムの類似度計算にword2vecを活用
 各単語を表現するベクトルを学習
 単語から文書中でその単語の前後に現れる単語を予測できるような表現を学習
 単語を表す1-of-k表現のベクトルを入力とし、その単語の前後にある単語の出現確率を
出力とするニューラルネットを学習させ、その中間層の値を単語を表現するベクトルとして用い
る
w(t)
w(t-1)
w(t+1)
w(t+2)
w(t-2)
INPUT PROJECTION OUTPUT
目的関数
log 𝑝(𝑤 𝑡 + 𝑖 |𝑤 𝑡 )𝑖,−𝐶≤𝑖≤𝐶,𝑖≠0𝑡
INPUT:
単語の1-of-k表現
PROJECTION:
単語
線形変換
階層的
soft-max
OUTPUT:
前後の単語の出現確率
𝑝(𝑤(𝑡+𝑖)|𝑤(𝑡))
39Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
リアルタイムレコメンド機能の内部処理
HBase
APIリクエスト
tomcat
レコメンドテーブル
の参照API
ユーザ情報テーブル
レコメンドテーブル
(属性ベース)
レコメンドテーブル
(アイテムベース)
参照兼用書き込み
ログテーブル
40Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
サービスA
CVRが 156% 改善
3.57% ⇒ 9.15%
サービスB
CVRが 31% 改善
46.59%⇒ 61.13%
その他の工夫点 その3 〜レコメンドロジック
41Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBaseの導入効果
42Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
HBaseを導入した効果
約2.7%改善ユーザー離脱率
約16.7%改善
ユーザー1人当たりの
アイテム閲覧回数
約30.8%改善ユーザー1人当たりのCVR
43Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
まとめと今後の展望
44Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
まとめ
• HBaseをユーザーのログ収集に活用している
• HBaseを使って、ユーザーのアクションに即座に対応したレコメ
ンドを実現している
• テーブル更新(バルクロード)はZooKeeperを使って、参照
用と更新用のテーブルの管理を行っている
• レコメンドの効果測定モニタリングを行っている
• リアルタイムレコメンドによってユーザーのアクション活性化に効
果を発揮している
45Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
今後の展望
リアルタイムレコメ
ンドの実装
リアルタイムでの
ユーザー志向分析
グラフ分析及び
グラフDBの導入
A
B
C
D
E
w(t)
w(t+1)
w(t+5)
・
・
・
w(t-1)
w(t-5)
・
・
・
46Copyright © Recruit Technologies Co., Ltd. All Rights Reserved.
ビジネスを踏まえて
泥臭くかつアグレッシブに
分析・エンジニアリングが
できる方。
ご連絡ください。
戦友をさがしています。
Yes, We Are Hiring! 池田 裕一
ご清聴ありがとうございました

20150625 cloudera

  • 1.
  • 2.
    2Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. 趣味etc 学歴 略歴 所属 氏名 自己紹介 RTC ITソリューション統括部 ビッグデータ2G 池田 裕一 東京大学大学院工学系研究科 精密機械工学専攻 社会人5年目。 某大手メーカー系SIerで3年間、Java・C++を使った位 置情報サービスの開発やAndroidアプリの開発に従事。 2014年4月からリクルートテクノロジーズ入社。 レコメンド施策開発のディレクション、自然言語処理やグラ フ解析の技術開発に従事。 テニス ゴルフ 旅行 カメラ
  • 3.
    3Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. 本日覚えて帰って頂きたい事 HBaseを使った リアルタイムレコメンドの実装方法
  • 4.
    4Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. 1 2 最近のデータ活用状況紹介 3 4 5 6 HBaseの活用事例 HBaseを使ったユーザー行動ログ収集 HBaseを使ったリアルタイムレコメンド その他の工夫点 HBaseの導入効果 アジェンダ 7 まとめと今後の展望
  • 5.
    5Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. 最近のデータ活用状況紹介
  • 6.
    6Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. Server Database 数値で見るデータ解析環境 エコシステム 本番98台/開発24台 1 PB
  • 7.
    7Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. 数値で見るHadoopの使われ方 28,344 1038万 1日あたりの全JOBの数 1日あたりの全Hbaseクエリの数
  • 8.
    8Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. 数値で見るデータ解析案件状況 約200 データ解析案件数(年間) ビッグデータ部の案件従事人数 240
  • 9.
    9Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBaseの活用事例
  • 10.
    10Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBase導入の背景 Hadoop レコメンド生成 バッチ ユーザー 行動ログ 集計バッチユーザー情報 行動ログ ユーザー毎の レコメンド ユーザー毎のパーソナライズレコメンドを日次で実施(主にHive)
  • 11.
    11Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. Hiveで解決できないサービス課題 レコメンド更新の リードタイム コールドスタート問題
  • 12.
    12Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBase導入の目的 ユーザーがサイト上で アクションしたタイミングで おすすめが変化する ユーザー毎に おすすめのアイテムを スコアが高い順で 一覧表示する 期待される効果 1. 登録直後のユーザー離脱を防ぐ 2. ユーザーアクションを活性化する 3. 応募数の増加
  • 13.
    13Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBaseを活用して実現した2つの機能 書き込み API ユーザー行動ログ収集 参照 API リアルタイムレコメンド
  • 14.
    14Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBaseを使った ユーザー行動ログ収集
  • 15.
    15Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. ユーザ行動ログ収集機能のシステム構成 Web HBase ユーザ行動ログの書 き込みAPI Hadoop 行動ログ 集計バッチ 検索API APIリクエスト 検索行動 ユーザー データ書き込み エキスポート
  • 16.
    16Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBase ユーザ行動ログ収集機能の内部処理 APIリクエスト tomcat ユーザー行動ログの書 き込みAPI 書き込み専用 ログテーブル 参照兼用書き込み ログテーブル
  • 17.
    17Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBase ユーザ行動ログ収集機能の内部処理 APIリクエスト tomcat ユーザー行動ログの書 き込みAPI 書き込み専用 ログテーブル 参照兼用書き込み ログテーブル バッチでの 分析に使用 全てのユーザーのサイト 上での全てのアクション を格納 key value Hash化した 文字列 文字列
  • 18.
    18Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBase ユーザ行動ログ収集機能の内部処理 APIリクエスト tomcat ユーザー行動ログの書 き込みAPI 書き込み専用 ログテーブル 参照兼用書き込み ログテーブル リアルタイムの レコメンドに使用 全てのユーザーの、直近 の特定アクションを格納 key CF1 CF2 アクションCD アクションCD ユーザーID アイテムCD アイテムCD
  • 19.
    19Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. ユーザ行動ログ収集機能のポイント 1. サイト上でのユーザー行動をHBaseのテーブルに入れる 2. 書き込み専用テーブルは、Hash化した文字列をkeyとして、書 き込みスピードを担保 3. 参照兼用の書き込みテーブルは、シーケンシャルな文字列をkey として、参照スピードを担保 4. カラムのバージョンを設定する事で、直近の行動ログをテーブル に格納する 5. 書き込み専用テーブルのデータはHiveテーブルにエキスポートし、 ユーザ行動分析を別途行うためのインプットとして使用する
  • 20.
    20Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBaseを使った リアルタイムレコメンド
  • 21.
    21Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能のシステム構成 ユーザー Web HBase レコメンドテーブルの 参照API Hadoop 行動ログ 集計バッチ 検索API APIリクエスト 検索行動 レコメンド取得 レコメンド バルクロード テーブル参照
  • 22.
    22Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能の内部処理 HBase APIリクエスト tomcat レコメンドテーブル の参照API ユーザ情報テーブル レコメンドテーブル (属性ベース) レコメンドテーブル (アイテムベース) 参照兼用書き込み ログテーブル
  • 23.
    23Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能の内部処理 HBase APIリクエスト tomcat レコメンドテーブル の参照API ユーザ情報テーブル レコメンドテーブル (属性ベース) レコメンドテーブル (アイテムベース) 参照兼用書き込み ログテーブル ユーザーIDとレコメンドCD をリクエスト
  • 24.
    24Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能の内部処理 HBase APIリクエスト tomcat レコメンドテーブル の参照API ユーザ情報テーブル レコメンドテーブル (属性ベース) レコメンドテーブル (アイテムベース) 参照兼用書き込み ログテーブル ユーザーIDをkeyにして、 ユーザーが直近で閲覧した アイテムを返却 key CF1 CF2 アクションCD アクションCD ユーザーID アイテムCD アイテムCD
  • 25.
    25Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能の内部処理 HBase APIリクエスト tomcat レコメンドテーブル の参照API ユーザ情報テーブル レコメンドテーブル (属性ベース) レコメンドテーブル (アイテムベース) 参照兼用書き込み ログテーブル アイテムをkeyにして 類似するアイテムを返却 key value アイテムCD レコメンドリスト
  • 26.
    26Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能の内部処理 HBase APIリクエスト tomcat レコメンドテーブル の参照API ユーザ情報テーブル レコメンドテーブル (属性ベース) レコメンドテーブル (アイテムベース) 参照兼用書き込み ログテーブル スコアの高いアイテムから順 に返却
  • 27.
    27Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能の内部処理 HBase APIリクエスト tomcat レコメンドテーブル の参照API ユーザ情報テーブル レコメンドテーブル (属性ベース) レコメンドテーブル (アイテムベース) 参照兼用書き込み ログテーブル ユーザーIDをkeyにして ユーザーの属性情報を返却 key value ユーザーCD 属性CDリスト
  • 28.
    28Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能の内部処理 HBase APIリクエスト tomcat レコメンドテーブル の参照API ユーザ情報テーブル レコメンドテーブル (属性ベース) レコメンドテーブル (アイテムベース) 参照兼用書き込み ログテーブル 属性情報keyにして、属性に 適したアイテムを返却 key value 属性CD レコメンドリスト
  • 29.
    29Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能の内部処理 HBase APIリクエスト tomcat レコメンドテーブル の参照API ユーザ情報テーブル レコメンドテーブル (属性ベース) レコメンドテーブル (アイテムベース) 参照兼用書き込み ログテーブルスコアの高いアイテムから順に 返却
  • 30.
    30Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能のポイント 1. ユーザのアクションに即座に対応してレコメンドできる 1. アクションが無いユーザに対しては、ユーザの属性に適したレコメ ンドができる 2. ユーザ登録直後から全てのユーザに対してレコメンドできる 3. APIのインターフェースを汎用に作ることで、新規のレコメンド テーブルにも対応できる
  • 31.
    31Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. その他の工夫点
  • 32.
    32Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. その他の工夫点 その1 〜バルクロード • 1レコードずつPUTする • 高負荷状態が長時間続く • データの参照は可能 • テーブルごと更新する • データ参照が出来ない時 間帯がある 負荷低減とテーブルアクセスの担保を両立したい importTSV CompleteBulkload
  • 33.
    33Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. その他の工夫点 その1 〜バルクロード ZooKeeperでテーブル参照とテーブル更新を管理 ZooKeeper CompleteBulkload
  • 34.
    34Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBase その他の工夫点 その1 〜バルクロード tomcat レコメンドテーブル の参照API ZooKeeper レコメンド テーブル レコメンド テーブル Hadoop データ更新処理
  • 35.
    35Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBase その他の工夫点 その1 〜バルクロード tomcat レコメンドテーブル の参照API ZooKeeper レコメンド テーブル レコメンド テーブル Hadoop データ更新処理 参照 更新
  • 36.
    36Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBase その他の工夫点 その1 〜バルクロード tomcat レコメンドテーブル の参照API ZooKeeper レコメンド テーブル レコメンド テーブル Hadoop データ更新処理 参照 更新
  • 37.
    37Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. その他の工夫点 その2 〜モニタリング
  • 38.
    38Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. その他の工夫点 その3 〜レコメンドロジック アイテムの類似度計算にword2vecを活用  各単語を表現するベクトルを学習  単語から文書中でその単語の前後に現れる単語を予測できるような表現を学習  単語を表す1-of-k表現のベクトルを入力とし、その単語の前後にある単語の出現確率を 出力とするニューラルネットを学習させ、その中間層の値を単語を表現するベクトルとして用い る w(t) w(t-1) w(t+1) w(t+2) w(t-2) INPUT PROJECTION OUTPUT 目的関数 log 𝑝(𝑤 𝑡 + 𝑖 |𝑤 𝑡 )𝑖,−𝐶≤𝑖≤𝐶,𝑖≠0𝑡 INPUT: 単語の1-of-k表現 PROJECTION: 単語 線形変換 階層的 soft-max OUTPUT: 前後の単語の出現確率 𝑝(𝑤(𝑡+𝑖)|𝑤(𝑡))
  • 39.
    39Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. リアルタイムレコメンド機能の内部処理 HBase APIリクエスト tomcat レコメンドテーブル の参照API ユーザ情報テーブル レコメンドテーブル (属性ベース) レコメンドテーブル (アイテムベース) 参照兼用書き込み ログテーブル
  • 40.
    40Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. サービスA CVRが 156% 改善 3.57% ⇒ 9.15% サービスB CVRが 31% 改善 46.59%⇒ 61.13% その他の工夫点 その3 〜レコメンドロジック
  • 41.
    41Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBaseの導入効果
  • 42.
    42Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. HBaseを導入した効果 約2.7%改善ユーザー離脱率 約16.7%改善 ユーザー1人当たりの アイテム閲覧回数 約30.8%改善ユーザー1人当たりのCVR
  • 43.
    43Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. まとめと今後の展望
  • 44.
    44Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. まとめ • HBaseをユーザーのログ収集に活用している • HBaseを使って、ユーザーのアクションに即座に対応したレコメ ンドを実現している • テーブル更新(バルクロード)はZooKeeperを使って、参照 用と更新用のテーブルの管理を行っている • レコメンドの効果測定モニタリングを行っている • リアルタイムレコメンドによってユーザーのアクション活性化に効 果を発揮している
  • 45.
    45Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. 今後の展望 リアルタイムレコメ ンドの実装 リアルタイムでの ユーザー志向分析 グラフ分析及び グラフDBの導入 A B C D E w(t) w(t+1) w(t+5) ・ ・ ・ w(t-1) w(t-5) ・ ・ ・
  • 46.
    46Copyright © RecruitTechnologies Co., Ltd. All Rights Reserved. ビジネスを踏まえて 泥臭くかつアグレッシブに 分析・エンジニアリングが できる方。 ご連絡ください。 戦友をさがしています。 Yes, We Are Hiring! 池田 裕一
  • 47.