GeoNLP

テキストを自動的に地図化する地名情報処理ソフトウェア

GeoNLPソフトウェア更新情報

ソフトウェア公開サイト

Version 2.0の変更点

ソフトウェア形態の変更

提供するソフトウェアを WebAPI サーバから Python モジュールに変更しました。

  • ウェブサーバを設置しなくても利用できます。
  • Python プログラムに組み込んで利用できます。
  • 従来の WebAPI サーバ機能は近日公開予定です。

辞書管理方法の変更

全ての辞書を一度 GeoNLP Data サイトに登録し、ユーザがダウンロードして利用する中央管理型から、ウェブ上またはローカルシステム上のファイルを、ユーザごとに選択して利用する分散型に変更しました。

  • これに伴い、地名語に geonlp_id (geolod_id) が付与されていないものも地名語解析処理に利用できるようになりました。
  • 利用できる辞書データの発見のために、辞書のメタデータを JSON+LD 形式に変更し、Google Dataset Search で検索できるようにしました。

辞書管理ユーティリティの廃止

辞書を管理するためのクライアント側プログラムである「辞書管理ユーティリティ」を廃止しました。

  • 今後は、辞書のダウンロードやデータベースへの登録に Python API を利用することになります。

Geoparse 処理結果のフォーマット変更

  • 旧バージョンの「配列形式」のレスポンスを廃止しました。
  • 旧バージョンの「FeatureCollection 形式」と同様の GeoJSON 準拠の処理結果を返します。
  • 地名語・住所以外のノードも Mecab の形態素ごとに分割し、Geometry が none である Feature 情報として返します。
  • 全ての Feature は Mecab の形態素情報を保持しており、後処理に利用できます。

実装言語の変更

実装言語をフル C++ から、一部 C++ と Python に変更しました。

  • インストールが比較的簡単になりました。
  • コードの変更や拡張が比較的簡単になりました。
  • ユーザ独自のスコアリング方法を Python で実装し利用することができます。
  • ユーザ独自のフィルタを Python で実装し利用することができます。

解析ロジックと内部データ表現の整理

旧バージョンでは、解析中に内部のデータ表現が変化し、処理の順番を入れ替えたり追加の情報を持たせたりすることが困難だったため、新バージョンでは以下のように整理しました。

ラティス表現:形態素ごとに地名語や一般語の候補を列挙した二次元配列
  • 拡張形態素解析の結果として得られます。
  • フィルタを適用して候補を絞り込めます。
  • 住所ジオコーダーで住所候補を追加することができます。
  • フィルタや住所ジオコーダーを適用してもラティス表現のままです。
パス表現:形態素ごとの各候補の組み合わせを列挙した二次元配列
  • ラティス表現を変換することで得られます。
  • パス表現に対してスコアを計算することで、n-best 解が得られます。
  • パス表現は GeoJSON 互換表現として出力できます。

住所ジオコーダーの変更

連携する住所ジオコーダーを DAMS から jageocoder に変更しました。

  • DAMS のビルドは知識が必要でしたが、 jageocoder は pip でインストールできます。
  • jageocoder は国土地理院の住居表示住所データを利用できるため、街区レベルの DAMS より位置精度が向上します。

より詳細な更新情報につきましては、以下をご覧下さい。