SlideShare a Scribd company logo
1 of 37
Download to read offline
機械学習でお小遣いを稼ぐ!
 - 本推薦 Twitter bot の紹介 -


         佐藤研究室
          石畠正和
         工大祭 2012
機械学習
  • 目的
        – 人間が自然に行なっていることを機械にも学習させる
        – 人間ではできないようなことを機械に学習させる

                        ○○さんに   スパム?
  • 有名な例                メールです

        – スパムメールフィルタ
        – 手書き文字認識/顔認識
                                1 or 7?
        – 情報推薦


12/10/6-7                                 工大祭
情報推薦
    • 目的
            – 対象に “有用な” 情報を推薦する

    • 有名な例: 商品推薦システム
            – 対象に “適切な” 商品・サービスを推薦する


            「この商品を買った人はこんな商品も買っています」

 自分も情報推薦で小遣いを稼ぎたい!

12/10/6-7                              工大祭
アフィリエイト (成功報酬型広告)
    • インターネット上の新たな広告の形態
            – 通常の広告
              • 広告を載せると広告料をもらえる
            – アフィリエイト
              • 広告がクリックされたとき
              • 広告から直接商品が購入されたとき
                にのみ広告料をもらえる

    • アフィリエイトの利用
            – Amazon アソシエイト
            – 楽天 アフィリエイト
12/10/6-7                          工大祭
情報推薦 + アフィリエイト
    • 野望
            1.   ユーザの興味を機械学習で推定
            2.   ユーザに “適切な” 商品を紹介(アフィリエイト)
            3.   ユーザが実際に購入
            4.   お小遣い (広告料) Get !!


    • 実際に作ろう!
            –    誰に?      booklog ユーザに
            –    何を?      本・漫画を
            –    どこで?     Twitter 上で bot として
            –    どうやって?   クラスタリングを使って!
12/10/6-7                                      工大祭
booklog ユーザ向け
本推薦 Twitter bot の紹介


         keywords
    booklog, Twitter, bot
booklog [booklog.jp]
    • ソーシャル本棚サービス
            – ユーザ数 30 万人弱

    • 主な機能
            – 蔵書管理
             • 商品情報
             • 評価
             • レビュー
            – 本棚のフォロー
            – 推薦機能はない 

    • Twitter と連携できる 

12/10/6-7                   工大祭
Twitter [twitter.com]
    • マイクロブログサービス
            “つぶやき”
            = 上限140文字の投稿

            “タイムライン”
            = フォローしているユーザの
              つぶやきが表示される

            「はじめまして!お世話に
            なっております!!(ツイッ
            ターでは)」
12/10/6-7                    工大祭
Twitter bot
    • Twitter bot = 自動呟きプログラム
            – bot = robot

    • bot の種類
            –   ニュース系       テレビ・新聞・雑誌
            –   便利系         地震情報・天気予報・占い
            –   名言系         有名人・著名人
            –   キャラクター系     アニメキャラ・映画キャラ
            –   無意味系        ランダムツイート生成 etc

    • 本推薦 Twitter bot を作る!
12/10/6-7                                    工大祭
ブクログ推薦bot
    1. Twitter 上で booklog
       ユーザを発見
    2. 各ユーザの蔵書情報を
       取得
    3. 蔵書情報をもとに個人
       毎におすすめを計算
    4. ユーザにおすすめをツ
       イート


    [Twitter] https://twitter.com/booklog_rec
    [Github] https://github.com/masakazu-ishihata/booklog_rec
12/10/6-7                                                       工大祭
Step 1. ユーザ発見              review

                                    Users




                               review
                              #booklog


            Main engine



      Clustering     Tweet
        engine       engine
12/10/6-7                                   工大祭
Step 1. ユーザ発見
                                                  Users




                                              review
                                             #booklog

                          booklog id   API
            Main engine   twitter id




      Clustering     Tweet
        engine       engine
12/10/6-7                                                 工大祭
Step 2. 情報取得
                                       Users




                                 API




            Main engine   蔵書情報




      Clustering     Tweet              booklog/twitter id

        engine       engine
12/10/6-7                                             工大祭
Step 3. おすすめ生成
                                     Users




                   Main engine

            蔵書情報



      Clustering            Tweet    booklog/twitter id
                                     蔵書情報
        engine              engine
