Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FOSS4G LT会#002 レシートマッピング x AI活用を試してみた
Search
uone
May 27, 2025
0
130
FOSS4G LT会#002 レシートマッピング x AI活用を試してみた
< a href="
https://osgeojp.connpass.com/event/350766/
" >FOSS4G LT会 #002
でのLT発表資料です。
uone
May 27, 2025
Tweet
Share
More Decks by uone
See All by uone
手作業から自動化へ〜私たちのテスト改革〜 / ソフトウェアテスト自動化カンファレンス2023
uonejp
0
390
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Faster Mobile Websites
deanohume
307
31k
Done Done
chrislema
184
16k
Code Reviewing Like a Champion
maltzj
524
40k
Side Projects
sachag
454
42k
Gamification - CAS2011
davidbonilla
81
5.3k
Speed Design
sergeychernyshev
30
990
GitHub's CSS Performance
jonrohan
1031
460k
Transcript
レシートマッピング x AI活用を試してみた 2025/05/27 FOSS4G LT会 #2 u-one
自己紹介 • u-one|uone|uonejp ◦ X: @uonejp (あまり投稿してない) • 地図サービスに携わってます( 2021-)
◦ Androidアプリ/ Backendエンジニア • ここ1年くらいGIS/地図の基礎を勉強中 ◦ FOSS4G/OSM初心者 ◦ この一年色々参加し、ついに今回 LT挑戦 • 趣味 ◦ 乗り物全般(鉄道・航空・ etc) ◦ 旅行 ◦ 趣味プログラミング ◦ たぶんデータマニア
背景:レシートを良い感じに読み取るアプリが欲しかった • 世にレシート読み取りアプリは多数存在するが • 良い感じに読み取ってくれない(特に一昔前) • エクスポートできなかったり
背景:最近こんなアプリを作っていました(自分専用)
Androidアプリ マルチモーダルLLMだと柔軟かつ精度良く抽出できる Google Gemini API (gemini-2.0.flash) (Vertex AI Platform) レシート
情報を 構造化した json
レシートマッピングとは? 最近「レシートマッピング」に出会った • 最近参加した勉強会・イベントで、「レシートマッピング」という取り組みがあることを 知り、大変興味を持ちました レシートの情報を活用して OpenStreetMapの地物情報を更新・ 充実させるマッピング手法
倉敷のきびだんご屋さん
レシートマッピングを試みた
amenity=restaurant?shop=confectioneryも正しそう?
レシート情報をAIに渡してみた AIがレシートから 抽出した店舗情報 AIが適すると判断した OSMタグ情報
Androidアプリ とりあえず適材適所な感じでAIを使って繋げた OpenAI API (gpt4.1) OSMタグ 候補 json Google Gemini
API レシート 情報を 構造化した json
ChatGPTだとめちゃくちゃ気が利くが • ChatGPTはめちゃくちゃ気が利く ◦ 実際の地物データを探す ◦ レシートの住所からジオコーディングかけて緯度経度を引く • が、OpenAIのAPI単体ではそこまでやってくれない ◦
ChatGPTはかなり作り込まれているはず ◦ 勝手に事実でない推測も入ってしまったり • →OSMに実在するデータをうまく与えたい ◦ 本当は日本のデータをインポートした DBやAPIでMCPサーバ立ててみたい ◦ Nominatim API見つけたが、要件的にあきらめ
ChatGPTと異なり プロンプトで指示し ただけでは 勝手な推測が混入 正しくない 実在データと比較したい→勝手な推測が混入 レシート情報から 推奨されるタグ情報 OSMの実情報 実情報と比較した上で
推奨タグ情報
OSMから手動で実情報を付与 Vector tileであれば WebAPI叩くなども 不要と考えた OSM Jpの Vector Tileを利用 MapLibre
nativeの queryRenderedFeature()で 表示範囲内の地物を リスト表示 いずれか手動選択 スピード最優先の超突貫工事なためUIは超雑
というわけでこうなりました OpenAI API (gpt4.1) OSMタグ 候補情報 json Android UI OSM
JP vector tileset queryRenderedFeature() 手動で選択 地物のGeoJsonをそのまま渡す Gemini API (gemini-2.0-flash) レシート情報 json MapLibre Native osm-bright-ja ( TileServer GL ) 地物 GeoJson Androidアプリ
レシート情報から 推奨されるタグ情報 OSMの実情報 実情報と比較した上で 推奨タグ情報
今後 • 今後も色々使って試してみたい ◦ 必須で入れてほしいタグを指定する ◦ MCPサーバ立てて繋ぐ ▪ OSMデータ取り込んだPostgres/PostGIS ▪
ジオコーダetc、なんらかAPI ◦ さらにAIエージェント化 ◦ UIいい感じにする • 既存の取り組みに貢献するとか • いずれかのOSSに貢献するとか • マッピングをもっとやる • etc
まとめ • レシートマッピングにAI活用できるかも • AIは実際試してみると活用できそうなポイントが見えてくる • あまりFOSS4Gじゃなくてすいません • 位置情報もOSMも(AIも)初心者です.ご指摘でもなんでも教えてください ◦
FOSS4Gのこれ使うと良さそうだよ! etc
ご清聴ありがとうございました
APIコスト • 5月 ◦ 買い物する度に使う+動作確認程度で下記くらい ◦ Gemini API:12円 ▪ gemini-2.0-flash
◦ OpenAI API:0.93$ ▪ gpt-4.1
プロンプトとレスポンス例 レシートから 店舗情報の抽出