2009年4月8日セミナー 4.レコメンデーション q&a
DESCRIPTION
2009年4月8日開催のセミナー「Extreme Search! 次世代検索エンジンSedue 24が実現する驚異のパフォーマンス」における、セッション「レコメンデーションQ&A」の配布資料。TRANSCRIPT
![Page 1: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/1.jpg)
1
レコメンデーションQ&A
(株)プリファードインフラストラクチャー岡野原大輔
徳永拓之
![Page 2: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/2.jpg)
2
この発表は?
レコメンドに関する様々なトピックをid:tkngとhillbigがQ&A形式で紹介
![Page 3: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/3.jpg)
3
Q.1
このTシャツは何ですか?
![Page 4: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/4.jpg)
4
Q.1 このTシャツは何ですか?答え猫は弊社とリクルートが提供しているサービス「ねことパソコン」です
質問型レコメンデーションエンジン0件残念問題を解決
簡単な対話で店を絞り込む
![Page 5: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/5.jpg)
5
導入編
![Page 6: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/6.jpg)
6
Q.2
レコメンドってどこで使われて
いるの?
導入編
![Page 7: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/7.jpg)
7
Q.2 レコメンドってどこで使われているの?
答え
ECサイトamazon.com
楽天
メディアサービスasahi.com
はてなブックマーク(はてぶ)
SNSサービス人のお勧め
物と情報と人があるところにはどこでも!
![Page 8: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/8.jpg)
8
導入編Q.3
レコメンドにはどういう
種類があるの?
![Page 9: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/9.jpg)
9
Q.3 レコメンドにはどういう種類があるの?
「行動履歴ベース」「この商品を買った人はこれも買っています」の考え
長所:直接的な関連がなくてもOK(例:おむつとビール)
短所:履歴が無いとできない
「コンテンツベース」対象の商品/情報を解析し、それに基づいてお勧めの商品/情報を求める
長所:履歴が無くてもでき、制御がしやすい
短所:問題の前提知識が必要
![Page 10: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/10.jpg)
10
導入編Q.4
レコメンドはどうして
できるようになったの?
![Page 11: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/11.jpg)
11
Q.4 レコメンドはどうしてできるようになったの?
答え
大量の履歴データが入手可能になった誰が何をどうしたかが全部わかる
詳細な商品データ
レコメンデーションの技術の発展行列の低ランク分解
機械学習との関連
自然言語処理
![Page 12: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/12.jpg)
12
導入編Q.5
レコメンドを利用するには?
![Page 13: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/13.jpg)
13
Q.5 レコメンドを利用するには?
今自分が使えるデータを確かめる利用者のアクセスデータ
商品データ(自然文とか)
パッケージを購入Reflexa, Hotateなど
提供されているサービスを利用する他社ASPなど
自分で作る意外と簡単
![Page 14: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/14.jpg)
14
導入編Q.6
検索とレコメンデーションは
違うの?
![Page 15: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/15.jpg)
15
Q.6 検索とレコメンデーションは違うの? (1/2)
情報を元に、関連するコンテンツを返す点では同じ検索の情報:ユーザーのクエリ
レコメンドの情報:履歴情報、商品情報
検索は能動的、レコメンデーションは受動的検索では「探しているものが出ない」と不満
レコメンドでは「知っているものが出る」と不満
![Page 16: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/16.jpg)
16
Q.6 検索とレコメンデーションは違うの?(2/2)
境界は非常にあいまいになってきている
検索の中でもレコメンドがたくさんもしかして機能
クエリ拡張(東大で検索しても、東京大学も探す)
レコメンドの中でも検索はたくさん似た履歴情報、個人情報を大量のDBから探す
![Page 17: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/17.jpg)
17
導入編Q.7
ユーザーはどうしたら便利?
![Page 18: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/18.jpg)
18
Q.7 ユーザーはどうしたら便利?
教えてください
レコメンドは出しゃばると嫌がられる場合が多いユーザーにとっては望んでいる行動ではない
はてなブックマークの例
![Page 19: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/19.jpg)
19
技術編
![Page 20: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/20.jpg)
20
技術編Q.8
購入履歴情報は
どう扱えばいいの?
![Page 21: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/21.jpg)
21
Q.8 購入履歴情報はどう扱えばいいの?
答え:大抵「疎な行列情報」で表せます二つの要素間の関係を記述
三つ以上の関係を真面目に記述するとテンソル
ミスチル らき☆すた 水樹奈々 FF ドラクエ
田中 ○ ○
太田 ○ ○
徳永 ○
岡野原 ○ ○ ○
西川 ○ ○
![Page 22: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/22.jpg)
22
技術編Q.9
お勧め商品を
紹介するには?
![Page 23: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/23.jpg)
23
Q.9 お勧め商品を紹介するには?
似ている人を探し、その人が買っていて、もう一人が買っていないものを探せばよい例:太田にお勧めは、「ドラクエ」
ミスチル らき☆すた 水樹奈々 FF ドラクエ
田中 ○ ○
太田 ○ ○
徳永 ○
岡野原 ○ ○ ○
西川 ○ ○
チャンス!
![Page 24: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/24.jpg)
24
技術編Q.10
「似ている」はどう計算する?
![Page 25: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/25.jpg)
25
Q.10「似ている」はどう計算する?
共通に買った個数を「似ている度」とする
問題点:たくさん商品を買っている人は誰からみても「似ている度」が高い
解決法:スコアを正規化する自分と全く同じ人との「似ている度」を1にする
ミスチル らき☆すた
水樹奈々
FF ドラクエ
太田 ○ ○ ○
岡野原 ○ ○ ○
海老原 ○ ○ ○ ○ ○
3
似ている度3正規化後1
似ている度3正規化後0.7
![Page 26: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/26.jpg)
26
数学で話すと
購入情報をm次元のベクトル v∈Rm
vi = 1 i番目の商品を買った
vi = 0 買っていない
「似ている度」=ベクトル間の内積vとwの似ている度(両方買ってるなら1)
正規化された「似ている度」=ベクトル間のコサイン値(0~1)
mmwvwvwvwv ..., 2211
wwvv
wv
,,
,
![Page 27: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/27.jpg)
27
疑似コードで話すと
購入情報を長さmの配列 v[m]で表すv[i] = 1 i番目の商品を買った
v[i] = 0 買っていない
「似ている度」=ベクトル間の内積calcInp(v, w)
sum = 0;
for (i = 0; i < m; i++) sum += v[i] * w[i];return sum;
• 正規化されたスコア• calcInp(v, w) / sqrt(calcInp(v, v) * calcInp(w,w))
![Page 28: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/28.jpg)
28
技術編Q.11
コンテンツベースの情報は
どう扱えばよいの?
![Page 29: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/29.jpg)
29
Q.11 コンテンツベースの情報はどう扱えばよいの? (1/2)
疎な行列で同じように表にして処理する似た商品を探す方法は先ほどと同じ
男性アーティスト
女性アーティスト
ゲーム 価格<3000
価格3000<
<5000
ミスチル ○ ○
サザン ○ ○
水樹奈々 ○ ○
FF ○ ○
ドラクエ ○ ○
![Page 30: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/30.jpg)
30
Q.11 コンテンツベースの情報はどう扱えばよいの?(2/2)文書の場合は、文書に含まれる単語を属性だと思う
BoW (Bag of Words)表現
日本 W杯 中村俊輔 野球 …
文書1 ○ ○ ○
文書2 ○ ○ ○
文書3 ○
文書1:日本代表は28日、W杯アジア最終予選第5戦でバーレーンと対戦し、1―0で勝った。後半2分にMF中村俊輔(30)が国際Aマッチ通算23点目となるFKからのゴールを決め、チームを最終予選ホーム初勝利に導いた。
![Page 31: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/31.jpg)
31
技術編Q.12
パーソナライゼーションは
どうやって実現?
![Page 32: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/32.jpg)
32
Q. 12 パーソナライゼーションはどうやって実現?行動履歴の情報を詳細に入れれば、自然にパーソナライゼーションが実現個人に関係する情報も特徴情報に入れてよい
買った人の情報など
性別・年齢
計算量とのトレードオフ特徴情報が非常に大きくなる可能性
![Page 33: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/33.jpg)
33
技術編Q. 13
非常に大きいデータを
扱うには
![Page 34: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/34.jpg)
34
Q.13 非常に大きいデータを扱うには
とにかくメモリに入るように努力する疎なベクトルを“アドレス”と”値“のペアで管理WEB+DB Pressを見てください
誰でも持っているような特徴情報は捨てる
サンプリングする
索引を工夫する転置ファイル
低次元:Cover Tree
高次元:Locality Sensitive Hash / Spectral Hash
![Page 35: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/35.jpg)
35
PFI編
![Page 36: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/36.jpg)
36
PFI編Q.14
Preferred Infrastructureは
どんなレコメンド製品を
提供しているの?
![Page 37: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/37.jpg)
37
Q.14 Preferred Infrastructureはどんなレコメンド製品を提供?
データの性質と手法でいろいろ
Reflexa先ほどの行列がある場合似たものを高速に探す
Hotate似た文書を探すのに特化
他にもケースバイケースで
![Page 38: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/38.jpg)
38
PFI編Q.15
Reflexaについて教えて
![Page 39: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/39.jpg)
39
Q.15 Reflexaについて教えて
行列を与えたら、似た行・列を高速に探すエンジンデモサイト http://labs.preferred.jp/reflexa/行:単語 列:Wikipediaの文書
「はてぶ」の関連エントリ行:エントリ 列:ユーザーが付けたタグ
「似ている」の計算は内積よりちょっと複雑“Bayesian Set”と呼ばれる手法を元に
行列情報は圧縮して格納非常に大きい情報でもメモリ上で操作可能
![Page 40: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/40.jpg)
40
PFI編Q.16
Hotateについて教えて
![Page 41: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/41.jpg)
41
Q.16 Hotateについて教えて
関連文書を探すのに特化利用例:asahi.com, IT-Proの関連ニュース
文書からのキーワードの抽出に工夫辞書と文脈情報(どこで切れるか)を組み合わせる
各キーワードにスコアが付いている字種情報、キーワードの意味情報(住所など)
関連度は秘密の計算式
文書間が何故似ているかを出力少ないキーワードで関連付ける
キーワードのOn/Offで精度調整が可能
![Page 42: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/42.jpg)
42
Q.17
もっとレコメンドを詳しく
知るには?
![Page 43: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/43.jpg)
43
Q.17 もっとレコメンドを詳しく知るには?
製品情報弊社ホームページ http://preferred.jp
雑誌WEB+DB Press Vol 49. レコメンド特集
論文「情報処理」 Vol.48 No.9 嗜好抽出技術の最前線
「Netflix Prize」、「Recommender system」(wikipedia)
Google Scholarで「Collaborative Filtering」「Matrix Factorization」「Recommend」
![Page 44: 2009年4月8日セミナー 4.レコメンデーション Q&A](https://reader034.vdocuments.pub/reader034/viewer/2022042614/558bc584d8b42ac74b8b4776/html5/thumbnails/44.jpg)
44
Q.18
まとめて!