SlideShare a Scribd company logo
1 of 17
Download to read offline
Twitterで食材をつぶやくとオススメ料理を紹介してく
        れるbot「recipetter」やってます


        有限会社プラスワンデジタル
            松鵜 琢人
          MATSUU Takuto
会社概要
●
    有限会社プラスワンデジタル
    ●
        http://www.p1d.com/
    ●
        東京都渋谷区幡ヶ谷
    ●
        主な業務内容
        –   サイト企画・制作、プログラム制作
        –   サーバ管理・コンサルティング
        –   原稿制作・編集 :
            ●
                雑誌「日経PCビギナーズ」(日経BP)、
            ●
                書籍「こんなにできるVideoStudio4公式ガイドブック」(MdN)、
            ●
                書籍「ファイルの圧縮・解凍事典」「Windows印刷トラブル110番」
            ●
                「日本のSEはこれからどうなるのか」
            ●
                「これならわかる不正アクセス対策 入門の入門」(翔泳社)ほか、
            ●
                各種マニュアル、商品紹介原稿、導入事例記事など
recipetterとは
●
    Twitter上で動作する対話型bot
●
    「@recipetter にんじん ごぼう」とメッセージを
    recipetter宛に送信すると、その食材を使用したレ
    シピのタイトルとURLを返答してくれる
●
    URLをクリックすると詳細なレシピが表示される
●
    2009/10/09現在
    ●
        レシピ回答数 23,572
    ●
        フォロワー数 5,570
スクリーンショット
recipetterを始めた理由
●
    公開したのは2009年3月17日
●
    Twitterが流行ってきているようだったので何かbot
    を作ろう
●
    Twitterは男性ユーザーの方が多そうだったので、
    男女で知名度がかなり違うcookpadさんを使ってみ
    ると面白いかも
●
    単純にタイムライン上に「キャベツ」とか「ジャガイ
    モ」とか、そういうものが並んでいると面白いだろう
recipetterの内部実装
●   レシピ情報はcookpadさん(以下、敬称略)を利用させてい
    ただいている
●   cookpadで検索用APIは用意されていない
    ●   検索結果をスクレイピングで実装
    ●   利用規約的に問題なさそうだったので許可なくやっている
    ●   ごめんなさい
●   cookpadに負荷をかけないよう可能な限りキャッシュ
●   検索結果が複数ある場合、ランダムにレシピを表示する
    ●   同じ食材でも毎回異なるレシピを表示
●   フォローされてもフォロー返しはしない
    ●   つぶやき非公開の人からの問いかけは受け取れない
recipetterの特徴と利用者の反響1
●
    レシピが見つからなかった場合、たまに辛口返答
    ●
        「その組み合わせはどうかと思うよ・・・」→うけた
●
    「ありがとう」などに反応するようにした
    ●
        recipetterにお礼を言う人が多かったから
    ●
        実装したのは公開から約1ヶ月後
    ●
        他にも逐次機能を増やしていった
        –   「recipetter」に対して「僕を食べちゃダメ!」など会話充実
        –   検索数が多くなってきた食材をHOT食材として定期的につぶ
            やく
        –   1週間に1人しか検索しませんでした食材なども
recipetterの特徴と利用者の反響2
●
    かわいいとの反響多数
    ●
        擬人化された絵を頂いた→壁紙に設定
    ●
        アイコン/口調が功を奏した
●
    たまに「中の人」に操られて時事ネタを喋る
    ●
        日食時は「太陽は食べられないんだって!」など
    ●
        もともとはrecipetterがバグった際に、フォロワーの方か
        らの指摘に対する返事として行ったもの
●
    その後もTwitter検索などでrecipetterへの感想な
    どを参考に機能を追加している
開発について
●
    食材を受け取ってレシピを返すだけの単純なやりと
    りができる実装を数日で開発
●
    サーバを借りてPerlで実装
    ●
        Twitterとの通信にNet::Twitter::Liteを使用
    ●
        スクレイピングにWeb::Scraperを使用
    ●
        cronで2分毎にTwitterのreplyをチェック
        –   未回答のreplyがあればcookpadで検索
●
    recipetter、その他のbotを共通のPerlモジュールと
    して実装している
その他作成したbot rerecipetter
            ●
                recipetter のレシピな
                ポストを淡々とRTする
            ●
                Twitterの仕様変更で、
                フォローしていない人へ
                のつぶやきが見れなく
                なったので作成した
            ●
                他人のつぶやきを参考
                にして料理を考えてい
                るという意見を吸い上
                げた
