SlideShare a Scribd company logo
1 of 76
Download to read offline
®
© 2014 MapR Technologies 1
®
© 2014 MapR Technologies
実践機械学習  — MahoutとSolrを活⽤用した
レコメンデーションにおけるイノベーション
草薙  昭彦
MapR Technologies
®
© 2014 MapR Technologies 2
本⽇日のトピック
•  レコメンデーションとは?
•  レコメンデーションをユーザーに提供するには?
•  ⾳音楽レコメンデーションの例例
•  よりよいレコメンデーションにするには?
®
© 2014 MapR Technologies 3
実践機械学習
レコメンデーションにおけるイノベーション
無料料  eBook
Ted  Dunning,  Ellen  Friedman 著
マップアール・テクノロジーズ株式会社    草薙  昭彦
監修
株式会社ブレインパッド    太⽥田  満久、下⽥田  倫倫⼤大、増⽥田  康彦
⽟玉川  ⻯竜司 訳
ダウンロードは
http://hadoop-‐‑‒times.com/ml-‐‑‒pdf-‐‑‒ebook.html
Apache  Mahout  と  Solr  を活⽤用した、シ
ンプルながらも強⼒力力なレコメンデーショ
ンエンジンのデザインと実装を解説
®
© 2014 MapR Technologies 4®
© 2014 MapR Technologies
背景について
®
© 2014 MapR Technologies 5
機械学習ってどういうもの?
®
© 2014 MapR Technologies 6
機械学習アルゴリズムとその実装
A1 A2
!
"
#
$
T
A1 A2
!
"
#
$=
A1
T
A2
T
!
"
%
%
#
$
&
&
A1 A2
!
"
#
$
=
A1
T
A1 A1
T
A2
AT
2A1 AT
2A2
!
"
%
%
#
$
&
&
r1
r2
!
"
%
%
#
$
&
&
=
A1
T
A1 A1
T
A2
AT
2A1 AT
2A2
!
"
%
%
#
$
&
&
h1
h2
!
"
%
%
#
$
&
&
r1 = A1
T
A1 A1
T
A2
!
"%
#
$&
h1
h2
!
"
%
%
#
$
&
&O(κ k d + k3 d) = O(k2 d log n +
k3 d) for small k, high quality
O(κ d log k) or O(d log κ log k)
for larger k, looser quality
でも今⽇日は、強⼒力力だけれどもそれをシンプルに実現する⽅方法について
お話しします
®
© 2014 MapR Technologies 7
レコメンデーション
•  データ: ⼈人々の⾏行行動(ユーザー)とアイテムとのインタラクション
–  データはレコメンデーションモデルの学習に使われる
•  追加の適切切なもしくは望ましいインタラクションを提案することが⽬目的
•  アプリケーションの例例: 映画、⾳音楽、地図ベースのレストラン選択、eスト
アやレジレシートでの販売商品の提案
®
© 2014 MapR Technologies 8
Google Maps: レストランのレコメンデーション
®
© 2014 MapR Technologies 9
Google Maps: テクノロジー企業のレコメンデーション
®
© 2014 MapR Technologies 10®
© 2014 MapR Technologies
レコメンデーションのしくみ
(または「I want a pony」)
®
© 2014 MapR Technologies 11
I want a pony!
費⽤用や⼿手間を考えず、無茶茶な要求をする様を
揶揄して表現するフレーズ
®
© 2014 MapR Technologies 12
⼀一番はじめの質問:
正しいデータを使っていますか?
®
© 2014 MapR Technologies 13
レコメンデーション
群衆の⾏行行動は、個⼈人の⾏行行動を
予測するのを助けてくれる
®
© 2014 MapR Technologies 14
レコメンデーション
アリスはリンゴと⼦子⽝犬を購⼊入
チャールズは⾃自転⾞車車を購⼊入
アリス
チャールズ
®
© 2014 MapR Technologies 15
レコメンデーション
アリスはリンゴと⼦子⽝犬を購⼊入
チャールズは⾃自転⾞車車を購⼊入
ボブはリンゴを購⼊入
アリス
ボブ
チャールズ
®
© 2014 MapR Technologies 16
レコメンデーション
ボブは他に何を欲しがる?
アリス
ボブ
チャールズ
?
®
© 2014 MapR Technologies 17
レコメンデーション
⼦子⽝犬、もちろん!
アリス
ボブ
チャールズ
®
© 2014 MapR Technologies 18
レコメンデーションがどのように
⾏行行われるかわかりましたか?
®
© 2014 MapR Technologies 19
ところで、みんなと同じく、
ボブもポニーが欲しいんです
®
© 2014 MapR Technologies 20
レコメンデーション
全員がポニーを購⼊入したらどうな
る?
アリス
ボブ
チャールズ
アメリア 他に何をアメリアにおすすめすればい
い?
?
®
© 2014 MapR Technologies 21
レコメンデーション
アリス
ボブ
チャールズ
アメリア
もし全員がポニーを購⼊入したら、
ポニーは他のものを予測するのに
役に⽴立立たない...
?
®
© 2014 MapR Technologies 22
素の共起データの問題
•  ⾮非常に⼈人気のアイテムはすべてと共起する (皆がポニーが欲しい
という情報は役に⽴立立たない…)
–  例例:  ウェルカムドキュメント、エレベーターの⾳音楽
•  広範囲な出現は⾯面⽩白みがない
–  かみそりの刃  (とかポニー)  のような絶えず望まれるアイテムを提供し
たいのでない限り
•  欲しいのは例例外的な共起
–  これこそが興味深い好みの指標の情報源であり、レコメンデーション
の基礎となる
®
© 2014 MapR Technologies 23
⾏行行動から役に⽴立立つ指標を得るには
•  ログファイルを使ってユーザー x アイテムの履履歴マトリクスを
作成
–  注:  このインタラクションの履履歴は全ての潜在的な組み合わせと⽐比べる
と疎なデータである
•  アイテム x アイテムの共起マトリクスに変換
•  例例外的な共起を探し、役に⽴立立つインジケーターを⾒見見つけてイン
ジケーターマトリクスを作成
–  対数尤度度⽐比  (LLR)  はどの共起が好みのインジケーターとして使えるか
を確信を持って判断するのに助けになる
–  Apache Mahout の  RowSimilarityJob  は  LLR  を使う
®
© 2014 MapR Technologies 24
Apache Mahout
•  オープンソース Apache プロジェクト  http://mahout.apache.org
•  Mahout version 0.9 は 2014年年2⽉月にリリース
•  機械学習のためのスケーラブルなアルゴリズムのライブラリ
–  Apache Hadoop で動くものもあれば、Hadoop 不不要のものもある
–  ⼩小さいスケールでのみ動くものもある
–  並列列実⾏行行するものもあれば、シーケンシャルなものもある
•  下記のものを含む
–  クラスタリング & 関連技術
–  分類
–  レコメンデーション
–  Mahout Math ライブラリ
®
© 2014 MapR Technologies 25
ログファイル
アリス
ボブ
チャールズ
アリス
ボブ
チャールズ
アリス
®
© 2014 MapR Technologies 26
ログファイル
u1
u3
u2
u1
u3
u2
u1
t1	
  
