パスワードを忘れた? アカウント作成
14200706 story
ビジネス

経産省、住所の正規化などを行えるコンポーネントを公開 116

ストーリー by hylom
実用的だ 部門より

経済産業省が、法人番号や法人名から企業等の活動情報を検索できる「gBizINFO」サイトで、住所変換や法人種別名の抽出、全角-半角統一などのコンポーネントを含むIMIコンポーネントツールを公開した(Geolonia developer's blog)。

IMI(Infrastructure for Multilayer Interoperability、情報共有基盤)は、電子行政分野に向けてデータに用いる文字や用語を共通化するための技術基盤。今回公開されたコンポーネントツールには住所変換や法人種別名の抽出、全角-半角統一、データバリデーションなどを行うコンポーネントなどを含む「WebAPIコンポーネントと仕様書」、gBizINFOで使用されている語彙を含む「gBizINFO用応用語彙」、gBizINFO全体のデータモデルを定義した「gBizINFO対応DMD」の3つが含まれている。

提供されているコンポーネントはNode.jsで利用できるパッケージとして提供されており、ドキュメントやサンプルコードも含まれている。ライセンスについては明記されていないが、含まれるpackage.jsonファイルによるとMIT Licenseとなっているようだ。

  • 不動産関係の仕事をしている私からすると、誤った方法で住所を勝手に正規化するシステムがあって腹が立ちます。

    内部的にその会社で都合の良い方法で正規化するのは仕方無いとしても、顧客が入力した住所を勝手に誤った方法で改変して、それを宛名として郵便物を送り付けることは大変失礼にあたるので止めていただきたいです。

    日本の住所表記を大きく分けると、住居表示の地域と、住居表示が実施されていない地域の2つがあるので、正規化するならそれを混同しないようにしましょう。

    ・住居表示の地域
    正)東京都千代田区永田町一丁目10番1号
    誤)東京都千代田区永田町1丁目10番1号 … 「永田町一丁目」という地名なので算用数字にしてはならない
    誤)東京都千代田区永田町一丁目10番地1 … 住居表示の地域では「番地」ではなく「番」を使う

    ・地番管理の地域
    正)大宮区吉敷町一丁目124番地1
    誤)大宮区吉敷町一丁目124番地1号 … 最後の「号」は地番管理の地域では使用しない
    誤)大宮区吉敷町一丁目124番1号 … 地番管理の地域では「A番B号」ではなく「A番地B」としなければならない

    また、エンジニアの中には全角数字を異常にまで嫌う人が居ますが、戸籍や住民基本台帳などの電算化に関する法令や規則等では住所の数字は「全角数字」で統一することとされています。
    正規化するなら、勝手に半角にしたりせず、全角に正規化しましょう。半角にしたら、マイナンバーカードから取得した電子データや住民票等と完全一致しなくなります。

    なお、運転免許証に表記されている住所は券面スペースの関係上省略表示される場合があり、必ずしも正しいとは限りません。

    あと、勝手に「大宮区吉敷町1-124-1」のようにハイフン表記するシステムもありますが、
    ・住居表示なのか地番管理なのかというその場所に辿り着く上で重要な情報を削除している
    ・部屋番号なのか番地なのか等が分かりにくくなる
    ・それによるスペースの節約は僅か(世の中には長すぎる地名・住所というものが存在するので、それに対応する空間を用意していたならばハイフン表記で節約できるスペースなんて誤差)
    という観点からデメリットが多いので止めていただきたいです。

    余談ですが、就活マナー本が間違いだらけで、履歴書で「大宮区吉敷町1丁目124番地1号」のような誤表記(地番管理なら最後の「号」が不要なので「A番地B号」とはしてはならない)をする人が大変多いです(正確に書いている人の方が稀)。
    不動産業界でそんな履歴書を出すと、住居表示と地番管理の区別すらできていないというマイナスのアピールにしかなりません。
    普段は「大宮区吉敷町1-124-1」のような省略表記をしていて正確に書こうとして間違えているのだと思いますが、それならハイフンで省略した表記の方がまだマシです。

    ここに返信
    • by Anonymous Coward on 2020年06月02日 19時43分 (#3826265)

      正規化(normalization)は一定の規則に則ってデータを変形することです.それと規範的な正しさとは別の問題です.
      元コメ氏の主張は「住居表示台帳」上の住所規則が,住民基本台帳上の住所にも完全に適応されているという前提に立っていることが問題です.

      住民基本台帳は自治体によって登録ルールを設けているところもありますが,ルールがないところもあります.
      登録時のルールを厳密に運用している自治体は,街区符号や住居番号,さらにマンション名の表記方法や部屋番号の位置などを登録時に住居表示台帳をもとに正規化します(住所に含めるか,マンション名の後にするか,「室」をつけるかなど).
      しかし,ルールがない自治体は同じ土地であっても町名(町丁)以下は,申請者の表記のまま登録します.おそろしいことに,これまで経験した中で地番までしか台帳に登録していない自治体も日本にはあるのです(なのに行政からの郵便物が届く不思議).

      したがって,個人にとっての住民票上の「正しい」住所は住民基本台帳に登録された住所となります.
      まぁ,履歴書程度なら勝手に「正しい」表記に書き換えても良いですね.

      • ですね。

        東京都某A区で、転入時に「一丁目」と書いたものは、発行された住民票では「1丁目」となっていて、同区内の戸籍では「一丁目」となっていました。
        部屋番号を「101号」と書いたものはそのままで、また、同室に別住民票で入居した人は「101」と書き、これもそのまま住民票に反映された。

        他方、某B区で、転入時に「1-2-3-456」と書いたものは、住民票では「一丁目2番3-456号」となっていました。

        どちらも漢数字が正式な町名のところ。
        正規化とは正式化ではないし、公的文書が正式に準拠しているとは限らないし、全ての公的機関が同じ基準でもないし、組織内で統一しているとも限らない。
        なかなか難しいですね。

    • とりあえず、郵便番号が重宝される理由がわかりました。

    • by Anonymous Coward

      書いてる本人が「大宮区吉敷町1-124-1」みたく書いてたら、正規化して正しくなる方がマシじゃないのかな

      # ところで住所正規化システムって、そんなに種類あるの?

    • by Anonymous Coward

      その正しいやり方がクソだと思うのです。
      だれがやっても同じにならないと。

      仕方ないから半角カナ数字でマッチングになるんですよ。

    • by Anonymous Coward

      DBの設計として考えると、ユーザー入力と正規化した表現と両方持って、検索などは正規化した方を使うって流れなので、
      重要なのは一貫性のある正規化ルールなのであって、正しい方法ではない。
      このWeb APIがどっちなのかは知らない。

    • by Anonymous Coward

      以前に地図データベースの実験プロジェクトにいた時に、地図データと各施設の住所データのマッチング用に
      住所の正規化モジュールを(だいぶ雑なのでしたが)作ったことがあります。
      モジュールを作った時点では、検索用(つまり内部データ)ということで、正規化後はかなり
      見てくれの悪い状態だったのですが、地図データ内の住所を正規化しちゃった後で
      画面上に表示することになって「しまった!」となりました。
      その時はあくまで実験プロジェクトなんですみません!って感じでそのままで許してもらったんですが、
      表示用には元データをきっちり残しておくべきだったと反省しました。

      #「正しい書き方」がある場合も、お客様の入力したデータを(表示上だけでも)尊重することも大事ですしね。

    • by Anonymous Coward

      > 誤)東京都千代田区永田町1丁目10番1号 … 「永田町一丁目」という地名なので算用数字にしてはならない

      住民票もマイナンバーカードも「永田町1丁目」だべや
      そんな書き方されたら、半角数字と同じく完全一致しないべ

      • ん?
        貴方が「永田町」に住んでいて「永田町1丁目」と住民票に表記されているの?
        それとも、別の市区町村の「〇丁目」の話?

        Wikipediaより [wikipedia.org]

        漢数字またはアラビア数字のいずれが丁目の数字の表記として正式であるかは、市町村により異なる(「#横浜市」の節で後述するように、同一の市町村内でも異なることがある)。地方自治法第260条では、町名・字名の新設や変更は、市町村長の告示により効力を生ずるとされている(かつては都道府県知事の告示により効力を生ずるとされていた)。よって、告示の表記が町名・字名の正式な表記であり、丁目の数字の表記についても、告示の表記により正式な表記が決まる。
        漢数字表記を正式とする市町村では、丁目は町名の一部または小字の名称であるので、丁目の数字は固有名詞の一部であるとされる。そして、固有名詞中の漢数字はアラビア数字に改めないのが原則であるので(「六本木」は「6本木」とは書かない)、この原則を丁目の表記にも厳格に適用して、横書きで地番や住居番号をアラビア数字で書くときも丁目の数字は漢数字で書くという立場もある(「六本木一丁目」を「六本木1丁目」と書かない)。

        「永田町」については漢数字を使用するのが正式。
        証拠: 「東京都千代田区永田町二丁目9番6号」
        https://pbs.twimg.com/media/DuQxfP8UcAAp_jz?format=jpg&name=large [twimg.com]

        元コメは 『「永田町一丁目」という地名なので~』という主張をしており、全ての「〇丁目」に対してそうしろとは言ってない。

        住民票(横書き)でアラビア数字を使うか漢数字を使うかも、市区町村が決めている。

      • by Anonymous Coward

        えっ、マイナンバーカードは一丁目10番になってるんだけど・・・
        どっちかが偽物?
        出力する自治体や担当者によって変わるとかあるのかな?

    • by Anonymous Coward

      imi-enrichment-address-2.0.0.src.tgzのREADME.mdをみると、

      霞が関2-1-10を入力すると、

      都道府県: 東京都
      町名 : 霞が関
      丁目 : 2
      番地 : 1
      号 : 10

      と出力されるらしいのですが、これは
      「最後の「号」は地番管理の地域では使用しない」
      に反するのですか?

      • by Anonymous Coward

        > 「最後の「号」は地番管理の地域では使用しない」に反するのですか?

        いいえ。

        住居表示実施地区と未実施地区一覧
        https://www.city.chiyoda.lg.jp/koho/machizukuri/tochi/jukyohyoji/jisshi.html [chiyoda.lg.jp]

        によると、「霞が関一丁目~三丁目」は住居表示実施地区です。
        従って、「東京都千代田区霞が関二丁目1番10号」が正しい表記です。「号」は必要で、「番地」ではなく「番」を使用します。

    • by Anonymous Coward

      > 正規化するなら、勝手に半角にしたりせず、全角に正規化しましょう

      勝手に全角にしてくれるならいいよ。勝手に変換すればいいものを、ユーザーに全角で入力させるから嫌ってるだけ。

      • by Anonymous Coward

        > ユーザーに全角で入力させるから嫌ってるだけ。

        んー?
        ユーザーに全角で入力させるから「何が」嫌いって?
        このスレッドは別に「○○を嫌わないでおくれよ」とか言ってるようではない気がするが。。。

    • by Anonymous Coward

      建物の名前が入る場合の住民票の独特の表記順序には、非常に違和感がある。

    • 地域を表す表記、例に挙げただけですでに2つある。
      用途に合わない「正しい表記」は他にも山ほどあるだろう。
      大事なのはデータベースの中で一貫しているかどうかだ。

      市区町村名ひとつとっても総務省と国交省でゆらぎがあるのに
      それを経産省が正規化したらどうなるのかは知らないが、
      「正規化」は「正規化」であって正しいも間違いも無い。

  • いちばん住所に携わっている郵便や宅配便配達の人たちには関係無いことかも。

    正規化したいのは、いい気分になりたいからと、住所で検索するとき用、
    ぐらいだと思うけど、検索するときは正規化された文字列検索じゃなくて、
    都道府県市町村区までは表記の搖れが無くて、
    その後も明確な区切り文字がある全角半角アラビア漢数字の揺れなんだから、
    表記揺れに対応させるのは難しくない。

    むしろ「東京都千代田区永田町一丁目10番1号」なら、
    内部では「東京都千代田区永田町1-10-1」に正規化したほうが便利そう。

    「大宮区吉敷町一丁目124番地1」は固有文字列としてて、
    これ意外に表記しちゃ駄目(例えば「鈴木1郎」みたく)ならいいけど、
    現実は「大宮区吉敷町一の124の1」とかも許されてて、

    僕が住所情報を保持する部分の設計するなら、

    国番号,郵便番号,都道府県,市町村,それ以降1,それ以降2

    で、都道府県は選択式(気が向いたら市町村も)で、
    それ以降1とそれ以降2は自由。全角半角気にせず、
    ユーザが入力したまま。よみがなも要らない。とするかな。

    #普段使いの住所表記は運転免許証のが楽かな

    ここに返信
  • by Anonymous Coward on 2020年06月02日 18時54分 (#3826231)

    どう正規化されるんだろうw

    ここに返信
  • ハイフン、ダッシュに長音の全角半角が混ざってるのを何とかしてほしい。
    全部ハイフンに統一で簡単と思いきや建物名で長音入ったりするので一括置換はできない

    ここに返信
  • by Anonymous Coward on 2020年06月02日 17時08分 (#3826131)

    主に人名、地名で昔書き間違いとか写し間違いで発生したようなどうでもいい異字体を
    廃止して、強権的に一本化してほしい

    そもそも名前の異字体にやたらこだわるのは近代になって活字が普及してからで、
    江戸時代まではもっとおおらかだったんでしょ?

    ここに返信
    • by Anonymous Coward

      日本全国のさいとうさんとわたなべさんに対してアンケートをとって欲しい…

      #かくいう私の名字も異字体でね

    • by Anonymous Coward

      > 江戸時代まではもっとおおらかだったんでしょ?
      印刷も木版だったから、職人さんが個別に「崩し字」を彫るものでして、異字体であるとかないとか、そういうレベルじゃない。いわば、全部異字体。

      活版が出てくるのって幕末だったような。

    • by Anonymous Coward

      異字体・旧字体で画数判断して名付けられた人もいるのでそこのこだわりは強いと思う。
      (戸籍に登録された字が重要、普段一番使用している自体が重要、など見方もいろいろあるらしいが)

      ○崎さんあたりも、うちは大じゃなく立てる方だとかでアイデンティティがあるらしい。

    • Re: (スコア:0, オフトピック)

      by Anonymous Coward

      前にもここで書き込んだけど
      IPAmj明朝フォント使えば異字体でも全部外字使わなくても行ける
      戸籍の紙台帳にある文字は
      異字体含めUnicodeで全網羅済み
      誤字も整理されてる

      MJ文字対応フォント(今のところIPAmj明朝だけっぽいけど)であればどうにかなる

      • by Anonymous Coward
        戸籍が辞書にも載ってない変な字で、普段はそれを常用漢字ルールで簡略化して(しんにょうを1点にするとか)を使ってる人とかはIPAmj明朝にも載ってないからなぁ。部首のバリエーションくらい実在するかどうかにかかわらず機械的に生成して用意しといて欲しかった。
    • by Anonymous Coward

      外字を標準の漢字に取り込んで外字じゃなくするだけでいいのでは?

    • by Anonymous Coward

      人名漢字をすべてJIS第〇水準、およびUNICODEに追加すればいいとおもう

    • by Anonymous Coward

      ここでは何故かみんな「異字体」って言ってるけど「異体字」じゃない?
      変な表記揺れは、まず自分から直していこう。

  • by Anonymous Coward on 2020年06月02日 20時56分 (#3826314)

    よしわかったまずそれをKEN_ALL.CSVに適用してみろ

    ここに返信
typodupeerror

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

読み込み中...