その他作成したbot currykutter
           ●
               「@currykutter ○○で
               ××を食った」のように
               して報告。
           ●
               「@currykutter ○○で
               ××を食った。おいし
               かった」のようにする
               と、同様に感想を再ポ
               ストする。
           ●
               感想のみを再ポストす
               るので何を食べたのか
               気になる
その他作成したbot ramenkutter
           ●
               currykutterのラーメン
               版
その他作成したbot scriptter
          ●
              プログラム名を表す
              コードとソースをつぶや
              くと、実行結果を返す。
          ●
              小飼弾氏が提供する
              APIを使用
その他作成したbot korekatter
           ●
               「@korekatter ○○買っ
               た」で○○を記憶する。
           ●
               「@korekatter ○○買っ
               た?」で過去に買った
               か確認できる。
           ●
               「見た」や「読んだ」、
               「聞いた」などにも対
               応。
その他作成したbot chizuatter
           ●
               chizuatter宛てに地名
               をつぶやくと、Google
               マップから地図を探して
               住所やURLなどを表示
               する
その他作成したbot omiyagetter
           ●
               omiyagetter宛てに地
               名をつぶやくと、その土
               地のおみやげや特産
               品を紹介
           ●
               商品情報は楽天市場
               のデータをAPIで検索。
botを作成して気づいたこと
●
    何よりもまずアイデア
●
    対話型で双方向のコミュニケーションをとると良し
    ●
        口コミやRTによる紹介で一気に広がった
    ●
        アイコンや口調で特徴付けが大事
    ●
        キャラクター性を前面に出す
        –   んだけど、そこにこだわりすぎて使いにくく(または作りにくく)
            なってはいけない
        –   と最近思ってます

More Related Content

More from Takuto Matsuu

僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
Takuto Matsuu
 
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない
Takuto Matsuu
 

More from Takuto Matsuu (8)

Facebookアプリ雑感
Facebookアプリ雑感Facebookアプリ雑感
Facebookアプリ雑感
 
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
僕と契約してセキュアなインフラエンジニアになってよ 〜Gnukのススメ〜
 
俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない俺のGentooがこんなに可愛いわけがない
俺のGentooがこんなに可愛いわけがない
 
タイル型ウィンドウマネージャawesomeのススメ
タイル型ウィンドウマネージャawesomeのススメタイル型ウィンドウマネージャawesomeのススメ
タイル型ウィンドウマネージャawesomeのススメ
 
タイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメタイル型ウィンドウマネージャのススメ
タイル型ウィンドウマネージャのススメ
 
Twitter botのレシピ
Twitter botのレシピTwitter botのレシピ
Twitter botのレシピ
 
日本タイル型ウィンドウマネージャ推進委員会配布チラシ
日本タイル型ウィンドウマネージャ推進委員会配布チラシ日本タイル型ウィンドウマネージャ推進委員会配布チラシ
日本タイル型ウィンドウマネージャ推進委員会配布チラシ
 
recipetter開発秘話
recipetter開発秘話recipetter開発秘話
recipetter開発秘話
 

