AIに分析させる前に、データの準備ができていますか - デジタル庁の実装で学ぶ「AIが嘘をつかないデータ」の条件
AIに分析させる前に、データの準備ができていますか - デジタル庁の実装で学ぶ「AIが嘘をつかないデータ」の条件


AIに分析させる前に、データの準備ができていますか - デジタル庁の実装で学ぶ「AIが嘘をつかないデータ」の条件
「AIに自社のデータを読ませたら、それっぽい嘘を混ぜてこないか心配で」
AI活用の相談をいただくと、かなりの確率でこの話になります。もっともな心配だと思います。
ただ、実際に手を動かしてみて分かったのは、成否を分けるのはAIの性能ではなく、渡すデータ側の構造だったということでした。デジタル庁が公開した行政データ7.5万件の分析ツールを試したあと、同じ仕組みに自社の商品データ3,936件を突っ込んでみたら、AIは1分もかからずにそのデータの欠陥を指摘してきました。
この記事では、デジタル庁の実装から見えた「AIが推測で埋めないための3つの仕掛け」と、うちのデータで何が起きたかを書きます。
きっかけは、デジタル庁が公開した1つのツール
デジタル庁が、行政手続等の棚卸調査データ(75,071件)をAIとの対話で分析できる形にして公開しました。GitHubでソースコードごと出ていて、ライセンスはMIT。誰でも中身を読めますし、自由に流用できます。
技術的にはMCP(Model Context Protocol)という仕組みを使っています。ざっくり言うと、AIが外部のデータに接続するための共通規格です。これがあると、AIは「知っているつもりで答える」のではなく「実際のデータを見に行って答える」ようになります。
最初は「行政のデータか、うちには関係ないかな」くらいの気持ちで触り始めました。結果的にはそこが本題ではなかったのですが、まずは動かしてみたところから。
まず、実際に日本語で聞いてみた
手元のMacに入れて、こう聞きました。
オンライン化が未実施の行政手続にはどんな傾向がある? まず全体を集計して、そのあと具体例を数件見せて。出典と品質情報も付けて。
SQLもExcelも使いません。この日本語だけです。

約1分45秒、データベースへの問い合わせ10回。返ってきたのは4つの傾向を整理したレポートでした。中でも面白かったのがこれです。
国民が「出す」側の申請はオンライン率0.62まで来ているのに、行政が「返す・通知する」側は軒並み0.4未満。 未実施22,695件のうち12,588件が、この「返す側」に集中していました。
理由の最多は「オンライン化の費用対効果が小さい又は不明」で10,360件。制度改正やシステム未整備といった障壁は合わせても3,024件しかありません。つまり「できない」ではなく「やる価値が見えない」が大半だった、と。
一方で件数ベースだと「実施予定」が1億2,888万件で突出しています。件数の多い手続にはもう手が打たれていて、残っているのは単体では費用対効果が出ないロングテール。 これ、行政に限らずDXの現場でよく見る構図じゃないでしょうか。
これを人がやろうとしたら、39項目×7.5万行を集計し直す作業になります。それが日本語の質問1つで返ってくる。
……と、ここまでは「便利だな」で終わる話です。うちが引っかかったのは別のところでした。
なぜこの回答を信用していいのか。
「AIに推測させない」ための3つの仕掛け
冒頭の「それっぽい嘘を混ぜてこないか」という心配、実際そのとおりで、データに書かれていないことをAIは平気で補完してきます。
デジタル庁の実装は、これをAIへの指示文ではなく、データの設計そのもので防いでいました。ここが一番参考になった部分です。
仕掛け1:計算をAIにさせない

AIには「どの条件で絞り込むか」「どの項目でグループ分けするか」だけを決めさせて、足し算や割り算は全部プログラム側でやる構造になっています。
AIは文章を書くのは得意でも、桁数の多い計算はわりと苦手です。だったら最初から触らせない。「AIに電卓を持たせない」という割り切りですね。
「オンライン率」みたいに複数の項目から出す指標も、あらかじめ定義ファイルに計算式が書いてあります。AIがその場で分母と分子を考えることはありません。
仕掛け2:「0件」と「データなし」を分ける
個人的にはこれが一番グッときました。

