カテゴリー
fun

Pythonによる自動化の結果、ニューヨーク中でタダメシが食えるようになったエンジニアの話

いかにして私はPython/自動化/AI/インスタグラムを使いニューヨーク市で無料の食事をできるようになったか(How I Eat For Free in NYC Using Python, Automation, Artificial Intelligence, and Instagram)という記事が面白かったのでご紹介。

ニューヨーク在住のデータサイエンティスト、クリス・ブエッティさん(Chris Buetti)が明かした、3万フォロワー超の人気アカウントを育てた秘密。

データサイエンス/ソフトウェア開発の知識、自由な時間とインスタグラムの知識があれば再現可能だといいます。

Instagramを育てる

Pythonスクリプトで、毎日、一日に数回、ニューヨークに関する写真をInstagram に自動投稿させます。ブログ主によると、Instagram の「発見」ページに掲載してもらうにはこれが大事だそう。一日も欠かさず、何週間も続けることで掲載されやすくなるそうで、ほとんどの人力Instagramer はこれで競争から脱落してしまうということ。

人気が出そうな写真を機械学習で選ばせる

投稿内容の画像ですが、当初は、他のInstagramユーザーの新着投稿から画像をスクレイプし、オリジナルへのリンクをつけて投稿していたそうです。

ニューヨークの写真を投稿している50人のInstagramユーザーのページをスクレイプし、写真だけでなくキャプションやイイネの数も保存します。

キャプションから宣伝目的と思われる文章、「購入」とか「限定」といったものがあれば外し、再生回数やイイネの数が多いものをフィルタすることで、質の高い評判を呼んでいる写真だけを選び取らせます。

また、コメントが投稿できなくなっている投稿については、写真を取り込まないようにしたそうです。コメント欄が閉じられている投稿は、リスクが高いと判断してとのこと。

当初はルールベースでやっていたこのフィルタを、さらに機械学習に置き換え、自分で目視で良い/悪いのデータセットを作ったりの手間も掛け、結果として「より人気を得る写真」のみを転載するボットが完成したということ。

他人の写真勝手に再利用するのは問題なのでは、と思いますが、スクレイプ元にリンクをして「問題があれば言ってくれれば消します」と書いておくと、ほぼ苦情は来なかったそう。

また、最新版のボットでは、他のInstagrammer の写真をコピーするのは止めて、ロイヤリティーフリーの素材サイトをスクレイプした画像を投稿するように変更したそうで、今後は著作権侵害だと言われるリスクも減らしているよう。こちらは十分な独自のフォロワーを確保した後だからこそ可能なのかもしれませんが。

コメントやタグを機械学習で作らせる

写真に添えるコメントは、当初、どんな写真につけても通用しそうな文章のパターンをリスト化し、それをランダムで出していたそうです。

例として「ここどこか知ってる?」「ニューヨークで好きなバーをコメントして!」「死ぬまでニューヨークを楽しめ」みたいなコメントが出ています。

次にクレジット。出典を示すことで画像を再利用したことへの苦情が減ると考えたのか、誰の写真かというのをコメントに書くことに気を配ったようです。まずは引用元のアカウントを書きますが、引用元のアカウントが撮影した写真とは限りません。そこで、引用元のコメントにあるクレジット情報を正規表現で抽出したり、写真にタグをつけたユーザー名を抽出したりすることで、可能性のあるユーザーを列挙しているようです。これも自動です。

写真をコピーされたことへの苦情どころか、「シェアしてくれてありがとう!」という反応すら来るようになったのだとか。

ハッシュタグは、一枚の写真に最大30個がつけられるそうです。知らなかった。そして、おそらく、良いタグをつけるほど広まるのにも有利なのでしょう。ということで、100個のタグ候補リストを作り、そこからランダムで30個を選びつけさせています。これも手動ユーザーにとっては面倒で徹底できないところでしょう。

また、公開後にはつけたタグとイイネの相関も調べて、人気がでそうなタグを探すということもしているとか。

成果を刈り取る

インスタグラムのダイレクトメッセージやメールで、「メインディッシュ無料にしてくれたらポジティブなレビューを投稿するよ」と提案すると、ほとんどのレストランが無料の食事やギフト券を確約してくれるそうです。多くのレストランではこういったプロモーションのための予算が取ってあり、あまりにうまくいったものだから友人や家族で手分けして食べに行ったりしたそうです。

現在は、レストランに売り込みして無料サービスを受け取るDMやメールを送るためのスクリプトも動かしているそうで、こちらも自動化達成されていますね。

さて、実際にどんな Instagram アカウントなのか気になると思いますが、@beautiful.newyorkcity がそれ。現在は3万人を越えたフォロワーがいるようですが、無料の食事にありつくにはこれぐらいで十分なのですね。

コメント欄はいつも同じような当たり障りのない事を、しかも何度も繰り返しているだけなのですが、多数のアカウントをフォローしている人は読んでないか、気にもしていないのかもしれません。「みんなが見てるよ。みんながイイネしてるよ」という状態が、さらに多くのイイネを呼び、それをプラットフォームが推薦することでさらに成長のスパイラルが加速していく、といったところでしょうか。

先週、『Instagramが「いいね!」数公開を中止を検討、群衆心理の抑制を狙う』という記事が出ていましたが、ソーシャルメディアのイイネ/Like の数は、今やこういった操作のターゲットになってしまっているのかもしれません。

via Eater

カテゴリー
データ可視化

フェイスブックがスーパーボウルに向けてNFLファンの分布を解析

Facebookのデータ科学チームが、来週のスーパーボウルを前に、Facebook上でのアメリカンフットボールのプロリーグNFLのファン活動のデータを解析した結果を発表しています。

