「ハック」タグアーカイブ

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

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

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

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

https://www.instagram.com/p/BwZh3-NlPds/

Instagramを育てる

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

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

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

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

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

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

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

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

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

https://www.instagram.com/p/BwS6nNqFG3k/

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

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

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

https://www.instagram.com/p/Bv7vVPiFuht/

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

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

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

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

成果を刈り取る

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

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

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

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

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

via Eater

電動キックスクーター シェアリングの LIME、案内音声をハックで差し替えるイタズラに遭う

オーストラリア、ブリスベンのカンガルーポイントで、LIME 社のシェアリング電動スクーターが複数台同時にハックされるという事件が発生しています。

ステーションに並んだスクーターが、一斉に「一緒に乗りましょう」「私を連れまわして」などと喋っています。

オリジナルの内蔵音声が、何者かの手によって書き換えられたのではということです。

こちらの動画では、スクーターを勝手に持ち去った際の警告が差し替えられています。

ニュースでも「差別的」と言っていますが、移民風の喋り方などがそれにあたると感じられているのでしょう。

LIME や競合の Bird の電動キックスクーターについては、無料で解錠して乗るハックや、リモートから突然ブレーキを掛けるハックも出ていて、YouTube を検索すれば多数出てきます。

欧州中心に電動キックスクーターのシェアが爆発的に広がっているようですが、本体の電子部分が Bluetooth で簡単にアクセスできるタイプのものが有ったり、セキュリティ面で心配な事件も多いようです。

via Brisbane Times via Reddit

iPad のカメラをボタンにするハック

iPad を Mac 用のタッチパッドにするアプリ Astropad が、新しいハックによって iPad にないボタンを増やした、とブログで発表しています。

ホームボタンが廃止されていく中で「アップルのミニマリズムへの追及に備えるため」と、カメラをボタンにする、その名も「カメラボタン」を思いついたということ。

カメラの上に指を置いて隠すと、カメラが隠されたことを持って「押された」ことにする、という仕組みです。

Astropad のようなお絵かきアプリでは、ボタンを押すとメニューが出てくるボタン、をどこかに置く必要があります。これを画面内に配置することももちろん可能ですが、画面のどこかにあるということは、描いている絵が一部隠れてしまうということになります。画面にボタンを置かずに、メニューボタンを実現したい(ホームボタンが無くなっても)、ということで考えた末に思いついた、とブログでは述べています。

ずっとカメラが動いてると電池の減りが早いのではないか? という疑問に対しては、指で隠されたことを検知するコードを頑張って、CPU使用量を1%以下に収めたそうです。

また、プライバシーの問題についても、オンオフに必要なぼんやりした画像のみを取り込むようにし、またカメラから来たデータがiPadの中に保存されたりすることのない構成にしたということ。まあこのへんはアプリ開発者を信じるかどうかになってしまうと思いますが。

カメラボタン機能自体を、設定でオフにすることもできるので、このUIしか使えないというわけではありません。

いろいろ考えるものだなあ。もちろん Apple が望んだ使い方では無いので、AppStore から消されるなどのリスクもあるかもしれないですね。

Astropad Standard

カテゴリ: Productivity, Photo & Video
言語: 英語, 日本語, 中国語, 中国語
価格: $29.99
バージョン: 3.3

開発者: Astro HQ
公開日: 2015-02-17
評価(全バージョン):
(5292人のレビュー)
評価(現バージョン):
(178人のレビュー)

スクリーンショット

screenshot 0screenshot 1screenshot 2screenshot 3screenshot 4

via The Verge

世界の大型個人情報流出をまとめたインタラクティブグラフ

Informaition is Beautiful(情報は美しい)が作成したWorld’s Biggest Data Breaches(世界最大のデータ流出)は、これまでの大型のデータ流出事件を集めて可視化した、インタラクティブなチャートです。

worlds-biggest-data-breaches

ここでは、3万件以上の顧客情報を流出した企業やwebサービスが記録されています。デフォルトでは、

  • 流出した時期が縦軸に2013年から2004年まで、
  • 左から右へアルファベット順に、
  • 流出したデータの件数の大きさに応じたサイズの丸が

描かれています。それぞれの丸にカーソルを置くと、”read a bit more”というリンクが表示され、実際にどんな情報流出が発生したのかを、もう少し詳しく知ることができます。

リンク先で実際に触ってみてもらうのが一番です。

また、チャートの上にある”Method of Leak”を選ぶと、情報が流出した原因・経路で色分けされます。右上の”Filter by”で、流出原因の一覧を見たり、絞込み表示したりできますが、流出原因としては、以下に分類されています。

  • 間違って公開された
  • ハックされた
  • 内部者による
  • パソコン紛失・盗難による
  • 記録メディアの紛失・盗難による
  • セキュリティレベルが低かった
  • 不明
  • コンピューターウィルス

多いのはどれでしょうか? ハックされた、が一番多いですね。次が間違って公開された。3万件以上の流出(で事件が判明して公開されているもの)は、ウィルスとか盗難というのはそれほど多くないのだなとわかります。

“Data Sensitivity”を選んだら、流出件数ではなく流出したデータの重要さに応じて丸のサイズが表示されるように変わります。

via Data breach interactive chart shows major increase in security flaws | VentureBeat

不思議な自己参照ツイート

2年前のあるツイッターのつぶやきなのですが、よく見ると不思議なところがあります。

左下の「2009 8月 5」のところにマウスをあてて、このつぶやきのURLを確認してみてください。自分のつぶやきのURLを、つぶやきの中で紹介しています。

ツイッターで投稿する際に、自分の投稿がどんなURLになるかはわからないので、普通に考えるとこのつぶやきは書けませんよね?

種明かしはこちらにある
のですが、要は、最新のツイートのIDを見て、そこから最短で書き込んだ場合に何百ぐらいIDが増加するかを見積もって投げるスクリプト、を動かしてつぶやかせたようなのですね。

当然、成功するまでは失敗ツイートも量産されますが、失敗したのは消してしまえば残りません。昔はBasic認証でつぶやきを投げられたので単純なスクリプトですが、今再現しようとするともっと面倒なことになるでしょう。力押しもほどほどにしないとツイッター社に見つかってアカウント消されたりもするでしょうし。

via Self-referential URL | Hacker News