集計結果を返すとき、「その合計を出すのに何件を除外したか」が必ずセットで付いてきます。
たとえば未実施の手続の件数を合計する場合、22,695件のうち7,314件は件数が空欄でした。実際にAIが返してきたレポートには、こう書いてありました。
※件数の合計は、総手続件数が null のレコードを除いて算出されています(未実施 22,695 件のうち 7,314 件が除外)
これがないとどうなるか。空欄を0件として計算した数字が、正確な合計みたいな顔をして出てきます。 会議でこれをやられたら、たぶん判断を間違えます。
「データがない」と「値がゼロ」は全然違う意味なのに、集計した瞬間に同じ扱いになってしまう。そこを仕組みで押さえているのが上手いなと。
仕掛け3:項目の意味を「辞書」として持たせる
データ本体とは別に、各項目が何を意味するのか、どんな値が入りうるのかを書いた定義ファイルがあります。行政データ用のものは311行ありました。
たとえば「手続類型」なら、取りうる6つの値それぞれに正式な定義文が書いてある。
ここまでやっておくと、AIは「この項目にはたぶんこういう値が入る」と推測する必要がなくなります。辞書を引けば済むので。
で、自社のデータを突っ込んでみたら
ここからが本題です。
いろいろ調べているうちに気づいたのですが、これ行政データ専用のツールではありませんでした。 任意のCSVを渡すと、定義ファイルの雛形を自動で作って、そのまま分析できる状態にしてくれます。
というわけで、以前のプロジェクトで集めた商品の品番データ(3,936件)を入れてみました。項目は「品番」と「分類」の2つだけ、というシンプルなCSVです。
取り込みはコマンド1行、待ち時間はほぼゼロ(208KB → 29KBに圧縮されて格納)。「分類の分布を教えて」と聞いた結果がこちらです。

全335分類のうち、1位だけで1,096品番。全体の28%です。 2位以下は49品番以下。さらに、1品番しか入っていない分類が26個ありました。
そしてAIが、聞いてもいないのにこう言ってきました。
分類名の粒度が不揃いです。「オフィス店舗用エアコン」「マルチエアコン」のような製品カテゴリ名と、「単相100V」「ステンレス製」「32(埋込寸法320mm角)タイプ」のような仕様値が同じ階層に混在しています。上位カテゴリの情報が別カラムにあるべきものが、フラットに1階層で持たれている可能性があります。
……言われてみればそのとおりです。

「オフィス店舗用エアコン」は製品カテゴリ。でも「単相100V」「ステンレス製」は仕様です。本来は別々の列にあるべき情報が、1つの列に押し込まれていました。
これは推測ですが、収集元サイトの階層(大分類 > 中分類 > 仕様)を1列に潰して取ってきたのが原因だと思っています。だから上位カテゴリのまま残った「オフィス店舗用エアコン」だけが肥大化して、本来その下にぶら下がるはずの品番を全部飲み込んでしまった。
要するにこのデータ、「分類」を1列じゃなく2〜3列で持つべきでした。
3,936行を目で追ってこれに気づくのは、正直むりです。でもAIは分布を見ただけで1分で言い当ててきました。
AIは「整えていないデータ」に責任を持ってくれない
もう1つ、ちょっと刺さったことがあります。
自社データの分析結果の最後に、こう書いてありました。
このデータセットはタイトル・発行者・出典URL・フィールド説明がいずれも未設定です。出典を明記できないため、対外的な引用には向きません。
うちが入れたCSVは、定義ファイルが自動生成されたまま。説明文を何ひとつ書いていない状態でした。AIはそれを検知して、「この分析結果は社外に出せる品質じゃないですよ」と自分から申告してきたわけです。
一方、同じサーバーにつながっている行政データのほうは、311行の定義ファイルが人の手で整備されています。そちらへの回答では、各項目の充足率(どれくらい埋まっているか)まで引用した、かなり踏み込んだ分析が返ってきました。
同じAI、同じ仕組みなのに、データの整備状況で回答の質と信頼性がはっきり分かれる。 今回一番実感したのはここでした。
AI活用の前に、自社データで確認できる3つのこと
今回の経験から、着手前にチェックできる観点を3つ。特別なツールは要りません。

