マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

AIツール実験室

2023.08.09

【AIツール実験室】ChatGPT「 Code Interpreter 」で「Facebook ✕ Twitterクロス集計レポート」を作ってみた!

【AIツール実験室】ChatGPT「 Code Interpreter 」で「Facebook ✕ Twitterクロス集計レポート」を作ってみた!

ごあいさつ

日本全国の「SNSレポート作成担当者」のみなさま、
おつかれさまです。

【パトレイバーの話】
パトレイバーが「祝35周年」ということで、
「二課の一番長い日 前編+後編」がYouTubeでオフィシャル公開されていたので、
ひさしぶりに見てみました。
土木作業用途をベースとしているレイバー(ロボ)は、
ガンダム系とは異なり、現代のこの世界線の延長に存在していそうなリアル感があります。
また、作品としてのパトレイバーの特異な点として、
整備班にわりとフォーカスが当たっているという特徴があります。
普通のロボ作品では「光の当たらない作業員」ということが多いですが、
パトレイバーの整備班は、日常的などうでもいい話の主役級として活躍することがあります。
特に、整備班史上最大最悪の事件となった「火の七日間」は注目すべきポイントです。
それと、後藤隊長✕しのぶさんがお出かけする「二人の軽井沢」も見逃せないわけであります。
ということで、なんらかのストリーミングサービスで「パトレイバー」を見かけたら、
ちょっと見ていただきたいなと思う、
マジセミ担当者Aでございます。

→patlabor.tokyo

今回の作戦

今回は、ChatGPTプラグイン「Code Interpreter」で、
「マジセミFacebook ✕ マジセミTwitter クロス集計レポート」を作成してみます。

データが合っているのか確認できるように、
「2023-06」のレポートを作成します。

はたして、
定型レポートを作成するのに「Code Interpreter」は、いけてるのか?いけてないのか?、
様子を探ってみようと思います。

【参考】「Code Interpreter」の紹介記事

→【ChatGPTプラグイン探訪】「 Code Interpreter 」〜ファイル入出力+Pythonコード自動生成実行〜

ご注意点

※本記事は、担当者Aの主観により作成されていますので、なにとぞ、そういうことでよろしくお願いします。

※「Code Interpreter」の機能強化が進んでいる場合もありますので、最新情報をご確認ください。

※「Twitter」が「X」になってしまいましたが、便宜上「Twitter」で通します。

※「Code Interpreter」に放り込んだCSVは、漏洩してしまう可能性があります。「アナリティクスデータくらいなら、まあいいか」という覚悟が必要となります。

①データ準備作業(1)Facebook

CSVダウンロード

Facebook →インサイト →コンテンツ
を開きます。

対象期間を設定します。
今回は「2023/06/01〜2023/06/30」にセットします。

「データをエクスポート」をクリックして、
CSVをダウンロードします。

ダウンロードできるまで、しばらく時間がかかるので、
放置しつつ待ちます。

CSVのカラム位置が毎月変わる問題 対応作業

FacebookのCSVは、
なぜか不思議なことに、カラム位置が毎月コロコロ変わってしまいます。

カラムが動くCSVのままでは使えないため、
手動でまとめなければいけません。

※「カラム位置を固定化してもらえませんかね?」とつくづく思うわけです。

しょうがないので、
スプレッドシートに手動でまとめます。

毎月、ダウンロードしたデータを蓄積しておくと便利ですね。

対象カラム

・年 ※管理用
・月 ※管理用
・説明
・インプレッション数
・いいね!
・エンゲージメント
・シェア
・公開日時

CSV出力

「Code Interpreter」に投入できるように、
スプレッドシートからCSVにダウンロードします。

ファイル名は「Facebook.csv」にしておきます。

②データ準備作業(2)Twitter

CSVダウンロード

Twitterアナリティクス →ツイート
を開きます。

対象期間を設定します。
今回は「2023/06/01〜2023/06/30」にセットします。

※Twitterは「June」とかになってしまうので、数字表記にしてもらいたいところです。

「データをエクスポート」をクリックして、
「By Tweet」をクリックします。

CSV出力

Twitterでは、
(Facebookとは異なり、大変素晴らしいことに)、
カラム位置が移動しないので、
このまま「Code Interpreter」に投入できます。

スプレッドシートにデータを溜め込んでおくと便利です。

ファイル名は「Twitter.csv」にしておきます。

③圧縮zipファイルの準備

「Facebook.csv」と「Twitter.csv」をzip圧縮して、
1回で「Code Interpreter」に投入できるようにしておきます。

④レポート作成 月別推移グラフ編

概要

度重なる試行錯誤の末に、なんとか完成したような気もする、プロンプトです。

「Facebook」と「Twitter」のデータを、1つのグラフ内にプロットしてもらいます。

プロンプト説明

