カテゴリー
データ可視化

地図で嘘をつく – 事実をプロットしても色や形で印象は変わる

ニコラス・ランバートさん(Nicolas Lambert)の公開したインタラクティブな地図 How to Lie with Maps (地図で嘘をつく)は、9月29日にフランス各地165都市で行われたデモに参加した人数をフランスの地図上に描く、というだけのことが、地図作者の意向次第でどのようにも変わりうるということを示してくれます。

How to lie with maps moderate expression by @neocartocnrs (MIT license)

これはスライダーを中間ぐらいにした表示。タイトルもスライダーに連動して変わり、この時は「フランス全土で2万5000人が」となります。

How to lie with maps reticent by @neocartocnrs (MIT license)

スライダーを絞ると、同じ場所・同じ人数がより小さな円でプロットされ、地域や参加人数の描かれる色も熱量を感じないものになります。タイトルは「大失敗」

サイト上で実際にスライダーを動かして、5種類のタイトルと連動した「同じ」地図を見比べてみてください。地図で事実を書くだけでも、受け止め方をまったく変えられることができるのだなというのを実感することができます。

via Maps Mania

カテゴリー
データ可視化 プライバシー

Googleと通信する度に音を鳴らすツール

berthubert/googerteller は、Googleとの通信を可視化(可聴化?)するオープンソースのツールです。

ツールは tcpdump で出力した通信先のIPアドレスを、既知の Google サーバー群の IPアドレスとパターンマッチし、オーディオライブラリのespeak-ng/pcaudiolib で音を鳴らすという仕組みで動いています。

作者の Bert Hubert さん自身が、オランダ政府サイトの求職ページを開いた時にどれだけの通信が Google との間で発生しているかを twitter で見せてくれています。

ブラウザのアドレスバーでの文字入力時の音は キーワード予測、Google検索の時の音はもちろん、ボタン上でホバーした時やページ遷移した時の音は Google Analytics でしょうか。

便利な機能を提供するために必要な通信ですし、サービス提供側や広告ネットワークからユーザーの属性を知るために集められる通信もあるでしょう。多数の通信が発生していることは多くの人が知っているでしょうけれど、その頻度が音という形に変換されると、多いなとか意外に少ないなとかは人によって異なるでしょうが、通信があるということ自体は意識させられます。

via Hacker News

カテゴリー
データ可視化

バスケットボール中継のハイライト動画をPythonで作る

Python で NBAハイライト動画を自動生成するという記事が面白かったのでご紹介。

ゲームをまるごと観戦する暇がない時、ハイライト動画を見て済ますスポーツファンは多いでしょう。ハイライト動画は球団やテレビ局などが編集して出してきますが、必ず見られるわけでも、自分が見たい粒度のハイライト動画が必ずあるわけでもないかもしれません。

ノーム・エフラットさん(Noam Ephrat)が自分だけのハイライト動画を自動で作るために使ったのは、Python、NBA公式のAPI、録画したゲーム動画、OCRライブラリ。

NBAのAPI(参考) では何分何秒にどちらのチームの誰がどういうプレイをして、シュートが入ったとか外れたとかいうプレイバイプレイ(play-by-play, PBP)の情報が公開されています。日付、ゲームID、ピリオド(クオーター)を指定するとJSONが返ってきます。これが一つ目の要素。

https://data.nba.net/data/10s/prod/v1/20220201/0022100784_pbp_1.json

そして、録画した動画をフレームごとに切り出して、中継中に表示されたゲーム時計の部分を OCR ライブラリの Tesseract でピリオドやゲーム時間を抽出します。これが二つ目の要素

あとは、プレイバイプレイの重要シーンの発生した時刻に合わせて、動画のフレームを切り出し、切り出したところをつなげていくと、ゲームが動いたところだけがまとまったハイライト動画を作ることができたということ。

ざっと見てみて、プレイバイプレイのデータにあるところだけだと、どうしても点が増えたシュート成功の場面が多くなるのかな、とも思いましたが、人間が編集したハイライト動画でも成功シーンが多いので気のせいかもしれません。

作ったハイライト動画を公開するのは著作権的にだめだと思いますが、個人でハイライトを作って観るのは問題なさそうでは。

自分の基準で抜き出すところを選べるからには、

  • ひいきチームの得点シーンばかりを集めたり
  • 応援する特定の選手の絡むシーンだけを集めたり
  • 点差や時間を考えて、より劇的にゲームが動いたシーンだけを集めたり(これは人が編集する時と似た結果になるかも)
  • 自分の使える時間に応じてハイライト動画の長さを指定して変えたり

など、よりパーソナライズされたハイライト動画を作れる可能性もありますね。

バスケットボールという競技が特に時計が重要で、常時正確な時刻が中継に表示されていることや、APIで提供されるゲームログにも時刻情報がふんだんに含まれているという点も、うまく自動生成にマッチしているというのもありそうですね。