Kurage
Kurage WikiKurageナレッジベース
Kurage.AIに聞く →
ホーム › Wiki › 概念 › 区域外・未収録・判定対象外・未指定の区別
概念

区域外・未収録・判定対象外・未指定の区別

「区域外」「未収録」「未指定」「未公表」「判定不能」を潰さず分けて答える設計原則。

定義

ある地点や項目がリスク区域に「入っていない」と判定したとき、それが 本当に区域外なのか、それとも そもそもデータが存在しない(未収録)のか、あるいは 判定の対象外なのか、制度上まだ指定されていない(未指定)なのか、そもそも公表されていない(未公表)のか を必ず分けて答えるという設計原則。Kurage の防災系製品群に共通する芯であり、hazard-map-judgment を成立させる前提条件でもある。この区別は地理データにとどまらず、行政統計の公表ギャップ、制度の期限、税務・登記の登録状態、条文の「答えられない」という記録、業務の状態管理、果ては OSS 導入時の「無言の失敗」にまで及ぶ。kappstore-ecosystem の各製品が共通して持つ、数少ない普遍の不変条件でもある。

なぜ重要か

「区域外」という応答は、利用者にとって「安全」という意味に読み替えられる。しかしデータが未収録の自治体・県で黙って「区域外」と返せば、実際には危険がある土地を安全だと誤認させてしまう。これは判定ツールとしての最悪の故障であり、trust-boundary の観点からも許容できない。

同様に「未指定」を「区域外」に、「判定対象外」を「危険度なし」に、「未公表」を「ゼロ」に潰してしまうと、規制が無い・危険が無い・対象が無いという逆の意味が生まれてしまう。区別すべき状態は二つではなく、少なくとも次の型に分かれる。

状態の型

kurage-products の各製品は、次の状態を別々に答え分ける。

状態 意味 応答
該当(確定) データ上、その地点は区域に入る 「該当」と明示
区域外(確定) データは完全に収録済みで、その地点は区域に入らない 「区域外」と明示(ただし後述の留保付き)
未収録 その自治体・県のデータを取り込んでいない、または配布データが打ち切られている 「データが無い/確認できない」と明示し、安全と言わない
判定対象外 そもそも判定の対象にならない値(例: 液状化の判定対象外セル) 「危険度なし」とは別の表示にする
未指定 制度上まだ区域指定そのものが行われていない 「未指定」と明示し、規制が無いと誤解させない
未公表 そもそも国・自治体がその数字を公表していない 「未公表」と書き、ゼロや推定値で埋めない
非回答(記録) 制度上「答えられない」と明示された 「お答えすることは困難」とそのまま示し、答えが無いと書かない
判定不能(規則外) 語の一致などで機械的に判定した結果、当てはまらなかった 「判定できませんでした」と表示し、当てずっぽうで1つ選ばない
同名・曖昧 同じ名前の別の対象が存在する 住所などの第2の軸で見分け、一方に潰さない
想定不要 内陸など、そもそも想定の対象外 「対象外」として区域外と区別
未検証 利用者の環境で動くかどうかが未確認 事前判定ツールで確かめ、動くと言い切らない
無言の失敗 エラーを出さずに処理が壊れている 検出して状態として示し、成功と混同しない

最も細かい実装例:kurage-juyo-saigai-check

宅地建物取引業法施行規則 第16条の4の3 が定める災害4項目を判定する本製品は、この原則を5状態に展開している。

空欄や「該当なし」で流すと重要事項説明の誤りに直結するため、確認漏れが紙の上に残る作りにしている。第三号の津波災害警戒区域は国土数値情報に無く都道府県が個別に指定・公表しているため、愛知県32市区町村・約165万面をマップあいち(CC BY 2.1 JP・営利利用可)から取り込む手順を同梱。nagoya は7区が指定対象で、残る9区は「指定対象外」と確定で出る。第一号の造成宅地防災区域は、名古屋市の公式FAQ「名古屋市内で指定されているところはありません」を出典つきで引用する。

具体例:kurage-tsunami-map

東京都・福井県・香川県は沿岸があるにもかかわらず、国の津波浸水想定データに未収録である。ここで黙って「区域外」と返すと、海岸沿いの土地が安全であるかのように見えてしまう。本製品は「未収録」「内陸(想定不要)」「区域外」を必ず分けて答える。

具体例:kurage-flood-hazard-map

「未収録と区域外を区別する」ことを設計の芯に掲げ、判定に必ずデータ時点を添える。名古屋市版の内水データも同梱し、他自治体はShapefileを1件足すだけで同じ画面で動く。外部の有料APIは使わず追加費用0円。

具体例:kurage-morido-map

盛土規制法の区域指定は都道府県ごとに進行中で、青森・香川・佐賀・沖縄はまだ公開されていない。そこで黙って「区域外」と答えると「規制が無い土地だ」と誤解されるため、「区域外」と「未指定」を必ず区別する。国土数値情報A56から全国104,309区域・1,539市区町村・43都道府県を取り込み、区域の種別・指定主体・告示番号・施行年月日まで返す。大規模盛土造成地マップ(そこに盛土があるという土地の成り立ち)とは別物であることも明示する。