12/10/6-7                                          工大祭
Step 3. おすすめ生成
                               Users




             Main engine
        クラスタリン
         グ結果


      Clustering      Tweet    booklog/twitter id
                               蔵書情報
        engine        engine
12/10/6-7                                    工大祭
Step 3. おすすめ生成
                                          Users




                      API
              API



            Main engine     Titles/URLs




      Clustering     Tweet                booklog/twitter id
                                          蔵書情報
        engine       engine               クラスタ

12/10/6-7                                               工大祭
Step 3. おすすめ生成
                              Users




            Main engine

                     Tweets



      Clustering     Tweet    booklog/twitter id
                              蔵書情報
        engine       engine   クラスタ
                              Title/URL
12/10/6-7                                   工大祭
Step 3. おすすめ生成
                                     Users




            Main engine

                              API   @xxx へのおすすめ
                                        #booklog


      Clustering     Tweet            booklog/twitter id
                                      蔵書情報
        engine       engine           クラスタ
                                      Titles/URLs
12/10/6-7                             Tweets       工大祭
具体的にはどうやっておすすめ
   を計算するの?

  推薦システムとは
推薦システム
   • 推薦システム
            – 対象ユーザに(適切な)商品やサービスを提示
            – information filtering の技術が利用される

   1. Content-based filtering
            – 対象ユーザの要求内容を推定し、推薦を行う
            – 「こいつAKBのCDばっかり買ってるな…」
            – 「こいつ初音ミクのグッズばっかり買ってるな…」

   2. Collaborative filtering (協調フィルタリング)
            – 対象ユーザと似た関心をもつユーザを参考に推薦を行う
            – Amazon 「この商品を買った人はこんな商品も買っています」
12/10/6-7                                       工大祭
協調フィルタリング
      • “似た人” を参考にする
            – “似た人” = 同じような買い方をしている人

   おすすめ
   すべきか?          けいおん   よつばと   みなみけ   らきすた   ゆるゆり   ぱにぽに

            A      ?      ◯      ◯       ×     ◯      ×

            B      ×      ×      ◯       ◯     ×      ?

            C      ◯      ?      ◯       ×     ◯      ×


                A-B = 1つ一致             C さんの意見を参考にして
                A-C = 4つ一致             A に “けいおん” をおすすめ
12/10/6-7                                                   工大祭
協調フィルタリング
      • “似た商品” を参考にしてもいいのでは?
            – “似た商品” = 同じような買われ方をしている商品

   おすすめ
   すべきか?        けいおん   よつばと   みなみけ   らきすた   ゆるゆり   ぱにぽに

            A    ?      ◯      ◯      ×      ◯      ×

            B    ×      ×      ◯      ◯      ×      ?

            C    ◯      ?      ◯      ×      ◯      ×



      “けいおん”-”ゆるゆり”                A の “ゆるゆり” への意見を参考に
      = 2つ一致                          A に “けいおん” をおすすめ
12/10/6-7                                                 工大祭
協調フィルタリング
    • 2つの視点
            – “似た人” を参考にする
            – “似た商品” を参考にする      Deadlock!!

    • どういう 人/商品 が似ているの?
            – “似た人” = “似た商品” を買っている人
            – “似た商品” = “似た人” に買われている商品

    • 人/商品 を “同時に” 似たものグループに分割
        → Co-clustering (Biclustering)
12/10/6-7                                     工大祭
Co-clustering
            購買履歴の行列を入れ替えることで ”いい感じ” にまとめる

            ABCD…      商品                           C21   C22   C23
    1234…




                                             C11


                                             C12
人

                                             C13


            •   購買履歴を表す表
                – 人 i が商品 j を買った→黒 買ってない→白

            •   白黒つけるのために 確率モデル を用いる
                • Stochastic Block Model (SBM)
                • Infinite Relational Model (IRM)
12/10/6-7                                                             工大祭
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                                                                       工大祭
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=C2




12/10/6-7                                                          工大祭
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=C1




12/10/6-7                                                            工大祭
Stochastic Block Model
            途中経過: z2={z12,…,z302} のサンプリング終了後
                C1     C2   C3   C1   C2   C3




               クラスタ数を事前に決める必要がある 
