Help us understand the problem. What is going on with this article?

住所分割&誤住所発見ツールを作ってわかったこと

More than 1 year has passed since last update.

ダイレクトメールはけっこう返送されてくる

最近、「早く言ってよ~」の影響から名刺のデータ化が推進されているのはいいとして、課題はそのスキャンの誤認識による修正ですよね。
一般的な解決手段としては…
※あ、長くなりますよ、暇な時間のある方限定でお進みください。

 1.オペレータによる修正を契約してデータ修正を依頼する
 2.データ登録前に複数社員による目視確認を行う
 3.データ登録時に社員による目視確認を行う
 4.特に確認せずそのまま登録する

…のどれかになるのかと思いますが1.は件数が多いとそこそこ高くつくので利用している会社はそれほど多くないと思いますがどうなんでしょうね。
2.~4.は意外と抜けることが多いです。
例えば、以下は実際にスキャナからの読み取りで誤認識された住所です。

 :x:福岡県久留米市三潴町高三瀦
 :large_blue_circle:福岡県久留米市三潴町高三潴
 :x:大阪府枚方市招堤田近
 :large_blue_circle:大阪府枚方市招提田近
 :x:愛知県名古屋市中村区太閣
 :large_blue_circle:愛知県名古屋市中村区太閤

それぞれ上が誤りで下が正解です。
どこが違うか一目でわかりますか?
残念なことにこれらを誤認識するスキャナ(OCR)のなんと多いことか!

それと他にも住所のデータはいろいろ入手経路がありますよね。

・ホームページのお問合せから
・毎年いただく年賀状から
・サポート受付の窓口電話から
・会社移転の案内のハガキから …などなど

これらすべて入力ミスはつき物で間違ったままダイレクトメール業者に依頼して宛先不明で返ってくると後処理が面倒です。
また、多少の間違いだと「忖度」されてそのまま送付されることも普通にあったり(顧客に失礼!)、イベントの案内とかだと正しい住所を調べて再送依頼する時間がなかったりしますよね。

目的はダイレクトメール(以下、DM)の返送率を下げること

少しでも怠けたい業務の効率化を図りたいと思い立ちツールを作ることにしたんですが、とりあえず目標としたことは…

・合併等で統廃合された市区町村を含む住所を見つける
・抜けている市、区などがあればなるべく補填する
・京都の通り名はなるべく活かす
・統計資料等の今後のために住所を市区町村単位に分割する

おおよその目標は達成できた(つもり)ですが、ツールを作るにあたっていろいろと壁がありました。

郵便データは京都の通り名が網羅されていなかった
市町村合併で旧住所から新住所を自動変換することは難しい(注意表記までにした)
・「一丁目」っていう町があるのは予想外だった(分割したら丁目番地欄に入ってしまっていた)
・「之・ノ・の・ヵ・ヶ・か・が・ケ・ガ」の表記ゆれがすさまじかった
・漢数字とアラビア数字の両方とも正式な町名に使われているから面倒だった

ま、けっこう大変でしたということで…

郵便データは京都の通り名が網羅されていなかった

郵便局さんのデータを取り扱いやすいように【住所.jp】さんがきれいに整形してくれてますから、ありがたく使わせて頂くことにしました(ありがとう!住所.jp)
ですが、細かく見ていくにつれて京都の通り名がやたら少ないことがわかりました。例えば…

〒6028307 京都府京都市上京区千本通芦山寺上る閻魔前町

という京都の住所(長いですね)ですが郵便検索で見ると…
alt
このようになるわけです。
そう、通り名は省かれてますよね。まるで存在しないかのように…
ま、詳しいことはわからないんですが、どうやら郵便局としては通り名を網羅するつもりはないようですね。
通り名を使ってたり使ってなかったりしています。
とにかく多量にある通り名を集めるのは(無料の範囲だと)至難で、まだ完成には至っていません。
※メジャーな通りは追加しましたがまだまだ不足していると思います。京都に詳しい方、「通り名+町名」の公開データを知ってたら教えてください

市町村合併で旧住所から新住所を自動変換することは難しい

これもやりたいな、とは思いましたが(無料の範囲だと)至難でした。
ま、さっきのもこれも国土地理院の住所マスターがあればできるのかなと思います。網羅されてるっぽいので。
でも有料なんですよ、定期的に更新が必要になる住所データとしては使えません(高いんでしょうね、きっと)
具体的にどう難しいかと言うと…以下はさいたま市の例なんですけど、こんな感じなんですよ。

alt

これって「大字大谷口(2943番地1~2986番地1)」が「さいたま市緑区」へ、「大字大谷口(2943番地1~2986番地1を除く。)」が「さいたま市南区」に泣き別れしたんですね。
結局、番地までわからないとどっちの区にいったか不明なんですね。しかも新たな住所の番地は旧住所の番地を引き継いでるのかどうかは自治体に問い合わせないとわかりそうもないですし…。
こんなのが全国の自治体にあるんだと思うとお手上げですね。
なので旧住所から推測できる「そうかもね」新住所を候補として表示するにとどめました。
※平成11年以降の市町村合併なら旧住所であることは判定してます

「一丁目」っていう町があるのは予想外だった

正規表現の関係上、住所の分割で丁目番地のほうに行っちゃってたんですね。
で、調べてみたらけっこうあるんですね、これ。
cyome1.png
…などなど。もちろん対応しました。

・「之・ノ・の・ヵ・ヶ・が・ケ・ガ」の表記ゆれがすさまじかった

もちろん自治体で自由に町の名前を決めているのであたりまえなんですが、すごくバラバラなんですね、こういうのが。
例えばこんな感じで…。
hyoki1.png
ノ、之、が、ケ、ヶ…などなどバラエティに富んでいるんですが、住所を記入する際にこれらを気にしない方もたくさんいるわけです。
なので同じ会社名の住所なのに表記がバラバラになってしまうのが困りものでした。
なんとかこれも対応できました。

漢数字とアラビア数字の両方とも正式な町名に使われているから面倒だった

これもひとつ前のタイトルと一緒なんですね。

  • 北海道札幌市中央区北一条西
  • 三重県名張市春日丘1番町

…など町名に漢字の数字と普通の数字がそれぞれ正式な町名となっています。
えぇ、これにも対応しました。

住所データで困っている方へ

ツールは公開してますのでどうぞ使ってみてください
住所分割ツールはこちら
使い方のYouTubeはこちら
テスト用の住所データはこちら
※不具合を見つけたらお叱りください:sob:

Arqenza
営業用資料の名寄せなどをおもに生業としています。公開してるサービスがお役に立てれば何よりです。
https://nayose.net/blog/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした