2017年5月12日(金)から13日(土)にかけて開催されたDB(ドイツ鉄道)オープンデータハッカソンに参加してきました。友人であるドイツ人の大学教授から、4月末に「こんなイベントがあるんだけど来ない?」と誘われて、反射的に「行く!」と答えてしまったのですが、あれ?もう2週間しかないじゃん、しかも場所がベルリンってドイツじゃん、ってなって、でも、行ってしまいました。学生も、場所のことを隠して「面白そうなハッカソンがあるんだけど一緒に行かない?」って誘ったんですが、さすがにバレちゃいました。
##今回のハッカソンはJR東日本がパートナー?
Webページに大きく、E5系新幹線とドイツのICEが手を繋いでいる絵が出ていますね。実は今回のハッカソンの目玉として、JR東日本がパートナーとして参加しているのです。だからドイツ人の先生も私を誘ってくれたのですね。JR東日本はDBと技術提携をしており、それが今回ハッカソンへの協力の背景のようでした。ただ、直前までほとんど情報が出ていませんでした。最初にアクセスしたときはこの絵もなくて、唯一載っている、過去のハッカソンをまとめたYouTubeを見たら、みんなドイツ語を喋ってて。JRもデータを出すの?日本から人も来るの?そもそも、みんながドイツ語を話してたら会話に加われないじゃん!
##開催場所
ともあれ、ドイツです。木曜日の深夜に着いて、帰りは日曜日の朝という強行軍です。会場は、Sバーン(地上を走る都市の近郊電車)、Uバーン(地下鉄)の Jannowitzbrücke という駅にあるDB mindboxという施設です。ここはどうやら、DBが古い駅の一部にハッカソンなどオープンコミュニティとの交流を行う実験的な場として開いた場所のようです。って、日本にもそっくりの場所がありますね。秋葉原のすぐ近くにある旧万世橋駅とそっくりじゃないですか。mindboxの所長さんが開会挨拶でもネタにしていて、我々は既にJR東日本にハックされた!なんて言ってました。でも、写真並べても、ソックリすぎて逆に気付かないよね。
##DBのオープンデータ
DBは日本のJRや国鉄に相当するような企業で、今は民間企業なのですがドイツ全土の鉄道を運行しています。数年前まで、とても「オープンデータ」なんていう雰囲気の会社ではなかったそうです。でもどういうわけか今はかなり熱心です。そのあたりの事情をDBの方に伺うと、数年前に「オープンデータ無しのデジタル化はあり得ない」「自分たちだけではデジタルデータを扱うことができない」と考え、CEOの決断で少人数のチームでオープン化を進めたそうです。Webページを見ると、いろいろなデータが載ってますね。ドイツ語のみで英語版のWebがないのがつらいのですが、自分はChromeの自動翻訳で乗り切ってます。なおドイツの公共交通オープンデータ事情については、先日記事を翻訳しました。DBもまだはじめたばかりで、都市内の交通のオープンデータはまだまだみたいですね。
##DBハッカソン
DBハッカソンは今回で7回目で、毎回、データを揃えたりテーマを見つけたりして開催しているそうです。今回はJR東日本との連携ということで開催、その前は、駅にあるコインロッカーや時計などを持ち込んで、IoTハッカソンというテーマで開催したそうです。毎回数十名から100名以上の人が集まり、今回は登録者が200名を超えて、食事が足りなくなってしまったと言っていました。すごいですね。初期にエレベータの稼働状態をオープン化し、それが、障害者向けの移動支援地図作りに繋がったことなどが成功体験としてあるようです。次回はフランス国鉄SNCFを誘うつもりだとお話しされていました。
ハッカソン会場には提灯や日の丸が掲げられ、日本の駄菓子なども並んでいて、今回のハッカソンがかなり「日本推し」であることを印象づけてました。JR東日本からも、7名くらいの方がいらしていて、想像してた以上に力を入れているようです。開始前にプレハッカソンとしてデータなどを扱うワークショップを開いていましたが、こちらは、私は参加していないので詳細は分かりません。参加者にはバッチとTシャツが配られ、バッチには話せる言語を書く欄がありました。こういう場合に共通語は英語ですね。挨拶や進行などは全部英語で進められました。
参加者は会場内に100名以上はいました。9割以上が男性、挙手をさせてたのですが、ベルリンからが2/3くらいです。さすがスタートアップの街です。英語しか出来ないという人もいました。JR東日本の方以外に、私以外日本から来た参加者はいないようでした。
ハッカソンには「メンター」という方も何人もいらしてました。UI/UXの専門家やビジネスモデルを相談出来る人などがいらっしゃり、スタートアップ企業がこういう方々と出会い活用するために参加するのもありかな、と思いました。
ハッカソンは5時開始だったのですが、開場の4時からたくさん人が集まっていました。開会式として、DBやJR東日本の方の挨拶やデータの説明、またJETROの方の挨拶がありました。JR東日本の紹介は、ドイツ人にはかなり衝撃だったようです。都内での鉄道の交通分担率が75%にものぼること、1日の乗客数が1,700万人もいることなど、規模は想像を超えていたようです。
参加者には「解決したい課題」などを書く紙が最初から配られており、挨拶の後はチームビルディングとして取り組みたい課題を発表します。15名くらいが思い思いの発表をして、私を呼んでくださった先生も「日本を見習ってドイツの駅に出口番号を付ける」というプロジェクトを紹介されました。ドイツの駅の出口は、通りの名前などで区別しているのですが、その場合、同じ通りの違う場所に出る出口が区別出来ないなどの問題があるそうです。日本の地下鉄や、オーストラリアの鉄道駅などの事例を考えているようです。ある参加者曰く、チームで参加する必要があるハッカソンもあるそうですが、DBのハッカソンは個人で参加しても出会いやコミュニケーションの場になっていい、とのことでした。
ようやく当日にJR東日本から提供されるデータも発表され、山手線のトレインネットデータなどが使えることが明らかになりました。データは期間限定で誰でもアクセス出来るのですが、それがいかに得がたいデータか、Facebookで友人同士の激論が始まったので、刺激を受けて私も自分のプロジェクトを紹介してみました。「日本ではJRのデータに触れる機会がないから、わざわざドイツまで、データをHackしに来たんだよ。山手線はIoTトレインで乗車人数や温度なども分かる。これを使って何かしたい。」と言うようなことを言ったら、けっこう受けてました。日本から来た、というのはインパクトあったみたいです。
##データ説明会
すこし経っていくつかワークショップが開かれたのですが、そのひとつがJR東日本の方によるデータの説明会でした。ドイツ人20人くらいが真剣に聞いています。今回提供されたデータは5種類で、私の感想としては「え、ここまで出すの?!」といういい意味の驚きでした。データ仕様についても、かなり突っ込んだ質問がいくつもあり、私はそのせいで夕食に出ていた寿司とカレーを食べそびれてしまいました。ドイツ滞在2日目にして、既にコメが食べたかったのですが、残念。ともかく、以下のデータが使えることになりました。
1. 山手線のトレインネットデータ
山手線の全車両の1分単位の位置情報、1両目から11両目までの、車両の加重を利用した混雑状況(パーセント)、車内の室温などです。今年4月17日から23日までの1週間分が提供されました。
2. 運行情報
首都圏の路線に遅れや運休が生じた場合にそれを伝えるXMLファイルと路線図の画像です。
3. 出発情報
駅の電光掲示板に表示されている車両の出発情報です。遅れデータなども入っています。3日間分あるようです。
4. 時刻表情報
山手線の駅単位の出発時刻表をXMLで表現したものです。大崎止まりの場合、大崎駅の到着時刻は入ってないんじゃないかな?(未確認)
5. 駅構内地図
画像データによる構内地図です。このデータはJRのものではなく地図会社のものだそうですが、今回のハッカソンに限り利用出来るとのことでした。
##Hack Hack Hack
20時頃には、何となくチームも固まり、プログラミングに集中する時間となりました。私としては、誘って頂いた先生のチームに加わって駅出口の番号システムについて議論しつつ、山手線のトレインネットデータを使ったプログラミングを始めていました。これは、データの面白さに惹かれて手が勝手に動いちゃう、ってやつですね。時間もないので、全データのダウンロードと今使いこなせる技術の中での可視化を始めました。
夜には音楽の演奏などもあり、なかなかおしゃれです。寿司が出たのは最初だけで、後はピザ、ピザ、ピザです。ドイツ人にもJRのデータを使う方が何人もいらっしゃり、JRの方は深夜も早朝もずっと質問に対応していました。私がドイツのデータを扱えと言われても、地名と一般的な単語の区別すら付かないので、勘も働かず時間が掛かってしまうのは確実です。ドイツの方の熱意にびっくりしていました。
12時を過ぎても残っている人が多く、徹夜でプログラミングという感じになっていました。ベルリン市内は深夜でも公共交通が走っており(週末の金曜日だったから?)、日本みたいに終電という概念がないのがちょっと違うかもしれません。私は12時半くらいにいったん市内の滞在場所に戻って寝ることにしたのですが、市内を歩くと、バーはまだ賑わっていて、12時過ぎでも女性だけで歩いているような雰囲気がありました。翌朝9時頃に戻ったときはさすがに人も減っていましたが、昼くらいまでに多くの人がまた戻ってきました。
##発表会
最終発表をするチームは、翌土曜日の15:00までにWeb登録するよう指示され、4時半からが発表会です。結局全部で24チームが発表と言うことになりました。3分の制限時間、厳守です。いくつか目に付いたプロジェクトを紹介します。これ以外にも、指定席チケットについてのプロジェクト、駅構内地図のプロジェクト、シェアサイクルのデータを分析するプロジェクトなど、興味深い発表がいくつもありました。
DB Heartbeat by Alexey Valikov
ドイツ鉄道に乗ったときに、ベルリンやフランクフルトから一日でどこまで行けるかを可視化したプロジェクト。アニメーションがきれいで楽しい。1日あれば、だいたいドイツ全土に行けるらしい。リンク先からWebアプリを実行出来ます。
Train利用 by Patrick Klose
JR東日本の山手線データには、荷重から推定した混雑率があるが、列車内で人物を画像認識して、荷重からの推定精度を高めようというアイディア。ドイツ人チームも、しっかりと山手線データを理解し使いこなしてます。
1BahnQL by Lukas Schmidt
様々な形式で公開されているDB Opendataに対して、GraphQLというクエリー言語に基づいて統一的なインタフェースを提供しようというプロジェクト。コミュニティベースでBetter APIが提案される感じ、良いです。
RedCute by Michal Jirku
Deep Neural Networksをつかって、山手線の混雑状況を予測しようというプロジェクト。96.895%の性能が出たとか。連日だいたい同じパターンで混みそうな気がするので、かなり高い確度で予測出来そうな気はするのだけれど、短時間でデータを理解し、データをダウンロードし前処理し、学習させたのはかなりの努力です。
Railax by Jaime Gonzalez-Arintero
車内の騒音を乗客のスマートフォンからクラウドセンシングで集め、移動をするときにどれくらいうるさいかを予測するプロジェクト。
routing.js by Michael Kreil
JavaScriptでブラウザ上で動く、GTFSデータに対する経路探索エンジン。GTFSデータは、DBのデータに対してコミュニティベースでGTFSに変換したものを使ってます。GitHubに簡単なアニメーションがあるだけでなく、発表のビデオがあります。
Yamanote Line Vizualization by Masaki Ito
私は、山手線を円状に表現して、混雑度合いを表現する視覚化アプリを作ってみました。緑の車両の上に、青で各車両ごとの混雑率を表現しています。発表では、こうやって視覚化することで、乗車の偏りが見つけられる、と主張しました。大崎から品川に入ってくる車両とか、先頭の1両目は激混みなのに11両目は普通、みたいな状態がほんとにあるんですね。動作画面をYouTubeに、ソースコードをGitHubに載せています。
Japanese life Style by Rémi Toudic
山手線混雑状況のビジュアライゼーションなんだけれど、可視化が楽しかった。
##表彰式
発表会の後に更に食事が出て、その間に審査、そして表彰式。しっかりメモを取ってないですが、5件くらいが入賞作品として表彰されました。日本から来た、というインパクトが強かったのだと思いますが、私も賞を頂いてしまいました。賞品はDBに乗れる小切手とシンカリオンのロボット、新幹線型のマウスです。ドイツ人向けに用意しただろうに、申し訳ない気分ですが、鉄道マニアに育ちつつある4歳の甥っ子に自慢しようと思います。DBに乗るために、もう一回ドイツに行かなきゃいけないですね。
JR東日本からは、JRのデータを使ったプロジェクト2件に対して、「日本へ招待する」という驚きの!授賞も。すごい。どうせお呼びするのならば、今度は日本でDBハッカソンをやって、その時にゲストとして参戦して欲しいです!(それじゃあ賞になってない?)
##Hackは終わらない
土曜日の夜にハッカソンが終わって、ベルリン市内の滞在場所に戻ったのですが、Twitterでの会話は続いていて、ある参加者から、まだ近くに居るから来い、と誘われました。誘われたのは、mindboxのすぐ近くのc-baseという、バーもある会員制シェアオフィス?だったのですが、ここは、男の子ならいちどは考えたことがある「秘密基地」をそのまま作っちゃったようなところです。なんでも宇宙船の一部分だそうで、真っ暗で、壁も天井も謎の部品がいろいろしつらえられてて、光ったり動いたりしています。訳の分からないディスプレイが至る所にあって、読めない文字が光ってて、宇宙人の声も聞こえてきます。録音スタジオ、木材加工の作業所、古いコンピュータ部品が山ほどある倉庫などよく分からない部屋がいっぱいあります。壁のスイッチを押したら離陸しちゃうかもしれないから、絶対に押すな、と念を押されました。そうそう、宇宙船の一部だもんね。
誘ってくれた彼は、mindboxでのイベントが終わるとここに誘うんだ、と話していました。彼の友人曰く、彼は5年前にDBのデータを勝手にスクレイピングして、その時は怒られたのに、その後DBがオープンデータをはじめたときは真っ先に声をかけてきた、とのことです。DBオープンデータの立役者は、DBだけでなく外側にもいたのですね。実際、この場所はオープンソースやオープンデータに熱心な若者のたまり場になってるようで、深夜までOpenStreetMapやデータのライセンス、政府の役割や日独の自動車産業の行く末などを熱く語り合うことになりました
この熱気は日本まで届く?
ドイツまで行って感じたことは、公共交通のオープンデータって、ただデータを無料公開にすること以上に、それによって鉄道会社がこれまで付き合ったことのない人たちと繋がるというだと思いました。データを媒介に、鉄道会社の周りにオープンイノベーションのコミュニティを作るということです。これは、私が「公共交通オープンデータの現在 アメリカ編」で「開発者との関係構築や支援が重要」などと指摘した点と重なりますね。DBハッカソンは、まさにそういう場として有効に機能しているようでした。DBで働く人たちは、ハッカソンに来る人たちとはタイプが全然が違うかとも思うのですが、mindboxのような場を作り、自分たちからは出てこないアイディアを貪欲に取り入れようとしているわけです。
日本にも公共交通オープンデータは根付くでしょうか。JRは民間企業で、しかも自力(+大手ベンダー)でITシステムやアプリを開発するだけの体力もあり、DBの事例がそのまま当てはまるとは言えないでしょう。それでも、こういう場に参加したことが、JR社内に前向きな印象を残したらいいなと思っています。JR以外の鉄道会社に関しても、是非こういう事例から、「オープンデータ、オープンイノベーション」という選択肢があることに気付いて頂ければと思っています。
私に出来ることとしては、オープンなカルチャーの中に、危なっかしく見えるかもしれないけれど、スピード感があって、本質的には顧客志向で前向きな開発者がいっぱいいるのだ、ということを折に触れ示していくことかなと思っています。まずは、日本でもDB-JRハッカソンを是非開催して欲しいですね!
##※番外編
どういう刺激を受けたのか、私の4歳の甥っ子が、小林旭の「恋の山手線」という歌を覚えて、ハッカソンの間に動画を送ってきました。超かわいい。でも英才教育の方向性が謎すぎます。しかし、山手線のコンテンツ力すごいですね。ほんとに、まだまだいろんなことが出来そうです。