t4	
  
t3	
  
t2	
  
t3	
  
t3	
  
t1	
  
®
© 2014 MapR Technologies 27
履履歴マトリクス: ユーザー/アイテム
アリス
ボブ
チャールズ
✔ ✔ ✔
✔ ✔
✔ ✔
®
© 2014 MapR Technologies 28
共起マトリクス: アイテム/アイテム
-
1	
   2	
  
1	
   1	
  
1	
  
1	
  
2	
   1	
  
どの共起が役に⽴立立つかわかりますか?.
0	
  
0	
  
0	
   0	
  
®
© 2014 MapR Technologies 29
共起マトリクス: アイテム/アイテム
LLR 検定を使⽤用して共起をインジケーターに変換…
-
1	
   2	
  
1	
   1	
  
1	
  
1	
  
2	
   1	
  
0	
  
0	
  
0	
   0	
  
®
© 2014 MapR Technologies 30
共起バイナリマトリクス
1	
  
1	
  not	
  
not	
  
1	
  
®
© 2014 MapR Technologies 31
例例外を⾒見見つける
A not A
B 13 1000
not B 1000 100,000
A not A
B 1 0
not B 0 2
A not A
B 1 0
not B 0 10,000
A not A
B 10 0
not B 0 100,000
それぞれの状況からどんな結論論が導ける?
®
© 2014 MapR Technologies 32
例例外を⾒見見つける
•  ルート LLR はおおよそ標準偏差に近い
•  Apache Mahout では  RowSimilarityJob が LLR を利利⽤用
A not A
B 1 0
not B 0 2
A not A
B 1 0
not B 0 10,000
A not A
B 10 0
not B 0 100,000
1.95
4.52 14.3
それぞれの状況からどんな結論論が導ける?
A not A
B 13 1000
not B 1000 100,000
0.90
®
© 2014 MapR Technologies 33
共起マトリクス
つまり: LLR 検定を使⽤用して共起をインジケーターに変換
-
1	
   2	
  
1	
   1	
  
1	
  
1	
  
2	
   1	
  
0	
  
0	
  
0	
   0	
  
®
© 2014 MapR Technologies 34
インジケーターマトリクス: 例例外的な共起
✔	
  
✔	
  
結果: マークされた⾏行行がアイテムドキュメントのインジケーターフィ
ールドに追加される…
®
© 2014 MapR Technologies 35
どうやってユーザーにレコメンデーションを
提⽰示すればよいでしょうか?
®
© 2014 MapR Technologies 36
シンプルさを追求
イノベーション:
レコメンデーションシステムを
実装するために検索索技術を利利⽤用
®
© 2014 MapR Technologies 37
その前に、検索索エンジンがどう動くか
⾒見見てみましょう
®
© 2014 MapR Technologies 38
Apache Solr/Apache Lucene
•  Apache Solr/Lucene: オープンソースのパワフルな検索索エンジン
–  柔軟かつ複雑にインデックスされたデータへのクエリ
–  フルテキスト、地理理データ、統計的に重み付けされたデータ
•  Lucene
–  検索索のコア機能を提供
–  低レベルライブラリ
•  Solr
–  Lucene を包む  Web ベースのラッパー
–  Web インターフェースで接続できるため、連携が容易易
®
© 2014 MapR Technologies 39
LucidWorks
•  Solr/Lucene をベースにしたエンタープライズ向けプラット
フォーム
–  Solr を包むラッパー
–  フリーのバージョンが  MapR  に付属
•  LucidWorks は  Solr の機能はそのままに、Solr の運⽤用管理理を容
易易にすることで、Lucene を簡単に利利⽤用できるようにしている
®
© 2014 MapR Technologies 40
Solr/Lucene/LucidWorks の関係
®
© 2014 MapR Technologies 41
ドキュメントとフィールドに対する検索索
•  データはドキュメントの集合
•  ドキュメントは⼀一般的にタイトル、著者、キーワード、本⽂文の
フィールドを持つ
•  ⼀一般的なシンタックス
–  field:(単語1 単語2)
•  または
–  field:(単語1 OR 単語2) field:(“単語1 単語2” ~ 5) field:(単語1 AND 単語
2)
®
© 2014 MapR Technologies 42
インジケーターマトリクス
✔
id: t4
title: puppy
desc: The sweetest little puppy ever.
keywords: puppy, dog, pet
indicators: (t1)
インジケーターマトリクスの1⾏行行が Solr ドキュメントのインジケーターフ
ィールドになり、レコメンデーションエンジンの実装に利利⽤用される
注: インジケーターフィールドは Solr インデックスのドキュメントのメタデータ
に直接追加される。インジケーターのための別のインデックスを作る必要はない
®
© 2014 MapR Technologies 43
実際の例例: ⾳音楽レコメンデーション
®
© 2014 MapR Technologies 44
®
© 2014 MapR Technologies 45
ユーザーの⾏行行動: ジャズの名曲「Take the A Train」を
聴く
®
© 2014 MapR Technologies 46
⾏行行動をベースにレコメンデーションを提⽰示
®
© 2014 MapR Technologies 47
⾳音楽レコメンダーの内側を⾒見見てみましょう
®
© 2014 MapR Technologies 48
検索索ドキュメントのデータセットとなる楽曲のメタ
データ
•  MusicBrainz のデータ
•  データにはアーティスト ID、MusicBrainz ID、アーティスト名、
グループ/個⼈人、出⾝身(地域名)、性別のような情報が含まれる
®
© 2014 MapR Technologies 49
ユーザー⾏行行動履履歴の例例: 視聴ログファイル
ハイライトしている
部分でユーザー119
は何をしていますか? ジャズミュージシャン
Duke Ellingtonの
アーティストID
時刻
イベント
タイプ
ユーザーID
アーティストID
トラックID
®
© 2014 MapR Technologies 50
レコメンダーエンジンの内部
50	
  
