~第二形態~【自作家計簿システム】Workato×iPhoneショートカット×OpenAI
去年から自作している我が家の家計簿の仕組みですが、さらなる楽を追い求め様々な改善アイディアを形にし始めています。
前回の記事で紹介した仕組みからだいぶ進化しましたので、自作家計簿システム~第二形態~がどういう風に変わったかを紹介したいと思います。
以下のXのポストにて動きの動画をあげています。
自家製家計簿アプリ改。
— Atsuya Yamakawa (@AtsuyaYamakawa) December 24, 2023
GPT-4 Vision APIを組み込んでみました。
レシート画像をiPhoneショートカットからWorkatoにアップロードし、そこからGPT-4 Vision APIで画像内の購入商品やカテゴリを読み取り、GSheetに書き込んでLINEに通知という流れです。
note執筆中です。#Workato#ChatGPT#GPT4 pic.twitter.com/T5xa0c5Vvp
面倒くさくならない家計簿記録
家計簿はめんどくさくなると絶対つけなくなるので、できるだけ一回一回の記録が面倒くさくないような仕組みを作ろうというのが作成当初からの理念でした。
初回リリースから半年以上運用してきて、確かにしっかりと家計簿の記録はできていましたが、家計簿を見てみると…
![](https://assets.st-note.com/img/1701590064145-nL8UO0uZcy.png?width=1200)
登録者がほぼ私…w
思い返せば妻が買い物してきてくれた時は、レシートがダイニングテーブルにそっと置いてあって、私が気づいたときにiPhoneのショートカットを起動させて記録していたような…
ショートカットを起動
レシートの撮影
金額の入力
カテゴリの指定
とシンプルにしたつもりでも、まだ妻の心のどこかに「めんどくさい…」というハードルがあるんだということです。
前回の記事でも以下のように書いていましたが、
未来への展望
今後はOCRを用いてレシートの内容を読み取り、ChatGPTを用いてデータを構造化することを検討しています。これにより、レシートを撮影するだけで家計簿登録がされる仕組みができるかもしれません。(正確性が懸念点ですが)
目指すべきは写真を撮るだけで家計簿に登録される。
ということなので、これにチャレンジしてみることにしました。
改善ポイント: GPT-4Vを用いたOCR
2023年11月からGPT-4 VisionがAPIで利用できるようになりました。
GPT-4Vを使えば、プロンプトとともに画像ファイルを渡すことができます。
今回一番の改善ポイントはGPT-4V APIを用いてレシート画像の解析処理を家計簿登録のプロセスに組み込んだことです。
つまり、レシート画像から必要な情報を抜き出してくれる部分をChatGPTにやってもらうことで、余計な入力をせずに済むようにしました。
しかも、面倒な入力が減っただけではありません。
これまで、
・金額
・購入商品のカテゴリ
だけを入力することにしていましたが、本当は「どこの店で買ったのか」や「購入商品ごとのカテゴリ」とか、詳細を記録したいものです。
ただ、人が記録する前提だったからこそ、必要最低限の情報しか記録しないようにしていました。
今回この「レシート画像の解析」までChatGPTにやってもらうようにすることで、支出ごとの解像度を上げて、より詳細な支出のトラッキングができるようになりました。
WorkatoがiPhoneのショートカットからレシート画像をAPIで受け取ったら、それをGPT-4 Visionに下記のプロンプトとともに渡します。
このレシート画像から、
- 購入日時
- 店名
- 購入商品一覧
- 購入商品名
- 購入商品の品目(食料品/衣類/日用品/外食/電子機器 等)
- 購入商品の金額
- 合計金額
- 決済方法(d払い/現金/クレジットカード 等)
を読み取ってほしいです。レスポンスは下記のようなJSONで返してください。このレスポンスのJSONは後続の処理でパースするため、返答としてはJSONのみを返してください。
{
"date": "2023/11/19 17:27",
"merchant": "オーケー 〇〇店",
"items": [
{
"name": "豚肉",
"category": "食料品",
"price": 300
},
{
"name": "卵",
"category": "食料品",
"price": 210
}
],
"total": 510,
"payment": "現金"
}
すると、見事にJSONが返ってきました!
![](https://assets.st-note.com/img/1703398858262-oKTCtlsWwB.png?width=1200)
これをパースして、あとはこれまでの仕組みを流用してGoogle Sheetsに書き込んでLINEに返信する部分を実装するだけです。
![](https://assets.st-note.com/img/1703399164404-913TIckW7g.png?width=1200)
![](https://assets.st-note.com/img/1703399241342-xENrNpm1Gp.png?width=1200)
ただし、精度については良いとは言い難いですね…
店名や日付、金額の読み取りはほぼ問題ないのですが、どうしても商品名の読み取りが難しいようです。
商品名の場合、
- 半角カタカナ
- 商品名が長すぎると後ろが省略される
- 先頭に品番が入っている
などいろんなバリエーションがあり単に文字の読み取りだけではなく予測なども必要とされます。
GPT-4 Visionのドキュメントにも、日本語読み取りに関してはまだ苦手という記述があるので、ここは今後の精度向上に期待ですね。
![](https://assets.st-note.com/img/1703399846983-euxSmQb8jG.png?width=1200)
まとめ
他にもレシート画像の保存先をWorkato FileStorageに変えたり、毎月15日と末日にその時点での支出をChatGPTに見てもらって分析結果とアドバイスをしてもらうなど細かい改修をいくつか実施したのですが、メインの改修ポイントはやはりこの入力工数を削減したことです。
WorkatoのCEO Vijayは、AIは「デジタルな脳」であると表現していましたが、結局それをどうプロセスに組み込んで真価を発揮させるかが最もイマジネーションが必要とされる部分だと思います。
技術的に、フローの中にAIを組み込むのはWorkatoで簡単にできるので、どの部分がAIでできてどの部分は人がやるべきなのかを考えて、それを実践してみる、というマインドセットが一番大事ですね。
Re-Imagine
今のプロセスややり方を絶えず見直してどこが最適化できるところなのかを再考し続ける
Re-Wire
Re-Imagineで思いついた仮説をもとにプロセスを組み直す
Re-Inforce
絶えず改善・強化していく
上記はWorkatoの「AI2 Enterprise」になるための「AI2 Methodology」と呼ばれるビジネスフレームワークですが、自分が構築している自動化を題材に、今後もこのメソドロジーを実践していきたいと思います。
参考動画👇
この記事が気に入ったらサポートをしてみませんか?