1. 空欄の意味が決まっているか
「0」と「未記入」と「対象外」が、同じ空欄になっていませんか。この3つは全然違う意味ですが、集計した瞬間に区別がつかなくなります。
2. 1つの列に複数の意味が混ざっていないか
うちの「分類」列がまさにこれでした。ある列の値をざっと並べてみて、粒度がバラバラなら黄色信号です。
3. 項目名だけで意味が分かるか
「区分」「フラグ1」「ステータス」——社内では通じても、初見では何のことか分からない項目名、ありませんか。AIも同じで、説明資料がなければ推測で埋めるしかなくなります。
この3つ、AIを入れるかどうかに関係なく、データを扱ううえで基本の話です。逆に言えば、ここが整っていればAI活用の準備はだいたい終わっています。
まとめ
デジタル庁の実装から学んだのは、「AIの品質は、指示文じゃなくてデータの設計で担保できる」ということでした。
計算はAIにさせず、プログラム側でやる
「0」と「データなし」を分けて、除外件数を明示する
項目の意味を辞書として持たせて、推測の余地をなくす
そして自社データで試した結果、AI活用の第一歩は「分析させること」じゃなく「データの状態を診断すること」だったという結論になりました。今回は図らずも、AI自身に診断してもらう形になりましたが。
なお、今回触った実装は技術検証目的のサンプルコードとして公開されているもので、動作の安定性や継続的な保守は保証されていません。業務で本格的に使うなら別途の設計が必要です。
データ整備からのAI活用をお考えの方へ
VISKでは、AI導入の前段になるデータ整備からお手伝いしています。
「社内にデータはあるけど、AIに使わせられる状態か分からない」「まず何から手をつければいいか整理したい」——そのくらいの段階でのご相談も歓迎です。今回のような既存データの構造診断からご一緒できます。
お気軽にお問い合わせください。
参考リンク
デジタル庁 技術ブログ「⾏政⼿続等調査データ(約75,000件)をMCPで⾃然⾔語分析可能に」
GitHub: digital-go-jp/administrative-procedures-mcp(MITライセンス)
行政手続等の棚卸調査結果(デジタル庁)
AIに分析させる前に、データの準備ができていますか - デジタル庁の実装で学ぶ「AIが嘘をつかないデータ」の条件
「AIに自社のデータを読ませたら、それっぽい嘘を混ぜてこないか心配で」
AI活用の相談をいただくと、かなりの確率でこの話になります。もっともな心配だと思います。
ただ、実際に手を動かしてみて分かったのは、成否を分けるのはAIの性能ではなく、渡すデータ側の構造だったということでした。デジタル庁が公開した行政データ7.5万件の分析ツールを試したあと、同じ仕組みに自社の商品データ3,936件を突っ込んでみたら、AIは1分もかからずにそのデータの欠陥を指摘してきました。
この記事では、デジタル庁の実装から見えた「AIが推測で埋めないための3つの仕掛け」と、うちのデータで何が起きたかを書きます。
きっかけは、デジタル庁が公開した1つのツール
デジタル庁が、行政手続等の棚卸調査データ(75,071件)をAIとの対話で分析できる形にして公開しました。GitHubでソースコードごと出ていて、ライセンスはMIT。誰でも中身を読めますし、自由に流用できます。
技術的にはMCP(Model Context Protocol)という仕組みを使っています。ざっくり言うと、AIが外部のデータに接続するための共通規格です。これがあると、AIは「知っているつもりで答える」のではなく「実際のデータを見に行って答える」ようになります。
最初は「行政のデータか、うちには関係ないかな」くらいの気持ちで触り始めました。結果的にはそこが本題ではなかったのですが、まずは動かしてみたところから。
まず、実際に日本語で聞いてみた
手元のMacに入れて、こう聞きました。
オンライン化が未実施の行政手続にはどんな傾向がある? まず全体を集計して、そのあと具体例を数件見せて。出典と品質情報も付けて。
SQLもExcelも使いません。この日本語だけです。