具体例:kurage-disaster-risk-area-map

指定のない自治体で黙って「区域外」と答えない。さらに区域外の場合でも「これは建築制限の指定であって、浸水の危険が無いという意味ではない」と明記する。区域外=無危険ではないという第二の区別を扱っている点で踏み込んでいる。商用利用を認めていない自治体・非公開の自治体はそもそも取り込まない設計とし、利用条件の一覧をコードに持ちテストで固定する(open-data-license-compliance)。

具体例:kurage-earthquake-map

名古屋版は「区域外」と「判定対象外」と「範囲外」を必ず分ける。とくに液状化データには判定対象外を示す値が全体の28%あり、これを「液状化しない」と表示すると利用者は誤解する。名古屋市東部の台地に多く分布することを実測で確かめたうえで、危険度なし(PL=0)とは別の表示にしている。

具体例:kurage-disaster-judgment-set

区域判定だけでなく発令情報にも同じ原則を適用する。市区町村の配信から警戒レベル・種別・対象学区の事実だけを機械的に抜き、取得できなかったときは「発令なし」とは書かずに 取得できなかったと明示する。避難先も「その場所でいちばん重い災害に対応している指定緊急避難場所」だけを返し、洪水対応の避難所を土砂災害警戒区域の人に勧めない。

具体例:kurage-seido-navi

制度ナビでは期限を過ぎた制度を自動で「受付終了」に切り替える。これは時間方向の状態区別であり、「掲載されていない=制度が無い」ではなく「かつて存在した制度がいま終わった」ことを示す。名古屋市版45制度を同梱し、区を選ぶと申請先がその区役所に置き換わる。

同じ姿勢が kseidocal(制度変更カレンダー)にもある。会社に関係する制度の変更を施行日の順に並べ、従業員数やパートの有無を選ぶと自社に関係するものと時期が分かる。日付はすべて省庁の公式ページで確認したもので、項目ごとに国会での直近の発言を毎日取得する。日付は動きうるからこそ、出典と確認時点を添える。

具体例:ktorihiki — 登録状態を真偽値に潰さない

取引先の一覧(会社名・13桁の法人番号・T+13桁の登録番号のどれでも、1行に1社)を貼ると、国税庁の法人番号とインボイス(適格請求書発行事業者)の公表データから、インボイスの登録・取消・失効と、登記の閉鎖・商号や所在地の変更をまとめて照合し、確認が要る取引先を上に並べる。単に「登録あり/なし」の二値にせず、取消や失効という中間状態を持ち込む点で、この原則の税務版である。公開デモは愛知県に本店のある法人約28万6千社。データは国税庁の全件ファイルから毎月組み直す。

具体例:kshuisho — 「答えられない」という記録された答え

衆参の質問主意書と政府答弁書を本文の中までことばで引く道具。同じ論点で過去に誰が何を聞き、政府が何と答え、どこが「お答えすることは困難」とされたかを1画面に並べる。要約も論評も文章の生成もしない。ここでは「答えが無い」(検索の失敗)と「政府が答えられないと明示した」(記録された事実)が区別される。混同すると「政府は何も答えていない」と読まれてしまう。

同じ姿勢が kurage-giin-statement-log にもある。議員が「いつ・どの会議で・何を質問したか」を日付と会議名と会議録リンクつきで引く道具で、こちらも要約も論評もしない。記録を記録のまま返すことが、判定不能を作らない設計になっている。kurage-kokkai-tracker も同様で、テーマごとに質疑と政府答弁を日付順に並べるだけで、要約も論評もしない。PHPとSQLiteだけで動きLLMを使わないため運用費がかからない。

法域を1つに潰さない

同一の土地に複数の法的な枠が重なる場合も、片方に潰さず並べて示す。

区分をまとめない:kibasho

不登校の子どもの居場所を、「民間のフリースクール」「学校の中の居場所」「市の教育支援センター」「利用料の補助金」の4種類に分け、違いが分かる形で1つのページにまとめる。種類の違うものを一つの「居場所一覧」に混ぜると、費用も通い方も手続きも違うものが同列に並び、選ぶ側が判断できなくなる。nagoya の公表資料(連絡会の参加団体40団体・校内の居場所 中学校111校と小学校5校・なごやフレンドリーナウ4か所・利用料補助金の要件)を入れた状態で届き、他市町村のデータに差し替えて使える(municipality-data-swap-expansion)。

評価で案内を変えない:kanketo

飲食店・美容室・クリニック・宿の来店アンケートをQRコードから1分で。低い評価はその場でメールで届くが、Googleへの案内は評価に関係なく全員に同じように出すという規約を守る作りにしている。状態によって案内の内容を変えると、集めた評価の意味そのものが壊れる。ここでは「分けるべき区別」と「分けてはいけない区別」が表裏になっている。

同名を住所で見分ける:kurage-visit-nursing-navi

訪問看護ステーションの名前で検索してきた家族に、その1軒を答えるには「同じ名前の別事業所」を区別しなければならない。「ひまわり」49軒・「さくら」48軒のように同名が多数存在するため、住所を第2の軸として住所で見分け、住所から近い順にも引ける。厚生局の届出名簿を突き合わせ、24時間対応・精神科訪問看護・特別管理加算の届出有無も表示する。名前が一致したことを「その1軒に特定できた」と混同しない設計である。

「公表されていない」を「ゼロ」と読ませない

同じ原則は、災害区域だけでなく行政統計の公表ギャップにも及ぶ。国や自治体が数字を出していない項目をゼロや空欄で埋めると、利用者は「空きがある」「対象が無い」と読む。administrative-data-publication-gap として、ここでも「無い」と「未公表」を分ける。

消えた事業所を「廃止した」と書かない

公表データから消えた事業所の数は出せるが、消えた理由は公表されていない。したがって khoudei と kshuro は「廃止した」とは書かず、消えた数と定員だけを示す。一方で kkaigo と kghome は、市区町村・法人ごとに「いま何か所あって、何か所が消えたか」を並べる。これは facility-data-churn として独立した論点になる。

検索して0件は「存在しない」の証明にならない

japanese-search-gap として、検索の失敗を「無い」と読み替えないという区別がある。

検索して0件だったとき、それは「存在しない」ではなく「引けない」である可能性がある。両者を混ぜると、利用者は無いものを無いと信じ込む。

無言の失敗を状態として持つ

「動いている」と「壊れている」の間にも、区別すべき状態がある。measured-pitfall-catalog として、エラーを出さずに壊れる失敗を実測で拾い、番号つきで記録する。

複数の軸を1つのステータスに潰さない

業務システムでも、状態を1本のステータスにまとめると実態が見えなくなる。

外部で裏取りしてから記録する

自己申告を状態として受け取らない、という変種がある。

推測値を出さない

未収録・未公表の裏面として、推測した数値や日付を利用者に見せないという原則がある。埋めた瞬間、その値は確定値として読まれる。

言い切らない・○×で答えないという第2の原則

状態の区別に加えて、判定精度の限界と行動の段階も明示する。

データ時点の明示とセットになる

区域の指定は改正される。整備年度は県・市町村ごとにばらばらである。したがって「区域外」という答えには必ずいつのデータに基づくかを添える。これにより、利用者は「今の指定では区域外」と正しく理解できる。

この考え方は evidence-traceability と直結している。

決定論的コードで実装する

この区別は、LLMの推測に任せると簡単に壊れる。モデルは文脈から「たぶん区域外だろう」と補完してしまうためである。そこで deterministic-core の原則に従い、状態の判定と応答の分岐はコードが決定的に処理する。

規則で絞り、AIは説明だけ

無料で公開されているAI相談チャット群(kurage-ai-soudan-chat)は、取引先チェック・補助金・入札・出店商圏・土地・介護相談・給付金の7本いずれも、国や自治体の公開情報を規則で先に絞り込み、その結果をAIが質問に合わせて説明する構成になっている。規則が出した結論をAIが変えない点で、本ページの原則と同じ設計である。AIが止まっていても規則の答えは出る。

AI の下書きを確定と混同させない

kurage-ai-mom(議事録)、kurage-ai-meishi-analysis(名刺)、kurage-crm-agent(日報)は、いずれも AI の出力を下書きに留め、人が原本と見比べて承認したものだけを確定とする。AI が承認できない設計をコードで強制しており、approval-workflow としてこの原則の一形態になっている。

同じ構図が kurage-bill-ai-interview にある。国会で審議中の法案を出典つきで解説し、AIインタビューで賛否・理由・暮らしへの影響を聞くが、最後に作る「意見のまとめ」は本人が確かめて同意したときだけ保存し、公開するかも本人が選ぶ。AIが作ったものをそのまま「民意」として扱わない点で、承認の関門を個々の本人に置いた設計である。

関連する設計思想

この原則は、self-contained-php-app や self-hosting の構成でこそ意味を持つ。外部の有料APIに問い合わせる構成では、APIが返す「該当なし」が未収録なのか区域外なのかを区別できないことが多い。データを自社サーバー内に持ち、収録範囲を自分で把握しているからこそ、両者を厳密に分けられる。データを外部に出さない設計(no-external-data-egress)は、この区別を可能にする前提でもある。

また、第16条の4の3の5状態のように区別すべき状態が増えるほど、「どのデータがどの状態に対応するか」を宣言的に管理する必要が出てくる。これは config-declared-scope の考え方と符合する。自治体データを差し替えて他地域へ展開する製品群(municipality-data-swap-expansion)では、差し替え後の収録範囲が変わることが状態の意味を変えるため、収録範囲の宣言がそのまま安全性の担保になる。

Kurage App Store では、この原則が個々の製品の設計方針として繰り返し現れる(kappstore-ecosystem / kurage-app-store)。「区域外」と言い切れるかどうかは、その製品が自分のデータをどこまで把握しているかの裏返しでもある。

関連ページ

「区域外・未収録・判定対象外・未指定の区別」についてもっと知りたいですか?
Kurage.AI に質問する