Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
機械学習でお小遣いを稼ぐ! - 本推薦 Twitter bot の紹介 -         佐藤研究室          石畠正和         工大祭 2012
機械学習  • 目的        – 人間が自然に行なっていることを機械にも学習させる        – 人間ではできないようなことを機械に学習させる                        ○○さんに   スパム?  • 有名な例  ...
情報推薦    • 目的            – 対象に “有用な” 情報を推薦する    • 有名な例: 商品推薦システム            – 対象に “適切な” 商品・サービスを推薦する            「この商品を買った人は...
アフィリエイト (成功報酬型広告)    • インターネット上の新たな広告の形態            – 通常の広告              • 広告を載せると広告料をもらえる            – アフィリエイト           ...
情報推薦 + アフィリエイト    • 野望            1.   ユーザの興味を機械学習で推定            2.   ユーザに “適切な” 商品を紹介(アフィリエイト)            3.   ユーザが実際に購入 ...
booklog ユーザ向け本推薦 Twitter bot の紹介         keywords    booklog, Twitter, bot
booklog [booklog.jp]    • ソーシャル本棚サービス            – ユーザ数 30 万人弱    • 主な機能            – 蔵書管理             • 商品情報             ...
Twitter [twitter.com]    • マイクロブログサービス            “つぶやき”            = 上限140文字の投稿            “タイムライン”            = フォローしている...
Twitter bot    • Twitter bot = 自動呟きプログラム            – bot = robot    • bot の種類            –   ニュース系       テレビ・新聞・雑誌       ...
ブクログ推薦bot    1. Twitter 上で booklog       ユーザを発見    2. 各ユーザの蔵書情報を       取得    3. 蔵書情報をもとに個人       毎におすすめを計算    4. ユーザにおすすめを...
Step 1. ユーザ発見              review                                    Users                               review           ...
Step 1. ユーザ発見                                                  Users                                              review  ...
Step 2. 情報取得                                       Users                                 API            Main engine   蔵書情報...
Step 3. おすすめ生成                                     Users                   Main engine            蔵書情報      Clustering    ...
Step 3. おすすめ生成                               Users             Main engine        クラスタリン         グ結果      Clustering      ...
Step 3. おすすめ生成                                          Users                      API              API            Main en...
Step 3. おすすめ生成                              Users            Main engine                     Tweets      Clustering     Tw...
Step 3. おすすめ生成                                     Users            Main engine                              API   @xxx への...
具体的にはどうやっておすすめ   を計算するの?  推薦システムとは
推薦システム   • 推薦システム            – 対象ユーザに(適切な)商品やサービスを提示            – information filtering の技術が利用される   1. Content-based filte...
協調フィルタリング      • “似た人” を参考にする            – “似た人” = 同じような買い方をしている人   おすすめ   すべきか?          けいおん   よつばと   みなみけ   らきすた   ゆるゆり...
協調フィルタリング      • “似た商品” を参考にしてもいいのでは?            – “似た商品” = 同じような買われ方をしている商品   おすすめ   すべきか?        けいおん   よつばと   みなみけ   らき...
協調フィルタリング    • 2つの視点            – “似た人” を参考にする            – “似た商品” を参考にする      Deadlock!!    • どういう 人/商品 が似ているの?          ...
Co-clustering            購買履歴の行列を入れ替えることで ”いい感じ” にまとめる            ABCD…      商品                           C21   C22   C23 ...
Stochastic Block Model  • 購買履歴 A の生成過程            – Aij ~ Cat(ηkl)                  • Aij = 1 : 人 i が商品 j を買った(黒)         ...
Stochastic Block Model            途中経過: z1 (行) の1回目のサンプリング終了後               C1     C2     C3                              ...
Stochastic Block Model            途中経過: z12 のサンプリング終了後               C1     C2     C3              C1           C2 C3     ...
Stochastic Block Model            途中経過: z2={z12,…,z302} のサンプリング終了後                C1     C2   C3   C1   C2   C3           ...
Infinite Relational Model      • SBMの拡張                 – 詳細は難しいので省略!      • クラスタ数を事前に決める必要はない             α           α ...
Infinite Relational Model            途中経過: z1 (行) の1回目のサンプリング終了後                C1       C2     C3                        ...
実際に動かしてみる!    • 使用したデータ            – 1137 users            – 6803 books            – relation = Good/not good/unknown    •...
クラスタの例                                         ######## Class 5671 (12) ########                                         武...
本当にお小遣いは稼げたの?
広告のクリック数        Clicks on bitly        Clicks on Amazon12/10/6-7                  工大祭
つまり…    • 1ヶ月に 46,000 クリックされている    • 仮に 1 % の人が 500 円の本を買ったとする    • Amazon では売上の 3.5 % が報酬            46,000 * 0.01 * 500 ...
売上      • 実際の booklog_rec の売上               売上 = 30,522 円               報酬 = 673 円            世の中そんなに甘くない!!12/10/6-7      ...
まとめ    • 色々な機械学習技術が現実に使われています            – 情報フィルタ、情報推薦    • 自分も情報推薦を使ってお小遣い稼ぎたい            – 推薦システム + アフィリエイト    • 稼ぎは雀の涙で...
Upcoming SlideShare
Loading in …5
×

