「ビッグデータ」タグアーカイブ

Pushshift.io – reddit掲示板の過去投稿を提供するwebサービス/API

pushshift.io は、英語圏の巨大掲示板 reddit の過去の書き込みを蓄積し提供しているサイトです。ジェイソン・バウムガートナーさん(Jason Baumgartner)という個人の方による運営です。

FAQ ページを読むと、過去のデータを期間やキーワード、ユーザー等で一括取得したい時に使うサービスだということ。新規のコメントをリアルタイムで取得したい時は reddit 公式の API を使ったほうが良いとありますね。

reddit は巨大な掲示板なので、データ量も相当になると思いますが、 Pushshift は個人 + 寄付によって維持されているようです。

Pushshift API を使ったサービス

過去の膨大なコメントにAPIやCSVでアクセスできるということで、これを利用したサービスもいろいろ存在するようです。

revddit

任意の reddit ユーザーに対し、削除した/削除されたコメントを検索できるサービス。

自分の記憶にない8年前のコメントが出てきました。僕が消したわけではなさそう。スレッドがアーカイブされた結果見えなくなっているという意味でしょうかね。

Pushshift Reddit Search

いろいろな指定で、過去の reddit 掲示板をテキスト検索できるサービス

PSAW

Pushshift API を Python 3 から呼び出すためのラッパーライブラリ。

最新のスレッドを100件取るにはこんな感じ。

# The `search_comments` and `search_submissions` methods return generator objects
gen = api.search_submissions(limit=100)
results = list(gen)

スラング等が多く入った日常英語の書き文字データを大量に入手できるので、自然言語処理や機械学習の実験に使えるのではないかと思いました。

via Hacker News

ロンドンで一番ひどいバス停を見つける – ビッグデータ活用事例

ビッグデータ解析サービスの英コグニシオ社(Kognitio)が公開している、ロンドン最悪のバス停(The worst bus stop in London)は、ロンドン交通局の運営するバス運行に関する膨大なデータを使って、運行状況に関して優秀なバスやひどいバスを見つけるというプロジェクトです。

対象となるデータの規模は以下。

  • データ数 4,938,534,706
  • バス停の数 19,687個
  • バス路線数 675本
  • バスの台数 9,641台

ロンドン交通局のオープンデータというページがあるので、ここから入手できるのでしょうね。

これらのデータから、たとえば、7つの運行ゾーン毎に、「バスがとても遅れるバス停」「時刻表より前にバスが来がちなバス停」などのランキングが求められています。

これは「ロンドンで最も出発が遅れる路線」。走ってて遅れるのではなく出発が遅れるってどういうこと? と思いますが、運転手が遅刻するとかそういうのもあるんでしょうか。

こちらなんかは良い方の結果で、最も時間に正確なルート。路線のバスのうち85%が時刻表から外れずに走っているそうです。

郵便番号でランキング

バスが正確な地域、不正確な地域をランキングするには、郵便番号(の上3桁)が使われています。

なんで郵便番号? と思うかもしれませんが、イギリス(や西洋の多く)の住所は通りの名前+番号なので、おおまかなエリアを示すには郵便番号が便利なのかもしれませんね。

ロンドンで最も使えないバス停は

すべてを総合した、ロンドンで最悪のバス停は、ヒースロー空港近くのリングウェイ(Ringway)バス停だそうです。時刻表通りに来るバスの割合は全体の4%、25本に1本しかないのだとか。

ロンドン交通局自身も、いろいろとデータ処理して同様の情報は持っているのかもしれませんが、こうやってオープンデータとして公開することで、第三者が検証したり改善提案してくれたりするのはいい感じです。

中世から現代まで、21万枚の絵画に使われている色の変化をRで可視化したグラフ

過去から現在までの大量の絵画データを使い、「時代の色遣い」があるかどうかを調べようとしたマーティン・ベランダーさん(Martin Bellander)のブログから。

大量の絵画データの取得先は、グーグルのアート・プロジェクトWikiアートなどいくつか候補があったのですが、英BBCのサイト Your Paintings を選んだということです。このBBCのサイトにはイギリスを中心にヨーロッパ絵画が収められていると思われます。

