マジセミドライブ

ウェビナー関連のニュースや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)まで、お知らせください。

おすすめの記事

【ChatGPT探訪】「 無限議論 」〜最強スタンド考察〜🤔

ChatGPT探訪

2024.05.07

【ChatGPT探訪】「 無限議論 」〜最強スタンド考察〜🤔

マジセミSNSに投稿した 【担当者A】の「 無限議論 」〜最強スタンド考察〜💬 を記事化したものです。 ChatGPTに課金していないみなさんにも、 AI同士の議論をお楽しみいただけます👍 ※原稿テキストを放り込むだけで、 ジョジョ風イラストを作成してしまう生成AIがすごくないですか?

【トレンド解説】超入門「 スマートファクトリー 」🏭

トレンド解説

2024.04.15

【トレンド解説】超入門「 スマートファクトリー 」🏭

「 スマートファクトリー 」への理解を深めるための解説として、初心者向けにわかりやすくまとめた記事です。「新しい工場の概念」「デジタルツインの活用」「IoT技術による最適化」など、現代の製造業に必要な知識を効果的に学べます。 スマートファクトリー の導入によるメリットを具体的に解説しています。

【トレンド解説】米国における「 生成AI活用 」最新動向📈

トレンド解説

2024.05.07

【トレンド解説】米国における「 生成AI活用 」最新動向📈

「米国における 生成AI活用 最新動向」について解説しています。生成AIは日本企業にも多くの可能性をもたらし、「デスクワークの効率化」や「業務の自動化推進」に貢献しています。生成AIを理解し、活用することが、グローバルな競争力を高める鍵となります。