デジタル庁における法令API、法令×デジタルの取り組みについて
「デジタル」と「法令」の共通点について
デジタル庁デジタル法制推進担当の山内です。総務省からの出向で、現在はデジタル庁で法令等のデータ利活用促進や法制事務のデジタル化を担当しています。
「デジタル」と「法令」――。この2つの分野は一見すると関係が遠いように思えるかもしれません。でも、両者が組み合わさると、実はとても面白く、大きな相乗効果が期待されているんです。
国家公務員は業務の中で法令を書くことがあります。法令とは、「法律」を含む社会のルールです。法令には、「法律」以外に「政令」「省令」などいくつかの種類があります。いずれも経済活動や国民の権利・義務に関係し、社会を動かし、維持するための重要な基盤です。
人々の暮らしに直接関わるため、法令の影響には社会から高い関心が寄せられています。新たな法令が作られたり、法令の改正の是非をめぐる議論がニュースになったりするのを見かけることも多いと思います。
私が法令を初めて書いたときに抱いた印象があります。それは、「プログラムのコードと法令の条文は、文章の性質がよく似ている」という点です。私は学生時代にはコンピュータサイエンスを学び、2012年に総務省に入省しましたが、プログラミングも法令も「読み書きするために必要な技術が共通している」と感じました。
以来、「プログラマに法令の面白さを伝えたい」「法令を編集したり管理したりする法制事務をデジタル技術で便利にしたい」と考えていたところ、デジタル庁に出向する機会をいただき、希望して現在の業務を担当させていただけることになりました。
「法制事務」の課題と「法令API」の可能性
「法令」と聞くと、分厚い法律書を思い浮かべる方もいるかもしれません。法令に関する事務は、古くから紙を中心に行われてきました。他方で、法令は頻繁に改正されているので、最新の条文を閲覧できるよう、内容を常に更新し続ける必要があります。
そこで、信頼できる最新の法令情報を、だれもが、どこでも、タイムリーに入手できるようにするため、デジタル庁では法令のデータベース「e-Gov法令検索」を提供しています。さらに、「e-Gov法令検索」に格納されている法律や政省令等のデータを皆さまに広く再利用していただけるように、「法令API」を提供しています。
法令APIの活用によって、「e-Gov法令検索」では対応が難しいような専門分野に対応したサービスや、社会的発見をもたらすデータ分析サービス、一般の方向けにデータを加工して提供するサービスなどの開発も可能となります。
法令を編集したり、管理したりする「法制事務」のワークフローも紙の時代の慣習を色濃く残しています。そのため、デジタル技術が十分に活用できず、職員の負担にもつながっています。
法令APIは、こうした法制事務の効率化や法令案・政策を立案する際に応用できることも期待されています。
国家公務員の働き方改善や法案の誤り防止などに役立てるため、デジタル技術を法令の編集やチェックに活用するための取り組みを進めています。
その中で、法令APIを生成AIと組み合わせることで法制事務の作業を補助する実験も実施しています。
機能拡張した「法令API」プロトタイプの開発
このように、さまざまな可能性を持つ法令APIですが、現時点ではいくつかの課題もあります。
たとえば、現状の法令APIでは「改正前の過去の条文履歴」は提供していません。ただ、改正前の過去の条文は、弁護士の方が過去の事件を取り扱うためには必要不可欠です。政策を立案する各府省庁の担当者が法令をめぐる過去の経緯などを分析するためにも必要です。
また、法令APIには「e-Gov法令検索」で提供しているような「キーワード検索機能」がありません。そのため、法令や条文の検索を伴うサービスを簡単に開発することができませんでした。これらのデータや機能があれば、開発できるサービスの幅が広がります。
そのため、法令データを用いた高度なサービスを開発するリーガルテック企業や、法令データを研究する研究者の方からは以前から法令APIの機能拡張を求める声がありました。
そこでデジタル庁では、法令データを活用したサービスの開発を促進するため、デジタル法制ワーキンググループ(や前身の法制事務のデジタル化検討チーム)での議論を踏まえて、法令APIの機能拡張に目下取り組んでいます。
また、APIを直接利用してプログラミングを行う開発者の視点から見ると、現状の法令APIには他にも課題があります。
たとえば、利用方法の説明書も課題の一つです。現在はWordをPDF化した文章のみの提供に留まっており、Webページとして表示できるものやサンプルコードがありません。開発者にとって使いやすいとはいえない状態です。
単に機能を提供するだけでは、ユーザである開発者のニーズに応えているとは言えません。法令APIは、開発者が開発しやすい環境を整える必要があります。
私自身も法令APIのユーザで、デジタル庁に出向する以前から趣味として法令APIを使った法令を読み書き・管理しやすくするオープンソースのアプリを開発しています。
開発者の立場からみると「こんな説明がほしい」「こんなパラメータや機能が欲しいな」など、APIの使い勝手に関する細かな改善点が思い浮かぶものです。現在の法令APIが何もできないわけでは決してありませんが、個人的には“思うところ”がありました。
こうした課題意識もあり、デジタル庁で自ら希望して法令APIの機能拡張プロトタイプの設計に携わることになりました。
プロトタイプの開発を委託した事業者の開発者にも、「開発者にとって使いやすいAPI設計」という考え方に共感して頂けたことで、開発時には綿密な議論を重ねることができました。
サンプルコードなどへの利用技術の提案もいただき、OpenAPI Specificationの一行一行、descriptionの一言一句で「どうすればよりAPIが使いやすくできるか」と話し合い、デジタル庁側のエンジニアも含めて、お互いに検証環境で試用を重ねて、プロトタイプを改善することができました。
こうした議論を経て今回作成したプロトタイプは、開発者にとっての「使いやすさ」も考慮した設計を心がけました。
主な特徴は以下の通りです。
改正前条文履歴のデータ提供、キーワード検索などの機能を追加。
API仕様をOpenAPI Specificationとして提供。Swagger UI上のインタラクティブな画面でAPIの試用ができるほか、スタブコードの自動生成などが可能。
API全体を通じてデータ項目の命名規則を標準化。(現状は同じ意味の項目が場所によって違う識別子であることも。)
データの絞り込みの機能を追加。大量データに対してはページネーションの機能を追加。
条文の添付画像などのバイナリをバイナリのまま提供するエンドポイントを追加。(現状はZip圧縮したBase64文字列がXMLに埋め込まれて返却。)
これまでXMLでの返却しか対応していなかったが、JSONでの返却を選択できるよう機能拡張。
APIの利用方法がわかるようなサンプルコード(Next.jsで構築した簡易な法令ビューア)を提供。
ただ、上記のプロトタイプの仕様が、今後そのまま実運用向けの法令APIとして実装されるとは限りません。
実運用向けの仕様は、運用の容易さや堅ろう性も含めて設計する必要があり、少々時間がかかります。引き続き検討中ですので、もうしばらくお待ちいただければ幸いです。
「法令APIハッカソン」の開催
このように、機能を拡張した法令APIのプロトタイプは、さまざまな工夫を凝らして作成されました。しかし、実用に近い利用形態で他の開発者の方にも試用していただかないことには、ユーザにとって本当に使いやすいものかわかりません。
また、機能拡張したらどんなサービスを作ることができるのか。その具体的なイメージをつかむことができれば、今後の法令APIを利用したサービスの創出や設計の改善にもつながります。
そこで法令APIのプロトタイプをご試用いただき、新たなユースケースや活用事例を新創出することを目的の一つとして企画したものが「法令APIハッカソン」(2023年11月10日~17日開催)です。
プロトタイプを活用した斬新なサービスを開発・発表いただきました。大変ありがたいことに、参加者や作品をご覧になった方から好評を頂くことができました(※作品一覧はこちら)。
参加者の中には法令APIの利用や法令分野に触れることが初めての方もいらっしゃると思い、開催期間中にアイデアソンも開催しました。
最終日以外はハイブリッド開催だったため、リモート参加の方のサポートもできるようにSlackやブレイクアウトルームを活用しました。ハッカソンの運営の知見を持つデジタル庁内外の有識者の方からも、たくさんのアドバイスをいただきました。
急な周知だったこともあり、どのくらい参加いただけるか心配でしたが、当初の想定を超えた14チーム・56人もの方々にご参加いただくことができました。スタートアップのエンジニアや学生、法令関係の業務に普段から携わっている方、建築関係、などさまざまな分野の皆さまにご参加いただけまし
た。
あるチームからは参加を決めた理由について、「API仕様がOpenAPI Specificationで提供されており、サンプルコードがNext.jsで構築されていたのを見て魅力を感じ、法令APIを利用してみたくなった」とのコメントをいただきました。この点は法令APIプロトタイプの提供にあたり開発者目線から工夫した点だったので、担当者全員の努力が実った思いです。
「法令APIハッカソン」の結果は、デジタル法制ワーキンググループやデジタル関係制度改革検討会などの有識者会合にも報告しました。14チームが発表した作品の完成度には驚きの声が上がり「ぜひまた開催してほしい」といった高い評価を頂くことができました。
新たなユースケースや事例を新規に創出するという目的が達成できたことに加え、普段は法令に触れる機会があまりないエンジニアの方などに法令データ分野に関心を持っていただけたこともハッカソンの開催意義として大きなものになりました。
今後の「法令API」利活用への期待
さて、法令APIは、今後どのような分野への活用が期待されるでしょうか。
まず、弁護士などの法務専門家向けの高度な検索サービスなどを提供するリーガルテックのサービスが考えられています。昨今は機械学習や生成AIを活用した分析技術も実用化されており、今後も技術の進展が期待されます。
また、府省庁においては法令を作ったり、政策を立案したりする場面で応用できる可能性があります。法令を編集したり、管理したりする「法制事務」の業務では、現在も紙ベースのワークフローが続いており、デジタル技術が十分に活用できていません。このことが職員の負担にもなっています。
法令APIがあれば正確な法令の条文を自動取得する応用が可能となります。また、生成AIの技術と組み合わせることで業務を軽減する支援が期待されており、そのための実験も行われています。
さらに、自然言語処理技術やデータ処理技術を用いて法令データの条文を分析したり、法律の変遷を分析したりすることで、政策立案に活用できることも考えられます。
「法令APIハッカソン」では、必ずしも法令の専門家でない方や低年齢層に向けて、法令をわかりやすく解説したり、学習できるようにしたりするサービスの提案が複数チームからありました。
法令は全ての人の暮らしに関わる重要な文書です。法令の普及を促進し、関心を高めるサービスは、社会的な意義も大きいと考えています。
ぜひ「法令API」を一度お試しください
法令APIや法制事務のデジタル化は、デジタル庁が取り組むプロジェクトの中ではあまり知られていない分野かもしれません。しかし、その応用の可能性は広く、社会への影響も大きい分野と言えます。
ぜひ一度、現状の法令APIやe-Gov法令検索にある法令データを使ってみていただき、様々なサービス開発にご活用いただけたら幸いです。今後はハッカソンで活用いただいたような機能を拡張した法令APIも、準備が完了次第、本番実装を見込んでいます。
もし法令APIや、法令データを活用いただいて開発されたものがあれば、SNSへのポストやブログなどで、ハッシュタグ「#法令API」 や「#法令データ」と付して共有いただけると大変嬉しいです。
現状の法令APIや法令データを使いやすくするための改善アイデアも、ぜひお寄せください。この分野に皆さんから関心を持っていただけることは、法令データの利活用促進の原動力になります。ぜひ、オープンな議論の活性化につなげたく思います。
デジタル庁では、今後も法令データ利活用の促進や、法制事務のデジタル化に取り組んでまいります。「法令APIハッカソン」のような双方向型のイベントもぜひまた開催したいと思います。今後のご案内をお待ちください。
最後までお読みいただき、ありがとうございました。
◆これまでの「デジタル庁Techブログ」記事は以下のリンクをご覧ください。
◆これまでの「デジタル庁の職員/チーム紹介」記事は以下のリンクをご覧ください。