文章を自動的に地図化する地名情報処理システム文章を自動的に地図化する地名情報処理システムGeoNLPGeoNLPデモ/jageocoderデモの更新GeoNLPデモおよびjageocoderデモのデザインを更新しました。2024年2月19日GeoLOD更新GeoLODを更新しました。APIの強化、異体字検索などの機能が増えました。2024年2月16日GeoNLPデモ/jageocoderデモの更新GeoNLPデモおよびjageocoderデモを更新しました。2023年12月26日GeoNLPドキュメントの更新GeoNLPドキュメントを更新しました。ソフトウェアに関するレファレンスをPygeonlpリファレンスに移動するとともに、いくつかの項目の記述を更新しました。2023年12月10日GeoLODを更新GeoLODを更新し、API仕様も公開しました。2022年5月18日GeoNLP地名語辞書を拡充GeoNLP地名語辞書を拡充しました。いくつかの国土交通省の国土数値情報のデータをGeoNLP地名語辞書に変換しました。GeoLOD地名管理システムも更新し、アップロード辞書とクラウド辞書の両方を管理可能とするなど、地名語辞書を作成するための基盤を充実させました。2.1をリリースしました。主な更新点をソフトウェア更新履歴にまとめました。ソフトウェアの内部構造を大幅に変更し、目的に合わせて改造しやすくしました。Python版日本の住所ジオコーダーに関する情報を充実させるとともに、住所ジオコーディング(jagecoder)デモを公開しました。WebAPIから活用できます。v1.1.1を公開しました。2021年8月30日pygeonlp-webapiの公開pygeonlp-webapiを公開しました。これは、pygeonlpをウェブサービスとして利用するためのモジュールで、Python以外のプログラミング言語からpygeonlpを利用する場合、あるいはウェブサービスとしてpygeonlpを公開する場合に有用です。この公開にあわせてpygeonlpもバージョン1.1を公開しました。Platformをご覧ください。1.0.1への更新pygeonlpを1.0.1に更新しました。1.0.0公開の後に出てきた不具合を修正しています。詳しくはソフトウェア更新履歴をご覧下さい。ダウンロードはGitHubまたはPyPIから。2.0をリリースすることができました。従来よりも改良しやすいアーキテクチャにリニューアルすることで、今後の技術的な発展を取り込んでいくことを目指しています。第一弾として、Python版GeoNLPとなるpygeonlpを公開します。これは、地名を含むテキストを入力とし、(1)地名を認識する、(2)地名を既存の地名辞書とリンクする、という処理を加えたうえで、緯度経度つきGeoJSON形式で出力する機能を備えています。(linking)などと呼ばれ、いずれも活発に研究が行なわれているテーマです。このテーマに関する最新の研究成果を取り込みやすくするため、以前はC++で書かれていたプログラムをPythonで全面的に書き直しました。これにより、最新の機械学習研究の成果を取り入れたGeoNLP改良版などを作っていく計画です。今回の改良は精度向上を目指したものではないため、旧バージョンと新バージョンとの精度の差は検証しておりません。アルゴリズムは基本的に変更していないため、おおむね同程度と考えています。Pythonへの変更に合わせて、旧バージョンに存在したいくつかのオプションを整理または廃止しましたが、こうしたオプションは一般的に利用されるものではないため、大きな影響はないと考えています。地名辞書についても、構築方法を大きく変更しました。地名辞書のスキーマを定め、そのスキーマに従っていれば、任意のURLで公開されている地名辞書あるいは自分で管理している地名辞書が活用できるようにしました。IDを定め、これをGeoLODの地名辞書登録サービスから付与できるようにしました。これにより、地名辞書の共有から識別子の付与までを支援する基本的な仕組みが整ったことになります。今後はこのサービスが地名識別子の基盤として使えるよう、さらに改良を続けていく計画です。今回のリリースでは、まだ大規模リニューアル前の状態に復活できていない部分もあります。GeoNLPサービスは、今後の再開を含めてまだ検討段階にあります。pygeonlpを活用すれば、自前で処理環境が用意できる場合には、以前と近い処理が可能となりました。この方法でしばらくお使いいただくよう、お願いいたします。2021年7月8日GeoNLPの大規模リニューアルについてGeoNLPはここのところメンテナンスが止まっており、様々な不具合が生じています。この状況を踏まえ、以下のように大規模リニューアルを実施することとしました。現在のGeoNLPサイトおよびGeoNLPサービスを停止し、GeoNLPサービスに登録済みの地名辞書やアカウント情報などはすべて消去します。IDは無効となります。IDという新たなIDを付与し直す予定です。地名辞書の共有方法およびメタデータ記述方式を変更します。GeoNLPソフトウェアの処理方式を大きく変更します。新バージョン(2020年度中を予定)の構築が完了した段階で、新バージョンを活用したGeoNLPサービスを再開する計画ですが、APIの仕様は後方互換なものとはならない見込みです。上記の大規模リニューアル作業は今年度中の終了を見込んでおりますが、それ以上にサービス停止等が長引く可能性もあります。様々なご不便をおかけしますが、ご理解をよろしくお願いいたします。ソフトウェアのバージョンを1.1.0に更新しました。主な変更点は以下の通りです。「辞書管理ユーティリティ」を同梱しました。GeoNLPサイト上にアップロードされている辞書をローカルサーバにダウンロードしたり、独自辞書(CSV形式)をインポートすることができます。分布情報保持サーバ機能を追加しました。選択される地名の地理的範囲や重みを外部サーバで制御できます。ダウンロード可能です。受賞結果発表がありました。厳正な審査の結果、GeoNLPは基盤技術部門の最優秀賞を受賞しました。これで、昨年のGeoアクティビティフェスタに次ぎ、GeoNLPとしては2回目の受賞となります。授賞式の前に行われたデモにも、多くの方にご来場いただき、GeoNLPに対する関心と期待の大きさを感じました。期待に応えるには不十分な面も多々ありますが、逆に言えばGeoNLPは我々のような小さなグループだけで完成させるのは難しいプロジェクトでもあり、みんなで作り上げるオープンなプラットフォームに成長させていきたいという思いを強くしました。GeoNLPは、2010年前半に研究を開始して以来4年ほど続けているプロジェクトですが、この期間中に発生した最大のイベントといえば、何といっても東日本大震災です。この地震が発生したのは、研究を開始して1年ほど、最初のバージョンが動いていた時期でした。そもそもGeoNLPは、デジタル台風TVという構想の中で、緊急時にテキスト情報を自動的に整理するための要素技術として開始したプロジェクトなので、東日本大震災はまさにGeoNLPの「出番」といえる状況でした。ところが、当時のバージョンは実戦で使えるほどには洗練されておらず、結局のところ出番を作ることはできませんでした。このことが悔しさとして後に残りました。東日本大震災の直後(2011年3月28日)に書いたブログ記事では、実戦で使えなかったGeoNLPの開発を「今後の課題」と書きました。それ以来、震災のような状況でも使えるレベルのツールにする、というのが目標の一つの目安となっています。ブログ記事では、GeoNLPを「予定を前倒しして早急にリリースしたい」とも書きましたが、実際にリリースできたのは2013年9月。予定よりもずいぶん長くかかりましたが、目標に向けて着実に前進中であるとは感じています。今日2014年3月11日、東日本大震災3周年の日を迎えました。いま、あのような震災が起きたら、今度こそGeoNLPに出番はあるのでしょうか。少なくとも、3年前よりずっと実用性は向上したと言えます。信頼できる結果を出す(専門用語で言えばprecisionを上げる)にはまだまだ工夫が必要で、自信を持って「任せとけ」と断言できるレベルにはまだ達していません。GeoNLPはそもそも基盤技術ですので、このツールだけで処理が完結することはありません。震災のような混乱した状況では、機械と人間が協調しながら情報を整理するためのツール群、およびそれらを連携させるプラットフォームこそが重要です。GeoNLPでフィルタリングした結果を、Ushahidi上で情報ボランティアがチェックし、さらにそれを行政や報道が精査するなど、多くの機関が即興的に役割分担を形成していく仕組みを作っていかねばなりません。Dataの活用も有力な候補です。次の災害はいずれやってきます。その時に備えて、GeoNLPと他のツールが協調するための仕組みを作っておくことも重要な課題だと、LODチャレンジ2013に参加することで改めて痛感しました。ソフトウェアのバージョンを1.0.7に更新しました。主な変更点は以下の通りです。時にジオコーダ連携を指定できるようにしました。ジオコーダで住所解析した結果が正しくないことがある不具合を修正しました。合わせ、係り受け解析できるようにしました。ダウンロード可能です。ソフトウェアのバージョンを1.0.6に更新しました。主な変更点は以下の通りです。同綴地名が複数存在し、他の地名語との関連だけでは判断できない場合に、他の地名語との空間的な距離が近い方を選択するロジックを追加しました。ジオコーダを利用時に同綴住所が存在する場合、他の地名語との空間的な距離が近い方を選択するロジックを追加しました。リクエストに改行コードが含まれると、処理中に欠落してしまう不具合を修正しました。ダウンロード可能です。2013年11月28日Geoアクティビティフェスタで奨励賞を受賞しました2013年11月14日から16日まで、GeoNLPはGeoアクティビティフェスタに出展しました。審査委員および来場者の投票結果を踏まえた審議の結果、GeoNLPは「奨励賞」を受賞することになりました。ありがとうございます。その他の作品も含め、受賞作品一覧をご覧ください。3日間の長丁場でしたが、多くの人にブースにお越し頂き有益な意見交換ができました。多くの指摘や要望を受け、改善の余地がまだまだ大きいことを痛感しました。多く受けた質問は「GeoNLPは何に使えるのでしょうか?」という質問でした。確かに今回の展示は技術(シーズ)寄りでしたので、活用(ニーズ)はイメージしにくかったかもしれません。今後は活用についても想像できるようにプレゼンする必要がありますね。フェスタでも繰り返し説明した点ですが、GeoNLPの特徴は「オープンなプラットフォーム」です。オープンなプラットフォームの活用により、GeoNLPが担う「地名情報処理」というレイヤを競争領域から協調領域に変えていきたいと考えています。地名情報処理は、過去にも多くのプロジェクトが挑んでは実用化(商用化)に至らないという歴史を繰り返してきた複雑度の高い問題です。地名情報処理の基盤となる地名データベースの構築も、維持と更新に多大なコストを要するという厄介な問題です。このように苦労が多い領域では、同じような作業を多くのグループが重複して進めるよりは、多くのグループが協力し合って成果物を共有する方が良いのではないでしょうか?そうした協調領域の上にサービスを競い合う競争領域を設定し、そこでサービスの優位性を競い合えるような世界になればいい。GeoNLPのオープンソースとオープンデータは、そんな世界のエコシステムを実現する基盤になると思います。リリース後の初期段階ではありますが、ひとまず使ってみてフィードバックをお寄せ下さい。可能であれば、ぜひオープンソースとオープンデータの改善にもご協力をお願いします。ソフトウェアのバージョンを1.0.5に更新しました。主な変更点は以下の通りです。DAMSを利用した住所文字列の抽出とジオコーディング機能を追加しました。ダウンロード可能です。2013年11月12日バージョン1.0.4に更新しましたGeoNLPソフトウェアのバージョンを1.0.4に更新しました。主な変更点は以下の通りです。同じ綴りの地名が複数存在する場合に、前後に出現する他の地名との関係を利用して、最も適切と思われる地名を選択する処理(地名解決)のロジックを改良しました。ダウンロード可能です。2013年11月6日バージョン1.0.3に更新しましたGeoNLPソフトウェアのバージョンを1.0.3に更新しました。主な変更点は以下の通りです。上で動作を確認しました。コンパイル時にエラーが発生していた問題を修正しました。PHP5.4以降でPHP拡張ライブラリのコンパイルに失敗していた問題に対し、phpizeが生成するコードに問題があると思われるため、応急処置としてパッチを作成しました。リファレンスをご参照ください。ダウンロード可能です。2013年9月26日バージョン1.0.2に更新しましたGeoNLPソフトウェアのバージョンを1.0.2に更新しました。主な変更点は以下の通りです。configure時にsqlite3ライブラリがインストールされていないと、エラー終了するようにチェックを追加しました。7.1でコンパイルが通るよう、configureが生成するMakefileに必要なライブラリを追加しました。aptitudeでインストールしたMeCab辞書の自動判別に失敗する問題は未解決で、現在対応作業中です。ダウンロード可能です。2013年9月24日バージョン1.0.1に更新しましたGeoNLPソフトウェアのバージョンを1.0.1に更新しました。主な変更点は以下の通りです。オプションを追加しました。ダウンロード可能です。公開しました地名情報処理システムGeoNLPが本日、ようやく公開となりました!GeoNLPの目的は、文章から地名を抜き出して自動的に地図化することです。ニュース記事やソーシャルメディアなど、緯度経度がついていない文章を解析し、地図上に地名を表示できるようなソフトウェアを実現するために、3種類のソフトウェアを開発しました。GeoNLPソフトウェア、これが文章を解析するソフトウェア本体です。これはオープンソースとして配布しますので、これをダウンロード&インストールすれば、誰でも地名解析を簡単に実行できます。このソフトウェアは地名辞書を使って解析するタイプのソフトウェアです。充実した地名辞書がなければ、いろいろな地名を抜き出すことができません。そこで、GeoNLPデータ、すなわち地名辞書をみんなで作って共有するサイトを用意しました。ここに地名辞書をアップロードすると、地名辞書をみんなで共有できるだけでなく、ここからダウンロードした辞書をGeoNLPソフトウェアで使えるようにすれば、より多くの地名を解析できるようになります。地名に関するオープンデータを増やしていけば、GeoNLPの性能も向上していくことになります。最後に、GeoNLPサービスは、システムインストールなどの高いハードルを越えなくても済むように、GeoNLPの機能をお手軽に試すためのサービスとして用意したものです。こちらでお試しして、気に入ったらダウンロード&インストールして下さい。オープンソースとオープンデータに基づく地名情報処理の発展を目指すものです。オープンソールの面からソフトウェアの改良に取り組むのも、オープンデータの面からデータの充実に取り組むのも、どちらも歓迎です。ご興味のある方はぜひお問い合わせをお使いください。GroupsにGeoNLPを用意しています。Dataとして利用するためのエンドポイントとなるGeoLODも同時公開です。こちらは日本語DBpediaとのリンクもしていますので、ご興味のある方はご利用ください。GeoNLPは公開したと言っても、まだまだ成熟レベルには達していないソフトウェアです。