paintings-bbc

21万枚を越える絵画データが閲覧できるということで、Windows上のR言語スクリプトで全絵画ファイルのURLを取得し、そこから、画像ファイル、描かれた年(年代で示されているものは最初の年)、油彩かアクリルかテンペラか混合技法か、などの情報を取得保存しています。

ファイルが壊れているものなどを自動・手動で除去した後で、描かれた年ごとにまとめ、各絵画から100個の点をランダムにサンプリングし、色相・彩度・明度を調べ足しこみます。

colors-history-of-paintings

グラフの左側にある白い部分は、その年代の絵画が無かったからですね。全体的に、絵画に使われている色の多くが赤・オレンジ・黄色で占められているというのがわかります。

また、20世紀に入ってから青や緑の量が増えていることがわかります。これについてもベランダーさんは考察し、いくつか仮説を立てています。

  • 「青」という色や名前が他の色と比べ新しい概念・認識である(Business Insiderの記事)
  • (グラフでカウントしてない)暗い色・黒を、青として取ってしまっている
  • 古い絵画ほど、経年変化で青色の樹脂が失われている
  • 昔は青い絵の具が高価だったが安くなって使われるようになった

他にも、全体的な絵画界の流行としてそうなった要素もあるかもしれませんね。どれも決め手というほどの理由でもなさそうで、コメント欄では議論が続いています。

コメント欄では1914年からの映画ポスターの色を分析したという2012の記事も紹介されていて、絵画だけでなく、20世紀は青色の利用が増えた時代と言えるかもしれません。

via Flowing Data

東京人が一番眠りが短い – 腕輪センサーのJawboneが公開した各国の生活時間データがおもしろい

腕輪方のセンサーと、そのデータを使ったライフ・トラッキングのwebサービスを提供している Jawbone 社が、ユーザーから集まったデータを集計して世界各国の生活パターンの違いをまとめています

jawbone-sleep-pattern-around-the-world

上のチャートは一日のそれぞれの時間で、寝ている人の割合を都市ごとにプロットしたものです。

オレンジ色の線が東京のユーザーのものなのですが、他の都市の人たちと比べて、あきらかに寝ている時間帯が内側に寄っている=睡眠時間が短い、のがわかります。

平均して5時間46分、は、最も長いオーストラリア・メルボルンの6時間58分よりも1時間以上短いことになります。

5時間46分の睡眠は、いくらなんでも短すぎるようにも思えますが、これらの睡眠時間は、実際にベッドに入ってから出るまでの時間ではなく、Jawbone のリストバンドが検知した、ベッドの中で本当に寝入ってから目が覚めるまでの時間だということ。ベッドに入ってからもなかなか寝られない、という人は短めに出てしまうのですね。

明け方の4時半、東京では寝ている人の割合が一番高く、93%になります。7%の人はその時間に起きているということですが、ドバイはもっとすごくて、常に全体の10%以上の人は起きているそうです。

昼寝(シエスタ)のイメージがあるスペインで、マドリードの3%の人しか実際には昼寝していないのに、北京では6%の人が昼食のあとに昼寝しているとかも興味深いですね。

リンク先のブログでは、チャートで表示する都市をインタラクティブに選択できるので、興味のある方は自分でいろいろ触って比較すると楽しいかと思います。

「Jawbone のようなセンサーデバイスを使って自分の睡眠や活動を管理しようとする人」だけのデータなので、多少は偏っているかもしれないのですが、それでもお国柄の違いのようなものが見えてきて面白い可視化ではないかと思います。

via Flowing Data

ソーシャルネットワークを避けてても、友達が使っていれば非メンバーの友人関係が推測できる、という研究

ソーシャルネットワークでは1+1=3になる(One plus one makes three for social networks)、というタイトルの研究が公開されています。