フィルタ期間定義

「月別推移折れ線グラフ」の
期間範囲を設定します。

動作設定

確認待ちで止まってしまわないようにお願いしているわけですが、
止まってしまうこともあります。

言語設定

グラフ内に日本語を出力しようとすると、
メチャメチャになることがあるので、
グラフ内テキストは、すべて英語にします。

※改善を期待しています。

カラム名対応表

「FacebookCSV」と「TwitterCSV」で、カラム名が微妙に異なるので、
統合して、英語カラムにしてもらいます。

時間設定

「標準時が設定されていないため、比較できませんでした」などのことになるので、
事前になんとかしてもらえるようにしています。

プロンプト(共通)

■フィルタ期間定義
・月別推移折れ線グラフfrom = 2022/07/01
・月別推移折れ線グラフto   = 2023/06/30
・テーブルfrom = 2023/06/01
・テーブルto   = 2023/06/30

==============================
■アップロードファイル説明
・「Twitter.csv」=Twitterのアナリティクスデータ
・「Facebook.csv」=Facebookのアナリティクスデータ

■動作設定
・途中で中断しないで、最後まで継続して処理を進めてください。
・「続けてください。」と入力させないでください。
・ただし、不明点があれば、質問してください。

■言語設定
・回答表示=日本語
・グラフ内の表示=すべて英語表記

■カラム名対応表 Facebook(左) Twitter(右) 
・説明 = ツイート本文
・公開日時 = 時間
・インプレッション数 = インプレッション
・エンゲージメント = エンゲージメント
・シェア = リツイート
・いいね! = いいね
※以上を統合して、英語名にして処理してください。

■時間設定
・日付については、「公開日時」(時間)列を参照してください。
・「タイムゾーン情報」を削除して、UTCに統一してください。
・データ型を「datetime」型に統一してください。

【追記】プロンプト(共通)→時間設定 改善版

上記のプロンプトだと、
時間が9時間ずれてしまうことが判明しました。
以下の改善版に入れ替えることで、日本標準時になるはずです。

■時間設定
・日付については、「公開日時」(時間)列を参照してください。
・Twitterの日時は、「タイムゾーン情報」を削除して、「+9時間」にしてください。
・Facebookの日時は、「タイムゾーン情報」を削除して、「-9時間」にしてください。

プロンプト(月次推移グラフ用)

※※※プロンプト(共通)※※※

==============================
■出力タイプ共通設定 折れ線グラフ
・Facebookデータの折れ線の色=赤
・Twitterデータの折れ線の色=青
・グラフのy軸(左サイド)=各指標のメモリを表示してください。
・グラフのx軸(下サイド)=年月を、「2023-06」のように、表示してください。
・フィルタ期間定義以外の年月が表示されないようにしてください。
・グラフのx軸およびy軸の範囲を明示的に設定してください。
・折れ線の折れているポイントに、●を付けてください。
・「平均数」=「その月の総数 / その月の投稿件数」

■グラフ作成関数(<変数:指標項目>)
・出力タイプ=折れ線グラフ
・グラフタイトル=月別推移グラフ <変数:指標項目>
・対象データ①=Facebookの<変数:指標項目>
・対象データ②=Twitterの<変数:指標項目>

■グラフ作成
以下のグラフを出力してください。
グラフ作成関数(投稿件数)

■グラフ作成
以下のグラフを出力してください。
グラフ作成関数(インプレッション 総数)

■グラフ作成
以下のグラフを出力してください。
グラフ作成関数(インプレッション 平均数)

■グラフ作成
以下のグラフを出力してください。
グラフ作成関数(エンゲージ 総数)

■グラフ作成
以下のグラフを出力してください。
グラフ作成関数(エンゲージ 平均数)

■グラフ作成
以下のグラフを出力してください。
グラフ作成関数(シェア 総数)

■グラフ作成
以下のグラフを出力してください。
グラフ作成関数(シェア 平均数)

■グラフ作成
以下のグラフを出力してください。
グラフ作成関数(いいね 総数)

■グラフ作成
以下のグラフを出力してください。
グラフ作成関数(いいね 平均数)

プロンプト実行開始

「Code Interpreter」に、
「圧縮zipファイル」と「プロンプトテキスト」を放り込んで、
実行します。

プロンプト実行完了

・処理時間=約6分
・「続けてください」入力回数=1回
でした。

※長いんです。

作成されたグラフ確認

出ました。

投稿件数

だいたい同じくらい で、正解です。

インプレッション

・上のグラフ=総数
・下のグラフ=平均

Facebookが好調であるようです。

エンゲージメント

シェア

いいね

⑤レポート作成 記事ランキングテーブル編

概要

Facebook と Twitter それぞれで、
「インプレッション数が多かった記事TOP5」を出力してもらいます。

プロンプト

※※※プロンプト(共通)※※※