12/10/6-7                                       工大祭
Infinite Relational Model
      • SBMの拡張
                 – 詳細は難しいので省略!
      • クラスタ数を事前に決める必要はない 
            α           α      潜在的に(可算)無限
                                             無限面のサイコロ!!
                                 個のクラス!!

            π1          π2
                               β     潜在的に 無限×無限
                                                  無限種類のコイン!
       zi1=k           zj2=l          通りの組み合わせ


                 Aij           ηkl
                                        どゆこと???
12/10/6-7                                                     工大祭
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                                                                 工大祭
実際に動かしてみる!
    • 使用したデータ
            – 1137 users
            – 6803 books
            – relation = Good/not good/unknown

    • 使用した確率モデル
            – Infinite Relational Model

    • クラスタリング結果
            – 26 user clusters
            – 64 book clusters
12/10/6-7                                        工大祭
クラスタの例
                                         ######## 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                                                                       工大祭
本当にお小遣いは稼げたの?
広告のクリック数
        Clicks on bitly




        Clicks on Amazon




12/10/6-7                  工大祭
つまり…
    • 1ヶ月に 46,000 クリックされている

    • 仮に 1 % の人が 500 円の本を買ったとする

    • Amazon では売上の 3.5 % が報酬


            46,000 * 0.01 * 500 * 0.035 =   8050!!

12/10/6-7                                            工大祭
売上
      • 実際の booklog_rec の売上




               売上 = 30,522 円
               報酬 = 673 円

            世の中そんなに甘くない!!
12/10/6-7                      工大祭
まとめ
    • 色々な機械学習技術が現実に使われています
            – 情報フィルタ、情報推薦


    • 自分も情報推薦を使ってお小遣い稼ぎたい
            – 推薦システム + アフィリエイト


    • 稼ぎは雀の涙でした…

    • もっと研究をがんばってお小遣いを稼ごう!
12/10/6-7                        工大祭

More Related Content

What's hot

Jasmin kansai(20101211)
Jasmin kansai(20101211)Jasmin kansai(20101211)
Jasmin kansai(20101211)真 岡本
 
JSAI コミック工学SS 招待講演「機械学習で eBookJapan を加速できるか?」
JSAI コミック工学SS 招待講演「機械学習で eBookJapan を加速できるか?」JSAI コミック工学SS 招待講演「機械学習で eBookJapan を加速できるか?」
JSAI コミック工学SS 招待講演「機械学習で eBookJapan を加速できるか?」Matsushita Laboratory
 
UedaWJC(20110905)
UedaWJC(20110905)UedaWJC(20110905)
UedaWJC(20110905)真 岡本
 
Googleが恐れるハッシュタグに関する歴史とニュースまとめ
Googleが恐れるハッシュタグに関する歴史とニュースまとめGoogleが恐れるハッシュタグに関する歴史とニュースまとめ
Googleが恐れるハッシュタグに関する歴史とニュースまとめ新潟コンサルタント横田秀珠
 
Pythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearnPythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearnYukino Ikegami
 
アンケート調査について ~自由入力テキストとの格闘~(GGLT vol.5)
アンケート調査について ~自由入力テキストとの格闘~(GGLT vol.5)アンケート調査について ~自由入力テキストとの格闘~(GGLT vol.5)
アンケート調査について ~自由入力テキストとの格闘~(GGLT vol.5)Hiroshi Sumi
 
Twitterのつぶやきで明日の自分のご機嫌を予測してみる
Twitterのつぶやきで明日の自分のご機嫌を予測してみるTwitterのつぶやきで明日の自分のご機嫌を予測してみる
Twitterのつぶやきで明日の自分のご機嫌を予測してみるKiriko Yano
 
シー・ビブリオ(作成中)
シー・ビブリオ(作成中)シー・ビブリオ(作成中)
シー・ビブリオ(作成中)genroku
 
マンガ駆動開発で始める 、初めてのUXデザインプロセス  マンガ駆動開発 第4版
マンガ駆動開発で始める、初めてのUXデザインプロセス マンガ駆動開発 第4版マンガ駆動開発で始める、初めてのUXデザインプロセス マンガ駆動開発 第4版
マンガ駆動開発で始める 、初めてのUXデザインプロセス  マンガ駆動開発 第4版Koji Hara
 
