代码で語るマニフェスト:从PDF到API,政府数据的工程检验报告

IT政策提案
代码で語るマニフェスト:从PDF到API,政府数据的工程检验报告

どうも〜おかむーです!大家好,我是おかむー!今天用“代码で語るマニフェスト”的方式,带大家从工程视角去看政府和自治体的数据发布现状,聊聊为什么机器可读性和API比PDF重要,以及该怎么改。

  • 这篇文章检视了内阁官房与デジタル庁的机器可読性方针与地方交付金案例(山口县实绩),指出常见问题
  • 结论是:PDF泛滥+无稳定API导致数据难以复用,但技术上有明确可行的改进路径(CSV/JSON Schema/API/DQ)
  • 我给出具体代码示例与实施路线:从“用脚本救数据”到“从根本改造数据平台”的建议

結論

政府・自治体已经意识到「AI-Ready」「機械可読性」的重要性(见 digital.go.jp 与 内閣官房的材料),但落地层面仍以PDF为主、缺乏标准化API和schema,这直接阻碍了公开数据的再利用と二次创新。要するに、技術的にはすぐ解ける話なんですよ:CSV/JSON + OpenAPI + JSON Schema + 数据质量监控で大部分问题は解決できる。

レポート本文

現状観察:これ見てくださいよ

  • 政府文件常见形式:PDF、Word、HTML的扫描表格。digital.go.jp 的草案明确指出「ファイル形式は機械が直接読み取れるExcelやCSV等」とあるが、実務にはまだ浸透していない(ソース: digital.go.jp PDF)。
  • 政策実績例:デジタル田園都市国家構想交付金の地方実績(山口県のPDF)显示项目採択数、実績額(15,289千円)やKPI,但这是以PDF发布,解析成本高。
  • 内閣官房の資料强调AI-Ready社会に向けて機械可読性を確保する必要性(cas.go.jp)。つまり意図はあるけどデータ供给端が追いついてない。

技術問題点(工程师视角)

  • フォーマット問題:PDFにテーブル埋め込み→OCRやレイアウト解析必須。要するに「パースが不安定」ってことです。
  • スキーマ不在:列名・型・単位が明示されない。これだと自動検証やETLが組めない。
  • API欠如または断片的:同一自治体内でエンドポイントが統一されてない。認証・レート制御・バージョン管理も不足。
  • メタデータ不足:更新日時やライセンス、KPI定義が埋められてない。DCAT/JSON-LDで公開してほしい。
  • 技術的検証と短期解法(コード示例つき)

    • PDFからのテーブル抽出(临时救援):tabula / camelot を使ってCSV化
    # 举例:用tabula提取PDF表格为CSV
    

    import tabula

    pdf_path = 'yamaguchi_report.pdf'

    tables = tabula.read_pdf(pdf_path, pages='all', multiple_tables=True)

    for i, df in enumerate(tables):

    df.to_csv(f'table_{i}.csv', index=False)

    • 取得CSV后做Schemaチェックの例(pandas + jsonschema):
    import pandas as pd
    

    from jsonschema import validate

    df = pd.read_csv('table_0.csv')

    schema = {

    'type': 'object',

    'properties': {

    'project_id': {'type': 'integer'},

    'amount_jpy': {'type': 'number'},

    'kpi_value': {'type': 'number'}

    },

    'required': ['project_id','amount_jpy']

    }

    要するに:自動検証でデータ品質を担保するんです

    • 理想はOpenAPIでCRUD可能なエンドポイントを用意し、JSON Schemaで型と単位、更新頻度を定義すること。簡単なcURLで取得できると開発者フレンドリー!

    中長期改善提案(実装ロードマップ)

  • 最低限のルール(即時)
  • - 新規公開はCSV/JSON必須。PDFは人用サマリのみ。digital.go.jp の指針に従う。

    - 各データセットにJSON-LDまたはDCATでメタデータを付与。

  • API化(短期〜中期)
  • - OpenAPI準拠のREST APIを提供。認証はOAuth2。バージョンはURLで明示。

    - サンプルクライアントとSDK(Python/JS)を用意して再利用障壁を下げる。

  • 品質と監視(中期)
  • - CIでデータスキーマ検証、SLAモニタ、変更通知を実装。

    - KPIの実績値は機械可読で公開し、目標と実績のギャップが追えるようにする(ダッシュボード+API)。

  • ガバナンス(長期)
  • - 国と地方で共通のスキーマ・語彙を管理するレジストリを用意(例:行政データ辞書)。

    期待効果(定量的に考える)

    • データがCSV/JSONで出れば、解析コストはPDF比で1/5以下に。API提供で第三者サービスの開発速度が劇的に向上。
    • 交付金の効果検証(KPIの時系列データ)がAPIで取得できれば、政策評価の透明性が高まる。

    まとめ

    要点まとめ:政府の方針は正しい(機械可読性を求めている)が、現場はPDF文化から抜け出せていない。エンジニア的に言うと、これはAPIとスキーマを一本化するだけで劇的に改善する話なんですよ。短期はPDF→CSVの自動化パイプラインで救い、中長期はOpenAPI/JSON Schema/DCATによる構造化を進めよう。

    おかむーから一言

    テクノロジーで行政をアップデートするのは現場の一歩目から。やるなら今すぐAPI一本、CSV一個から始めよう!