Unixカーネル屋
大阪市立大学の院生(D3)
IIJ Innovation Instituteの研究員もやっている
前提 Map/Reduceとは
MapReduce - naoyaのはてなダイアリー
MapReduceとは - はてなキーワード
・Kikkerのおさらい
はてなブックマークの新着リストを自分好みの順序で表示するサービス
シンプルなリコメンドシステムが動いている
新着リストにエントリされているWebページをベクトル化
・Kikkerをやる気になった理由
レコメンドシステムの実装の解説
通常のサーチエンジンとは違う
・KikkerMR?Map/Reduce版Kikker
大量のクローリングと解析をするならMap/Reduce
・基本的なアプローチ
自分でコンダラを引くことにした
・大変雑なブロック図
ユーザー嗜好学習
・Webページのクロール・解析
はてなブックマークの新着ページをクロールする
ターゲットのURLと解析用キーワードを抽出
形態素解析
・Webページのクロール・解析
HTMLタグのclass属性からたどっている
タグノードをトレースしてツリー構造を作る
各エントリーの1番目のエレメントにはタイトルとリンク
各エントリーの3番目のエレメントがオプショナルの情報
・推薦リストの生成
基本的にはページのベクトルとユーザのベクトルを比較する
ユーザとページごとの評価値を計算する
ユーザごとに各ページの
・ユーザ嗜好の学習
ユーザが参照したWebページのベクトルをユーザ・ベクトルに足しこむ
単純にベクトルの和を求めてしまうと昔のページが優先されてしまう
・効果
8万ページのクローリングに5分間
有効率はかなり低そう
URLに問題ある
タイムアウト
コンテンツでかすぎてヒープあふれる
など
・アナウンス
KikkerMRはオープンソースとして公開する
申請するとHadoop環境のアカウントを用意してもらえる
関連したエントリー