機械学習でお小遣いを稼ぐ! - 本推薦 Twitter bot の紹介 -

7,151 views

Published on

工大祭 12/10/6-7 の研究室公開で利用したスライド。
研究ではなくお遊びです。

Published in: Education
  • Be the first to comment

機械学習でお小遣いを稼ぐ! - 本推薦 Twitter bot の紹介 -

  1. 1. 機械学習でお小遣いを稼ぐ! - 本推薦 Twitter bot の紹介 - 佐藤研究室 石畠正和 工大祭 2012
  2. 2. 機械学習 • 目的 – 人間が自然に行なっていることを機械にも学習させる – 人間ではできないようなことを機械に学習させる ○○さんに スパム? • 有名な例 メールです – スパムメールフィルタ – 手書き文字認識/顔認識 1 or 7? – 情報推薦12/10/6-7 工大祭
  3. 3. 情報推薦 • 目的 – 対象に “有用な” 情報を推薦する • 有名な例: 商品推薦システム – 対象に “適切な” 商品・サービスを推薦する 「この商品を買った人はこんな商品も買っています」 自分も情報推薦で小遣いを稼ぎたい!12/10/6-7 工大祭
  4. 4. アフィリエイト (成功報酬型広告) • インターネット上の新たな広告の形態 – 通常の広告 • 広告を載せると広告料をもらえる – アフィリエイト • 広告がクリックされたとき • 広告から直接商品が購入されたとき にのみ広告料をもらえる • アフィリエイトの利用 – Amazon アソシエイト – 楽天 アフィリエイト12/10/6-7 工大祭
  5. 5. 情報推薦 + アフィリエイト • 野望 1. ユーザの興味を機械学習で推定 2. ユーザに “適切な” 商品を紹介(アフィリエイト) 3. ユーザが実際に購入 4. お小遣い (広告料) Get !! • 実際に作ろう! – 誰に? booklog ユーザに – 何を? 本・漫画を – どこで? Twitter 上で bot として – どうやって? クラスタリングを使って!12/10/6-7 工大祭
  6. 6. booklog ユーザ向け本推薦 Twitter bot の紹介 keywords booklog, Twitter, bot
  7. 7. booklog [booklog.jp] • ソーシャル本棚サービス – ユーザ数 30 万人弱 • 主な機能 – 蔵書管理 • 商品情報 • 評価 • レビュー – 本棚のフォロー – 推薦機能はない  • Twitter と連携できる 12/10/6-7 工大祭
  8. 8. Twitter [twitter.com] • マイクロブログサービス “つぶやき” = 上限140文字の投稿 “タイムライン” = フォローしているユーザの つぶやきが表示される 「はじめまして!お世話に なっております!!(ツイッ ターでは)」12/10/6-7 工大祭
  9. 9. Twitter bot • Twitter bot = 自動呟きプログラム – bot = robot • bot の種類 – ニュース系 テレビ・新聞・雑誌 – 便利系 地震情報・天気予報・占い – 名言系 有名人・著名人 – キャラクター系 アニメキャラ・映画キャラ – 無意味系 ランダムツイート生成 etc • 本推薦 Twitter bot を作る!12/10/6-7 工大祭
  10. 10. ブクログ推薦bot 1. Twitter 上で booklog ユーザを発見 2. 各ユーザの蔵書情報を 取得 3. 蔵書情報をもとに個人 毎におすすめを計算 4. ユーザにおすすめをツ イート [Twitter] https://twitter.com/booklog_rec [Github] https://github.com/masakazu-ishihata/booklog_rec12/10/6-7 工大祭
  11. 11. Step 1. ユーザ発見 review Users review #booklog Main engine Clustering Tweet engine engine12/10/6-7 工大祭
  12. 12. Step 1. ユーザ発見 Users review #booklog booklog id API Main engine twitter id Clustering Tweet engine engine12/10/6-7 工大祭
  13. 13. Step 2. 情報取得 Users API Main engine 蔵書情報 Clustering Tweet booklog/twitter id engine engine12/10/6-7 工大祭
  14. 14. Step 3. おすすめ生成 Users Main engine 蔵書情報 Clustering Tweet booklog/twitter id 蔵書情報 engine engine12/10/6-7 工大祭
  15. 15. Step 3. おすすめ生成 Users Main engine クラスタリン グ結果 Clustering Tweet booklog/twitter id 蔵書情報 engine engine12/10/6-7 工大祭
  16. 16. Step 3. おすすめ生成 Users API API Main engine Titles/URLs Clustering Tweet booklog/twitter id 蔵書情報 engine engine クラスタ12/10/6-7 工大祭
  17. 17. Step 3. おすすめ生成 Users Main engine Tweets Clustering Tweet booklog/twitter id 蔵書情報 engine engine クラスタ Title/URL12/10/6-7 工大祭
  18. 18. Step 3. おすすめ生成 Users Main engine API @xxx へのおすすめ #booklog Clustering Tweet booklog/twitter id 蔵書情報 engine engine クラスタ Titles/URLs12/10/6-7 Tweets 工大祭
  19. 19. 具体的にはどうやっておすすめ を計算するの? 推薦システムとは
  20. 20. 推薦システム • 推薦システム – 対象ユーザに(適切な)商品やサービスを提示 – information filtering の技術が利用される 1. Content-based filtering – 対象ユーザの要求内容を推定し、推薦を行う – 「こいつAKBのCDばっかり買ってるな…」 – 「こいつ初音ミクのグッズばっかり買ってるな…」 2. Collaborative filtering (協調フィルタリング) – 対象ユーザと似た関心をもつユーザを参考に推薦を行う – Amazon 「この商品を買った人はこんな商品も買っています」12/10/6-7 工大祭
  21. 21. 協調フィルタリング • “似た人” を参考にする – “似た人” = 同じような買い方をしている人 おすすめ すべきか? けいおん よつばと みなみけ らきすた ゆるゆり ぱにぽに A ? ◯ ◯ × ◯ × B × × ◯ ◯ × ? C ◯ ? ◯ × ◯ × A-B = 1つ一致 C さんの意見を参考にして A-C = 4つ一致 A に “けいおん” をおすすめ12/10/6-7 工大祭
  22. 22. 協調フィルタリング • “似た商品” を参考にしてもいいのでは? – “似た商品” = 同じような買われ方をしている商品 おすすめ すべきか? けいおん よつばと みなみけ らきすた ゆるゆり ぱにぽに A ? ◯ ◯ × ◯ × B × × ◯ ◯ × ? C ◯ ? ◯ × ◯ × “けいおん”-”ゆるゆり” A の “ゆるゆり” への意見を参考に = 2つ一致 A に “けいおん” をおすすめ12/10/6-7 工大祭
  23. 23. 協調フィルタリング • 2つの視点 – “似た人” を参考にする – “似た商品” を参考にする Deadlock!! • どういう 人/商品 が似ているの? – “似た人” = “似た商品” を買っている人 – “似た商品” = “似た人” に買われている商品 • 人/商品 を “同時に” 似たものグループに分割 → Co-clustering (Biclustering)12/10/6-7 工大祭
  24. 24. Co-clustering 購買履歴の行列を入れ替えることで ”いい感じ” にまとめる ABCD… 商品 C21 C22 C23 1234… C11 C12人 C13 • 購買履歴を表す表 – 人 i が商品 j を買った→黒 買ってない→白 • 白黒つけるのために 確率モデル を用いる • Stochastic Block Model (SBM) • Infinite Relational Model (IRM)12/10/6-7 工大祭
  25. 25. Stochastic Block Model • 購買履歴 A の生成過程 – Aij ~ Cat(ηkl) • Aij = 1 : 人 i が商品 j を買った(黒) • Aij = 0 : 人 i が商品 j を買ってない(白) α α – ηkl ~ Dir(β) • クラス k の人がクラス l の商品を買うかを決 π1 π2 めるコイン(表→買う、裏→買わない) • k,l の相性が良い→表が出やすい β • k,l の相性が悪い→裏が出やすい zi1=k zj2=l – z in ~ Cat(πn) • i のクラス (n=1→人、n=2→商品) – πn ~ Dir(α) Aij ηkl • クラスを決めるサイコロ (3が出た→クラス C3) • “いい感じ” = 周辺尤度 p(A, z1, z2 | α, β) が大きい12/10/6-7 工大祭
  26. 26. Stochastic Block Model 途中経過: z1 (行) の1回目のサンプリング終了後 C1 C2 C3 p(z12 = C1 | z/{z12}, A) = 0.5 p(z12 = C2 | z/{z12}, A) = 0.1 p(z12 = C3 | z/{z12}, A) = 0.4 z12 = C2  C1 z11=C212/10/6-7 工大祭
  27. 27. Stochastic Block Model 途中経過: z12 のサンプリング終了後 C1 C2 C3 C1 C2 C3 p(zi1=C1 | z-{zi1},A,α,β) = 0.5 p(zi1=C2 | z-{zi1},A,α,β) = 0.1 p(zi1=C3 | z-{zi1},A,α,β) = 0.4 zi1 = C2  C1 z11=C2 z11=C112/10/6-7 工大祭
  28. 28. Stochastic Block Model 途中経過: z2={z12,…,z302} のサンプリング終了後 C1 C2 C3 C1 C2 C3 クラスタ数を事前に決める必要がある 12/10/6-7 工大祭
  29. 29. Infinite Relational Model • SBMの拡張 – 詳細は難しいので省略! • クラスタ数を事前に決める必要はない  α α 潜在的に(可算)無限 無限面のサイコロ!! 個のクラス!! π1 π2 β 潜在的に 無限×無限 無限種類のコイン! zi1=k zj2=l 通りの組み合わせ Aij ηkl どゆこと???12/10/6-7 工大祭
  30. 30. Infinite Relational Model 途中経過: z1 (行) の1回目のサンプリング終了後 C1 C2 C3 p(z12 = C1 | z/{z12}, A) = 0.5 p(z12 = C2 | z/{z12}, A) = 0.1 p(z12 = C3 | z/{z12}, A) = 0.3 p(z12 = Cnew | z/{z12}, A) = 0.1 z11=C2 (結果的に) SBM の CGS に Cnew という選択肢ができただけ!12/10/6-7 工大祭
  31. 31. 実際に動かしてみる! • 使用したデータ – 1137 users – 6803 books – relation = Good/not good/unknown • 使用した確率モデル – Infinite Relational Model • クラスタリング結果 – 26 user clusters – 64 book clusters12/10/6-7 工大祭
  32. 32. クラスタの例 ######## Class 5671 (12) ######## 武器としての決断思考 (星海社新書) 生物と無生物のあいだ (講談社現代新書) スティーブ・ジョブズ I フリー~〈無料〉からお金を生みだす新戦略 ######## Class 5966 (4) ######## これからの「正義」の話をしよう――いまを生き延びるための哲学 マネジメント[エッセンシャル版] - 基本と原則 四畳半神話大系 (角川文庫) 思考の整理学 (ちくま文庫) 夜は短し歩けよ乙女 キュレーションの時代 「つながり」の情報革命が始まる (ちくま新書) ペンギン・ハイウェイ 20歳のときに知っておきたかったこと スタンフォード大学集中講義 太陽の塔 (新潮文庫) 森見登美彦 伝える力 (PHPビジネス新書) スティーブ・ジョブズ 驚異のプレゼン―人々を惹きつける18の法則 7つの習慣―成功には原則があった! 実用書系 ######## Class 2956 (5) ######## 氷菓 (角川文庫) ######## Class 5126 (79) ######## 愚者のエンドロール (角川文庫) 森薫拾遺集 (ビームコミックス) クドリャフカの順番 (角川文庫) 路地恋花 1 (アフタヌーンKC) 遠まわりする雛 (角川文庫) 海月姫(1) (講談社コミックスキス) ボトルネック (新潮文庫) 米澤穂信 ましろのおと(1) (月刊マガジンコミックス) 主に泣いてます(1) (モーニングKC) ######## Class 2108 (8) ######## 鬼灯の冷徹(1) (モーニング KC) 君に届け 1 (マーガレットコミックス (4061)) ノルウェイの森 上 (講談社文庫) ハチミツとクローバー 1 (クイーンズコミックス―ヤングユー) ノルウェイの森 下 (講談社文庫) 坂道のアポロン (1) (フラワーコミックス) 謎解きはディナーのあとで 娚の一生 1 (フラワーコミックスアルファ) 海辺のカフカ (上) (新潮文庫) 姉の結婚 1 (フラワーコミックス) 海辺のカフカ (下) (新潮文庫) 花のズボラ飯(1) 1Q84 BOOK 1 うさぎドロップ (1) (FC (380)) 1Q84 BOOK 2 百姓貴族 (1) (ウィングス・コミックス) 村上春樹 大奥 (第1巻) (JETS COMICS (4301)) 作者が女性の 1Q84 BOOK 3 夏目友人帳 (1) (花とゆめCOMICS (2842)) 鋼の錬金術師 (1) (ガンガンコミックス) 漫画?12/10/6-7 工大祭
  33. 33. 本当にお小遣いは稼げたの?
  34. 34. 広告のクリック数 Clicks on bitly Clicks on Amazon12/10/6-7 工大祭
  35. 35. つまり… • 1ヶ月に 46,000 クリックされている • 仮に 1 % の人が 500 円の本を買ったとする • Amazon では売上の 3.5 % が報酬 46,000 * 0.01 * 500 * 0.035 = 8050!!12/10/6-7 工大祭
  36. 36. 売上 • 実際の booklog_rec の売上 売上 = 30,522 円 報酬 = 673 円 世の中そんなに甘くない!!12/10/6-7 工大祭
  37. 37. まとめ • 色々な機械学習技術が現実に使われています – 情報フィルタ、情報推薦 • 自分も情報推薦を使ってお小遣い稼ぎたい – 推薦システム + アフィリエイト • 稼ぎは雀の涙でした… • もっと研究をがんばってお小遣いを稼ごう!12/10/6-7 工大祭

×