Rails で MeCab と KEN_ALL.CSV などをもちいて住所の抽出を試みた。

Rails で MeCab と KEN_ALL.CSV などをもちいて住所の抽出を試みた。

http://13.ore-omae.com
こんな感じの精度が悪いアレです。

形態素解析(なんて言葉も把握してなかったときですけど)を試みようとして、これあきらかに個人では無理やんとあきらめていたところ MeCab というオープンソース形態素解析エンジンを発見したのでさっくりとコンパイルしてコマンドを叩いたところ、おどろきの性能に文明を感じました。

http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html

というわけで http://13.ore-omae.comスクレイピングした本文をもとに住所抽出を試みました。みなさんおなじみの KEN_ALL.CSV を全て入れたデータベースを用意して、MeCab でとりだした地名を投げるとここじゃねーのという候補を返すサーバーを非公開ポートでたてて note 13 から通信する仕組みです。

この手の Rails to Rails の通信てこういう web API 的なアクセスしかないんですかねぇ。rake タスクで呼びだそうとしたけどまったくうまくいかなかった。

抽出は都道府県でザクッと絞り込んだ後に、出現回数をカウントして簡単な順位つけをして上位のやつを表示するって感じですが、まぁ精度が悪い。MeCab が出してくれる地名が市や町を省いたものなので、これを抽出後に本文参照して補ってやるといいのかもしれない。