7. ウェブサービス機能
JavaScript で構築されたウェブアプリケーションのフロントエンドや、 Python 以外の言語で開発したアプリケーションから、 地名語辞書を検索したりテキストのジオパージング処理を行ないたい場合があります。 そんなときは pygeonlp の解析・検索機能をウェブサービスとして提供する バックエンドサーバを構築すれば、通信によってアプリケーション側から利用できます。
7.4. WebAPI の使い方
pygeonlp.webapi は JSON-RPC 2.0 を利用します。
サービスのエンドポイント /api
に JSON
リクエストメッセージを POST し、
JSON レスポンスを受け取ります。
$ curl -X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0", "method": "geonlp.parse", \
"params": {"sentence": "NIIは神保町駅から徒歩7分です。"}, "id": "test_parse"}' \
http://localhost:5000/api
上の例は、ジオパーズ 処理を行う geonlp.parse メソッドを呼び出し、 パラメータとして送信した文字列を解析した結果を受け取ります。 各メソッドで利用できるパラメータやレスポンスの内容については、 WebAPI 一覧 から対応するメソッドの説明を参照してください。
注釈
WebAPI およびオプションは状態を保持しません。 つまり、直前にどのようなリクエストを実行したかに関わらず、 同じリクエストを送れば同じレスポンスが返ります。
ただしサーバ側のバージョンやデータベースが変更された場合は、 結果が変わることがあります。
7.5. WebAPI 一覧
以下の WebAPI メソッドが利用できます。
7.6. Parse オプション
geonlp.parse および geonlp.parseStructured は ジオパーズ処理を細かく制御するためのオプションを指定することができます。 たとえば利用する地名語の地名解析辞書や固有名クラスを制限したり、 結果に対して適用するフィルタを指定できます。
以下の Parse オプションが利用できます。
- 7.6.1. geocoding オプション
- 7.6.2. set-dic オプション
- 7.6.3. remove-dic オプション
- 7.6.4. add-dic オプション
- 7.6.5. set-class オプション
- 7.6.6. remove-class オプション
- 7.6.7. add-class オプション
- 7.6.8. geo-contains オプション
- 7.6.9. geo-disjoint オプション
- 7.6.10. time-exists オプション
- 7.6.11. time-before オプション
- 7.6.12. time-after オプション
- 7.6.13. time-overlaps オプション
- 7.6.14. time-covers オプション