はじめに
2023年6月より、日本郵政の公開する郵便番号データ、通称 ken_all.csv の改定版が公開されました。
旧来の ken_all.csv に加えて、「住所の郵便番号(1レコード1行、UTF-8形式)(CSV形式)」 utf_all.csv
が追加されています。
郵便番号のデータ利活用の観点から2023年6月更新より新たな形式でのデータを追加で公表します。
読み仮名データは全角カタカナとなっています。
従前公表のデータについては、全角となっている町域名の文字数が38文字を超える場合、また、半角カタカナとなっている町域名のフリガナが76文字を超える場合には、複数レコードに分割していましたが、今回追加公表するデータについては、1郵便番号データに対し、1行で記載しています。
UTF-8形式で記載しています。
都道府県別のデータ掲載はありません。
なお、従前から公表している形式のデータについても継続して、掲載いたします。
長い町域名が複数行に分割されていたものが1行記載に変更されはしましたが、郵便番号データの本質的な使いにくさは解決されていません。
ですので、この改定を喜び勇んでいる人は、少し冷静になる必要があります。
郵便番号データ改定の経緯
この改定は、総務省「郵便局データの活用とプライバシー保護の在り方に関する検討会」での以下の議論を受けたものです。
- デジタル社会におけるベース・レジストリ(公的機関等で登録・公開され、様々 な場面で参照される正確性や最新性が確保された社会の基幹となるデータベース) の重要性について説明があり、ベース・レジストリに指定されている郵便番号デ ータの品質向上や他のベース・レジストリとの連携強化が、民間及び公的サービ スの向上に繋がる
- 郵便番号のデータベースは、非常に多くのウェブサービスで、郵便番号を入力し て該当する住所がサジェストされるという形で利用されており、機械判読可能な 正しい住所が日本郵便から提供されることは、官民のサービスの利便性を確保す る上で重要
検討会を経て、「郵便局データ活用推進ロードマップ」が作成されました。 https://www.yuseimineika.go.jp/iinkai/dai252/siryou252-2.pdf
郵便番号データの改定は、「公的要請に応えるデータ活用の優先的推進」中、「オープンデータの推進」アクションの一つとなっています。
郵便番号データに関しては、具体的に、以下の課題と対応があげられています。
「郵便局データ活用推進ロードマップ」関連
https://www.soumu.go.jp/main_content/000848077.pdf
今回の改定は、単純に取り組みやすい①から③までの対応であり、④についての対応は行われていません。
そして、まさにこの④番目の課題が、郵便番号データの扱いにくさの本質的な問題点であり、これについての対応は見送られています(③ については、町域名内の文字列に (
が含まれ、 )
で終わっていないレコードは、 )
で終わるまでを1行と判定することで、旧来形式でも対処することができます)。
町域名の問題点
典型的なケースとして、郵便番号データには以下のレコードが存在します。
20204,"394 ","3940000","ナガノケン","オカヤシ","イカニケイサイガナイバアイ","長野県","岡谷市","以下に掲載がない場合",0,0,0,0,0,0 20204,"394 ","3940091","ナガノケン","オカヤシ","オカヤシノツギニバンチガクルバアイ","長野県","岡谷市","岡谷市の次に番地がくる場合",0,0,0,0,0,0 20204,"394 ","3940002","ナガノケン","オカヤシ","アカハネ","長野県","岡谷市","赤羽",0,0,1,0,0,0 20204,"394 ","3940053","ナガノケン","オカヤシ","アシノサワ","長野県","岡谷市","芦ノ沢",0,0,0,1,0,0 ・・・
町域名カナ オカヤシノツギニバンチガクルバアイ
ってなんだ!?というのもありますが、それは置いておくとして、見にくいので不要なカラムを削除します。
"3940000","長野県","岡谷市","以下に掲載がない場合" "3940091","長野県","岡谷市","岡谷市の次に番地がくる場合" "3940002","長野県","岡谷市","赤羽" "3940053","長野県","岡谷市","芦ノ沢" ・・・
この最後尾のカラムが町域名になりますが、このカラムに、人間向けの補足情報が日本語で書き下されています。
郵便番号 3940000
の町域を知りたい場合には、以下に掲載がない
ことを、続く 岡谷市
のレコードを全て見た後で、該当する町域が無ければ 3940000
となる。ただし、岡谷市
に番地が続く場合の郵便番号は 3940091
である。と。
このように、日本語を読み下して、それに応じたロジックで郵便番号を探す必要があり、これがシステムで郵便番号データを扱うことが困難な理由になります。
別の例では、番地が細かく指定され、しかも 2丁目「651、662、668番地」以外
のように否定で指定されていたり、
"0482402","北海道","余市郡仁木町","大江(1丁目、2丁目「651、662、668番地」以外、3丁目5、13−4、20、678、687番地)" "0482331","北海道","余市郡仁木町","大江(2丁目651、662、668番地、3丁目103、118、210、254、267、372、444、469番地)"
さらに別の例では、3〜9番
のように範囲指定されていたりします。
"1320015","東京都","江戸川区","西瑞江(3丁目、4丁目3〜9番)" "1340015","東京都","江戸川区","西瑞江(4丁目1〜2番・10〜27番、5丁目)"
このような記載が、ルールが明確に定義されず、人間向けの補足情報として、よしなに判断することを期待した記述となっています。
これが、郵便番号データの扱いにくさ の本質になります。
郵便番号データの泥臭い編集
「住所の郵便番号(1レコード1行、UTF-8形式)(CSV形式)」 utf_all.csv
の提供開始により、複数レコードを1行に纏める操作は不要になりましたが、郵便番号辞書として利用するには、前述の人間向けの説明部分を、依然として、泥臭く加工する必要があります。
郵便番号から住所のサジェストを行うケースでは、以下のライブラリの編集を参考にすることができます。
本ライブラリでは、旧来の ken_all.csv
または、改定版の utf_all.csv
の何れかを選択することができます。
いずれの場合も町域名は、以下のような加工処理を、上から順に適用しています。
以下に掲載がない場合
またはの次に番地がくる場合
を含む → 町域名全体を削除一円
で終わり、市区町村名と重複する → 町域名全体を削除(全域)
(地階・階層不明)
(次のビルを除く)
で終わる →(
以降を削除(高層棟)
を含む →(高層棟)
を削除.*([0-9]+階)
にマッチする →(
と)
を削除(丁目)
(各町)
(番地)
(無番地)
(その他)
で終わる →(
以降を削除を除く)
以下)
以内)
以降)
以外)
○○屋敷)
で終わる →(
以降を削除AA(BB、CC「XX、YY」)
のような形式 →AA(BB)
とAA(CC「XX、YY」)
にレコード分割を含む)
その他)
以上)
で終わる →(
以降を削除」以外)
で終わる →(
以降を削除番地以上
を含む →(
以降を削除「
と」
を含む →「
から」
までを削除.*(.*・.*).*
にマッチ →(
以降を削除.*(.*〜.*).*
にマッチ →(
以降を削除.*第.*地割〜第.*地割.*
にマッチ → マッチ部分を削除.*地割〜.*地割.*
にマッチ → マッチ部分を削除地割、
を含む → カンマでレコード分割甲、乙
で始まる → カンマでレコード分割
なかなかの泥臭さ加減になることがお分かりいただけると思います。
まとめ
2023年6月より、日本郵政の公開する郵便番号データが改定されました。 改定データの提供は歓迎すべき事ではありますが、このデータは問題の本質を解決するものではありません。
単に上っ面の形式が変更されただけであり、エントリデータ自体の問題は、未だ何も改善されていないため、その点を把握しておくべきです。
とは言え、長い間に渡り放置されていた問題の改善に対して1歩踏み出したことは確かであり、今後のデータ整備に期待していきましょう。