==============================
■テーブル作成関数(<変数:対象データ>)
・テーブル形式
・対象データ=<変数:対象データ>
・表示カラム①=ランキング順位
  ※1からの連番
・表示カラム②=「時間」
  ※日付のみ
  ※時刻は不要
・表示カラム③=「ツイート本文」
  ※先頭から「100文字」のテキストを出力してください。
  ※「\n」は削除し、テーブル1セルの中で、改行してください。
・表示カラム④=「インプレッション」数
・表示カラム⑤=「エンゲージメント」数
・ソート順=「インプレッション」数 降順
・表示件数=5件
・インデックスカラムは表示しないでください。

■テーブル出力
テーブルを作成して、直接出力してください。
テーブル作成関数(Facebook)

■テーブル出力
テーブルを作成して、直接出力してください。
テーブル作成関数(Twitter)

プロンプト実行完了

・処理時間=約4分
・「続けてください」入力回数=0回
でした。

※長いんです。

作成されたテーブル確認

「FacebookとTwitterで人気ネタが異なっている」という点が、
興味深いですね。

Facebook記事ランキング

「X68000のネタ」は、面白かったですね。

Twitter記事ランキング

「ぷよぷよプログラミング」も、印象深いネタでした。

⑥レポート作成 記事区分 分析編

概要

記事区分(ネタシリーズ)の分析をしてもらいます。

「投稿テキストの1行目」=「記事区分」になるようにしています。

プロンプト

※※※プロンプト(共通)※※※

==============================
■「★記事区分」カラムの作成
・「★記事区分」=説明(ツイート本文)の先頭部分の「【xxxxxxx】」の部分から取得
・例)【気になったニュース】 → 気になったニュース

■テーブル出力関数(<変数:対象データ>,<変数:項目名>)
・テーブルタイトル=【記事区分分析】<変数:対象データ> <変数:項目名> 
・対象データ = <変数:対象データ>
・フィルタ期間From = ■フィルタ期間定義 の テーブルfrom
・フィルタ期間To = ■フィルタ期間定義 の テーブルto
・カラム1 = ★記事区分 ※key
・カラム2 = <変数:項目名>(平均) ※小数点第2位まで表示 ※ゼロ埋め
・カラム3 = <変数:項目名>(総数)
・カラム4 = ★記事区分に該当する投稿数
・ソート順 = カラム2 降順
※作成したテーブルを出力してください。

■テーブル出力実施
・テーブル出力関数(Facebook, インプレッション)
・テーブル出力関数(Facebook, エンゲージメント)
・テーブル出力関数(Facebook, シェア)
・テーブル出力関数(Facebook, いいね)
・テーブル出力関数(Twitter, インプレッション)
・テーブル出力関数(Twitter, エンゲージメント)
・テーブル出力関数(Twitter, シェア)
・テーブル出力関数(Twitter, いいね)

作成されたテーブル確認

このような感じのテーブルが8個出力されます。

指標単位→記事区分単位で、
どのような感じなのかが分かります。

⑦インタラクティブ分析

定型レポートだけなら、他のレポートツールのほうが便利だと思います。

「Code Interpreter」の場合は、
投入したデータをベースとして、
いろいろな分析をしてもらえる強みがあります。

分析例①Facebookが好調の理由は何ですか?

Facebookがギュンと伸びているので、
その好調の理由を分析してもらいます。

プロンプト

※※※プロンプト(共通)※※※

==============================
■指示
2023-05 と 2023-06 において、
Facebookが好調となっていますが、
その原因について、
さまざまな角度から分析してください。

実行結果

グラフ上で「斜めに突き抜けている不審な線」があったりしますが、
見逃しておきます。

まとめとしては、
「わりかしネタがおもしろかったため」ということなんですかね。

分析例②SNS投稿における改善策を提案してください

プロンプト

※※※プロンプト(共通)※※※

==============================
■指示
SNS投稿における改善策を、具体的かつ詳細に、提案してください。

実行結果

投稿時間については、
「タイムゾーン情報」を削除しただけなので、
9時間ずれてしまっているようです。

分析例③「SNSへの投稿時間」について改善策を提示してください

プロンプト(共通)→時間設定 改善版

■時間設定
・日付については、「公開日時」(時間)列を参照してください。
・Twitterの日時は、「タイムゾーン情報」を削除して、「+9時間」にしてください。
・Facebookの日時は、「タイムゾーン情報」を削除して、「-9時間」にしてください。

プロンプト

■アップロードファイル説明
・「Twitter.csv」=Twitterのアナリティクスデータ
・「Facebook.csv」=Facebookのアナリティクスデータ

■動作設定
・途中で中断しないで、最後まで継続して処理を進めてください。
・「続けてください。」と入力させないでください。
・ただし、不明点があれば、質問してください。