アメリカ合衆国のフェイスブックユーザーのうち実に3500万人(全人口の1/10以上)が、32個のNFLチームのFacebookページのどれかにイイネ!をしているということで、フットボールはアメリカ人にとっての国民的スポーツといっていいでしょう。

チームが勝っている時やプレーオフに進出している時は、通常よりもイイネ!の増え方が速い、ということで、それを除外した上でどの州・郡の人がどのチームを一番イイネ!しているか、という地図がこちら。

nfl-fans-on-facebook

アメリカのプロスポーツはどれもそうですが、それぞれのチームの根拠地(フランチャイズ)周辺では、そのチームのファンになって応援する人が多い、というのが現れていますね。

とは言っても、読売とかヤンキースみたいに全国的な人気の球団というのもあって、チームが無い州とかでは、ハワイのPIT(ピッツバーグ)とか、アラスカのGB(グリーンベイ)とか、あらゆる過疎地に現れるDAL(ダラス)などが人気を得ているようです。

Facebookはまた、プレーオフの進展にあわせて、勝ち残ったチームだけを残してプロットしたらどうなるか、という地図を見せてくれています。人気面からは、サンフランシスコ対ニューイングランド(ボルチモアに敗退)のスーパーボウルを期待してた地域が多かったと読むこともできるかと。

また、Facebookらしいソーシャルグラフ(友人関係)のデータを使った面白い分析も。あるチームのファンは、(同じチームのファン、というケースを除いて)どの他チームのファンの友達が多いか、というチャートです。

nfl-common-fan-friends

SF-OAK, NYJ-NYG, CHI-GBなど、フランチャイズが近かったりライバル関係があったりというチームのファンが、友人には多い、というのは自然ですね。また、STL, KCなどは、「どのチームのファンの友達としても少数(=上位5位に入ってこない)」という、孤立傾向があるのだとか。

大量の嗜好データを持つフェイスブックならではの分析記事ですね。日本のプロ野球でも計算してくれると、きっと面白い特徴が浮かび上がってくるのではないかと思うのですが。

via NFL fans on Facebook, based on likes

カテゴリー
ネットの事件

フェイスブックで霊界からのイイネ!が発生中?

ReadWriteWebのバーナード・メスラーさんの記事Why Are Dead People Liking Stuff On Facebook? (どうして死者がフェイスブック上でイイネを押すのか?)によると、既に亡くなっているはずの友人による、本人が好みそうにもないブランドページなどに「いいね!」を押したという通知がタイムラインに上がってくるという体験をしているユーザーがいるそうです。

先月、友人のブレンダン・オマリーさんがFacebookをなんとはなしに使っていたところ、友人のアレックス・ゴメスさんがクレジットカード会社のDiscoverにイイネをしているのを見て驚きました。アレックスさんがそういった大企業のことを嫌っていたからというのもありますが、何より彼は半年前に亡くなっていたからです。

今年3月26日か27日頃に亡くなっていたアレックスさんのイイネの日付は、11月1日でした。こちらがその証拠のスクリーンショット。

元々これは、メスラーさんが「Facebookで怪しい動作があったら画面を送ってほしい」と友人たちに呼びかけたことに対して来た返事だったのですが、これ以外にも、完全にリベラルな友人が(保守的な大統領候補の)ミット・ロムニー氏にイイネしたり、車を持ってない友人がスバルにイイネしたり、ベジタリアンがマクドナルドにイイネしたり、という情報が集まってきたということ。

そして、イイネした本人に確認してみても(亡くなった方は無理ですが)、誰も、そんなページのイイネを押した覚えはない、というのです。

フェイスブックに問い合わせた著者は、「アカウントが”memorialized”(記念されている)状態、つまり、誰かがフェイスブックに「この人はもう亡くなってますよ」と教えた場合に移行する状態、でなければ、死んだ人からのイイネは起こりえます」という回答を得たそうです。もし誰もフェイスブックに友人の死亡を伝えなければ、フェイスブックはその人がずっと生きているままだと考えるというわけです。

そうだとすれば、何ヶ月も前に押された「イイネ」が、友人のニュースフィードを流れ流れて、今のタイミングで通知されるということは、有り得なくはないということ。しかし、このアレックスさんと、もう一人同様に報告された既に亡くなった人から来た新着イイネが、とても本人が支持しそうにないブランド・会社へのイイネだったという謎の方は解けていません。

そのあたりは、フェイスブック側の回答では、「人々は間違ってイイネを押すこともありますよ、特にモバイル版など画面がせまい時などは」ということです。著者が集めてきた謎のイイネの事例のうち少なくとも一つは、本当に本人が押したものだ、と詳細な時刻まで添えて来たということ。

もともとこのメスラーさんが聞き取りを始めたのは、お金を払ってFacebookページを売り込むPromoteページの効果が予想より低いぞ、ということからだそうです。彼は、「もしそんな多くの間違いイイネが存在するとしたら、『利用者の好みを正確に集めているからフェイスブック上での広告は効果が高いのです』というそもそもの売り込みも、怪しくなってしまうのでは?」という疑問を投げかけています。

僕自身は、それほど熱心なユーザーでは無いからかもしれませんが、これまで友人が押さないようなイイネの通知を受けたり、死者のイイネを見かけたり、という経験はありません。ですので、この著者が言っている謎のイイネが、どれぐらいの頻度で起こっているのか、ちょっとわからないなあと思っています。この著者が頑張って呼びかけたから集まっただけという可能性もあるのかなと。

まあ、フェイスブックでの友人が何をイイネしているか、とか、その友人が本当にそのページをイイネしそうかどうか、というのをそれほど気をつけて見てなかったからかもしれませんが。上記のような体験をされた方はいますか?