オープンデータ編・第4回
機械判読可能な形式
ひとことで言うと
データの中身に合った形式で、機械が構造を読み取れるように出します。表ならCSV、入れ子の情報ならJSON、地図ならGeoJSON、時刻表ならGTFS、そして文書なら、マークダウンです。
異動してきたら、最初に確かめること
チェックは、このスマートフォンのブラウザに保存されます。
解説(テキスト版)
はじめに

情シスには、こんな相談が届きます。CSVのほかに、どんな形式で出せばいいんですか、と聞かれる。
あるいは、計画やマニュアルを、AIに読ませたいけれど、PDFのままで大丈夫ですか、と聞かれる。
どちらも、データの形式の話です。第4回は、機械判読可能な形式をお話しします。
一言で言うと

先に、一言でまとめます。データの中身に合った形式で、機械が構造を読み取れるように出します。
表ならCSV、入れ子の情報ならJSON、地図ならGeoJSON、時刻表ならGTFS、そして文書なら、マークダウンです。
前回とのつながり

前回は、表のデータは、CSVが基本だとお話ししました。
でも、オープンデータは、表だけではありません。地図や、時刻表、文書もあります。今日は、それぞれに合った形式を見ていきます。
どの形式でも、考え方は同じです。システムから出力できる形式を、手で加工せずに、そのまま出せるのが理想です。
拡張子で、形式が分かる

その前に、ファイルの形式の見分け方を、お話しします。ファイル名の最後に付く、ドットのあとの文字を、拡張子と言います。
たとえば、CSVのファイルなら、名前の最後が、ドットCSVになっています。JSONなら、ドットJSONです。拡張子を見れば、どんな形式のデータなのかが分かります。
今日出てくる形式の拡張子を、画面にまとめておきます。ダウンロードしたファイルの、名前の最後を見る習慣を付けてください。
表のデータ

まずは、表のデータです。画面は、氏名、住所、生年月日を並べた、架空の見本です。基本は、CSVです。値と値を、カンマで区切った文字のファイルです。
似た形式に、TSVがあります。区切りが、カンマではなく、タブになっているものです。住所や説明の文の中に、カンマが入るデータでは、TSVのほうが扱いやすいことがあります。
どちらも、特定のソフトがなくても読める、シンプルな形式です。
入れ子の情報

次は、入れ子になった情報です。たとえば、一人の情報の中に、電話やメールといった、複数の連絡先が入っている、といったデータです。
こうしたデータには、JSONがよく使われます。項目の名前と値を組にして、入れ子の形のまま表せる形式です。プログラムから扱いやすく、APIでデータをやり取りするときの、標準的な形式になっています。
同じように、入れ子を表せる形式に、XMLがあります。タグという目印で、値を囲む形式です。古くから使われていて、国の法令のデータや、法務局の地図のデータなども、XMLで提供されています。
地図のデータ

次は、地図のデータです。
長く使われてきたのが、シェープファイルです。地図のシステム、GISの世界では、事実上の標準になっています。ただし、一つのデータが、複数のファイルの組になっていて、扱いに少し注意が要ります。
もう一つが、GeoJSONです。JSONの地図版で、点や線や面と、その情報を、一つのファイルで表せます。ウェブの地図で、そのまま扱いやすい形式です。
法務局の地図のデータが公開されたとき、デジタル庁は、XMLの地図のデータを、GeoJSONに変換する道具も、あわせて公開しました。使われやすい形式で出すことの大切さが、よく分かる例です。
時刻表のデータ

時刻表のデータには、第2回でお話しした、GTFSがあります。
GTFSの中身は、停留所、路線、時刻などの、いくつかのCSVのファイルを、ひとまとめにしたものです。決まった名前と項目で作るので、地図のアプリが、そのまま読み込めます。
コミュニティバスの時刻表を、PDFで出しているなら、GTFSでも出すことを、考えてみてください。
AIの時代の文書

ここからは、文書の話です。計画、要綱、マニュアル、よくある質問など、これまでPDFで出してきた文書です。
PDFは、印刷したときの見た目を保つための形式です。人が読むには便利ですが、見出しや、箇条書き、表といった、文書の構造が、機械にはうまく伝わりません。AIに読ませると、表の数字が崩れたり、どこが見出しなのか分からなかったりします。
そこで、注目されているのが、マークダウンです。見出しや、箇条書き、表を、簡単な記号で書く、文字の形式です。人がそのまま読んでも分かりやすく、AIも、文書の構造を、正確に読み取れます。
項目と値を、決まった形で並べたいときには、YAMLという形式もあります。設定や、よくある質問の一覧のように、人が読み書きしやすく、機械も読める形式です。
国の動き

国も、この方向に動いています。
国土交通省は、技術基準などを、AIが参照し、解釈しやすい、構造化された形式で整える方針を示しました。その先行例として、土木工事の共通仕様書を、ウェブページに機械向けの情報を加えた形で、公開しています。
PDFだけで出す時代から、構造の残る形式でも出す時代へ。これまでPDFで出していた文書は、マークダウンなどで出すことが、求められていきます。
どう選ぶか

では、どの形式を選べばいいのでしょうか。
表ならCSV。入れ子の情報ならJSON。地図ならGeoJSON、必要に応じてシェープファイルも。時刻表ならGTFS。文書ならマークダウンです。
そして、いちばん大事なのは、システムから出力できる形式を、優先することです。手で変換しなければならない形式は、更新が続きません。
PDFをやめる必要はありません。PDFとあわせて、機械が読める形式でも出す。これが現実的な進め方です。
現場でよくある誤解

現場でよくある誤解を、3つ挙げます。
一つ目。PDFでも、AIは読めるから大丈夫だ、という誤解です。読めることは読めますが、表や見出しが崩れて、誤って読み取られることがあります。
二つ目。形式は、一つに決めなければならない、という誤解です。手間なく出せるなら、CSVとJSONのように、複数の形式で出してもかまいません。
三つ目。マークダウンは、技術者のための形式だ、という誤解です。記号は少しだけで、ふつうの文書と同じように読めます。職員が書くこともできます。
異動してきたら最初に確かめること

では、異動してきたら、まず何を確かめればいいでしょうか。
一つ目。PDFだけで出している文書や、データの一覧です。よく読まれているものから、機械が読める形式でも出せないかを考えます。
二つ目。業務システムが、どんな形式で出力できるかです。CSVやJSONで出せるなら、それをそのまま使えます。
三つ目。地図や時刻表のデータの形式です。GeoJSONや、GTFSで出せているかを、確かめてください。
理解度テスト
3問です。答えを選んで、「答え合わせ」を押してください。
結果は、このブラウザに保存されます。成績ページで「ふっかつのじゅもん」を作ると、別の端末でも続きから使えます。