■言語設定
・回答表示=日本語
・グラフ内の表示=すべて英語表記

■カラム名対応表 Facebook(左) Twitter(右) 
・説明 = ツイート本文
・公開日時 = 時間
・インプレッション数 = インプレッション
・エンゲージメント = エンゲージメント
・シェア = リツイート
・いいね! = いいね
※以上を統合して、英語名にして処理してください。

■時間設定
・日付については、「公開日時」(時間)列を参照してください。
・Twitterの日時は、「タイムゾーン情報」を削除して、「+9時間」にしてください。
・Facebookの日時は、「タイムゾーン情報」を削除して、「-9時間」にしてください。

==============================
■指示
「SNSへの投稿時間」について改善策を提示してください。

実行結果

投稿日時が、日本標準時に修正できたようです。

まとめとしては、
『現状維持でOKだと思うよ!』ってことですね。
了解です。

⑧まとめ反省会

○:CSVを放り込めばグラフやテーブルが出てくる

放り込んで放置しておけば、グラフが出てくるのは便利です。

✕:結果が出てくるまで時間がかかる

「Code Interpreter」は、Pythonコードを書きつつ実行しつつ、
データ前処理などをやってくれるのですが、
グラフが出てくるまで5分〜10分かかります。

長いんです。
激速化を期待します。

✕:確認待ちで止まっている場合がある

バックグラウンドで走らせておけばよいのですが、
「続けてください」を入力してもらい待ち状態
に、なっていることがあるので、
気を抜いてはいけません。

◎:インタラクティブ分析

定型レポートツールには、できないこととして、
グラフが出てきた後に、
そのままいろいろな分析をお願いできます。

何かしらの改善点を発見できるかもしれません。

○:日本語コーディング

プロンプトの中で、
日本語で「関数らしきもの」を定義して、
呼び出し実行を指示できました。

何らかのプログラミング言語の詳細仕様を知らなくても、
日本語で「コードらしきもの」を書けるのは、
効率的かもしれません。

◎:柔軟なレポーティング

定型レポートツールで、
何かしらの新しい観点でレポートを作成する場合、
「項目設定」やら「計算項目設定」やら、
いろいろ面倒なことになります。

「Code Interpreter」の場合は、
面倒な各種準備作業は不要で、
日本語で指示を出せば、新機軸のグラフを作ってくれます。

この柔軟性は、素晴らしいものがあるのではないでしょうか。

結論

今回のレポート作成を踏まえて、
SNSレポートについては、
「既存定型レポートツール」から「Code Interpreter」に切り替えてみることにしました。

日本全国のSNS担当者同志のみなさんも、
いろいろ試してみてください。

【お知らせ】記事リストポータルページ

こちらの記事リストポータルページでは、
【ChatGPTプラグイン探訪】および【ちょちょいと自動化DX】の記事一覧を参照できます。

→記事リストポータルページ

【お知らせ】「マジセミ」のご紹介

「マジセミ」では、日々、多くのIT関連セミナーを開催しています。

多くのセミナーの中から「ご自身のスキルやビジネスを強化できるセミナー」を見つけて、ぜひ1度、参加してみてください。

マジセミのイメージロゴ

マジセミ関連プラットフォーム

プラットフォーム 説明 URL
マジセミ マジセミで実施されるさまざまなセミナーの開催情報を確認できます。
「IT関連セミナー」「製造業関連セミナー」など、ご自身のビジネスを強化できるセミナーを検索できます。
→majisemi.com
マジセミサービス 「セミナーを開催したい方」向けの情報を確認できます。
トライアルからの利用が可能です。
→majisemi.com →service
マジセミドライブ 「IT関連コンテンツ」などを紹介しています。 →majisemi.com
→topics
マジセミFacebook 毎日「マジセミ関連情報」や「IT関連ニュース」などを紹介しています。
★フォローお願いします。
→facebook.com
→OSSNews
マジセミTwitter マジセミFacebookと同様に、
毎日「マジセミ関連情報」や「IT関連ニュース」などを紹介しています。
★フォローお願いします。
→twitter.com
→Majisemi_it

※「ご意見」「ご感想」「誤字がありましたよ」「こんな使い方もあるみたいですよ」などありましたら、
マジセミSNS(Facebook or Twitter)まで、お知らせください。

おすすめの記事

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

「 2029年問題 」とは、高校でのデジタル教育改革により、新入社員と既存社員間でデジタルスキル格差が拡大する懸念を指します。企業は早急に対応が求められています。この格差は、企業競争力や業務効率にも、影響を及ぼす可能性があります。

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

「 VMWare 」の仮想化技術は、「ITインフラの効率化」に大きく貢献する技術ですが、Broadcomによる買収後のライセンス変更が大きな問題として注目されています。柔軟で慎重な契約見直しが今後の鍵となります。