人工知能のための哲学塾 東洋哲学篇 第零夜 資料
人工知能のための哲学塾 東洋哲学篇 第零夜 資料人工知能のための哲学塾 東洋哲学篇 第零夜 資料
人工知能のための哲学塾 東洋哲学篇 第零夜 資料Youichiro Miyake
 
Atusinsaihaihu
AtusinsaihaihuAtusinsaihaihu
AtusinsaihaihuHati Miura
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5Takeshi Akutsu
 
ソーシャルメディアを活用したパーソナルブランディング
ソーシャルメディアを活用したパーソナルブランディングソーシャルメディアを活用したパーソナルブランディング
ソーシャルメディアを活用したパーソナルブランディングTakashi Ohmoto
 
数字から読む信号機の傾向と精度
数字から読む信号機の傾向と精度数字から読む信号機の傾向と精度
数字から読む信号機の傾向と精度Jun Sasaki
 
Tfug20200122 shuntaro ohno
Tfug20200122 shuntaro ohnoTfug20200122 shuntaro ohno
Tfug20200122 shuntaro ohnoShuntaro Ohno
 

What's hot (20)

Jasmin kansai(20101211)
Jasmin kansai(20101211)Jasmin kansai(20101211)
Jasmin kansai(20101211)
 
JSAI コミック工学SS 招待講演「機械学習で eBookJapan を加速できるか?」
JSAI コミック工学SS 招待講演「機械学習で eBookJapan を加速できるか?」JSAI コミック工学SS 招待講演「機械学習で eBookJapan を加速できるか?」
JSAI コミック工学SS 招待講演「機械学習で eBookJapan を加速できるか?」
 
和歌山県twitter&facebookセミナーin湯浅商工会
和歌山県twitter&facebookセミナーin湯浅商工会和歌山県twitter&facebookセミナーin湯浅商工会
和歌山県twitter&facebookセミナーin湯浅商工会
 
愛媛県Twitter&faebookセミナー鬼北町商工会
愛媛県Twitter&faebookセミナー鬼北町商工会愛媛県Twitter&faebookセミナー鬼北町商工会
愛媛県Twitter&faebookセミナー鬼北町商工会
 
UedaWJC(20110905)
UedaWJC(20110905)UedaWJC(20110905)
UedaWJC(20110905)
 
ITを活用した販売促進セミナー前編in三条商工会議所
ITを活用した販売促進セミナー前編in三条商工会議所ITを活用した販売促進セミナー前編in三条商工会議所
ITを活用した販売促進セミナー前編in三条商工会議所
 
Googleが恐れるハッシュタグに関する歴史とニュースまとめ
Googleが恐れるハッシュタグに関する歴史とニュースまとめGoogleが恐れるハッシュタグに関する歴史とニュースまとめ
Googleが恐れるハッシュタグに関する歴史とニュースまとめ
 
Pythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearnPythonで機械学習を自動化 auto sklearn
Pythonで機械学習を自動化 auto sklearn
 
アンケート調査について ~自由入力テキストとの格闘~(GGLT vol.5)
アンケート調査について ~自由入力テキストとの格闘~(GGLT vol.5)アンケート調査について ~自由入力テキストとの格闘~(GGLT vol.5)
アンケート調査について ~自由入力テキストとの格闘~(GGLT vol.5)
 
Twitterのつぶやきで明日の自分のご機嫌を予測してみる
Twitterのつぶやきで明日の自分のご機嫌を予測してみるTwitterのつぶやきで明日の自分のご機嫌を予測してみる
Twitterのつぶやきで明日の自分のご機嫌を予測してみる
 
シー・ビブリオ(作成中)
シー・ビブリオ(作成中)シー・ビブリオ(作成中)
シー・ビブリオ(作成中)
 
Web Gakkai20091207
Web Gakkai20091207Web Gakkai20091207
Web Gakkai20091207
 
マンガ駆動開発で始める 、初めてのUXデザインプロセス  マンガ駆動開発 第4版
マンガ駆動開発で始める、初めてのUXデザインプロセス マンガ駆動開発 第4版マンガ駆動開発で始める、初めてのUXデザインプロセス マンガ駆動開発 第4版
マンガ駆動開発で始める 、初めてのUXデザインプロセス  マンガ駆動開発 第4版
 
