■ 照合用に住所表記のゆれを正規化する
フォームからの住所入力では、
- 空白が思わぬ所に入っている。
- 半角英数字と全角英数字が混在している。
- いまだに半角カナが使われている。
- ハイフンに様々な文字種が使用されている。
- ところどころ漢数字が使用されている。
- 丁目、番地、番、号の省略の仕方が様々。
- 都道府県名、郡名があったり、なかったりする。
など、その他「がガケヶつっツッ」の混用など細かい点(地域による違いもある)も挙げればきりがないほどです。
とは言え、100%を求めずにある程度まで表記を統一できれば、実用になる場合もあります。
ためしに次の粗っぽいルールで石川県用(富山県、福井県にもそこそこ対応)に正規化してみました。
- 空白は全角半角を問わず全て削除。
- 英数字は半角に統一。
- 半角カナは全角カナに統一。
- ハイフンの文字種(長音を含む)を統一(-)。
- 丁目、番地、番の前にある漢数字(〇~九)は半角数字に統一。
- 丁目、番地、番、号の数字の間はハイフンに置換。
- 町名しかない場合に郡名を補完(北陸3県のみ)。
- 本来、長音であるべきものもハイフンになる(犠牲)。
本格的な名寄せには使えませんが、重複チェックなどの照合用であればこれでも十分利用できそうです。
ただし、住所表記は都道府県によって違いがあるようなので、汎用性を持たせるには都道府県名による分岐処理も必要になります。
その場合、フォームに選択式の「都道府県名」入力欄を別枠で用意します。
住所を入力:
正規化の結果: