• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Hadoop conference Japan 2011
 

Hadoop conference Japan 2011

on

  • 6,638 views

 

Statistics

Views

Total Views
6,638
Views on SlideShare
4,106
Embed Views
2,532

Actions

Likes
9
Downloads
0
Comments
1

11 Embeds 2,532

http://infra-engineer.com 1706
http://d.hatena.ne.jp 562
http://seikoudoku2000.hatenablog.com 97
http://paper.li 86
http://dev-wiki.rakuten.co.jp 31
http://dev-wiki.rakuten.co.jp 31
http://webcache.googleusercontent.com 8
http://www.slideshare.net 4
http://translate.googleusercontent.com 3
http://favtile.com 2
http://www.linkedin.com 2
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Can I have English version of this ppt?
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Hadoop conference Japan 2011 Hadoop conference Japan 2011 Presentation Transcript

    • ミクシィにおける Hadoop の利用 伊藤 敬彦 1
    • mixi?日本で最大規模のソーシャルネットワークサービス.いくつものサービスを展開. つぶやき,写真,日記,ア プリ等月間アクティブユーザ数:約1500万人 2
    • 自己紹介奈良先端大情報科学研究課博士後期過程終了ファストサーチ社で日本語処理コンポーネントを開発ミクシィの研究開発グループでデータマイニング技術の調査,実装を行うTwitter アカウント: takahi_i 3
    • アジェンダミクシィにおける Hadoop の利用 サーバ構成 適用分野Locality Sensitive Hashing (LSH) を利用した推薦 推薦を行うために必要なこと LSH を利用した推薦(レコメンド) Hadoop 上で動作する LSH の壱実装 (Likelike) 実験 4
    • アジェンダミクシィにおける Hadoop の利用 サーバ構成 適用分野Locality Sensitive Hashing (LSH) を利用した推薦 推薦を行うために必要なこと LSH を利用した推薦(レコメンド) Hadoop 上で動作する LSH の壱実装 (Likelike) 実験 5
    • Hadoop のサーバ構成社内には幾つかの Hadoop クラスタがある データノードの数はそれぞれ 4~5個 CDH 3,Hadoop 0.21,Hadoop 0.20 今のところそれほどチューニングはしていない 6
    • 利用している機器高価でない(コモデティ)機器を利用 CPU: Xeon E5630 @ 2.53GHz(Xeon X5650 @ 2.67GHz) メモリ量:16GB (32GB) OS: CentOS 5.5 HDサイズと一台あたりのHDの個数: 1TB HD を 1計算機あ たり6台 RAID: なし 7
    • ミクシィでの Hadoop の利用(データの集約)大規模データをHDFSに集約 ログデータ • ログを保存しておくサーバを別途用意し,日ごとに HDFS へコピーしている • 行動履歴: Apache ログ等 DB コンテンツ: プロフィール,マイミクグラフ等 • DBに負荷をかけることなくデータ解析を行える. 8
    • ミクシィでの Hadoop の利用(解析)集約されたデータを Java プログラム (MapReduce) で解析Hive も導入し,より簡便にデータの解析を行っている. 例: ミクシィページの PV集計 など 9
    • ミクシィでの Hadoop の利用(マイニング)現在までに mixi に存在するデータをマイニングする実験を行ってきた.事例: ログデータをマイニング 検索クエリログから “もしかして検索” 用の辞書を抽出 行動履歴から mixi ニュース内の記事を推薦 グラフ分析 ユーザの重要性判定 PageRank [Brin and Page, 1998] 10
    • アジェンダHadoop の利用分野 統計算出 マイニングLocality Sensitive Hashing (LSH) を利用した推薦 推薦を行うために必要なこと LSH を利用した推薦(レコメンド) Hadoop 上で動作する LSH の壱実装 (Likelike) 実験 11
    • 準備mixi には推薦機能を付加できるサービスがある. ニュース,チェック,レビュー 等現在これらのサービスに“推薦”機能を付加するための予備実験を行っている. 12
    • 推薦?ユーザがサービスを開くと,お勧めアイテムが表示される推薦を想定. 13
    • 推薦を行うには類似インスタンス集合を抽出することで実現できる. ここでインスタンスは扱うデータ集合中の一つの要素を表 す 例 (インスタンス) • 文書集合: 文書 • 購買履歴: ユーザ • ニュースの閲覧履歴: ユーザ 14
    • 類似インスタンス同じ特徴を持つインスタンスの集合類似インスタンスの例: 文書集合 - 同一の単語を含む文書 商品の購買履歴 - 同一の商品を購入したユーザ ニュースの閲覧履歴 - 同一のニュースを閲覧したユーザ 15
    • 例: 類似インスタンス(商品の購買履歴)ユーザ1とユーザ4は類似 ユーザ ID 購買商品一覧している 二つの同一の商品( 1 iPad, IntelliJ, うまい棒 IntelliJ, うまい棒)を購 入している 2 Nicon D3000, チョコレー ト 3 チーズケーキ, ロレック ス, オメガ 4 IntelliJ, うまい棒, 任天 堂DS 16
    • 類似インスタンスと推薦推薦を行うには:類似インスタンスの特徴を抽出すればよい. 例(購買履歴における特徴):ユーザが購入した商品 17
    • 例:類似インスタンスと推薦Q. ユーザ1にお勧め商品を ユーザ ID 購買商品一覧 推薦するには 1 iPad, IntelliJ, うまい棒A. ユーザ1の類似ユーザ( ユーザ4)の特徴(購入し た商品)を抽出する. 2 Nicon D3000, チョコレー ここではユーザ1に任天 ト 堂DSを抽出し推薦する 3 チーズケーキ, ロレック ス, オメガ 4 IntelliJ, うまい棒, 任天 堂DS 18
    • 各インスタンスに類似するインスタンスを抽出するには各インスタンスに対して、他の全インスタンスと比較し類似インスタンスであれば抽出する. 例(購買履歴): 同一の商品を購入しているかをチェック ... 19
    • 類似インスタンスの抽出における問題点問題点: ユーザ毎に他の全ユーザと類似性をチェックするのでは時間がかかりすぎる! Locality Sensitive Hashing [Piotr and Rajeev, 1999] を 利用して高速に類似インスタンスを抽出する 20
    • Locality Sensitive Hashing [Piotr andRajeev, 1999]類似するインスタンスを抽出する技術特徴 速い 精度はそれほどでもない事例 Google News のレコメンデーション [Das et al., 2007] 21
    • LSH が行う処理1. LSHはインスタンスを表すベクトル(インスタンスベクトル)を 入力として,関数を適用する 重要: 関数は似たベクトルに対して同一の値を返しやす いという特徴を持つ2. 関数を適用した後,同一の関数値を持つインスタンスを類似 インスタンスとして抽出 注: 全インスタンスの総当り比較が必要ないため高速に動作 する 22
    • 例:インスタンスベクトルの生成商 商品名 ユーザ1の購買履歴:品 iPad, IntelliJ, うまい棒ID1 iPad 商品IDを次元とする2 IntelliJ ベクトルを作る3 うまい棒4 ヘルシオ ユーザ1のインスタンスベクトル:… … [1 1 1 0 0 0 0 0] ユーザ1が商品1を一つ購 入したことを表す 23
    • イメージ:関数の適用入力(インスタンスベクトル) 出力(関数値)ユーザ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
    • 関数値が得られた後関数値をキー,インスタンスをバリューとして連想配列に保存すると自然に類似インスタンス集合が抽出できる. 注: Hadoop では結果は key-value. 例: 購買履歴データを利用した際の出力 キー (関数値) バリュー (インスタンス集合) 950494 ユーザ1,ユーザ4 48308 ユーザ2 848490 ユーザ3 25
    • Likelike (リケリケ)拙作の LSH の壱実装 関数として MinHash を実装Hadoop 上で動作URL: http://code.google.com/p/likelike/ 26
    • Likelike の利用方法簡単なコマンドで利用できる 類似インスタンスを抽出$ sh bin/likelike lsh -input Input.txt -output outputDir 推薦するアイテムの抽出 (LSH で得られた類似インスタンス の結果を利用)$ sh bin/likelike featureExtraction ¥ -input outputDir ¥ -feature input.txt -output featureOutputDir 27
    • 実験: ニュース記事の推薦モチベーション: 記事を推薦することで,トップページに表示されていない記事を知ってもらいたい. 28
    • ニュースを選択した理由ニュース記事には閲覧頻度の高くないものが多数存在する.ニュース記事は移り変わりが激しいので,LSHのように高速に動作するアルゴリズムが向いている. 各記事の総クリック数分布 29
    • 実験設定利用データ ミクシィニュースのアクセスログ (2011年9月分) • 一日分 300MB • 三日分 1GB • 一週間分 2GB ニュース記事 7万件計算機構成 Master 1台 Slave 5台 30
    • 実験1(計算にかかる時間)以下の処理にかかった時間を計測 1. LSH による類似インスタンスの抽出 • 各ユーザに対する関数値を(1,5,10)件算出 注: ユーザごとに計算する関数値を増やすことで Recall が上昇 (関連インスタンスがたくさん抽出でき る) 2. LSHで類似インスタンスを抽出した後,推薦するニュース を算出 31
    • 実験結果:計算に必要な時間 ユーザ毎に算出された関数値の数 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
    • 実験2 (推薦の精度)閲覧履歴に対して推薦されたニュースをリストアップ手順1. ニュースの閲覧履歴をランダムに生成 (人工データ)2. 全ユーザの閲覧履歴(7日分)にステップ1で生成した人 工データを加えLSHを計算3. 人工データに対する推薦記事の題目をチェック 33
    • 実験結果:推薦されたニュース一覧閲覧したニュース (人工データ) ラン 題目(内容語のみ) 4強 奈良大会 キン 香港株 反発 中国 景気 グ KARA 運動 1 女子力アップ 用品 西武 自力 優勝 2 初デート 異性 行動 3 部屋 整理術 4 友達 ランク 女子 5 彼氏 必死 行動パター ン 34
    • 実験結果:推薦されたニュース一覧閲覧したニュース (人工データ) ラン 題目(内容語のみ) 九州国際大付属 甲子園 キン 敗れる グ 国会 95代 首相 野田 指 1 福島第一 原子力 名 穂高岳 落石 2 牛肉 衛生基準 厚生省 3 中井氏 同行 職員 処 分 4 円 一時79円 5 経産次官 更迭 35
    • 考察:なぜ推薦した記事はユーザの閲覧した記事と関係なさそうなのか?ユーザはカテゴリを横断して記事を閲覧する例: 国際(ギリシア危機) → 芸能 (AKB)→ スポーツ (インテル長友)直感:カテゴリの違う記事は同一のユーザにクリックされてた場合でもそれほど関連しない 36
    • カテゴリを遷移する閲覧行動への対処同一のカテゴリ内でのページ遷移のみを考慮したい 閲覧履歴データをカテゴリごとに分割し,分割されたデータ に LSH を適用した注: カテゴリはニュース記事に人手で付与さている 37
    • 実験結果:推薦されたニュース一覧 (スポ ーツ限定)閲覧したニュース (人工データ) ランキン 題目(内容語のみ) 4強 奈良大会 グ 香港株 反発 中国 景気 1 マートン 病院 KARA 運動 西武 自力 優勝 2 ロッテ 唐川 3 阪神 森田 一軍 4 甲子園 ネット裏 5 川澄 甲子園 始球 式 38
    • 実験結果:推薦されたニュース一覧 (スポ ーツ限定)閲覧したニュース (人工データ) ランキン 題目(内容語のみ) 九州国際大付属 甲子園 グ 敗れる 1 巨人 原監督 ボー 国会 95代 首相 野田 指 ル 振る 名 2 広島 2位 浮上 穂高岳 落石 3 広島 広瀬 復帰 4 甲子園 聖光学院 日南学院 対戦 5 メッツ スカウト 花 巻東 雄星 以上 発 見 39
    • 今後の予定 (実験)カテゴリごとに分割して LSH をかけた後結果を統合し,最終的な推薦リストを生成残る問題:推薦される記事の数にばらつき まったく推薦されないケースも結構ある 逆に非常に多数の推薦が得られるケースもある推薦の導入作業 チューニング コンテンツデータも入れて実験 40
    • 今後の予定 (Likelike)Likelike を推薦プラットフォームとして強化Cassandra,HBase などの DB をサポート クライアントプログラム関数の追加 (SimHash, Laplacian など)LSH 以外のアルゴリズムの対応 (Co-visitation, 空間木 etc) 41
    • まとめミクシィにおける Hadoop の利用状況を報告Hadoop 上で動作するLSH の簡単な紹介と壱実装であるLikelike を紹介ニュースの推薦機能に関する予備実験とその結果を紹介 42
    • 終わりに(CM)ほかにもツールを公開中. Oluolu (オルオル) • クエリログマイニングツール • 日本語の “もしかして検索” で利用可能な辞書を抽出 • URL: http://code.google.com/p/oluolu/ Anuenue (アヌエヌエ) • Solr のラッパー • 大規模文書データを検索するためのクラスタを簡単に 構成できる • ミクシィページの検索で実際に利用 • URL: http://code.google.com/p/anuenue-wrapper/ 43
    • ご静聴ありがとうございました. 44