ソーシャルネットワーク上の会員は、しばしばプライベートな情報を公開することを選択します。そうして多少のプライバシーを犠牲にする代わりに、様々な機会や娯楽を楽しむことができるというわけです。私たちはここで、会員間で確認された友人関係と、会員から非会員へのメールアドレス情報という、一見無害そうに見える情報の組み合わせだけから、非会員と他の非会員の間の関係性を導けることを示します。機械学習により、ある会員が知っている二人の非会員が知り合いかどうかを、会員登録している人の割合や非会員のメールアドレスの登録割合を保守的に見積もったとしても、ROC曲線下の面積(AUC)が0.85以上にて推定できました。
Abstract

プライベートな情報をソーシャルネットワークに与えるのが嫌だ/不安だ、としてフェイスブックなどの登録を避ける人もいると思いますが、たとえ自分が登録しなくても、自分の知人達が登録していて、その知人が自分のメールアドレスをサービスに教えていたら、機械的にあなたの交友関係を推定できる可能性がある、というのがこの研究です。
下の図では、丸い点がそれぞれ人を表し、人と人との間がつながっている場合、それは友人関係を示しています。
黒い点が会員で、赤い点は、黒い会員がメールアドレスを登録している非会員で、緑の一方向の線でメールアドレスを知っていることを示しています。そうした時、機械学習により、赤い点と他の赤い点に関係(赤い線)があるかどうかを推定するという話。
Modelnetwork
フェイスブックに限らず、登録時にgmailやyahooメールなどのアカウントから、アドレス帳の情報を渡してソーシャルネット上で知人を探す、という仕組みがありますね。僕は怖いので使ってませんが。もし過去にメールをやりとりした人がアドレス帳をサービスに渡せば、自分が登録しなくても自分とその人の関係性は登録されるわけです。複数の人からそうやってメールアドレスで指されていれば、それを使ってジグゾーパズルの穴を埋めるように、自分がソーシャルグラフの中のどこに居るのか当てられても不思議はないということですね。
この記事では、ごくごく単純な友人関係とメールアドレスだけを使っていますが、ソーシャルネットワーク業者からすれば、これ以外にも誕生日や性別や住所など、参考にできるデータは大量にあるわけで、それらを駆使すれば、より精度よく、「まだ参加していない非会員」についても絞込みができるだろう、ということです。
上の図では人口の30%が会員登録している、というモデルですが、実際にそれ以上の割合で周囲の人がソーシャルネットワークに登録しているような人も増えていくでしょう。登録したプライバシー情報を何にどう使われるか心配だ、という問題は、単に「自分は参加しないから大丈夫」ということではなく、自分が参加しようとしまいと、ある程度節度を持ってデータを使ってもらうように求めていかないといけないのかもしれないですね。
via Staying Off Facebook Won't Protect Your Privacy

ツイッターのつぶやきの言語と座標から作られた、世界の生きた言語地図

ツイッターのつぶやきの言語と座標情報を集めて、言語ごとに異なる色でプロットした世界地図
Language communities of Twitter
作者はEric Fischerさん。この人は、2010年にデジカメ画像の位置情報を集めて「旅行者」と「現地人」をプロットし、世界各都市の観光地を可視化する、というのをやって話題になった人ですね。
ヨーロッパの様子。言語の切れ目でぼんやりと国境が見えてきます。
Twitterbylanguageseurope
カタランとかスイスとか旧ユーゴとか、面白いですね。
こちらが日本周辺を切り出したもの。
Twitterbylanguagesjapanese
海上の座標でつぶやかれた日本語のツイートがけっこうあるような。GPSの精度の問題か、漁船やフェリーとかからつぶやく人がそんなにいるのか、理由はわかりませんが。
あと台湾の中国語の色が日本語の色と似てるのがまぎらわしいです。
つぶやきの言語を判定するには、言語判定のライブラリを使っているそうです。
ちなみに、文字列からそれがどの言語かを推定する言語判定ライブラリとしては、サイボウズ・ラボでも中谷さんが開発しているLanguage Detectionライブラリがあり、これ検出精度もかなり高いようです。もし上記のような地図など作ってみたい方がいたらぜひ試してみてください。
via Language communities of Twitter