約1分45秒、データベースへの問い合わせ10回。返ってきたのは4つの傾向を整理したレポートでした。中でも面白かったのがこれです。
国民が「出す」側の申請はオンライン率0.62まで来ているのに、行政が「返す・通知する」側は軒並み0.4未満。 未実施22,695件のうち12,588件が、この「返す側」に集中していました。
理由の最多は「オンライン化の費用対効果が小さい又は不明」で10,360件。制度改正やシステム未整備といった障壁は合わせても3,024件しかありません。つまり「できない」ではなく「やる価値が見えない」が大半だった、と。
一方で件数ベースだと「実施予定」が1億2,888万件で突出しています。件数の多い手続にはもう手が打たれていて、残っているのは単体では費用対効果が出ないロングテール。 これ、行政に限らずDXの現場でよく見る構図じゃないでしょうか。
これを人がやろうとしたら、39項目×7.5万行を集計し直す作業になります。それが日本語の質問1つで返ってくる。
……と、ここまでは「便利だな」で終わる話です。うちが引っかかったのは別のところでした。
なぜこの回答を信用していいのか。
「AIに推測させない」ための3つの仕掛け
冒頭の「それっぽい嘘を混ぜてこないか」という心配、実際そのとおりで、データに書かれていないことをAIは平気で補完してきます。
デジタル庁の実装は、これをAIへの指示文ではなく、データの設計そのもので防いでいました。ここが一番参考になった部分です。
仕掛け1:計算をAIにさせない

AIには「どの条件で絞り込むか」「どの項目でグループ分けするか」だけを決めさせて、足し算や割り算は全部プログラム側でやる構造になっています。
AIは文章を書くのは得意でも、桁数の多い計算はわりと苦手です。だったら最初から触らせない。「AIに電卓を持たせない」という割り切りですね。
「オンライン率」みたいに複数の項目から出す指標も、あらかじめ定義ファイルに計算式が書いてあります。AIがその場で分母と分子を考えることはありません。
仕掛け2:「0件」と「データなし」を分ける
個人的にはこれが一番グッときました。

集計結果を返すとき、「その合計を出すのに何件を除外したか」が必ずセットで付いてきます。
たとえば未実施の手続の件数を合計する場合、22,695件のうち7,314件は件数が空欄でした。実際にAIが返してきたレポートには、こう書いてありました。
※件数の合計は、総手続件数が null のレコードを除いて算出されています(未実施 22,695 件のうち 7,314 件が除外)
これがないとどうなるか。空欄を0件として計算した数字が、正確な合計みたいな顔をして出てきます。 会議でこれをやられたら、たぶん判断を間違えます。
「データがない」と「値がゼロ」は全然違う意味なのに、集計した瞬間に同じ扱いになってしまう。そこを仕組みで押さえているのが上手いなと。
仕掛け3:項目の意味を「辞書」として持たせる
データ本体とは別に、各項目が何を意味するのか、どんな値が入りうるのかを書いた定義ファイルがあります。行政データ用のものは311行ありました。
たとえば「手続類型」なら、取りうる6つの値それぞれに正式な定義文が書いてある。
ここまでやっておくと、AIは「この項目にはたぶんこういう値が入る」と推測する必要がなくなります。辞書を引けば済むので。
で、自社のデータを突っ込んでみたら
ここからが本題です。
いろいろ調べているうちに気づいたのですが、これ行政データ専用のツールではありませんでした。 任意のCSVを渡すと、定義ファイルの雛形を自動で作って、そのまま分析できる状態にしてくれます。
というわけで、以前のプロジェクトで集めた商品の品番データ(3,936件)を入れてみました。項目は「品番」と「分類」の2つだけ、というシンプルなCSVです。
取り込みはコマンド1行、待ち時間はほぼゼロ(208KB → 29KBに圧縮されて格納)。「分類の分布を教えて」と聞いた結果がこちらです。

全335分類のうち、1位だけで1,096品番。全体の28%です。 2位以下は49品番以下。さらに、1品番しか入っていない分類が26個ありました。
そしてAIが、聞いてもいないのにこう言ってきました。
分類名の粒度が不揃いです。「オフィス店舗用エアコン」「マルチエアコン」のような製品カテゴリ名と、「単相100V」「ステンレス製」「32(埋込寸法320mm角)タイプ」のような仕様値が同じ階層に混在しています。上位カテゴリの情報が別カラムにあるべきものが、フラットに1階層で持たれている可能性があります。
……言われてみればそのとおりです。