®
© 2014 MapR Technologies 51
レコメンダーエンジンの内部
51	
  
®
© 2014 MapR Technologies 52
⾳音楽レコメンデーションの Lucene ドキュメント
•  トレーニングされた Mahout レコメンダーモデルのインジケー
ターマトリクスのデータが、アーティストデータセットのド
キュメント中の indicator フィールドに追加されている
id 541902
mbid 983d4f8f-473e-4091-8394-415c105c4656
ame Charlie Winston
area United Kingdom
gender None
Indicator_artists 997727,815,830794,59588,900,2591,1344,696268
id 1710
mbid 592a3b6d-c42b-4567-99c9-ecf63bd66499
ame Chck Berry
area United States
gender Male
Indicator_artists 386685,875994,637954,3418,1344,789739,1460
®
© 2014 MapR Technologies 53
オフライン学習
アイテム
メタデータ
ユーザー履履歴
ログファイル
Mahout を
使った分析
検索索
テクノロジー
インジケーター
®
© 2014 MapR Technologies 54
MapR を使ったリアルタイムレコメンデーション
アイテム
メタデータ
ログファイル
Mahout を
使った分析
Web
ティア
検索索
テクノロジー
Pig Python
新しいユーザー履履歴
レコメンデーション
NFS 経由のデータ投⼊入
NFS
経由
NFS  経由で  Python
を使⽤用して投⼊入
MapR クラスタ
®
© 2014 MapR Technologies 55
シンプルに
•  h を⾏行行ったユーザー(ユーザーがやり取りした事象のベクトル)
•  レコメンデーションを⾏行行うには
Ah
AT
Ah( )
AT
A( )h
ユーザー中⼼心のレコメンデーション
(転置は事象へと戻す変換)
アイテム中⼼心のレコメンデーション
(操作の順番を変更更)
A は事象をユーザーへ変換
®
© 2014 MapR Technologies 56
アーキテクチャ上の優位性
AT
Ah( )
AT
A( )h
ユーザー中⼼心のレコメンデーション
アイテム中⼼心のレコメンデーション
1つ⽬目の設計では、まずリアルタイムの計算が必要(括弧の中)。
事前計算はできないため、⾮非効率率率で低速。
2つ⽬目の設計では、オフラインで(夜間に)事前計算が可能。
新しいユーザーのベクトル(h)の⼩小さい計算のみをリアルタイムで
⾏行行えばよい。このため応答が⾮非常によくなる。
®
© 2014 MapR Technologies 57®
© 2014 MapR Technologies
よりよいレコメンデーションにするには
®
© 2014 MapR Technologies 58
マルチモーダルレコメンデーション
®
© 2014 MapR Technologies 59
マルチモーダルレコメンデーション
®
© 2014 MapR Technologies 60
例例
•  ユーザーがクエリ (A) を⼊入⼒力力
–  (⾏行行動主体  =  ユーザー,  アイテム  =  クエリ)  
•  ユーザーがビデオ (B) を視聴
–  (⾏行行動主体  =  ユーザー,  アイテム  =  ビデオ)
•  ATA はクエリのレコメンデーションを提⽰示
–  “こちらをお探しだったのではないでしょうか”
•  BTB はビデオのレコメンデーションを提⽰示
–  “これらの動画が好きではないですか”
®
© 2014 MapR Technologies 61
⼤大事なところ
•  BTA はクエリに対する動画をリコメンド
–  (あれ、これ検索索エンジンじゃなかったっけ?)
–  (いや違うな、コンテンツやメタデータは⾒見見てないし)
®
© 2014 MapR Technologies 62
実際の例例
•  クエリ: “Paco de Lucia”
(スペインのギタリスト)
•  従来のメタデータ検索索結果:
–  “hombres de paco”
(スペインのコメディTV番組)  400件
–  他はほとんどなし
•  レコメンデーションベース検索索:
–  フラメンコギターとダンサー
–  スペイン語、クラシックギター
–  Van Halen がクラシックな
フラメンコのリフを演奏
®
© 2014 MapR Technologies 63
もっと効率率率よくできないか?
®
© 2014 MapR Technologies 64
対称性によりクロスレコメンデーションを⽣生成
AT
A( )h
BT
A( )h
オフラインラーニングを利利⽤用した
従来型のレコメンデーション
クロスレコメンデーション
®
© 2014 MapR Technologies 65
Aユーザー
事象
®
© 2014 MapR Technologies 66
A1 A2
!
"
#
$
ユーザー
事象
タイプ1
事象
タイプ2
®
© 2014 MapR Technologies 67
A1 A2
!
"
#
$
T
A1 A2
!
"
#
$=
A1
T
A2
T
!
"
%
%
#
$
&
&
A1 A2
!
"
#
$
=
A1
T
A1 A1
T
A2
AT
2A1 AT
2A2
!
"
%
%
#
$
&
&
r1
r2
!
"
%
%
#
$
&
&
=
A1
T
A1 A1
T
A2
AT
2A1 AT
2A2
!
"
%
%
#
$
&
&
h1
h2
!
"
%
%
#
$
&
&
r1 = A1
T
A1 A1
T
A2
!
"%
#
$&
h1
h2
!
"
%
%
#
$
&
&
®
© 2014 MapR Technologies 68
おまけ:
悪い⽅方が良良い場合
®
© 2014 MapR Technologies 69
最初の実装後の現実の問題
•  閲覧の範囲 → ユーザーはトップページしか⾒見見ない
•  多様性 → 毎回同じ結果だと飽きられてしまう
•  学習速度度 → それ以上学習しなくなってしまう
•  決して最後の些細な問題ではない
®
© 2014 MapR Technologies 70
結果のディザリング
•  レコメンデーション結果の順番を⼊入れ替えるためにディザリン
グが使われる
–  順番の⼊入れ換えはランダムに⾏行行う
•  ディザリングは  確実に  オフライン性能を悪化させる
•  ディザリングは同時に実際の性能をより良良くするパーフェクト
に近い実績がある
®
© 2014 MapR Technologies 71
結果のディザリング
•  レコメンデーション結果の順番を⼊入れ替えるためにディザリン
グが使われる
–  順番の⼊入れ換えはランダムに⾏行行う
•  ディザリングは  確実に  オフライン性能を悪化させる
•  ディザリングは同時に実際の性能をより良良くするパーフェクト
に近い実績がある
“他のどんな変更更よりも⼤大きな違いが出る”
®
© 2014 MapR Technologies 72
なぜディザリングが必要?
®
© 2014 MapR Technologies 73
シンプルなディザリングアルゴリズム
•  ランクの対数にガウス分布を加えた合成スコア
•  適切切なレベルの⼊入れ替えを⾏行行うノイズのスケールを選択
•  普通はこのくらい
•  また … floor(t/T) をシードとして使う
s = logr + N(0,logε)
ε ∈ 1.5,3[ ]
Δr
r
∝ε
®
© 2014 MapR Technologies 74
例例えば… ε = 2
1 2 8 3 9 15 7 6
1 8 14 15 3 2 22 10
1 3 8 2 10 5 7 4
1 2 10 7 3 8 6 14
1 5 33 15 2 9 11 29
1 2 7 3 5 4 19 6
1 3 5 23 9 7 4 2
2 4 11 8 3 1 44 9
2 3 1 4 6 7 8 33
3 4 1 2 10 11 15 14
11 1 2 4 5 7 3 14
1 8 7 3 22 11 2 33
®
© 2014 MapR Technologies 75
学んだこと:	
  
