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