デジタル庁 マイ制度ナビについての雑文
結論
公共制度がたくさんある上に条件が複雑で、困った時に探したり申請するのが大変という問題があるぞ!
デジタル庁がマイ制度ナビという公共制度のベース・レジストリを公開してくれたぞ!
とりあえず応援しつつデータをぶっこ抜いて遊ぼう社会貢献しよう!
条件にあう公共制度を探すことは、多次元ベクトル空間における超多面体の内外判定問題と見れるぞ!
そのようにこの問題を扱っている事例として、OpenFiscaやお悩みハンドブックがあるぞ!
マイ制度ナビもOpenFiscaやお悩みハンドブックを参考にデータ構造をアップデートしてほしいぞ!
制度の条件がやたらと複雑である以上、探す側はどんどん大変になる一方だぞ!
制度を作る側に、可能な限りシンプルな制度にするように求めたいぞ!
前文
まず、デジタル庁が様々な福祉支援制度、災害支援制度等の公共制度をベース・レジストリとして整備に取り組んで公開までたどり着いたということはとても意義のあることだと思う
デジタル庁は今回の公共制度に限らず、住所や所在地などのアドレス・ベース・レジストリも整備して公開している
こうしたベース・レジストリの構築は、各省庁や自治体を横断して情報を取りまとめなければならず、国の機関でしかできないことだ
データとしては不完全な部分もあるが、無料でかつ信頼して参照できるマスターデータとして貴重な存在だ
完全になるまで公開しないという方針だったらプロジェクトが永久に終わらずユーザー(国民)に価値が届かないので、不完全でもリリースするという判断ができるのは素晴らしい
日本国民としては、遊べるデータが増えるので活用できるデータが増え、行政手続き等のDX化も進むはずなので、デジタル庁のベース・レジストリというデータ戦略を応援したほうが良い
私についてyuiseki.icon
https://gyazo.com/5707c983ac6581776851fb0e867c7373
発達障害、睡眠障害、性同一性障害の当事者
自立支援医療費(精神通院医療)の利用者
社会福祉協議会の地域福祉権利擁護事業(公共料金、家賃、住民税、国民年金保険料、国民健康保険料などの支払い手続きの支援をしてくれる事業)の利用者
困っている人が使える制度を見つけられない問題
困っている人を助けるために様々な公共制度が用意されているが、困っている人が見つけられないという問題がある
とにかく制度が大量にある
そのうえ制度を使える人の条件が異常に複雑
「使える制度を探す」という制度検索情報システムを開発するためには以下が必要である
制度の内容、制度の対象人物の属性条件を機械可読な形で記述する
制度を探している人の属性を入力してもらうUIを用意する
制度の条件と探している人の属性でマッチングをする
Code for Japanでの活動とCiviChatとの出会い
私は数年前からCode for Japanの参加者として、コロナ禍における経済的困窮をITで支援できないかという活動に関わっている
困っている人を助ける制度は実際はあるのに、それが見つけられず、使われない、ということが最大の課題だと思い、色々と制度検索のプロトタイプを開発して試行錯誤していた
もう一つ、制度検索と表裏一体になっている課題は、困っている人が自ら役所に行くなどして申し込み手続きをしないと制度を使えない、という申請主義である
そのプロジェクトで、CiviChatという、制度を探せるLINE botサービスを開発運用しているtkgshn氏と出会った
CiviChatはチャットボットの質問に答えていくことで自分の属性を入力し、使える制度を絞り込むというものだ
CiviChatは制度検索のパイオニア的存在であり、実際に自治体に導入されるなどしていた
CiviChatの課題のひとつは、大量にある複雑な制度の条件をチャットボットに取り入れる作業が大変すぎるという点である
他のNPO等の活動にも注目して情報収集しており、支援検索ナビなどの存在も知った
また、デジタル庁に近い方とお話をする機会もあり、個人向けではなく法人向けの制度検索として、制度を探す(制度ナビ)|経済産業省 中小企業庁 ミラサポPlusの存在も知った
OpenFiscaという発明との出会い
Code for Japanでの活動を通じて、制度を機械可読に記述しようとする様々な取り組みがあることを知った
/c4j/公共制度の機械可読フォーマットまとめ
国が実際に使っているものだと、/c4j/ユニバーサルメニューとか
しかし、どのフォーマットもやっぱり人力で複雑な制度の条件を記述していかなければならず、過労死しちゃうだろという雰囲気だった
どのフォーマットも、制度の絞り込みをするためには、たとえると入れ子のif文を超大量に書いていく地獄のようなコードになることが想像でき、あんまりやる気が出なかった
そうしたなかでも明らかに異彩を放っていたのが、フランス政府が使っているOpenFiscaである
OpenFiscaの最大の特徴は、制度の記述がPythonコードであり、さらに制度の条件判定にnumpyのベクトル演算を多用していることである
現在、私はOpenFiscaを、制度検索を多次元ベクトル空間における超多面体の内外判定問題として扱うためのフレームワークだと捉えている
(実際は内外判定問題を解いた上で福祉援助金額というベクトルの算出までできる)
Code for Japanの私達のチームではOpenFiscaで渋谷区の子育て支援制度を記述してみる実験を進めており、これまでに、まだ完璧なものではないが、児童手当、児童扶養手当、児童育成手当、特別児童扶養手当、障害児童育成手当、ハッピーマザー出産助成金が実装されている
https://github.com/yuiseki/OpenFisca-Yuisekin/tree/main/openfisca_yuisekin/variables/福祉/育児
一方でOpenFiscaには問題もあり、Pythonとnumpyのベクトル演算を理解していなければ制度を記述することができず、プロジェクトに参加するハードルが高くなってしまっている
OpenFiscaについては以下に触った直後の熱い想いを書いているので気になる人は読んでみてください
/c4j/OpenFisca触ってみたメモ 2022-06-18 yuiseki
マイ制度ナビの登場
OpenFiscaという希望はみえたものの、制度を網羅的に記述する、制度をメンテナンスすることが大変すぎるということは依然として変わらない
そうした中で突然リリースされたのがデジタル庁のマイ制度ナビである
デジタル庁が公共制度のベース・レジストリをリリースしたということであるとすぐにわかった
先述のミラサポPlusの関係者の方から、一応個人向けも進めてるんだよね~と聞いてはいたが、いきなりリリースされたので驚いた
検索UIは正直イマイチだと思った
入力欄やらチェックボックスやらが多すぎる、悪夢
検索ボタンを押さなくても検索結果を表示したらいいのでは?と思った
よく見ると該当する制度の件数は入力フォームを変更するたびに即座に更新されるので、変更が生じるたびに絞り込んでいるはず
データ構造としても惜しいところがある
大雑把なターゲットユーザーに関する情報は機械可読になっているが、制度を使えるかどうかの条件が機械可読な形式になっていない
「制度の詳細」に全部文章として書かれているので、ゴチャゴチャのUIを頑張って入力して検索でヒットしたのに、中身を読んだら自分は使えないことがわかってガッカリ、ということになる
とはいえ、公共制度のベース・レジストリとしてJSONでデータをぶっこ抜けるのは最高だ
爆速マイ制度ナビとお悩みハンドブックとの出会い
とりあえずマイ制度ナビのデータを全部ぶっこ抜いてインクリメンタルサーチできるように爆速マイ制度ナビというのを一時間位で作って公開した
爆速マイ制度ナビ | 野生のデジタル庁
爆速マイ制度ナビが目に入ったのか、Grafferという株式会社が開発運営している、お悩みハンドブックというシステムの関係者の方にTwitterでフォローしていただいた
お悩みハンドブック、バズっていて名前は聞いたことあるけどそういえば触ってなかったな、と思って触ってみた
一見するとCiviChatのようなチャットボット風UIになっているが、データ構造が優れていた
お悩みハンドブックの感想
もし気が向いたらで構いませんのでお悩みハンドブックについてのご意見とかもお聞かせいただけましたら幸いです
というリプライを貰ったので書いてみる
チャットボットUIは好みの問題という感じ
そもそもコミュニケーションが苦手な人はチャットボットも使えない|使いたくないのではないか
私はAlexaやGoogle Homeのようなデバイスがとても苦手で、一切使っていない…
しかしそれでも、入力欄やらチェックボックスやらがゴチャゴチャに並んでいる悪夢のUIよりはマシかもしれない
スマホを前提としたレイアウトになっているのもユーザー視点で開発されていて良いなと思った
データ構造と実装がとても優れている
制度を使えるかどうかの細かい条件が可能な限り機械可読になっている
しかも一つの巨大なJSONですべての制度とその条件が記述されている
お悩みハンドブックは、サーバーとの通信を最初のJSONダウンロード以外しておらず、フロントエンドで制度検索を処理している!
お悩みハンドブックのJSONを見ればわかるが、人物の様々な属性という多次元ベクトル空間に、制度の対象や条件という超多面体が配置されているという、OpenFiscaに似たデータ構造になっている
開発者の人がそこまで考えているのかどうかはわからないが…
実はシナリオ型のチャットボットに共通のデータ構造だったりするのかもしれない?
もうひとつ、チャットボットの質問に答えた自分の属性が、URLのパラメーターとして保持されるのも良くできている
制度を探すたびに何回もチャットボットの自分の属性に関する質問に答えていくのは冷静に考えたら面倒すぎるので、これも重要だ
しかも、他の人に自分のURLを送って相談したりすることができる
私の回答結果も以下のURLで見ることができる
https://compass.graffer.jp/handbook/result?100=0&101=0&102=0&103=1&104=0&105=0&106=0&107=0&10025=0&10026=0&10027=1&10028=0&10029=0&10030=0&20001=0&20002=0&20003=1&20004=0&20006=0&20007=0&20008=0&20010=0&20011=1&20012=0&20013=0&20014=0&20015=0&20016=0&20017=0&20018=1&20019=0&20028=1&20029=0&20030=0&20031=0&20032=0&20033=0&70001=0&70002=0&70003=0&70004=0&70005=1&80001=0&80002=0&80003=0&80004=0&80005=0&80006=1&90001=0&90002=0&90003=0&90004=0&90005=0&90006=0&90007=1
一方で改善点もあると思った
制度が意外と絞り込まれない、使える制度が多すぎる
お悩みハンドブックに登録されている制度は全部で142件
私が試しに回答してみた結果絞り込まれたのは33件
33件もあってありがたいという気持ちもあるが、33件もあったらどれから手を付けたらいいのかわからないというのが正直な感想
「重要度」「支援金額」「申請の簡単さ」とかでソートできると良いかもと思った
制度が複雑すぎることの弊害
まとめると、制度検索の問題は2つある
制度の対象者や使える条件を機械可読に記述する労力が大変すぎる
制度を探す時に自分の属性を大量に入力しなければならず、入力UIがゴチャゴチャになったりチャットボットみたいにするしかなくなる
私は公共制度を作る側になったことがないのでわからないのだが、制度検索の問題に関わるようになって感じるのは、こんな複雑な条件にする必要ほんとにある?ということだ
制度に適切な条件をつけることで本当に必要な人にだけ支援を届けるということだと思うが、探せなくなったり使いにくくなっているのでは本末転倒に感じる
制度に細かい条件をつけることで本当に税金が節約できているのかも疑問だ
制度の条件を把握して確認や計算をしているのは公務員のはずだ
根本的に、制度を作っている人々に、制度をなるべくシンプルにするよう要求することが必要ではないかと思う