Hadoop conference Japan 2011
- 4. アジェンダ
ミクシィにおける Hadoop の利用
サーバ構成
適用分野
Locality Sensitive Hashing (LSH) を利用した推薦
推薦を行うために必要なこと
LSH を利用した推薦(レコメンド)
Hadoop 上で動作する LSH の壱実装 (Likelike)
実験
4
- 5. アジェンダ
ミクシィにおける Hadoop の利用
サーバ構成
適用分野
Locality Sensitive Hashing (LSH) を利用した推薦
推薦を行うために必要なこと
LSH を利用した推薦(レコメンド)
Hadoop 上で動作する LSH の壱実装 (Likelike)
実験
5
- 10. ミクシィでの Hadoop の利用(マイニング)
現在までに mixi に存在するデータをマイニングする実験を行っ
てきた.
事例:
ログデータをマイニング
検索クエリログから “もしかして検索” 用の辞書を抽出
行動履歴から mixi ニュース内の記事を推薦
グラフ分析
ユーザの重要性判定 PageRank [Brin and Page, 1998]
10
- 11. アジェンダ
Hadoop の利用分野
統計算出
マイニング
Locality Sensitive Hashing (LSH) を利用した推薦
推薦を行うために必要なこと
LSH を利用した推薦(レコメンド)
Hadoop 上で動作する LSH の壱実装 (Likelike)
実験
11
- 16. 例: 類似インスタンス(商品の購買履歴)
ユーザ1とユーザ4は類似 ユーザ ID 購買商品一覧
している
二つの同一の商品( 1 iPad, IntelliJ, うまい棒
IntelliJ, うまい棒)を購
入している
2 Nicon D3000, チョコレー
ト
3 チーズケーキ, ロレック
ス, オメガ
4 IntelliJ, うまい棒, 任天
堂DS
16
- 18. 例:類似インスタンスと推薦
Q. ユーザ1にお勧め商品を ユーザ ID 購買商品一覧
推薦するには
1 iPad, IntelliJ, うまい棒
A. ユーザ1の類似ユーザ(
ユーザ4)の特徴(購入し
た商品)を抽出する. 2 Nicon D3000, チョコレー
ここではユーザ1に任天 ト
堂DSを抽出し推薦する
3 チーズケーキ, ロレック
ス, オメガ
4 IntelliJ, うまい棒, 任天
堂DS
18
- 21. Locality Sensitive Hashing [Piotr and
Rajeev, 1999]
類似するインスタンスを抽出する技術
特徴
速い
精度はそれほどでもない
事例
Google News のレコメンデーション [Das et al., 2007]
21
- 23. 例:インスタンスベクトルの生成
商 商品名 ユーザ1の購買履歴:
品 iPad, IntelliJ, うまい棒
ID
1 iPad
商品IDを次元とする
2 IntelliJ
ベクトルを作る
3 うまい棒
4 ヘルシオ ユーザ1のインスタンスベクトル:
… … [1 1 1 0 0 0 0 0]
ユーザ1が商品1を一つ購
入したことを表す
23
- 24. イメージ:関数の適用
入力(インスタンスベクトル) 出力(関数値)
ユーザ1 [1 1 1 0 0 0 0 0] 950494
ユーザ2 [0 0 0 1 1 0 0 0] 48308
関数を適用
ユーザ3 [0 0 0 0 0 1 1 0] 848490
ユーザ4 [0 1 1 0 0 0 0 1] 950494
24
- 27. Likelike の利用方法
簡単なコマンドで利用できる
類似インスタンスを抽出
$ sh bin/likelike lsh -input Input.txt -output outputDir
推薦するアイテムの抽出 (LSH で得られた類似インスタンス
の結果を利用)
$ sh bin/likelike featureExtraction ?
-input outputDir ?
-feature input.txt -output featureOutputDir
27
- 32. 実験结果:计算に必要な时间
ユーザ毎に算出された関数値の数
1 5 10
利用データ 1 3 7 1 3 7 1 3 7
(日)
LSH 2.12 2.29 3.24 3.29 5.29 8.38 9.45 15.09 18.52
(時間)
推薦 3.27 3.20 5.15 5.35 7.26 9.58 3.50 6.27 10.38
(時間)
合計 5.39 5.49 8.39 9.04 12.55 18.36 13.35 21.36 29.30
32
- 39. 実験結果:推薦されたニュース一覧 (スポ
ーツ限定)
閲覧したニュース (人工データ) ランキン 題目(内容語のみ)
九州国際大付属 甲子園 グ
敗れる
1 巨人 原監督 ボー
国会 95代 首相 野田 指 ル 振る
名
2 広島 2位 浮上
穂高岳 落石
3 広島 広瀬 復帰
4 甲子園 聖光学院
日南学院 対戦
5 メッツ スカウト 花
巻東 雄星 以上 発
見
39
- 40. 今後の予定 (実験)
カテゴリごとに分割して LSH をかけた後結果を統合し,最終
的な推薦リストを生成
残る問題:推薦される記事の数にばらつき
まったく推薦されないケースも結構ある
逆に非常に多数の推薦が得られるケースもある
推薦の導入作業
チューニング
コンテンツデータも入れて実験
40
- 43. 終わりに(CM)
ほかにもツールを公開中.
Oluolu (オルオル)
? クエリログマイニングツール
? 日本語の “もしかして検索” で利用可能な辞書を抽出
? URL: http://code.google.com/p/oluolu/
Anuenue (アヌエヌエ)
? Solr のラッパー
? 大規模文書データを検索するためのクラスタを簡単に
構成できる
? ミクシィページの検索で実際に利用
? URL: http://code.google.com/p/anuenue-wrapper/
43