【DataSaber】日本のスーパーマーケットデータ分析②PDFデータからTableauデータソースの作成(ChatGPT活用)
前回PDFデータをSnippingToolでスクショして、ChatGPTにTableau データソースとして使えるCSVに変換してもらう方法を記事にしました。
ただ、このやり方だと大量のCSVを作成して、自分で統合していく作業が発生してかなり非効率だったので、もっと効率的にできるやり方を模索したので記載したいと思います。
具体的には、PDFを丸々ChatGPTに読み込ませてTableauのデータソースにしたい部分だけを切り出してCSVにしてもらう方法です。
スクショでCSVにする方法(前回のおさらい)
前回ご紹介したやり方は、以下の通り。
1.PDF化されてしまっているデータ(上記のような画像)をChatGPTに読み込ませる。
2.ChatGPTにTableauのデータソースとして使えるCSVに変換してもらう。
3.CSVに変換されたら、DLしてTableau のデータソースとして読み込む
<プロンプトのポイント>
・ある程度データの内容を伝える。
・「Tableau のデータソース」として使えるCSVに変換してと指定する。
・日本語の文字は、CSVにしたときに文字化けするので、英語に翻訳させる。(内容は認識できているが、アウトプットできないようである)
・「画像を読み込めない場合は、手動で入力して」と付け加える。
(データテーブルとして表示させるとちゃんとデータ化できているのに、CSVにするとなぜかデータがおかしい場合がある)
*ChatGPTにとっての手動とは?と思うけど・・・・
<プロンプト例>
いまから日本のスーパーマーケット企業に対して行ったアンケート調査結果の画像をアップします。
これを読み込んでTableauのデータソースとして使えるCSVファイルに変換して。
カラム名や項目名はすべて英語に変換して。
画像をうまく読み込めない場合は、手動でデータを入力して。
■メリット
・自分の指定したデータを確実にCSVにしてくれる。
・表頭・表側を指定しなくても、勝手に読み込んで翻訳してくれる。
・「この画像も同様の処理をして」と打ち込めば、あとは画像をアップするだけでCSV化できる。
■デメリット
・データを1つのファイルにするのは手動になる。
ChatGPTに実行させる事もできるけど、画像の説明が必要になるのでやや面倒。
何度かトライしたけど、アウトプット化するのが遅くなったりするので、やめました。
PDFを丸々読み込ませて、指定した箇所だけCSV化させる方法
今回、2020年~2024年「スーパーマーケット年次統計調査報告書」のPDFファイルをChatGPTに読み込ませて、欲しいデータだけをCSV化しました。
2024年版だけでも178ページありますが、「チラシの発行」に関する情報だけをTableauデータソースとして使えるCSVに変換させました。
<実施する際のポイント>
・PDFの内容を簡単に伝える。
・CSV化したい箇所を明確に指定する。(表やデータの題名、データが乗っているデータのページ数)
・「Tableau のデータソースとして使えるCSV」と指定する
・表頭と表側を明確に指示する。その際は英語で指定する。
・ファイルによって項目数が違う場合の対応も指定する。
<手順1>
・今から読み込ませるPDFの概要と、2020年から順番にアップロードしていく事を伝える。
#プロンプト #
あなたに今から2020年から2024年に実施した日本スーパーマーケット企業へのアンケート結果を共有します。すべてPDFですが、内容を理解して、私の質問に答えてもらえますか?
<手順2>
ファイルのアップロードを行う。同時に何年のデータかを伝える。
#プロンプト #
・では、はじめに2020年のデータをアップします。
・つぎに2021年のデータです。
・・
・2024年のデータです。これが最後です。
<手順3>
CSV化してほしいデータの箇所を指示して、アウトプットしたいデータイメージを伝える。(表頭・表側)
ファイルによって項目数が違う場合の対応も指定する。
*今回は、2020年データのみ回答企業全体のデータが入っていませんでした。これが原因でデータ解析に時間が掛かりました。
#プロンプト #
2020年~2024年の「今後の新聞折り込みチラシ発行意向/保有店舗数別、売場規模タイプ別、都市区分別」の表を、Tableauのデータソースとして使えるCSVファイルにしてください。
表頭は、Company_Category、n、increase、none of the above、decreaseの5つ。
表側であるCompany_Categoryは、All Responding Companies、1-3 stores、4-10 stores、11-25 stores、26-50 stores、51 stores or more、Small Scale Focus、Medium Scale Focus、Large Scale Focus、Complex Type、Urban Area、Rural Area の12個で作成して。
2020年のデータは78ページ、2021年は69ページ、2022年は74ページ、2023年は68ページ、2024年は71ページから取得してください。ただし、2020年のデータにはAll Responding Companiesのデータはないので、NullでOKです。
■メリット
以上のやり方を実施する事で、画像からCSVに変化するよりも効率化が出来ました。
Tableau のデータソースと指定する事で、そのままデータソースとして突っ込めるようになります。(項目を直す必要はありますが)
苦手なケースもあるので、必ずしも万能とは言えません。
■データ化が苦手なパターン
・網掛けやグレー背景になっている箇所
画像じゃわかりにくいかもですが、上記画像だと若干グレーかかっています。ここのデータのみ数値の間違いが発生していたので、データ化が苦手なのだと思います。
・表が上下に分かれている場合
この画像のように、画像が上下に分かれているデータを一括でデータ化しようとしても、うまくいかないケースがありました。
特に、同じ結果の表であっても各PDFで2段のケースと3段のケース等の場合は全くうまくいきませんでした。
私の場合は、最終的にこの部分だけ画像をアップして、手動でCSV化してもらいました。
最後に
生成AIにPDFを読み込ませれば、内容は理解しているようなので、どのようにアウトプットしてほしいか明確に指示できるかがカギかと思います。
今回は実施していませんが、もしかしたら一度テーブルデータとして書き出させてからCSV化させると、より正確性が増すかもしれません。
前回に続いてデータソースに関しての内容になってしまったので、TableauのVizについて書きたいと思います。