OpenAI API を使って�会話形式の入力文から、
ジオコーディングしてみた
大橋直記
2023/09/18 @ FOSS4G 2023 Japan@FUKUI LT
大橋 直記(おおはし なおき)
株式会社 Geolonia エンジニア
地図と位置情報の会社でエンジニアをしています。フロンエンド、住所正規化サービス「クイック住所変換」立ち上げ担当
GitHub: https://github.com/naogify�Twitter: https://twitter.com/naogify
ChatGeoPT
OpenAI API を使い、会話形式の入力文からジオコーディングをする PoC。( Author: Ben Strong)
日本に絞って、精度の改善に取り組んでみました
ジオコーディングとは
住所や地名などテキスト情報を、地理的座標(緯度経度)に変換する�こと
東京都港区芝公園4丁目2−8 → 35.65872, 139.74539
処理の流れ
会話形式の文章�↓�OpenAI API で Overpass API のクエリを生成�↓�OpenStreetMap から位置情報を取得 �↓� 位置情報データを地図上に表示
OpenStreetMapとOverpass API
・OpenStreetMap � 世界中の地理情報を共有・編集できるオープンソースの地図プロ� ジェクトです。無料で利用・改変・配布できる地図データベース。��・Overpass API� OpenStreetMap (OSM) の地理空間データに対してクエリを実行する� ためのAPI。
ただ、ChatGPTは位置情報が苦手
京都府京田辺市のレストランを教えてと頼むと、東京都文京区付近の範囲を返す
外部データと組み合わせれば精度を上げる事ができるのでは?
国土数値情報の行政区域データ
国土数値情報行政区域データ
デモ
範囲に関しては精度が上がった!
コードの解説
プロンプト
バウンディングボックスを渡す部分以外は、元のコードを使用
課題
・不正確なクエリを生成する場合がある
・OpenStreetMap の性質上、複数のタグが混在している
・そもそも OpenStreetMap にデータがない場合がある
・現時点では、市区町名の入力が必須��・堺市堺区など、区の入力が必須
PRを作成
Thank you!
©️GSI Japan | ©️Geolonia | ©️OpenStreetMap