5分でわかるレコメンドエンジンの基礎 (for Gunma.web #3 on 2010/12/11)
Gunma.web #3でやったLTの一本目、真面目な方(´・ω・)っ
スライド:「一番いいおすすめを頼む」 〜5分でわかるレコメンドエンジンの基礎〜
関連
- WEB+DB PRESS Vol.57
- naoya氏が書いた「アルゴリズム実践講座」の記事を参考に作った
- 参考と言うよりはほとんどそのまま・・・Σ(・ω・ノ)ノ
- naoya氏が書いた「アルゴリズム実践講座」の記事を参考に作った
- 以前の記事
- MapReduce風の手順でレコメンドエンジンを作る - ぱろっと・すたじお
- レコメンドエンジンの実装側の話
- Rubyで無理矢理MapReduce風に書く的な
- 話が一般化されてない気がするので、いつか書き直したい・・・
- Gunma.web #3のまとめ
- もう一本のLT
補足
- ベクトルにできれば何でもできる∠( ゚д゚)/
- プログラムのレベルで言えば、ベクトル=ただのHashでしかない
- 他の事例
- 「ユーザが見たページ」から「お勧めページ」
- 「ユーザが参加しているコミュニティ」から「コミュニティの関連性」
- 計算した値を関連性の重みとして捉えれば、「お勧めコミュニティ」に発展
- あとは楽○みたいに「お店」と「商品」がある場合、その関連性も
- 「あなたのお店に来るユーザはこの商品を見てます」
- こうなると「お店向けマーケティング情報」=商材になってしまう(lll゚Д゚)
- 記事のレコメンドは「キーワード」をどう選ぶかが問題に
- 自然言語解析が絡んでくるので実は難しい(´-ω-)
- WEB+DB PRESS Vol.59の特集3参照
- 記事につけられた「タグ」を使うのが一つの手
- 「同じものを指す別な言葉」をどうするか?
- 「RO」と「ラグナロクオンライン」はたぶん同じものを指すが、文脈による、とか
- こうやって考えていくとどんどん深みにはまるので注意Σ(゚Д゚;≡;゚д゚)
- 自然言語解析が絡んでくるので実は難しい(´-ω-)
どうでもいい話
- ネタを決めるまでの経緯
- 元々はネタの方だけやるつもりだった
- いざ発表をまとめようとしたら、発表者が3人しかいないと気づく
- さすがに3本中の1本がネタはないよね・・・(lll゚Д゚)
- ということで急遽別ネタを探す
- そういえばちょっと前にTwitterでレコメンドの話をした
- 公式部分だけなら5分でいけるかな・・・
- ざっくりとプロットを切る
- いける( ゚д゚)o彡゚
- 発想としては、「過去にやったプレゼンの5分版」
- ネタも真面目な内容だし
- なので、デザインや装飾等は過去のものを踏襲
- もう一方のLTはメインと対照的にしたかったのでシンプル
- 結果的にはそちらの方が「LT」っぽいが、詳しくはもう一本の方で
- 過去と同じく「プロフィール」->「Part1〜3」->「まとめ」にしようとした
- しかし、5分でそれを踏襲しようとするとバランスが悪かった
- 結果的にフォーマットにこだわらずPartを切った
- 最初に作ったスライドは50枚を超えていた
- 発表時間で6〜7分
- そこから圧縮&削る -> リハーサル -> 圧縮&削る -> ...
- 無意味に時間がかかったのが、途中に入れたネタの「英文」
- Part切り替わりの合図的に入れているスライドにネタを
- 元ネタの英文を、改変した言葉にあわせて修正するのに時間をとられた
- 当初は日本語だけだったのを、右下の余白が気になって埋めようとしたのが始まり
- 英文の改変なんて簡単だ、そう思っていた時期が私にもありました・・・(´・ω・`)