2005年10月01日
文章中のジオコーディングサービス案
しばらく離れている間に、ジオコーディングでいろいろ動きがあったみたいですね。
ご自身作られたものも含め、Nakamura-KU ADDICTさんとこにまとまってるみたいですが、
先ほどBLOGにアドレスマッチングのSOAP版があるというタレコミ情報を頂きました。
http://www.geoap.jp/service/trial/trial_adrmatch.htm
日本にもついにSOAPのGeocoder誕生ですね。
こいつは有料ですね(1000件までは無料とありますが)。
私もちょっぴり頑張っていることをアピールすべくちょっことだけ公開。
http://ws.podzone.net/share/geocoder.cgi (自宅サーバなので落ちている可能性あり)
住所を入力していただき、データベースに問い合わせて、住所の位置がわかった場合に、GoogleMap API上に表示します。
おおー、すごい。でもコメント見ると、 街区レベル位置参照情報の精度の低さ?に苦戦されている模様。
先ほど気づいたのですが、 Geocoding.jpさんも動き出していますね。
精度が全く違います。
商用データを使っているようなのでかなり精度が高いです。
マジっすか > 商用データ
すごい、個人の趣味でやられてるみたいだけどどうやって手に入れてるんだろ。
いいなあ。
で、個人的には、RESTで住所送って経緯度返すジオコーダもいいんですが、テキスト文書送って、そのテキストに含まれている住所をピックアップして返すジオコーダもあればいいなあと思います。
ちょうど、はてなダイアリーキーワード自動リンクAPIみたいな感じで。
このやり方に関するアイデアは前から持ってた(というほど大したアイデアでないが)んですが、最近はてなキーワードの自動リンクは巨大な正規表現でやっているという話を知って、考えを一歩進めたので、ここにアイデアだけ公開します。
自分で実装は...やってる時間がない...誰かやって。
いや、大したアイデアでもないんですけども。
文章中の住所マッチする時って、単に地名っぽい単語があったからといって何でもマッチできるわけでもないですよね...「城東町」って言葉が含まれていたってどこにリンクすりゃいいのよ、ってのもあるし、「在庫出血大放出!!」ってな感じになっても困る(ちなみに、「はなてん」と読みます)。
ある程度以上の正確ば場所と特定できる住所って、まあ大雑把にどこかで切るとすれば、都道府県だとよく省略されるし、という事で市区町村が含まれるか否か、で決まると思うんですよ。
で、市区町村の数なら全国でも既に大合併進んでてせいぜい3000強かその程度。
その程度なら、テキスト中にそれが含まれるかどうか検索したって、それほど負荷はかからないと思うので、まずそれが含まれているかどうか探し出す。
その探し出す方法として、はてなキーワードのこの記事を読むまでは3000通りの市区町村名のループかけて調べてやるつもりだったんですが、はてなキーワードのやり方を知った今では、3000通りの市町村の正規表現でマッチしてやればいいかなと。
正規表現だと、表記のぶれへの対応にも親和性高いですしね。 /......|龍ヶ崎市|..../とかやる代わりに、/......|(龍|竜)(ヶ|が|ケ)(崎|?)市|..../とかやってやればいいわけだし。
で、そうやって市区町村レベルの表記を見つけたら、今度はそれぞれの市区町村に含まれる町丁目のリストが、DBからせいぜい3桁-4桁前半の範囲で求められるはずだから、同じようにその正規表現作ってやって、市区町村名に続いてその中に含まれる町丁目名が出てくるかを調べてやればいい。
そこでもマッチすれば、今度は...番地、または...番...号の世界だけど、こっちはDBから候補リストを出してマッチするのではなく、「2丁目7番9号」でも「2-7-9」でも「二の七の九」でも引っかかるような正規表現を組んでやって、テキスト側にマッチさせ、それでマッチされた数値情報からDBを検索したらいい。
というか、同じ正規表現だから町丁目リストのマッチングと下位の街区部分正規表現のマッチングは1工程にもできるかな。
という感じのやり方で、テキスト中の住所表現に位置情報を付与できると思うんだけど、誰かやってみてくれないかなあ。
それができるようになれば、応用として、
- 「城東町」という単語自体は市区町村から独立して出てきても、同じテキスト中に「愛知県名古屋市北区」や「高槻市」、「姫路市」等が出てくれば適切に処置する
- 京都特有の市区町村と町丁目間に入る「...上ル」「...西入ル」といった表現や、町丁目下に慣習的な字・大字表現が入るような場合にも対応
したりもできるようになるんじゃないだろうか。
HTML中の住所抽出+地図ポップアップリンク、ウチでエンジニアが遊びで作ってます。
bookmarkletになっててページ見ててちょっと地図が見たい時なんか結構便利ですよ。
公開したいんだけど、会社が〜。
早くウチの会社もWEB2.0対応したいですねえ。
![[ここギコ!]](http://kokogiko.net/logo.png)



・MovableType 3.2、MT::App::Trackback.pmの修正(Jak)
・MovableType 3.2、MT::App::Trackback.pmの修正(ambox.su)
・MovableType 3.2、MT::App::Trackback.pmの修正(ambox.su)
・わしズムを読んで「アイヌは民族じゃないよ だから先住民族ではあり得ない」というような奴には、「国連先住『部族』の権利に関する宣言だよ」で問題ない(kokogiko)
・わしズム内の一服の清涼剤「るいるいかむい」(kokogiko)
・大和民族の定義云々について(kokogiko)
・大和民族の定義云々について(kokogiko)
・「定義できない」とのたまうものを自説根拠の説明の中で延々と使う不誠実(笑)(kokogiko)
・わしズム内の一服の清涼剤「るいるいかむい」(むにゅう!)