人工知能のための哲学塾 東洋哲学篇 第零夜 資料
人工知能のための哲学塾 東洋哲学篇 第零夜 資料人工知能のための哲学塾 東洋哲学篇 第零夜 資料
人工知能のための哲学塾 東洋哲学篇 第零夜 資料
 
Atusinsaihaihu
AtusinsaihaihuAtusinsaihaihu
Atusinsaihaihu
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
 
ソーシャルメディアを活用したパーソナルブランディング
ソーシャルメディアを活用したパーソナルブランディングソーシャルメディアを活用したパーソナルブランディング
ソーシャルメディアを活用したパーソナルブランディング
 
数字から読む信号機の傾向と精度
数字から読む信号機の傾向と精度数字から読む信号機の傾向と精度
数字から読む信号機の傾向と精度
 
Introduction
IntroductionIntroduction
Introduction
 
Tfug20200122 shuntaro ohno
Tfug20200122 shuntaro ohnoTfug20200122 shuntaro ohno
Tfug20200122 shuntaro ohno
 

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

協調フィルタリング with Mahout
協調フィルタリング with Mahout協調フィルタリング with Mahout
協調フィルタリング with MahoutKatsuhiro Takata
 
Recommend system
Recommend systemRecommend system
Recommend systemilove2dgirl
 
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)Yukinori KITADAI
 
『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章y torazuka
 
JAWS-UGサミット2011春 LT資料
JAWS-UGサミット2011春 LT資料JAWS-UGサミット2011春 LT資料
JAWS-UGサミット2011春 LT資料Yuuki Namikawa
 
レコメンデーション(協調フィルタリング)の基礎
レコメンデーション(協調フィルタリング)の基礎レコメンデーション(協調フィルタリング)の基礎
レコメンデーション(協調フィルタリング)の基礎Katsuhiro Takata
 
jubarecommenderの紹介
jubarecommenderの紹介jubarecommenderの紹介
jubarecommenderの紹介JubatusOfficial
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネスMie Mori
 
#Net2tokyo_socialgood_tool_share_meetup
#Net2tokyo_socialgood_tool_share_meetup#Net2tokyo_socialgood_tool_share_meetup
#Net2tokyo_socialgood_tool_share_meetup孝弘 笠原
 
Python twitter data_150709
Python twitter data_150709Python twitter data_150709
Python twitter data_150709BrainPad Inc.
 
20140708 オンラインゲームソリューション
20140708 オンラインゲームソリューション20140708 オンラインゲームソリューション
20140708 オンラインゲームソリューションTakahiro Inoue
 
データファースト開発
データファースト開発データファースト開発
データファースト開発Katsunori Kanda
 
Aiにwebアプリ診断をやらせてみる
Aiにwebアプリ診断をやらせてみるAiにwebアプリ診断をやらせてみる
Aiにwebアプリ診断をやらせてみるIsao Takaesu
 
第2回モヤLT_マニモト_なかおくん
第2回モヤLT_マニモト_なかおくん第2回モヤLT_マニモト_なかおくん
第2回モヤLT_マニモト_なかおくんNorihiko Matsumoto
 
ビッグデータ分析基盤を支えるOSSたち
ビッグデータ分析基盤を支えるOSSたちビッグデータ分析基盤を支えるOSSたち
ビッグデータ分析基盤を支えるOSSたちToru Takahashi
 
Facebook、twitter等ソーシャルプラットフォームを活かしたスマートフォン時代のサービス立ち上げ:Lean startup
Facebook、twitter等ソーシャルプラットフォームを活かしたスマートフォン時代のサービス立ち上げ:Lean startupFacebook、twitter等ソーシャルプラットフォームを活かしたスマートフォン時代のサービス立ち上げ:Lean startup
Facebook、twitter等ソーシャルプラットフォームを活かしたスマートフォン時代のサービス立ち上げ:Lean startupブレークスルーパートナーズ 赤羽雄二
 
A User-Oriented Splog Filtering Based on Machine Learning
A User-Oriented Splog Filtering Based on Machine LearningA User-Oriented Splog Filtering Based on Machine Learning
A User-Oriented Splog Filtering Based on Machine Learningguestb5b108c
 