閲覧されることは良良いことだ	
  
®
© 2014 MapR Technologies 76
Q&A
@mapr_japan maprjapan
sales-jp@mapr.com
お問い合わせはこちらまで
MapR
maprtech
mapr-technologies

More Related Content

What's hot

Hadoop概要説明
Hadoop概要説明Hadoop概要説明
Hadoop概要説明
Satoshi Noto
 
大規模分散システムの現在 -- GFS, MapReduce, BigTableはどう変化したか?
大規模分散システムの現在 -- GFS, MapReduce, BigTableはどう変化したか?大規模分散システムの現在 -- GFS, MapReduce, BigTableはどう変化したか?
大規模分散システムの現在 -- GFS, MapReduce, BigTableはどう変化したか?
maruyama097
 

What's hot (20)

Hadoop loves H2
Hadoop loves H2Hadoop loves H2
Hadoop loves H2
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 
世界一簡単なHadoopの話
世界一簡単なHadoopの話世界一簡単なHadoopの話
世界一簡単なHadoopの話
 
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
 
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26
ビジネスへの本格活用が始まったHadoopの今 ~MapRが選ばれる理由~ - ビッグデータEXPO東京 2014/02/26
 
HBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているか
HBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているかHBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているか
HBase と Drill - 緩い型付けの SQL がいかに NoSQL に適しているか
 
MapR Streams & MapR コンバージド・データ・プラットフォーム
MapR Streams & MapR コンバージド・データ・プラットフォームMapR Streams & MapR コンバージド・データ・プラットフォーム
MapR Streams & MapR コンバージド・データ・プラットフォーム
 
Hadoop概要説明
Hadoop概要説明Hadoop概要説明
Hadoop概要説明
 
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
 
Fast Data を扱うためのデザインパターン
Fast Data を扱うためのデザインパターンFast Data を扱うためのデザインパターン
Fast Data を扱うためのデザインパターン
 
Hadoopによる大規模分散データ処理
Hadoopによる大規模分散データ処理Hadoopによる大規模分散データ処理
Hadoopによる大規模分散データ処理
 
はやわかりHadoop
はやわかりHadoopはやわかりHadoop
はやわかりHadoop
 
MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす
MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなすMapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす
MapR 5.2: MapR コンバージド・コミュニティ・エディションを使いこなす
 
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
 
大規模分散システムの現在 -- GFS, MapReduce, BigTableはどう変化したか?
大規模分散システムの現在 -- GFS, MapReduce, BigTableはどう変化したか?大規模分散システムの現在 -- GFS, MapReduce, BigTableはどう変化したか?
大規模分散システムの現在 -- GFS, MapReduce, BigTableはどう変化したか?
 
Amazon Redshift ベンチマーク Hadoop + Hiveと比較
Amazon Redshift ベンチマーク  Hadoop + Hiveと比較 Amazon Redshift ベンチマーク  Hadoop + Hiveと比較
Amazon Redshift ベンチマーク Hadoop + Hiveと比較
 
Hadoopことはじめ
HadoopことはじめHadoopことはじめ
Hadoopことはじめ
 
Spark勉強会_ibm_20151014-公開版
Spark勉強会_ibm_20151014-公開版Spark勉強会_ibm_20151014-公開版
Spark勉強会_ibm_20151014-公開版
 
Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)
 

Viewers also liked

Hivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetupHivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetup
Makoto Yui
 
Treasure Data on The YARN - Hadoop Conference Japan 2014
Treasure Data on The YARN - Hadoop Conference Japan 2014Treasure Data on The YARN - Hadoop Conference Japan 2014
Treasure Data on The YARN - Hadoop Conference Japan 2014
Ryu Kobayashi
 
Shib: WebUI tool provides crossover of Hive and MPP
Shib: WebUI tool provides crossover of Hive and MPPShib: WebUI tool provides crossover of Hive and MPP
Shib: WebUI tool provides crossover of Hive and MPP
SATOSHI TAGOMORI
 

Viewers also liked (9)

Hivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetupHivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetup
 
「最近傍検索とその応用」#yjdsw2
「最近傍検索とその応用」#yjdsw2「最近傍検索とその応用」#yjdsw2
「最近傍検索とその応用」#yjdsw2
 
Hadoopカンファレンス20140707
Hadoopカンファレンス20140707Hadoopカンファレンス20140707
Hadoopカンファレンス20140707
 
「PV、UBなどの数値からでは見えてこないユーザー行動の可視化」#yjdsw2
「PV、UBなどの数値からでは見えてこないユーザー行動の可視化」#yjdsw2「PV、UBなどの数値からでは見えてこないユーザー行動の可視化」#yjdsw2
「PV、UBなどの数値からでは見えてこないユーザー行動の可視化」#yjdsw2
 
Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)
Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)
Mahoutによるアルツハイマー診断支援へ向けた取り組み (Hadoop Confernce Japan 2014)
 
Hcj2014 myui
Hcj2014 myuiHcj2014 myui
Hcj2014 myui
 
Gwt sdm public
Gwt sdm publicGwt sdm public
Gwt sdm public
 
Treasure Data on The YARN - Hadoop Conference Japan 2014
Treasure Data on The YARN - Hadoop Conference Japan 2014Treasure Data on The YARN - Hadoop Conference Japan 2014
Treasure Data on The YARN - Hadoop Conference Japan 2014
 
Shib: WebUI tool provides crossover of Hive and MPP
Shib: WebUI tool provides crossover of Hive and MPPShib: WebUI tool provides crossover of Hive and MPP
Shib: WebUI tool provides crossover of Hive and MPP
 

Similar to 実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference Japan 2014

クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングクラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニング
Shin Matsumoto
 
20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearning20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearning
Takumi Yoshida
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
Recruit Technologies
 
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれからクラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
Shohei Kobayashi
 
OSS ソースコードサーチツールの効能、有効活用方法
OSS ソースコードサーチツールの効能、有効活用方法OSS ソースコードサーチツールの効能、有効活用方法
OSS ソースコードサーチツールの効能、有効活用方法
Open Source Software Association of Japan
 

Similar to 実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference Japan 2014 (20)

マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014
マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014
マップアールが考える企業システムにおける分析プラットフォームの進化 - 2014/06/27 Data Scientist Summit 2014
 
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングクラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニング
 
20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearning20140711 evf2014 hadoop_recommendmachinelearning
20140711 evf2014 hadoop_recommendmachinelearning
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27エンタープライズデータハブ活用の落とし穴 2015 08-27
エンタープライズデータハブ活用の落とし穴 2015 08-27
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
情報爆発シンポジウム infoplosion
情報爆発シンポジウム infoplosion情報爆発シンポジウム infoplosion
情報爆発シンポジウム infoplosion
 
Yifeng hadoop-present-public
Yifeng hadoop-present-publicYifeng hadoop-present-public
Yifeng hadoop-present-public
 
Hashicorpのツール群とオーケストレーション
Hashicorpのツール群とオーケストレーションHashicorpのツール群とオーケストレーション
Hashicorpのツール群とオーケストレーション
 
Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014Strata + Hadoop World 2014 レポート #cwt2014
Strata + Hadoop World 2014 レポート #cwt2014
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
 
Data Science on Hadoop
Data Science on HadoopData Science on Hadoop
Data Science on Hadoop
 
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッションApache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション
 
[Cloud OnAir] 機械学習はこうやる!準備と実際のプロセスをお見せします。 (LIVE) 2018年5月24日 放送
[Cloud OnAir] 機械学習はこうやる!準備と実際のプロセスをお見せします。 (LIVE) 2018年5月24日 放送[Cloud OnAir] 機械学習はこうやる!準備と実際のプロセスをお見せします。 (LIVE) 2018年5月24日 放送
[Cloud OnAir] 機械学習はこうやる!準備と実際のプロセスをお見せします。 (LIVE) 2018年5月24日 放送
 
Spark MLlibではじめるスケーラブルな機械学習
Spark MLlibではじめるスケーラブルな機械学習Spark MLlibではじめるスケーラブルな機械学習
Spark MLlibではじめるスケーラブルな機械学習
 
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれからクラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
 
OSS ソースコードサーチツールの効能、有効活用方法
OSS ソースコードサーチツールの効能、有効活用方法OSS ソースコードサーチツールの効能、有効活用方法
OSS ソースコードサーチツールの効能、有効活用方法
 

More from MapR Technologies Japan

More from MapR Technologies Japan (18)

Drill超簡単チューニング
Drill超簡単チューニングDrill超簡単チューニング
Drill超簡単チューニング
 
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
ストリーミングアーキテクチャ: State から Flow へ - 2016/02/08 Hadoop / Spark Conference Japan ...
 
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
Spark Streaming の基本とスケールする時系列データ処理 - Spark Meetup December 2015/12/09
 
Apache Drill で日本語を扱ってみよう + オープンデータ解析
Apache Drill で日本語を扱ってみよう + オープンデータ解析Apache Drill で日本語を扱ってみよう + オープンデータ解析
Apache Drill で日本語を扱ってみよう + オープンデータ解析
 
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
Drilling into Data with Apache Drill - Tokyo Apache Drill Meetup 2015/11/12
 
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
 
Hadoop によるゲノム解読
Hadoop によるゲノム解読Hadoop によるゲノム解読
Hadoop によるゲノム解読
 
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
 
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
Apache Drill で JSON 形式の オープンデータを分析してみる - db tech showcase Tokyo 2015 2015/06/11
 
異常検知 - 何を探すかよく分かっていないものを見つける方法
異常検知 - 何を探すかよく分かっていないものを見つける方法異常検知 - 何を探すかよく分かっていないものを見つける方法
異常検知 - 何を探すかよく分かっていないものを見つける方法
 
時系列の世界の時系列データ
時系列の世界の時系列データ時系列の世界の時系列データ
時系列の世界の時系列データ
 
逆らえない大きな流れ: 次世代のエンタープライズアーキテクチャ
逆らえない大きな流れ: 次世代のエンタープライズアーキテクチャ逆らえない大きな流れ: 次世代のエンタープライズアーキテクチャ
逆らえない大きな流れ: 次世代のエンタープライズアーキテクチャ
 
Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析
 
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...
 
エンタープライズ NoSQL/HBase プラットフォーム – MapR M7 エディション - db tech showcase 大阪 2014 201...
エンタープライズ NoSQL/HBase プラットフォーム – MapR M7 エディション - db tech showcase 大阪 2014 201...エンタープライズ NoSQL/HBase プラットフォーム – MapR M7 エディション - db tech showcase 大阪 2014 201...
エンタープライズ NoSQL/HBase プラットフォーム – MapR M7 エディション - db tech showcase 大阪 2014 201...
 
MapR M7 技術概要
MapR M7 技術概要MapR M7 技術概要
MapR M7 技術概要
 
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
Hadoop最新情報 - YARN, Omni, Drill, Impala, Shark, Vertica - MapR CTO Meetup 2014...
 
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
 

Recently uploaded

