GPT-4Vにテーブルデータを読み取ってもらう
実現したいこと
GPT-4Vの中でも、画像をもとにデータ化するというのは、基本的な機能の1つかと思います。
今回は、その中でも数表の画像を基にデータ化するということを検証したいと思います。
利用するデータ
東京都のオープンデータのうち、八王子市の下水道使用料早見表というデータがありますが、CSVファイルではなくPDFで提供されています。(が、今回は画像として使います)
見ていただくと分かりますが、表が長いので50ごとに折り返しているんですよね。
こういうのって人間が見ると当たり前のように読めるのですが、データとして扱おうとするとコピーしたりとかも大変ですよね。
これをChatGPTのGPT-4Vを用いて、データ化が簡単にできるのかを検証していきます。
検証
初期レベル
まずは単純に、画像を渡して「添付画像の表から、CSVファイルを作成してください」としてみました。そこででてきたのが、次の通りです。
画像を読み取っているためか、処理時間は通常のChatGPTとの会話よりは時間がかかりますが、自動で動いているのでひとまず目をつむりましょう。
見た感じ数値に誤りはなさそうで、しっかりと出力してくれています。
一方で、課題もあります。ざっと今回ので私の理想と異なったのは次の4点です。
- CSV化なので、データとして欲しかった
- 表が長いと省略されてしまう(場合によっては途中で、エラーになることも)
- 日本語のヘッダーが「排出量」が「番号」になっているなど、正しく出せていない
- CSV形式で出してくれているので、列の区切りと数値のカンマが混同する
依頼の仕方を工夫をしてみよう
では、課題があるからChatGPTや生成AIが使えないのかというとそうではないです。これは私の依頼の仕方が悪いんです。
自分が、これを誰かにやってもらおうとすると最低限、部下の能力に合わせて次くらいの説明は必要ですよね。
添付画像の表から、CSVファイルを作成してください
区切り文字は、カンマではなくタブにしてください
表が長いので、まずは頭から50行をだしてください
さらに、続きを求めれば、同じ元の画像データから作ってくれます。
続いて、51行目から100行目をお願いします
(出力結果は省略)
列数にもよりますが、50~100行くらいで試してみて、今回の表だとできる範囲を見極めた上で依頼するとよいでしょう。
今回のデータはシンプルだったので、100行でも問題なく出せました。
それでもできなかったこと
CSV化なので、データとして欲しかった
これは明確にできませんと言われてしまいました。テキストでコピーして、CSV化を手動でするという作業は必要になりそうです。
CSVファイルとして生成することは直接的にはできませんが、完全なCSV形式のデータを生成し、提示することはできます。
日本語のヘッダーが「排出量」が「番号」になっているなど、正しく出せていない
ここは、現状のGPT-4Vの課題かなと思っています。
モデルの特徴上、文章を読み解くことはできるのですが、単品で出ている単語を正しく出すことは、まだまだ苦手なようです。(英語や数値はできるので、やはりこれは学習対象の差かと)
まとめ
表の画像を、CSVデータ化するという単純かつ面倒なタスクでしたが、GPT-4Vはしっかりとやり遂げてくれました。
まだまだ課題は多いですが、これだけでも十分価値があるように感じます。
とはいえ、別の事例だと読み取った数値が間違っていた(桁が多いと間違う?)こともあったようなので、そこは要注意ですね。
Discussion