A User-Oriented Splog Filtering Based on Machine Learning
A User-Oriented Splog Filtering Based on Machine LearningA User-Oriented Splog Filtering Based on Machine Learning
A User-Oriented Splog Filtering Based on Machine Learningguestb5b108c
 
20190723 mlp lt_bayes_pub
20190723 mlp lt_bayes_pub20190723 mlp lt_bayes_pub
20190723 mlp lt_bayes_pubYoichi Tokita
 

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

協調フィルタリング with Mahout
協調フィルタリング with Mahout協調フィルタリング with Mahout
協調フィルタリング with Mahout
 
Recommend system
Recommend systemRecommend system
Recommend system
 
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
Twitterのフォロワの増減がわたし…、 気になります! (OSC 2012 広島, Hiroshima.rb)
 
『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章
 
JAWS-UGサミット2011春 LT資料
JAWS-UGサミット2011春 LT資料JAWS-UGサミット2011春 LT資料
JAWS-UGサミット2011春 LT資料
 
レコメンデーション(協調フィルタリング)の基礎
レコメンデーション(協調フィルタリング)の基礎レコメンデーション(協調フィルタリング)の基礎
レコメンデーション(協調フィルタリング)の基礎
 
jubarecommenderの紹介
jubarecommenderの紹介jubarecommenderの紹介
jubarecommenderの紹介
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
 
#Net2tokyo_socialgood_tool_share_meetup
#Net2tokyo_socialgood_tool_share_meetup#Net2tokyo_socialgood_tool_share_meetup
#Net2tokyo_socialgood_tool_share_meetup
 
Python twitter data_150709
Python twitter data_150709Python twitter data_150709
Python twitter data_150709
 
20140708 オンラインゲームソリューション
20140708 オンラインゲームソリューション20140708 オンラインゲームソリューション
20140708 オンラインゲームソリューション
 
データファースト開発
データファースト開発データファースト開発
データファースト開発
 
Aiにwebアプリ診断をやらせてみる
Aiにwebアプリ診断をやらせてみるAiにwebアプリ診断をやらせてみる
Aiにwebアプリ診断をやらせてみる
 
全文検索入門
全文検索入門全文検索入門
全文検索入門
 
第2回モヤLT_マニモト_なかおくん
第2回モヤLT_マニモト_なかおくん第2回モヤLT_マニモト_なかおくん
第2回モヤLT_マニモト_なかおくん
 
ビッグデータ分析基盤を支えるOSSたち
ビッグデータ分析基盤を支えるOSSたちビッグデータ分析基盤を支えるOSSたち
ビッグデータ分析基盤を支えるOSSたち
 
Facebook、twitter等ソーシャルプラットフォームを活かしたスマートフォン時代のサービス立ち上げ:Lean startup
Facebook、twitter等ソーシャルプラットフォームを活かしたスマートフォン時代のサービス立ち上げ:Lean startupFacebook、twitter等ソーシャルプラットフォームを活かしたスマートフォン時代のサービス立ち上げ:Lean startup
Facebook、twitter等ソーシャルプラットフォームを活かしたスマートフォン時代のサービス立ち上げ:Lean startup
 
A User-Oriented Splog Filtering Based on Machine Learning
A User-Oriented Splog Filtering Based on Machine LearningA User-Oriented Splog Filtering Based on Machine Learning
A User-Oriented Splog Filtering Based on Machine Learning
 
A User-Oriented Splog Filtering Based on Machine Learning
A User-Oriented Splog Filtering Based on Machine LearningA User-Oriented Splog Filtering Based on Machine Learning
A User-Oriented Splog Filtering Based on Machine Learning
 
20190723 mlp lt_bayes_pub
20190723 mlp lt_bayes_pub20190723 mlp lt_bayes_pub
20190723 mlp lt_bayes_pub
 

Recently uploaded

3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイントshu1108hina1020
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfoganekyokoi
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1Toru Oga
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdfoganekyokoi
 
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...yutakashikano1984
 
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrKARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrRodolfFernandez1
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfoganekyokoi
 
Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...oganekyokoi
 

Recently uploaded (8)

3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdf
 
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
 
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrKARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdf
 
Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...
 

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

  • 1. 機械学習でお小遣いを稼ぐ! - 本推薦 Twitter bot の紹介 - 佐藤研究室 石畠正和 工大祭 2012
  • 2. 機械学習 • 目的 – 人間が自然に行なっていることを機械にも学習させる – 人間ではできないようなことを機械に学習させる ○○さんに スパム? • 有名な例 メールです – スパムメールフィルタ – 手書き文字認識/顔認識 1 or 7? – 情報推薦 12/10/6-7 工大祭
  • 3. 情報推薦 • 目的 – 対象に “有用な” 情報を推薦する • 有名な例: 商品推薦システム – 対象に “適切な” 商品・サービスを推薦する 「この商品を買った人はこんな商品も買っています」 自分も情報推薦で小遣いを稼ぎたい! 12/10/6-7 工大祭
  • 4. アフィリエイト (成功報酬型広告) • インターネット上の新たな広告の形態 – 通常の広告 • 広告を載せると広告料をもらえる – アフィリエイト • 広告がクリックされたとき • 広告から直接商品が購入されたとき にのみ広告料をもらえる • アフィリエイトの利用 – Amazon アソシエイト – 楽天 アフィリエイト 12/10/6-7 工大祭
  • 5. 情報推薦 + アフィリエイト • 野望 1. ユーザの興味を機械学習で推定 2. ユーザに “適切な” 商品を紹介(アフィリエイト) 3. ユーザが実際に購入 4. お小遣い (広告料) Get !! • 実際に作ろう! – 誰に? booklog ユーザに – 何を? 本・漫画を – どこで? Twitter 上で bot として – どうやって? クラスタリングを使って! 12/10/6-7 工大祭
  • 6. booklog ユーザ向け 本推薦 Twitter bot の紹介 keywords booklog, Twitter, bot
  • 7. booklog [booklog.jp] • ソーシャル本棚サービス – ユーザ数 30 万人弱 • 主な機能 – 蔵書管理 • 商品情報 • 評価 • レビュー – 本棚のフォロー – 推薦機能はない  • Twitter と連携できる  12/10/6-7 工大祭
  • 8. Twitter [twitter.com] • マイクロブログサービス “つぶやき” = 上限140文字の投稿 “タイムライン” = フォローしているユーザの つぶやきが表示される 「はじめまして!お世話に なっております!!(ツイッ ターでは)」 12/10/6-7 工大祭
  • 9. Twitter bot • Twitter bot = 自動呟きプログラム – bot = robot • bot の種類 – ニュース系 テレビ・新聞・雑誌 – 便利系 地震情報・天気予報・占い – 名言系 有名人・著名人 – キャラクター系 アニメキャラ・映画キャラ – 無意味系 ランダムツイート生成 etc • 本推薦 Twitter bot を作る! 12/10/6-7 工大祭
  • 10. ブクログ推薦bot 1. Twitter 上で booklog ユーザを発見 2. 各ユーザの蔵書情報を 取得 3. 蔵書情報をもとに個人 毎におすすめを計算 4. ユーザにおすすめをツ イート [Twitter] https://twitter.com/booklog_rec [Github] https://github.com/masakazu-ishihata/booklog_rec 12/10/6-7 工大祭
  • 11. Step 1. ユーザ発見 review Users review #booklog Main engine Clustering Tweet engine engine 12/10/6-7 工大祭
  • 12. Step 1. ユーザ発見 Users review #booklog booklog id API Main engine twitter id Clustering Tweet engine engine 12/10/6-7 工大祭
  • 13. Step 2. 情報取得 Users API Main engine 蔵書情報 Clustering Tweet booklog/twitter id engine engine 12/10/6-7 工大祭
  • 14. Step 3. おすすめ生成 Users Main engine 蔵書情報 Clustering Tweet booklog/twitter id 蔵書情報 engine engine 12/10/6-7 工大祭
  • 15. Step 3. おすすめ生成 Users Main engine クラスタリン グ結果 Clustering Tweet booklog/twitter id 蔵書情報 engine engine 12/10/6-7 工大祭
  • 16. Step 3. おすすめ生成 Users API API Main engine Titles/URLs Clustering Tweet booklog/twitter id 蔵書情報 engine engine クラスタ 12/10/6-7 工大祭
  • 17. Step 3. おすすめ生成 Users Main engine Tweets Clustering Tweet booklog/twitter id 蔵書情報 engine engine クラスタ Title/URL 12/10/6-7 工大祭
  • 18. Step 3. おすすめ生成 Users Main engine API @xxx へのおすすめ #booklog Clustering Tweet booklog/twitter id 蔵書情報 engine engine クラスタ Titles/URLs 12/10/6-7 Tweets 工大祭
  • 19. 具体的にはどうやっておすすめ を計算するの? 推薦システムとは
  • 20. 推薦システム • 推薦システム – 対象ユーザに(適切な)商品やサービスを提示 – information filtering の技術が利用される 1. Content-based filtering – 対象ユーザの要求内容を推定し、推薦を行う – 「こいつAKBのCDばっかり買ってるな…」 – 「こいつ初音ミクのグッズばっかり買ってるな…」 2. Collaborative filtering (協調フィルタリング) – 対象ユーザと似た関心をもつユーザを参考に推薦を行う – Amazon 「この商品を買った人はこんな商品も買っています」 12/10/6-7 工大祭
  • 21. 協調フィルタリング • “似た人” を参考にする – “似た人” = 同じような買い方をしている人 おすすめ すべきか? けいおん よつばと みなみけ らきすた ゆるゆり ぱにぽに A ? ◯ ◯ × ◯ × B × × ◯ ◯ × ? C ◯ ? ◯ × ◯ × A-B = 1つ一致 C さんの意見を参考にして A-C = 4つ一致 A に “けいおん” をおすすめ 12/10/6-7 工大祭
  • 22. 協調フィルタリング • “似た商品” を参考にしてもいいのでは? – “似た商品” = 同じような買われ方をしている商品 おすすめ すべきか? けいおん よつばと みなみけ らきすた ゆるゆり ぱにぽに A ? ◯ ◯ × ◯ × B × × ◯ ◯ × ? C ◯ ? ◯ × ◯ × “けいおん”-”ゆるゆり” A の “ゆるゆり” への意見を参考に = 2つ一致 A に “けいおん” をおすすめ 12/10/6-7 工大祭
  • 23. 協調フィルタリング • 2つの視点 – “似た人” を参考にする – “似た商品” を参考にする Deadlock!! • どういう 人/商品 が似ているの? – “似た人” = “似た商品” を買っている人 – “似た商品” = “似た人” に買われている商品 • 人/商品 を “同時に” 似たものグループに分割 → Co-clustering (Biclustering) 12/10/6-7 工大祭
  • 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. 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. 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=C2 12/10/6-7 工大祭
  • 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=C1 12/10/6-7 工大祭
  • 28. Stochastic Block Model 途中経過: z2={z12,…,z302} のサンプリング終了後 C1 C2 C3 C1 C2 C3 クラスタ数を事前に決める必要がある  12/10/6-7 工大祭
  • 29. Infinite Relational Model • SBMの拡張 – 詳細は難しいので省略! • クラスタ数を事前に決める必要はない  α α 潜在的に(可算)無限 無限面のサイコロ!! 個のクラス!! π1 π2 β 潜在的に 無限×無限 無限種類のコイン! zi1=k zj2=l 通りの組み合わせ Aij ηkl どゆこと??? 12/10/6-7 工大祭
  • 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. 実際に動かしてみる! • 使用したデータ – 1137 users – 6803 books – relation = Good/not good/unknown • 使用した確率モデル – Infinite Relational Model • クラスタリング結果 – 26 user clusters – 64 book clusters 12/10/6-7 工大祭
  • 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 工大祭
  • 34. 広告のクリック数 Clicks on bitly Clicks on Amazon 12/10/6-7 工大祭
  • 35. つまり… • 1ヶ月に 46,000 クリックされている • 仮に 1 % の人が 500 円の本を買ったとする • Amazon では売上の 3.5 % が報酬 46,000 * 0.01 * 500 * 0.035 = 8050!! 12/10/6-7 工大祭
  • 36. 売上 • 実際の booklog_rec の売上 売上 = 30,522 円 報酬 = 673 円 世の中そんなに甘くない!! 12/10/6-7 工大祭
  • 37. まとめ • 色々な機械学習技術が現実に使われています – 情報フィルタ、情報推薦 • 自分も情報推薦を使ってお小遣い稼ぎたい – 推薦システム + アフィリエイト • 稼ぎは雀の涙でした… • もっと研究をがんばってお小遣いを稼ごう! 12/10/6-7 工大祭