「オフィス店舗用エアコン」は製品カテゴリ。でも「単相100V」「ステンレス製」は仕様です。本来は別々の列にあるべき情報が、1つの列に押し込まれていました。
これは推測ですが、収集元サイトの階層(大分類 > 中分類 > 仕様)を1列に潰して取ってきたのが原因だと思っています。だから上位カテゴリのまま残った「オフィス店舗用エアコン」だけが肥大化して、本来その下にぶら下がるはずの品番を全部飲み込んでしまった。
要するにこのデータ、「分類」を1列じゃなく2〜3列で持つべきでした。
3,936行を目で追ってこれに気づくのは、正直むりです。でもAIは分布を見ただけで1分で言い当ててきました。
AIは「整えていないデータ」に責任を持ってくれない
もう1つ、ちょっと刺さったことがあります。
自社データの分析結果の最後に、こう書いてありました。
このデータセットはタイトル・発行者・出典URL・フィールド説明がいずれも未設定です。出典を明記できないため、対外的な引用には向きません。
うちが入れたCSVは、定義ファイルが自動生成されたまま。説明文を何ひとつ書いていない状態でした。AIはそれを検知して、「この分析結果は社外に出せる品質じゃないですよ」と自分から申告してきたわけです。
一方、同じサーバーにつながっている行政データのほうは、311行の定義ファイルが人の手で整備されています。そちらへの回答では、各項目の充足率(どれくらい埋まっているか)まで引用した、かなり踏み込んだ分析が返ってきました。
同じAI、同じ仕組みなのに、データの整備状況で回答の質と信頼性がはっきり分かれる。 今回一番実感したのはここでした。
AI活用の前に、自社データで確認できる3つのこと
今回の経験から、着手前にチェックできる観点を3つ。特別なツールは要りません。

1. 空欄の意味が決まっているか
「0」と「未記入」と「対象外」が、同じ空欄になっていませんか。この3つは全然違う意味ですが、集計した瞬間に区別がつかなくなります。
2. 1つの列に複数の意味が混ざっていないか
うちの「分類」列がまさにこれでした。ある列の値をざっと並べてみて、粒度がバラバラなら黄色信号です。
3. 項目名だけで意味が分かるか
「区分」「フラグ1」「ステータス」——社内では通じても、初見では何のことか分からない項目名、ありませんか。AIも同じで、説明資料がなければ推測で埋めるしかなくなります。
この3つ、AIを入れるかどうかに関係なく、データを扱ううえで基本の話です。逆に言えば、ここが整っていればAI活用の準備はだいたい終わっています。
まとめ
デジタル庁の実装から学んだのは、「AIの品質は、指示文じゃなくてデータの設計で担保できる」ということでした。
計算はAIにさせず、プログラム側でやる
「0」と「データなし」を分けて、除外件数を明示する
項目の意味を辞書として持たせて、推測の余地をなくす
そして自社データで試した結果、AI活用の第一歩は「分析させること」じゃなく「データの状態を診断すること」だったという結論になりました。今回は図らずも、AI自身に診断してもらう形になりましたが。
なお、今回触った実装は技術検証目的のサンプルコードとして公開されているもので、動作の安定性や継続的な保守は保証されていません。業務で本格的に使うなら別途の設計が必要です。
データ整備からのAI活用をお考えの方へ
VISKでは、AI導入の前段になるデータ整備からお手伝いしています。
「社内にデータはあるけど、AIに使わせられる状態か分からない」「まず何から手をつければいいか整理したい」——そのくらいの段階でのご相談も歓迎です。今回のような既存データの構造診断からご一緒できます。
お気軽にお問い合わせください。
参考リンク
デジタル庁 技術ブログ「⾏政⼿続等調査データ(約75,000件)をMCPで⾃然⾔語分析可能に」
GitHub: digital-go-jp/administrative-procedures-mcp(MITライセンス)
行政手続等の棚卸調査結果(デジタル庁)


AI・システム開発のこと、VISKにご相談ください
「自社の業務にAIを活かせないか」「この作業、自動化できないか」——
そんな漠然とした段階からで大丈夫です。大阪のAI・システム開発会社VISKが、御社の課題に合わせて、企画から開発・検証までサポートします。
