[Anthy-dev 3780] 郵便番号辞書更新(とちょっと実験)

アーカイブの一覧に戻る

Jun Oizumi vagus****@gmail*****
2010年 6月 16日 (水) 01:17:11 JST


大泉です。

「大崎ThinkParkTower」とかがみっともなさすぎるので、
白井さんからご指摘のあった部分を修正して出し直しました。
http://sourceforge.jp/projects/alt-cannadic/downloads/47884/zipdic-201005.2.tar.bz2/

ただし、[Anthy-dev 3763] の件は厄介なので未対応です。


ついでに、gendic_zip.rb も ruby1.9 限定が不評だったので、1.8 で動くよう修正しました
(添付ファイル)。
また、gendic_zip.rb から直接 zipcode.t を作るのではなく、zipcode_base.txt という
中間ファイルを作るように変更してみました。

zipcode_base.txt の形式は、空白区切りで

 [郵便番号] [都道府県] [市区郡] [町域]

になっています。

ここから、Anthy/Canna/SKK の辞書をそれぞれ作るようにすればいいのかなと。
Atnhy なら

 $ awk '{ print $1,"#CNS",$2 $3 $4 }' zipcode_base.txt > zipcode.t

とするだけです。

それで、住所部分を分割したままにしたのは、もちろん、[Anthy-dev 3738] の

> "北海道札幌市北区北十条西" が 0 のエントリとすれば、
>
>    0010010 #CNS <0> <0>1丁目 <0>2丁目 <0>3丁目 <0>4丁目
>
> と短く収められます。

をやってみるためなので、実際にちょっとやってみました。

$ wget http://www.post.japanpost.jp/zipcode/dl/kogaki/lzh/ken_all.lzh
$ lha ptq ken_all.lzh > ken_all.csv

;; 中間ファイル zipcode_base.txt 作成
$ ./gendic_zip.rb

;; 現 Anthy 用郵便番号辞書作成
$ awk '{ print $1,"#CNS",$2 $3 $4 }' zipcode_base.txt > zipcode.t

;; zipcode_base.txt を圧縮した zipcode_shrink.txt と変換表 address_tbl.txt を作成
$ ./shrink.rb

;; 辞書形式に変換したもの
$ awk '{ print $1,"#CNS",$2 $3 $4 }' zipcode_shrink.txt > new-zipcode.t

;; ファイルサイズ比較
$ ls -l
[..] 4186507 2010-06-15 23:43 zipcode_base.txt
[..] 4564192 2010-06-15 23:43 zipcode.t
[..]   30212 2010-06-15 23:43 address_tbl.txt
[..] 3710228 2010-06-15 23:43 zipcode_shrink.txt
[..] 4089831 2010-06-15 23:43 new-zipcode.t


うーん、もっと小さくなるかと思ったんですが…
ともあれ、ご参考まで。
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: shrink.tar.bz2
型:         application/x-bzip2
サイズ:     2739 バイト
説明:       無し
ダウンロード 



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る