生成AIを駆使してデジタル庁の法令APIハッカソンに参加してみた

2023年12月16日掲載

生成AIを駆使してデジタル庁の法令APIハッカソンに参加してみた

ソフトバンクで社内システム開発を担当している犬伏です。

ソフトバンク アドベントカレンダー2023 の 16日目の記事になります。
今回はデジタル庁主催の法令APIハッカソンに参加したので、その模様を報告できればと思います。

また開発工程やデータ成形の部分に生成AIを利活用したので、活用箇所も含めてお伝えいたします!

目次

  • ChatGPTを用いて短期間で開発を行いハッカソンに参加したレポートになります。
  • 生成AIを活用した開発経験のない方や、活用事例を知りたい方向けの記事です。

法令APIとは

法令APIとは、法律や政省令などのデータを提供してくれるデジタル庁が関与しているAPIのことです。

 

以下、4つの法令APIが提供されています。

  • 法令名一覧取得 API
    公布済み現行法令の法令 ID、名称、法令番号及び公布年月日
    を取得します。 リクエストパラメータに法令の種類(「全法令」、「憲法・法律」、「政令・勅令」又は「府省令」)を指定して法令の一覧を取得することもできます。
  • 法令取得 API
    施行中の現行法令の全文を取得します。本文に図が含まれている場合は、図の画像を取得する こともできます。
  • 条文内容取得 API
    指定した条件(法令番号又は法令ID並びに条、項又は別表)に合致する施行中の現行法令の内容を取得します。本文に図が含まれている場合は、図の画像を取得することもできます。
  • 更新法令一覧取得 API
    指定した日付に更新された法令の一覧を取得します。なお、取得できる項目は、e-Gov 法令検 索の更新法令一覧画面から出力できる CSV ファイルと同様です。

これらの法令APIでは、法令番号や法令種別コードを指定して検索を行うことができるのですが、今回は期間限定でより使い勝手のよい法令APIプロトタイプが提供されていました。

残念ながら法令APIプロトタイプは2023年11月30日で公開終了してしまったのですが、法令APIの拡張機能を検討されているとのことなので今後のリリースに期待です。


法令APIプロトタイプは、年月を指定することで過去の条文検索が可能だったり、通常はXML形式で提供されているところJSON形式でも出力できたりしたため、法令APIと比べてより使用用途が広がったものが提供されていました。またSwagger UI上で操作も可能なため、開発中はわざわざAPIを叩かなくとも実装する前に試すことができたのでとても便利でした。

法令APIハッカソン開催概要

デジタル庁主催のもと2023年11月10日(金)から11月17日(金)にて法令APIプロトタイプを活用したサービス提案を行う法令APIハッカソンが開催されました。

デジタル庁では、法令等データの利活用による産業・技術・政策立案の発達等を目的として、法律や政省令等のデータを提供する「法令API」の高度化に取り組まれています。今回のハッカソンはその一環で、法令APIを用いたサービス開発等促進のために実施されたものであり、3名以上のメンバーを集め、約1週間でサービス開発を実施するというものでした。

 

具体的なスケジュールは、11月10日に開会式・事前ワークショップが行われ、11月11日〜11月16日で開発を行い、11月17日に発表・表彰式が行われました。

業務時間を考慮すると開発期間が少し短めですが、生成AIを活用しながらなんとか完成させることができました。

 

私たちのチームが作成したアプリケーション

今回のハッカソンで私たちのチームが作成したアプリケーションを紹介いたします。


私たちは「誰でも法令について学べる」ことをコンセプトに、ライフイベントに着目した身近な法令がクイズ形式で学べる人生ゲームを作成しました。


ルールはすごくシンプルなゲームで、各自サイコロを振りイベントマスに止まった時に法令クイズが出題され、最後に所持金が多いユーザが勝利というものです。

ゲーム内ではイベントマスにて法令に関するクイズが出題され、正解すれば所持金が増え、不正解であれば所持金が減るという仕組みになっています。
そのため勝利するためには法令クイズに正解し続けなければならず、楽しみながら学習に繋げるといったゲームになっています。

実際のゲーム画面はこちらです。最大4名まで遊ぶことができます。

法令APIハッカソン_ゲーム画面

イベントマスでは以下のように法令に関する4択クイズが出題され、回答後に解説も表示されます。

法令APIハッカソン_ゲーム画面②

アプリケーション開発において、生成AIであるChatGPTを2つの場面で活用しました。
1つ目はライフイベントに基づいたクイズ生成、2つ目はアプリケーション開発のコーディングです。具体的にはクイズの質問文・回答文生成、開発コード相談役で活用しましたので、次のセクションでご紹介いたします。

ChatGPTの利用1:クイズ生成

今回のゲームにおいて、クイズは大きく分けて2種類の方向性で検討しました。


1種類目はライフイベント内で法令に関わる行動を問うクイズです。

例)卒業した小学校が懐かしくなり、友人たちとこっそり学校の中を見に行き、すぐ出ました。次のうち正しいのはどれでしょうか?

  1. 先生たちに叱られる
  2. 五万円以下の罰金
  3. 三年以下の懲役又は十万円以下の罰金
  4. 卒業生なので罪には問われない

正解は 3番
卒業生であっても正当な理由がないのに建造物に侵入したことから住居侵入罪(建造物侵入罪)に問われる可能性がある。

ストーリー性のあるクイズによりユーザの日常的な行動に落とすことができるため、理解度向上に繋がると考えました。


生成の方法としては、人手で洗い出したライフイベントのキーワードと条文からクイズを作成しました。

ライフイベントのキーワードをもとにgoogle が提供しているCustom Search APIを用いて事例検索を行います。事例では「法令〇条にあたる・・・」などが記載されており、具体的な法令番号が得られます。この法令番号をもとに法令API(条文内容取得 API)によって条例を特定します。最後に、条例本文と人が挙げたライフイベントキーワードをもとにGPTでクイズ生成を行います。

法令APIハッカソン_クイズ生成

 

 

2種類目は法令の内容自体を問うクイズです。

例)遺失物を拾ってそのまま自分のものにした場合、どの罪に問われる可能性があるでしょうか?

  1. 横領罪
  2. 窃盗罪
  3. 強盗罪
  4. 隠蔽罪

正解は 1番
遺失物横領罪にあたる可能性がある

 

生成の方法としては法令API(条文内容取得 API)で条文を検索し、法令本文からChatGPTで正誤クイズを作成しました。

法令APIハッカソン_正誤クイズ

 

2つ目の正誤問題作成など考えることなく作業できるタスクは1つ目と比べて完成度の高いクイズが生成することができました
なぜ1つ目のクイズ生成では精度の高いものが生成できなかったのかというと、人手で考えたとしてもライフイベントのキーワードと法令違反が結び付きにくいという問題点が生じていることがわかりました。例えば、「出水及び水利に関する罪」+「おつかい」の組み合わせでは内容があまりにも乖離しており、違和感のない法令違反ストーリーが生成できずクイズも上手く生成できないという問題が生じていました。

キーワードと法令の間になるような単語を生成する仕組みをプロンプトに追加すれば改善できたのかなと思います。

 

ChatGPTの利用2:コーディング

PythonのフレームワークであるFlask+bootstrap で開発を行いました。

1週間弱で動くものを作れたのは、やはりChatGPTが良き相談役になってくれたからです。

 

ChatGPTを使うと簡易的な人生ゲームとして遊べるものを作成するのに、特にアーキテクチャを考えなくとも数時間程で完成しました。

ただ機能追加の際、既存コードや利用モジュールとの親和性によりChatGPT(無償版のChatGPT-3.5を使用)の提案が全く参考にできないことがありました。さらに無償版と有料版ではやはり性能の差が大きく、無償版で活用していた際には提案されているモジュールのバージョンが古いためソースコードが動かないことも多々ありました。

連続した会話であれば既存のソースコードを汲み取ってくれますが、途中からChatGPTを活用する場合は現在どういうクラス構成なのか、どのようなモジュールを使用しているのか詳細に共有するようにプロンプトを工夫することで乗り越えました。

初心者が利用する際にも「初学者に説明するように・・」という文言を付け足すなどプロンプトを少し工夫することで使い勝手が変わってきますので、ぜひ試してみてください。(参考:慶應義塾大学 機械学習基礎02 コーディング

 

とはいえ、提案されたコードで使用しているモジュールや組み立て方は実装への手がかりになりました。手探りで一から自分で調べるよりは、はるかに時間短縮して開発可能だと思います。

 

まとめ

クイズ生成から開発まで短期間で体験し形にできたことはとても良い機会でしたし、何より法令APIを使って開発をできたのは貴重な経験でした。

またChatGPTを上手く使えば短い期間での開発も可能で、気軽にハッカソンなどに参加できることがわかりました。ぜひみなさんも生成AIを上手く使ってチャレンジして欲しいと思いました!

今回のハッカソンの作品は、デジタル庁の法令APIハッカソン作品紹介でまとめられています。
素晴らしい作品ばかりですので、ぜひ覗いてみてください!

 

おすすめの記事

条件に該当するページがございません