コードで語るマニフェスト:政府データの機械可読性と改善ロードマップ

どうも〜おかむーです! 안녕하세요, 오카무-입니다!
- 이 글은 정부·지자체가 공개하는 데이터의 '기계가 읽을 수 있는' 상태를 기술적으로 평가합니다.
- PDF에 갇힌 통계표, 흩어진 CSV, 없는 API—문제의 기술적 원인과 개선안을 제안합니다.
- 구체적 코드 예시와 도구(Frict ionless Data, OpenAPI, CSVW 등)로 실용적 로드맵을 제시합니다!
結論
정부·지자체 데이터는 “存在はするが使えない” 상태が多いです。PDFや散在するCSV、メタデータ欠落、API不在が主なボトルネック。エンジニア的に言うと「API一本・スキーマ一枚」で解決する問題がほとんどです。要するに、データ公開は単にファイル置き場ではなく、機械可読性・スキーマ・契約(契約=Data Contract)が必要ということです。
レポート本文
現状観測(データ参照元の抜粋から)
これ見てくださいよ:総務省の「統一ルール」(https://www.soumu.go.jp/...)や内閣官房の資料(https://www.cas.go.jp/...)は機械可読性の重要性を明確にしているんですけど、現場ではPDFに埋められた表や、文字コードが不明なCSV、列名が毎回違うCSVが散在してます。Notice系や各省のCSV(notice.go.jpやmhlw.go.jpのCSV)も存在するけど、形式・メタ情報が統一されてないんですよね。
技術的に問題となっている点:
- PDF化された統計表:OCRや手作業での抽出が必要。機械可読性ゼロ。要するにデータアクセスに大きな摩擦があるということです。
- 文字エンコーディングの不一致(Shift_JIS vs UTF-8):読み込み時に壊れる。エンジニア的に言うと"encoding=\'utf-8\'"で済む話がそう簡単じゃない!
- メタデータ不備:列の意味、単位、更新頻度、ライセンスが書かれていない。
- APIの不在または断片化:各所に散らばるCSVをスクレイピングで集める必要があり、信頼性が低い。
- KPIと実績のギャップが機械的に追跡できない:デジタル田園都市交付金の報告を見るとKPIはあるけど、機械的にダッシュボード化できる形で公開されていないケースが多いです(https://www.chisou.go.jp/...)。
技術的評価と改善提案
以下は実務で効果が出る提案です。エンジニアっぽく言うと、API一本・スキーマ一枚・テスト一本、ですね。
1) データカタログ+DCAT-AP導入
- まずは中央のデータカタログ(省庁横断)でメタデータを管理。DCAT-APやschema.org Datasetを使えば、検索・連携がぐっと楽になります。
2) 機械可読フォーマットの優先(CSV/JSON/JSON-LD)
- PDFはレポート用に残しても良いけど、データは必ずCSVかJSONで公開。CSVならCSVW(CSV on the Web)でスキーマを添付。
3) API(OpenAPI仕様)を提供
- 単純なREST APIでいいので、OpenAPIで仕様を書いて自動テストとSDK生成を回す。これでデータが安定的に取れるようになります。
4) データ契約(Data Contracts)とCI
- スキーマのバージョン管理、データ品質チェック(goodtables、frictionless)、およびCIパイプラインで公開前に検証。
5) 文字コードとエンコーディングの標準化
- UTF-8を必須に。古いシステム用にShift_JISを吐く場合も明示的にメタデータに書く。
6) KPIの機械化(KPIを機械可読に)
- 補助金や交付金に関しては、KPI定義と実績を同じスキーマで公開し、時間系列APIを提供。これで進捗を自動集計・可視化できるようになります。
具体的な技術スタック例とコードスニペット
CSVをそのまま拾って正規化する現場的なやり方(Python/pandasの例):
import requests
import io
import pandas as pd
url = 'https://www.example.gov.jp/data.csv'
resp = requests.get(url)
文字コードが不明ならchardetで判定する
import chardet
encoding = chardet.detect(resp.content)['encoding']
df = pd.read_csv(io.BytesIO(resp.content), encoding='utf-8')
スキーマ正規化
rename_map = {'年度':'year','件数':'count'}
df = df.rename(columns=rename_map)
単位の統一や欠損処理
df['count'] = df['count'].fillna(0).astype(int)
print(df.head())
APIを設計するならOpenAPIの簡単なエンドポイントを作ってCIでschemaチェック、SDK自動生成まで回すと運用コストが下がります。
投資対効果と実例
- CSV化+スキーマ化は一回の投資で、二度三度と活用できるデータ資産を生む。
- 例えば、交付金のKPIを機械可読化すれば、不正利用の早期発見や地域間比較の自動化が可能になります。
まとめ
- 現状:データは公開されているが、機械可読性・メタデータ不足で二次利用が難しい。
- 主要対策:DCATカタログ、CSV/JSON+CSVW、OpenAPI、CIによる品質保証、UTF-8標準化。
- 期待効果:行政の透明性向上、研究・市民サービスの創出、政策評価の自動化。
おかむーから一言
テクノロジーで社会をアップデートするって言ってるんで、まずはデータを機械が読める形にしようよ!API一本で未来が変わるんですよ。熱く行きましょう!
정보 출처
- https://www.zhihu.com/question/290714454
- https://www.soumu.go.jp/menu_news/s-news/01toukatsu01_02000186.html
- https://www.zhihu.com/question/6430289390
- https://www.cas.go.jp/jp/seisaku/digital_gyozaikaikaku/data8/data8_siryou1.pdf
- https://www.zhihu.com/question/38923279
- https://notice.go.jp/docs/status_nicter.csv
- https://www.jinji.go.jp/content/900024615.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.inpit.go.jp/content/100869372.csv
- https://www.mhlw.go.jp/content/001429362.csv
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf
- https://www.digital.go.jp/
- https://www.pref.yamaguchi.lg.jp/uploaded/attachment/160746.pdf
- https://biz.kddi.com/content/column/smartwork/what-is-digital/
공유하기
관련 리포트

コードで語るマニフェスト:自治体データとシステムをエンジニア視点で検証する
自治体データはPDFやUIに閉じがち。API-firstとJSON Schemaで再利用性を高め、ガバメントクラウドへ移行する実務ロードマップを提示します。

コードで語るマニフェスト:日本政府データの現場から見る技術検証
政府データは可視化が進むも機械可読性不足が課題。CSV/JSON/API、スキーマ、ID統一で政策検証を自動化しよう。

코드로 읽는 마니페스토: 일본 정부 데이터와 시스템을 엔지니어 관점에서 후벼파기
일본 정부 데이터의 PDF·API·메타데이터 문제를 엔지니어 관점에서 분석하고, 실무 가능한 개선안을 코드 예시와 함께 제시합니다。