Twitterで食材をつぶやくとオススメ料理を紹介してくれるbot「recipetter」やってます

  • 1. Twitterで食材をつぶやくとオススメ料理を紹介してく れるbot「recipetter」やってます 有限会社プラスワンデジタル 松鵜 琢人 MATSUU Takuto
  • 2. 会社概要 ● 有限会社プラスワンデジタル ● http://www.p1d.com/ ● 東京都渋谷区幡ヶ谷 ● 主な業務内容 – サイト企画・制作、プログラム制作 – サーバ管理・コンサルティング – 原稿制作・編集 : ● 雑誌「日経PCビギナーズ」(日経BP)、 ● 書籍「こんなにできるVideoStudio4公式ガイドブック」(MdN)、 ● 書籍「ファイルの圧縮・解凍事典」「Windows印刷トラブル110番」 ● 「日本のSEはこれからどうなるのか」 ● 「これならわかる不正アクセス対策 入門の入門」(翔泳社)ほか、 ● 各種マニュアル、商品紹介原稿、導入事例記事など
  • 3. recipetterとは ● Twitter上で動作する対話型bot ● 「@recipetter にんじん ごぼう」とメッセージを recipetter宛に送信すると、その食材を使用したレ シピのタイトルとURLを返答してくれる ● URLをクリックすると詳細なレシピが表示される ● 2009/10/09現在 ● レシピ回答数 23,572 ● フォロワー数 5,570
  • 5. recipetterを始めた理由 ● 公開したのは2009年3月17日 ● Twitterが流行ってきているようだったので何かbot を作ろう ● Twitterは男性ユーザーの方が多そうだったので、 男女で知名度がかなり違うcookpadさんを使ってみ ると面白いかも ● 単純にタイムライン上に「キャベツ」とか「ジャガイ モ」とか、そういうものが並んでいると面白いだろう
  • 6. recipetterの内部実装 ● レシピ情報はcookpadさん(以下、敬称略)を利用させてい ただいている ● cookpadで検索用APIは用意されていない ● 検索結果をスクレイピングで実装 ● 利用規約的に問題なさそうだったので許可なくやっている ● ごめんなさい ● cookpadに負荷をかけないよう可能な限りキャッシュ ● 検索結果が複数ある場合、ランダムにレシピを表示する ● 同じ食材でも毎回異なるレシピを表示 ● フォローされてもフォロー返しはしない ● つぶやき非公開の人からの問いかけは受け取れない
  • 7. recipetterの特徴と利用者の反響1 ● レシピが見つからなかった場合、たまに辛口返答 ● 「その組み合わせはどうかと思うよ・・・」→うけた ● 「ありがとう」などに反応するようにした ● recipetterにお礼を言う人が多かったから ● 実装したのは公開から約1ヶ月後 ● 他にも逐次機能を増やしていった – 「recipetter」に対して「僕を食べちゃダメ!」など会話充実 – 検索数が多くなってきた食材をHOT食材として定期的につぶ やく – 1週間に1人しか検索しませんでした食材なども
  • 8. recipetterの特徴と利用者の反響2 ● かわいいとの反響多数 ● 擬人化された絵を頂いた→壁紙に設定 ● アイコン/口調が功を奏した ● たまに「中の人」に操られて時事ネタを喋る ● 日食時は「太陽は食べられないんだって!」など ● もともとはrecipetterがバグった際に、フォロワーの方か らの指摘に対する返事として行ったもの ● その後もTwitter検索などでrecipetterへの感想な どを参考に機能を追加している
  • 9. 開発について ● 食材を受け取ってレシピを返すだけの単純なやりと りができる実装を数日で開発 ● サーバを借りてPerlで実装 ● Twitterとの通信にNet::Twitter::Liteを使用 ● スクレイピングにWeb::Scraperを使用 ● cronで2分毎にTwitterのreplyをチェック – 未回答のreplyがあればcookpadで検索 ● recipetter、その他のbotを共通のPerlモジュールと して実装している
  • 10. その他作成したbot rerecipetter ● recipetter のレシピな ポストを淡々とRTする ● Twitterの仕様変更で、 フォローしていない人へ のつぶやきが見れなく なったので作成した ● 他人のつぶやきを参考 にして料理を考えてい るという意見を吸い上 げた
  • 11. その他作成したbot currykutter ● 「@currykutter ○○で ××を食った」のように して報告。 ● 「@currykutter ○○で ××を食った。おいし かった」のようにする と、同様に感想を再ポ ストする。 ● 感想のみを再ポストす るので何を食べたのか 気になる
  • 12. その他作成したbot ramenkutter ● currykutterのラーメン 版
  • 13. その他作成したbot scriptter ● プログラム名を表す コードとソースをつぶや くと、実行結果を返す。 ● 小飼弾氏が提供する APIを使用
  • 14. その他作成したbot korekatter ● 「@korekatter ○○買っ た」で○○を記憶する。 ● 「@korekatter ○○買っ た?」で過去に買った か確認できる。 ● 「見た」や「読んだ」、 「聞いた」などにも対 応。
  • 15. その他作成したbot chizuatter ● chizuatter宛てに地名 をつぶやくと、Google マップから地図を探して 住所やURLなどを表示 する
  • 16. その他作成したbot omiyagetter ● omiyagetter宛てに地 名をつぶやくと、その土 地のおみやげや特産 品を紹介 ● 商品情報は楽天市場 のデータをAPIで検索。
  • 17. botを作成して気づいたこと ● 何よりもまずアイデア ● 対話型で双方向のコミュニケーションをとると良し ● 口コミやRTによる紹介で一気に広がった ● アイコンや口調で特徴付けが大事 ● キャラクター性を前面に出す – んだけど、そこにこだわりすぎて使いにくく(または作りにくく) なってはいけない – と最近思ってます