Recently uploaded (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

実践機械学習 — MahoutとSolrを活用したレコメンデーションにおけるイノベーション - 2014/07/08 Hadoop Conference Japan 2014

  • 1. ® © 2014 MapR Technologies 1 ® © 2014 MapR Technologies 実践機械学習  — MahoutとSolrを活⽤用した レコメンデーションにおけるイノベーション 草薙  昭彦 MapR Technologies
  • 2. ® © 2014 MapR Technologies 2 本⽇日のトピック •  レコメンデーションとは? •  レコメンデーションをユーザーに提供するには? •  ⾳音楽レコメンデーションの例例 •  よりよいレコメンデーションにするには?
  • 3. ® © 2014 MapR Technologies 3 実践機械学習 レコメンデーションにおけるイノベーション 無料料  eBook Ted  Dunning,  Ellen  Friedman 著 マップアール・テクノロジーズ株式会社    草薙  昭彦 監修 株式会社ブレインパッド    太⽥田  満久、下⽥田  倫倫⼤大、増⽥田  康彦 ⽟玉川  ⻯竜司 訳 ダウンロードは http://hadoop-‐‑‒times.com/ml-‐‑‒pdf-‐‑‒ebook.html Apache  Mahout  と  Solr  を活⽤用した、シ ンプルながらも強⼒力力なレコメンデーショ ンエンジンのデザインと実装を解説
  • 4. ® © 2014 MapR Technologies 4® © 2014 MapR Technologies 背景について
  • 5. ® © 2014 MapR Technologies 5 機械学習ってどういうもの?
  • 6. ® © 2014 MapR Technologies 6 機械学習アルゴリズムとその実装 A1 A2 ! " # $ T A1 A2 ! " # $= A1 T A2 T ! " % % # $ & & A1 A2 ! " # $ = A1 T A1 A1 T A2 AT 2A1 AT 2A2 ! " % % # $ & & r1 r2 ! " % % # $ & & = A1 T A1 A1 T A2 AT 2A1 AT 2A2 ! " % % # $ & & h1 h2 ! " % % # $ & & r1 = A1 T A1 A1 T A2 ! "% # $& h1 h2 ! " % % # $ & &O(κ k d + k3 d) = O(k2 d log n + k3 d) for small k, high quality O(κ d log k) or O(d log κ log k) for larger k, looser quality でも今⽇日は、強⼒力力だけれどもそれをシンプルに実現する⽅方法について お話しします
  • 7. ® © 2014 MapR Technologies 7 レコメンデーション •  データ: ⼈人々の⾏行行動(ユーザー)とアイテムとのインタラクション –  データはレコメンデーションモデルの学習に使われる •  追加の適切切なもしくは望ましいインタラクションを提案することが⽬目的 •  アプリケーションの例例: 映画、⾳音楽、地図ベースのレストラン選択、eスト アやレジレシートでの販売商品の提案
  • 8. ® © 2014 MapR Technologies 8 Google Maps: レストランのレコメンデーション
  • 9. ® © 2014 MapR Technologies 9 Google Maps: テクノロジー企業のレコメンデーション
  • 10. ® © 2014 MapR Technologies 10® © 2014 MapR Technologies レコメンデーションのしくみ (または「I want a pony」)
  • 11. ® © 2014 MapR Technologies 11 I want a pony! 費⽤用や⼿手間を考えず、無茶茶な要求をする様を 揶揄して表現するフレーズ
  • 12. ® © 2014 MapR Technologies 12 ⼀一番はじめの質問: 正しいデータを使っていますか?
  • 13. ® © 2014 MapR Technologies 13 レコメンデーション 群衆の⾏行行動は、個⼈人の⾏行行動を 予測するのを助けてくれる
  • 14. ® © 2014 MapR Technologies 14 レコメンデーション アリスはリンゴと⼦子⽝犬を購⼊入 チャールズは⾃自転⾞車車を購⼊入 アリス チャールズ
  • 15. ® © 2014 MapR Technologies 15 レコメンデーション アリスはリンゴと⼦子⽝犬を購⼊入 チャールズは⾃自転⾞車車を購⼊入 ボブはリンゴを購⼊入 アリス ボブ チャールズ
  • 16. ® © 2014 MapR Technologies 16 レコメンデーション ボブは他に何を欲しがる? アリス ボブ チャールズ ?
  • 17. ® © 2014 MapR Technologies 17 レコメンデーション ⼦子⽝犬、もちろん! アリス ボブ チャールズ
  • 18. ® © 2014 MapR Technologies 18 レコメンデーションがどのように ⾏行行われるかわかりましたか?
  • 19. ® © 2014 MapR Technologies 19 ところで、みんなと同じく、 ボブもポニーが欲しいんです
  • 20. ® © 2014 MapR Technologies 20 レコメンデーション 全員がポニーを購⼊入したらどうな る? アリス ボブ チャールズ アメリア 他に何をアメリアにおすすめすればい い? ?
  • 21. ® © 2014 MapR Technologies 21 レコメンデーション アリス ボブ チャールズ アメリア もし全員がポニーを購⼊入したら、 ポニーは他のものを予測するのに 役に⽴立立たない... ?
  • 22. ® © 2014 MapR Technologies 22 素の共起データの問題 •  ⾮非常に⼈人気のアイテムはすべてと共起する (皆がポニーが欲しい という情報は役に⽴立立たない…) –  例例:  ウェルカムドキュメント、エレベーターの⾳音楽 •  広範囲な出現は⾯面⽩白みがない –  かみそりの刃  (とかポニー)  のような絶えず望まれるアイテムを提供し たいのでない限り •  欲しいのは例例外的な共起 –  これこそが興味深い好みの指標の情報源であり、レコメンデーション の基礎となる
  • 23. ® © 2014 MapR Technologies 23 ⾏行行動から役に⽴立立つ指標を得るには •  ログファイルを使ってユーザー x アイテムの履履歴マトリクスを 作成 –  注:  このインタラクションの履履歴は全ての潜在的な組み合わせと⽐比べる と疎なデータである •  アイテム x アイテムの共起マトリクスに変換 •  例例外的な共起を探し、役に⽴立立つインジケーターを⾒見見つけてイン ジケーターマトリクスを作成 –  対数尤度度⽐比  (LLR)  はどの共起が好みのインジケーターとして使えるか を確信を持って判断するのに助けになる –  Apache Mahout の  RowSimilarityJob  は  LLR  を使う
  • 24. ® © 2014 MapR Technologies 24 Apache Mahout •  オープンソース Apache プロジェクト  http://mahout.apache.org •  Mahout version 0.9 は 2014年年2⽉月にリリース •  機械学習のためのスケーラブルなアルゴリズムのライブラリ –  Apache Hadoop で動くものもあれば、Hadoop 不不要のものもある –  ⼩小さいスケールでのみ動くものもある –  並列列実⾏行行するものもあれば、シーケンシャルなものもある •  下記のものを含む –  クラスタリング & 関連技術 –  分類 –  レコメンデーション –  Mahout Math ライブラリ
  • 25. ® © 2014 MapR Technologies 25 ログファイル アリス ボブ チャールズ アリス ボブ チャールズ アリス
  • 26. ® © 2014 MapR Technologies 26 ログファイル u1 u3 u2 u1 u3 u2 u1 t1   t4   t3   t2   t3   t3   t1  
  • 27. ® © 2014 MapR Technologies 27 履履歴マトリクス: ユーザー/アイテム アリス ボブ チャールズ ✔ ✔ ✔ ✔ ✔ ✔ ✔
  • 28. ® © 2014 MapR Technologies 28 共起マトリクス: アイテム/アイテム - 1   2   1   1   1   1   2   1   どの共起が役に⽴立立つかわかりますか?. 0   0   0   0  
  • 29. ® © 2014 MapR Technologies 29 共起マトリクス: アイテム/アイテム LLR 検定を使⽤用して共起をインジケーターに変換… - 1   2   1   1   1   1   2   1   0   0   0   0  
  • 30. ® © 2014 MapR Technologies 30 共起バイナリマトリクス 1   1  not   not   1  
  • 31. ® © 2014 MapR Technologies 31 例例外を⾒見見つける A not A B 13 1000 not B 1000 100,000 A not A B 1 0 not B 0 2 A not A B 1 0 not B 0 10,000 A not A B 10 0 not B 0 100,000 それぞれの状況からどんな結論論が導ける?
  • 32. ® © 2014 MapR Technologies 32 例例外を⾒見見つける •  ルート LLR はおおよそ標準偏差に近い •  Apache Mahout では  RowSimilarityJob が LLR を利利⽤用 A not A B 1 0 not B 0 2 A not A B 1 0 not B 0 10,000 A not A B 10 0 not B 0 100,000 1.95 4.52 14.3 それぞれの状況からどんな結論論が導ける? A not A B 13 1000 not B 1000 100,000 0.90
  • 33. ® © 2014 MapR Technologies 33 共起マトリクス つまり: LLR 検定を使⽤用して共起をインジケーターに変換 - 1   2   1   1   1   1   2   1   0   0   0   0  
  • 34. ® © 2014 MapR Technologies 34 インジケーターマトリクス: 例例外的な共起 ✔   ✔   結果: マークされた⾏行行がアイテムドキュメントのインジケーターフィ ールドに追加される…
  • 35. ® © 2014 MapR Technologies 35 どうやってユーザーにレコメンデーションを 提⽰示すればよいでしょうか?
  • 36. ® © 2014 MapR Technologies 36 シンプルさを追求 イノベーション: レコメンデーションシステムを 実装するために検索索技術を利利⽤用
  • 37. ® © 2014 MapR Technologies 37 その前に、検索索エンジンがどう動くか ⾒見見てみましょう
  • 38. ® © 2014 MapR Technologies 38 Apache Solr/Apache Lucene •  Apache Solr/Lucene: オープンソースのパワフルな検索索エンジン –  柔軟かつ複雑にインデックスされたデータへのクエリ –  フルテキスト、地理理データ、統計的に重み付けされたデータ •  Lucene –  検索索のコア機能を提供 –  低レベルライブラリ •  Solr –  Lucene を包む  Web ベースのラッパー –  Web インターフェースで接続できるため、連携が容易易
  • 39. ® © 2014 MapR Technologies 39 LucidWorks •  Solr/Lucene をベースにしたエンタープライズ向けプラット フォーム –  Solr を包むラッパー –  フリーのバージョンが  MapR  に付属 •  LucidWorks は  Solr の機能はそのままに、Solr の運⽤用管理理を容 易易にすることで、Lucene を簡単に利利⽤用できるようにしている
  • 40. ® © 2014 MapR Technologies 40 Solr/Lucene/LucidWorks の関係
  • 41. ® © 2014 MapR Technologies 41 ドキュメントとフィールドに対する検索索 •  データはドキュメントの集合 •  ドキュメントは⼀一般的にタイトル、著者、キーワード、本⽂文の フィールドを持つ •  ⼀一般的なシンタックス –  field:(単語1 単語2) •  または –  field:(単語1 OR 単語2) field:(“単語1 単語2” ~ 5) field:(単語1 AND 単語 2)
  • 42. ® © 2014 MapR Technologies 42 インジケーターマトリクス ✔ id: t4 title: puppy desc: The sweetest little puppy ever. keywords: puppy, dog, pet indicators: (t1) インジケーターマトリクスの1⾏行行が Solr ドキュメントのインジケーターフ ィールドになり、レコメンデーションエンジンの実装に利利⽤用される 注: インジケーターフィールドは Solr インデックスのドキュメントのメタデータ に直接追加される。インジケーターのための別のインデックスを作る必要はない
  • 43. ® © 2014 MapR Technologies 43 実際の例例: ⾳音楽レコメンデーション
  • 44. ® © 2014 MapR Technologies 44
  • 45. ® © 2014 MapR Technologies 45 ユーザーの⾏行行動: ジャズの名曲「Take the A Train」を 聴く
  • 46. ® © 2014 MapR Technologies 46 ⾏行行動をベースにレコメンデーションを提⽰示
  • 47. ® © 2014 MapR Technologies 47 ⾳音楽レコメンダーの内側を⾒見見てみましょう
  • 48. ® © 2014 MapR Technologies 48 検索索ドキュメントのデータセットとなる楽曲のメタ データ •  MusicBrainz のデータ •  データにはアーティスト ID、MusicBrainz ID、アーティスト名、 グループ/個⼈人、出⾝身(地域名)、性別のような情報が含まれる
  • 49. ® © 2014 MapR Technologies 49 ユーザー⾏行行動履履歴の例例: 視聴ログファイル ハイライトしている 部分でユーザー119 は何をしていますか? ジャズミュージシャン Duke Ellingtonの アーティストID 時刻 イベント タイプ ユーザーID アーティストID トラックID
  • 50. ® © 2014 MapR Technologies 50 レコメンダーエンジンの内部 50  
  • 51. ® © 2014 MapR Technologies 51 レコメンダーエンジンの内部 51  
  • 52. ® © 2014 MapR Technologies 52 ⾳音楽レコメンデーションの Lucene ドキュメント •  トレーニングされた Mahout レコメンダーモデルのインジケー ターマトリクスのデータが、アーティストデータセットのド キュメント中の indicator フィールドに追加されている id 541902 mbid 983d4f8f-473e-4091-8394-415c105c4656 ame Charlie Winston area United Kingdom gender None Indicator_artists 997727,815,830794,59588,900,2591,1344,696268 id 1710 mbid 592a3b6d-c42b-4567-99c9-ecf63bd66499 ame Chck Berry area United States gender Male Indicator_artists 386685,875994,637954,3418,1344,789739,1460
  • 53. ® © 2014 MapR Technologies 53 オフライン学習 アイテム メタデータ ユーザー履履歴 ログファイル Mahout を 使った分析 検索索 テクノロジー インジケーター
  • 54. ® © 2014 MapR Technologies 54 MapR を使ったリアルタイムレコメンデーション アイテム メタデータ ログファイル Mahout を 使った分析 Web ティア 検索索 テクノロジー Pig Python 新しいユーザー履履歴 レコメンデーション NFS 経由のデータ投⼊入 NFS 経由 NFS  経由で  Python を使⽤用して投⼊入 MapR クラスタ
  • 55. ® © 2014 MapR Technologies 55 シンプルに •  h を⾏行行ったユーザー(ユーザーがやり取りした事象のベクトル) •  レコメンデーションを⾏行行うには Ah AT Ah( ) AT A( )h ユーザー中⼼心のレコメンデーション (転置は事象へと戻す変換) アイテム中⼼心のレコメンデーション (操作の順番を変更更) A は事象をユーザーへ変換
  • 56. ® © 2014 MapR Technologies 56 アーキテクチャ上の優位性 AT Ah( ) AT A( )h ユーザー中⼼心のレコメンデーション アイテム中⼼心のレコメンデーション 1つ⽬目の設計では、まずリアルタイムの計算が必要(括弧の中)。 事前計算はできないため、⾮非効率率率で低速。 2つ⽬目の設計では、オフラインで(夜間に)事前計算が可能。 新しいユーザーのベクトル(h)の⼩小さい計算のみをリアルタイムで ⾏行行えばよい。このため応答が⾮非常によくなる。
  • 57. ® © 2014 MapR Technologies 57® © 2014 MapR Technologies よりよいレコメンデーションにするには
  • 58. ® © 2014 MapR Technologies 58 マルチモーダルレコメンデーション
  • 59. ® © 2014 MapR Technologies 59 マルチモーダルレコメンデーション
  • 60. ® © 2014 MapR Technologies 60 例例 •  ユーザーがクエリ (A) を⼊入⼒力力 –  (⾏行行動主体  =  ユーザー,  アイテム  =  クエリ)   •  ユーザーがビデオ (B) を視聴 –  (⾏行行動主体  =  ユーザー,  アイテム  =  ビデオ) •  ATA はクエリのレコメンデーションを提⽰示 –  “こちらをお探しだったのではないでしょうか” •  BTB はビデオのレコメンデーションを提⽰示 –  “これらの動画が好きではないですか”
  • 61. ® © 2014 MapR Technologies 61 ⼤大事なところ •  BTA はクエリに対する動画をリコメンド –  (あれ、これ検索索エンジンじゃなかったっけ?) –  (いや違うな、コンテンツやメタデータは⾒見見てないし)
  • 62. ® © 2014 MapR Technologies 62 実際の例例 •  クエリ: “Paco de Lucia” (スペインのギタリスト) •  従来のメタデータ検索索結果: –  “hombres de paco” (スペインのコメディTV番組)  400件 –  他はほとんどなし •  レコメンデーションベース検索索: –  フラメンコギターとダンサー –  スペイン語、クラシックギター –  Van Halen がクラシックな フラメンコのリフを演奏
  • 63. ® © 2014 MapR Technologies 63 もっと効率率率よくできないか?
  • 64. ® © 2014 MapR Technologies 64 対称性によりクロスレコメンデーションを⽣生成 AT A( )h BT A( )h オフラインラーニングを利利⽤用した 従来型のレコメンデーション クロスレコメンデーション
  • 65. ® © 2014 MapR Technologies 65 Aユーザー 事象
  • 66. ® © 2014 MapR Technologies 66 A1 A2 ! " # $ ユーザー 事象 タイプ1 事象 タイプ2
  • 67. ® © 2014 MapR Technologies 67 A1 A2 ! " # $ T A1 A2 ! " # $= A1 T A2 T ! " % % # $ & & A1 A2 ! " # $ = A1 T A1 A1 T A2 AT 2A1 AT 2A2 ! " % % # $ & & r1 r2 ! " % % # $ & & = A1 T A1 A1 T A2 AT 2A1 AT 2A2 ! " % % # $ & & h1 h2 ! " % % # $ & & r1 = A1 T A1 A1 T A2 ! "% # $& h1 h2 ! " % % # $ & &
  • 68. ® © 2014 MapR Technologies 68 おまけ: 悪い⽅方が良良い場合
  • 69. ® © 2014 MapR Technologies 69 最初の実装後の現実の問題 •  閲覧の範囲 → ユーザーはトップページしか⾒見見ない •  多様性 → 毎回同じ結果だと飽きられてしまう •  学習速度度 → それ以上学習しなくなってしまう •  決して最後の些細な問題ではない
  • 70. ® © 2014 MapR Technologies 70 結果のディザリング •  レコメンデーション結果の順番を⼊入れ替えるためにディザリン グが使われる –  順番の⼊入れ換えはランダムに⾏行行う •  ディザリングは  確実に  オフライン性能を悪化させる •  ディザリングは同時に実際の性能をより良良くするパーフェクト に近い実績がある
  • 71. ® © 2014 MapR Technologies 71 結果のディザリング •  レコメンデーション結果の順番を⼊入れ替えるためにディザリン グが使われる –  順番の⼊入れ換えはランダムに⾏行行う •  ディザリングは  確実に  オフライン性能を悪化させる •  ディザリングは同時に実際の性能をより良良くするパーフェクト に近い実績がある “他のどんな変更更よりも⼤大きな違いが出る”
  • 72. ® © 2014 MapR Technologies 72 なぜディザリングが必要?
  • 73. ® © 2014 MapR Technologies 73 シンプルなディザリングアルゴリズム •  ランクの対数にガウス分布を加えた合成スコア •  適切切なレベルの⼊入れ替えを⾏行行うノイズのスケールを選択 •  普通はこのくらい •  また … floor(t/T) をシードとして使う s = logr + N(0,logε) ε ∈ 1.5,3[ ] Δr r ∝ε
  • 74. ® © 2014 MapR Technologies 74 例例えば… ε = 2 1 2 8 3 9 15 7 6 1 8 14 15 3 2 22 10 1 3 8 2 10 5 7 4 1 2 10 7 3 8 6 14 1 5 33 15 2 9 11 29 1 2 7 3 5 4 19 6 1 3 5 23 9 7 4 2 2 4 11 8 3 1 44 9 2 3 1 4 6 7 8 33 3 4 1 2 10 11 15 14 11 1 2 4 5 7 3 14 1 8 7 3 22 11 2 33
  • 75. ® © 2014 MapR Technologies 75 学んだこと:   閲覧されることは良良いことだ  
  • 76. ® © 2014 MapR Technologies 76 Q&A @mapr_japan maprjapan sales-jp@mapr.com お問い合わせはこちらまで MapR maprtech mapr-technologies