筆者が何に喜びを感じるかご存じだろうか。表とグラフだ。
掘り下げて分析できるクールなグラフを与えられると、理屈抜きで幸せになる。選挙の夜にニュースを見るのが大好きだが、それは投票数を知りたいからではなく、さまざまな素晴らしいグラフを見られるからだ。一晩中チャンネルを変えながら、各テレビ局が数値データを示すために考え出したあらゆる方法を見ている。
それは変なことだろうか。そうは思わない。
結論からいうと、「ChatGPT」はグラフや表の作成が非常に得意だ。広く利用されているこの生成AIチャットボットが、大量の情報をまとめ上げて、グラフ化する価値のあるデータに変換できることを考えると、ChatGPTが美しいプレゼンテーションで提示するものは、情報面での価値を補って余りある。
ChatGPTでは具体的にどのような種類のグラフ作成ツールを利用できるのだろうか。以下の3つの方法を利用可能だ。
- ChatGPTの無料版では表を作成することができる(グラフは不可)
- 「ChatGPT Plus」の「Advanced Data Analysis」(旧「Code Interpreter」)アドオンを使用すると、グラフと表を作成できる
- ChatGPT Plusを使用して表を作成し、何らかのグラフ作成プラグインを使用してグラフを作成することができる
この記事では最初の2つの方法について解説し、3つ目については割愛する。ChatGPT Plus向けのグラフ作成プラグインは豊富にあるが、どれもChatGPTインターフェースから飛び出して、外部のサービスを利用する。また、より高額な料金を払わせて、自社のSaaSベースのグラフ作成サービスを使わせようとする。基本的に、これらはChatGPTストアに広告として掲載されており、すぐに使える機能的なツールとして紹介されているわけではない。さらに、信頼性が非常に低い傾向にある。
注意したいのは、ChatGPTがかつて「Code Interpreter」と呼んでいた機能が、「Advanced Data Analysis」という名称に変わった点だ。そのため、以前はCode Interpreterという用語を使用していた場面で、今後はAdvanced Data Analysisという名称を使用することにする。
Advanced Data Analysisが生成するグラフは、あまり見栄えがしないが、非常に大きな価値がある。まずChatGPTがデータを取得する場所について説明してから、実際に表を作成していく。
- 1. ChatGPTを使用してグラフや表を作成する方法
- 2. ステップ1:ChatGPTのさまざまなバージョンについて理解する
- 3. ステップ2:基本的な表を作成する
- 4. ステップ3:表を操作する
- 5. ステップ4:棒グラフを作成する
- 6. ステップ5:データをアップロードする
- 7. ステップ6:円グラフを作成する(そして色を変更する)
- 8. ステップ7:正確を期するためにデータを正規化する
- 9. ステップ8:グラフィックスをエクスポートする
- 10. よくある質問
- 11. Advanced Data Analysisの利用料金はいくらなのか
- 12. グラフ作成のためにChatGPTにアップロードしたデータは公開されないのか、それともデータ漏えいのリスクがあるのか
- 13. ChatGPTのAdvanced Data Analysisはリアルタイムデータを処理できるのか、それとも静的なデータセットに適しているのか
ChatGPTを使用してグラフや表を作成する方法
ステップ1:ChatGPTのさまざまなバージョンについて理解する
先ほどは、ChatGPTのどのバージョンでどのグラフ作成ツールが利用できるかを説明した。だが、ChatGPTにはグラフ作成ツール以外の機能もある。ChatGPTを生産的に使用したいのなら、さまざまなエディションで何ができるかを理解しておく必要がある。
ChatGPTの無料版:このバージョンは「GPT-3.5」大規模言語モデル(LLM)を使用しているため、「GPT-4」バージョンほどの能力はない。データの観点から見ると、GPT-3.5の世界に関する知識は2021年9月で終わっている。チャットダイアログに貼り付けて処理が可能なデータは、約1500語だ。
ChatGPT PlusとAdvanced Data Analysis:このバージョンはGPT-4大規模言語モデルを使用する。幅広いファイル形式でデータテーブルをインポートできる。インポートデータのサイズの上限は明示されておらず、かなり大きなファイルを扱えるが、ファイルの複雑さがある水準を超えると壊れてしまう。世界に関する知識は2021年9月までしかないが、データファイルをアップロードして、その知識を補強することができる。
ChatGPTとWebPilotプラグイン:このバージョンもGPT-4 LLMを使用する。基本的に、Advanced Data Analysisかプラグインのいずれかを実行できる。プラグインの実行を選択する場合、WebPilotプラグインはウェブ検索に関してかなり信頼性が高い(ただし大規模なリクエストだと壊れる)。そのため、ChatGPTの世界に関する知識が2021年で終わりということはなく、多くの場合、現在の日付まで延長することができる。
「ChatGPT Enterprise」:Advanced Data Analysisやプラグインは、新たに発表された企業向けバージョンでも利用できる。Enterpriseにアップロードしたファイルは、機密性が保たれる。Enterpriseでは、より大容量のファイルや、より大きな応答にも対応可能とされている。料金体系はまだ明らかにされていない。
ステップ2:基本的な表を作成する
まず例を挙げて説明しよう。以下のデモでは、人口の多い都市トップ5の表を作成する(編集部注:以下のプロンプトは、原文にある英語のプロンプトを和訳して記載しています)。
人口の多い世界の都市トップ5を挙げてほしい。国名を含めること。
これをChatGPTの無料版に尋ねたところ、以下のような答えが返ってきた。
提供:Screenshot by David Gewirtz/ZDNET
これを表にするのは簡単だ。表が欲しいことをChatGPTに伝えるだけでいい。
人口の多い世界の都市トップ5の表を作成してほしい。国名を含めること。
提供:Screenshot by David Gewirtz/ZDNET
ステップ3:表を操作する
ChatGPTにもっと詳細な指示を与えることで、表の操作やカスタマイズが可能だ。ここでも無料版を使用して、人口のフィールドを追加する。もちろん、そのデータは古いものだが、とにかくデータは提示される。
人口の多い世界の都市トップ5の表を作成してほしい。国名と人口のフィールドを含めること。
提供:Screenshot by David Gewirtz/ZDNET
フィールドの順序や単位など、表に関する特定の詳細を指定することもできる。ここでは、国名を先に持ってきて、人口の数字を縮めて表記させる。
人口の多い世界の都市トップ5の表を作成してほしい。国名と人口のフィールドを含めること。フィールドは、順位、国、都市、人口の順に表示する。人口の表記は100万人単位とする(小数点以下1桁まで表示)。たとえば、3783万3000は37.8Mと表記する。
ChatGPTに数字の表記方法の例を伝えたことに注目してほしい。
提供:Screenshot by David Gewirtz/ZDNET
無料版でできるのはここまでだ。次のステップからは、月額20ドルのChatGPT Plusバージョンを使用する。
ステップ4:棒グラフを作成する
ChatGPT PlusでAdvanced Data Analysisを有効にすると作成可能になるグラフには、折れ線グラフ、棒グラフ、ヒストグラム、円グラフ、散布図、ヒートマップ、箱ひげ図、面グラフ、バブルチャート、ガントチャート、パレート図、ネットワークダイアグラム、サンキーダイアグラム、コロプレスマップ、レーダーチャート、ワードクラウド、ツリーマップ、3Dチャートがある。
この例では、簡単な棒グラフを作成する。
人口の多い世界の都市トップ5の棒グラフを作成してほしい。
長い答えが返ってきたものだ。
提供:Screenshot by David Gewirtz/ZDNET
観察眼の鋭い人は気づいたかもしれないが、作ほど見せた表と今回の結果で、人口が一致していない。また、表にあったのは緑色のアイコンで、こちらは紫色のアイコンであることに注意してほしい。GPT-3.5(ChatGPTの無料版)からGPT-4(ChatGPT Plusに含まれている)に切り替えたからだ。LLMを変えると、データが若干異なるというのは興味深い。このようなことがあるため、AIを使用するときは注意を払い、作業をダブルチェックする必要がある。今回はグラフ作成を実演しているだけだが、これは自信を持って提示したデータに間違いや矛盾があり得るということの明確な例だ。
ステップ5:データをアップロードする
Advanced Data Analysisの強大な機能の1つが、データセットをアップロードする能力だ。この例では、「Popular Baby Names」というデータセットをData.govからダウンロードした。このカンマ区切りのファイルには、2011年から2014年までのニューヨーク市の新生児の名前が含まれている。10年前の古いデータだが、使うのは楽しい。
本記事用に選択したデータセットは米政府のサイトから簡単に入手できるので、この実験を自分で再現することができる。Data.govには素晴らしいデータセットが大量にあるが、その多くはあまりにも大きすぎて、ChatGPTで使用できないことが分かった。筆者はこのデータセットをダウンロードした後、民族に関する情報も含まれていることに気づいた。そのため、同じデータセットからさまざまなグラフを作成することができる。
小さなアップロードボタンをクリックし、インポートしたいデータファイルを指定しよう。
提供:Screenshot by David Gewirtz/ZDNET
ファイルの形式を知りたいので、ファイルの最初の5行を表示するようにChatGPTに伝えた。
ステップ6:円グラフを作成する(そして色を変更する)
このデータセットで名前の性別がどのように分布しているかに興味があった。最初のプロンプトがこれだ。
性別をデータセット全体の割合として示す円グラフを作成してほしい。
結果は以下のとおりだ。
提供:Screenshot by David Gewirtz/ZDNET
残念なことに、緑の色合いが濃くて数字が読みにくい。幸い、Advanced Data Analysisに別の色を使うよう指示することができる。性別の固定観念を強めない色を慎重に選んだ。
性別をデータセット全体の割合として示す円グラフを作成してほしい。男性にはライトグリーンを、女性にはミディアムイエローを使用する。
提供:Screenshot by David Gewirtz/ZDNET
ステップ7:正確を期するためにデータを正規化する
先述のように、収集したデータには民族が含まれている。2010年代前半に記録されたニューヨークのさまざまな民族の分布を確認するためのプロンプトがこちらだ。
データセット内の民族の分布を円グラフで示してほしい。明るい色だけを使用すること。
以下がその結果だが、何か気づかないだろうか。
提供:Screenshot by David Gewirtz/ZDNET
どうやらニューヨークは、データを適切に正規化しなかったようだ。非ヒスパニック系白人に「WHITE NON HISPANIC」と「WHITE NON HISP」の2つが使用されており、非ヒスパニック系黒人は「BLACK NON HISPANIC」と「BLACK NON HISP」が、アジア系および太平洋諸島民は「ASIAN AND PACIFIC ISLANDER」と「ASIAN AND PACI」が混在している。これが原因で、データが正確に示されていない。
ChatGPTの利点の1つは、同じセッション中に出された指示を記憶していることだ。そのため、以下の指示を与えることができた。
今後のすべてのリクエストで、「WHITE NON HISPANIC」と「WHITE NON HISP」を1つにまとめてほしい。「BLACK NON HISPANIC」と「BLACK NON HISP」をまとめる。「ASIAN AND PACIFIC ISLANDER」と「ASIAN AND PACI」をまとめる。民族を表示する際は、2つの民族名のうち長い方を使用するように。
以下の答えが返ってきた。
提供:Screenshot by David Gewirtz/ZDNET
同じプロンプトを使用して、もう一度グラフを作成してみよう。
データセット内の民族の分布を円グラフで示してほしい。明るい色だけを使用すること。
先ほどより良くなった。
提供:Screenshot by David Gewirtz/ZDNET
結果は念入りにチェックする必要がある。たとえば、数が多い新生児の名前に関するリクエストで、ChatGPTは「Madison」と「MADISON」を2つの異なる名前として扱った。
提供:Screenshot by David Gewirtz/ZDNET
今後のすべてのリクエストで、新生児の名前は大文字と小文字を区別しないように。
ステップ8:グラフィックスをエクスポートする
最後に、1つのプロンプトで複雑なグラフを作成してみよう。以下のプロンプトを入力する。
各民族について、2つの円グラフを作成してほしい(性別ごとに1つずつ)。各円グラフに、その性別と民族で多い新生児の名前トップ5を含める。明るい色だけを使用すること。
生成されたグラフを見ると、文字が小さすぎて読めなかった。そこで、より有用なグラフとなるよう、グラフの再エクスポートが可能だ。今回はファイル形式とファイル幅の両方を指定する。
このグラフを幅3000ピクセルのJPGファイルとしてエクスポートしてほしい。
提供:Screenshot by David Gewirtz/ZDNET
結果は以下のようになった。
提供:Screenshot by David Gewirtz/ZDNET
SofiaとSophiaは非常に人気がある名前だが、2つの異なる名前として提示されていることに注目してほしい。しかし、それこそがグラフの魅力だ。
よくある質問
Advanced Data Analysisの利用料金はいくらなのか
Advanced Data Analysisは、ChatGPT Plusにベータ機能として含まれているが、設定パネルで有効にする必要がある。ChatGPT Plusは月額20ドルだ。Advanced Data AnalysisはEnterpriseエディションにも含まれているが、Enterpriseの料金はまだ発表されていない。
グラフ作成のためにChatGPTにアップロードしたデータは公開されないのか、それともデータ漏えいのリスクがあるのか
プライバシーのリスクは常に存在すると考えよう。
これについてChatGPTに尋ねたところ、以下のような答えが返ってきた。データプライバシーはChatGPTの優先事項だ。アップロードされたデータは、ユーザーの現在のセッションだけを目的に使用される。長期間保存されることも、他の目的に使用されることもない。ただし、機密性が非常に高いデータについては、ユーザーが常に注意を払うべきであり、データの機密性が強化されたEnterpriseバージョンのChatGPTの使用を検討する必要がある。
筆者からのアドバイス:ChatGPTなどの生成AIツールを信用してはならない。Enterpriseバージョンではプライバシー管理が強化されているはずだが、公開されても構わないデータ以外はアップロードしないことを推奨する。
ChatGPTのAdvanced Data Analysisはリアルタイムデータを処理できるのか、それとも静的なデータセットに適しているのか
リアルタイムデータの処理は可能だが、実用面での制限がある。第1に、Plusアカウントでは、一定時間内に実行できるリクエストの数に上限が設定されている。第2に、ファイルを1つずつアップロードしなければならない。ライセンスされたChatGPT APIを使用して、リアルタイム分析を実行できる可能性はある。しかし、ChatGPT自体は、保存されたデータを解析することになる。