0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

1日に400回以上会話してる!? 大学生がPythonで自分のGemini利用履歴を全抽出して分析してみた話

0
Posted at

1.はじめに

最近流行り(?)のGoogleが開発した生成AIであるGemini、これをGoogle Bard時代から愛している大学生です。さて、2026年5月のアップデートで、Geminiに使用量上限が追加されました。そこで、いったい僕がどれだけ今までGeminiを使用してきたかを可視化してみることにしました。

2.データの抽出の壁

実は3か月ほど前にも同じ試みをしようとしていました。しかし、当時の技術や能力では履歴を数えることしかできず、地獄でした。概算で月500ほどではないかなという結果に落ち着きました。しかし、今回はしっかりと自動でデータを抽出しています(当然ですが…)。

3.データ抽出の方法

3.1 マイアクティビティから数えるのは地獄

Googleにはマイアクティビティという履歴を見る場所があります。※履歴が自動で消えてしまうので、僕は履歴削除をオフにしています。昔はここを上から順に数えて10日分×3で1か月の概算を出していましたが、ここを数えるのはあまりにも非効率ですね。

3.2 コピペも非効率(無限スクロールの壁)

そこで、ここをコピペしてみました。が、あまり効率的ではなく、このページは下に行けば行くほど読み込まれるタイプであるため、履歴一覧を抽出するにはあまりにも非効率です。ただ、少ない量ならこの方法でも問題はないかなと思います。

3.3 結論:Googleデータエクスポート(Takeout)を使おう!

Googleにはデータをエクスポートする機能があります。Googleデータエクスポートです。ここでの手順を以下に示します。

  1. まずは「新しいエクスポートを作成」を押します。

  2. デフォルトで全てのサービスが選択されているので、今回は「Gemini」を選択します。スクリーンショット 2026-05-21 095314.pngスクリーンショット 2026-05-21 095400.png

  3. アクティビティの形式を「HTML」から「JSON」に変更して「OK」を押します。

  4. 次のステップに進みます。スクリーンショット 2026-05-21 095444.png

  5. ファイル形式はzipで一応2GBまでにしておきます。

  6. 「エクスポートの作成」を押します。スクリーンショット 2026-05-21 095608.png

  7. リクエストメールが届いたらここまでOKです!スクリーンショット 2026-05-21 095910.png

  8. 時間はかかりますが、ある程度すると完了メールが届きます。スクリーンショット 2026-05-21 095941.png

  9. 「ダウンロード」か「レポート表示」を押してもらえるとダウンロードできます。スクリーンショット 2026-05-21 100215.png

  10. Zipファイルには今まで送った画像なども詰まっているようなので、今回の分析で必要な「マイアクティビティ.json」ファイルのみ解凍します。スクリーンショット 2026-05-21 100410.png

4.抽出した時の感想

僕のデータはZipファイルの状態で1.21ギガほどありました。多いですね。まあ画像がたくさん入っていたようです。ある意味今まで送った画像などが1.21ギガほどで済んだことのほうが驚きです。圧縮のすごさですね!スクリーンショット 2026-05-21 100329.png

5.抽出したデータをPythonを用いて正規化→分析

準備したjsonファイルはかなりきれいな状態ですが、今回の分析に使用するにはまだ少し足りていないです。
「抽出したJSONはデータとしては綺麗ですが、2026-04-18T11:54:00Z のように時間のフォーマット(ISO8601)が微妙に揺れており、Pandasでそのまま読み込むとエラーが出ます。そこで、format='ISO8601' を指定して柔軟に読み込むように工夫しました。」
そのため、さらに整理していきます。以下のようなコードで整理しました。日毎の変換コードです。

import pandas as pd
import json

# JSONファイルの読み込み
with open('マイアクティビティ.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# データフレームに変換
df = pd.DataFrame(data)

# "title" から「送信したメッセージ: 」という不要な文字列を削除して正規化
df['message'] = df['title'].str.replace('送信したメッセージ: ', '', regex=False)

# 時刻文字列を datetime 型に変換し、日本時間(JST)に直す
# ここに format='ISO8601' を追加してフォーマットの揺れを吸収します
df['time'] = pd.to_datetime(df['time'], format='ISO8601').dt.tz_convert('Asia/Tokyo')

# 必要な列だけを抽出(時間とメッセージ)
df = df[['time', 'message']]

# 日付ごとの利用回数を集計
daily_counts = df.resample('D', on='time').size()

# 見やすいように列名(ヘッダー)をつけてデータフレームに変換
df_output = daily_counts.to_frame(name='利用回数')

# CSVファイルとして保存(Excelで開いた時の文字化けを防ぐため utf-8-sig を指定)
df_output.to_csv('gemini_daily_counts.csv', encoding='utf-8-sig')

print("CSVファイルの出力が完了しました! 'gemini_daily_counts.csv' を確認してください。")

また、分析後に必要だと思ったので、月毎も作成しました。以下の通りです。

import pandas as pd
import json

# JSONファイルの読み込み
with open('マイアクティビティ.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

df = pd.DataFrame(data)

# "title" から「送信したメッセージ: 」を削除して正規化
df['message'] = df['title'].str.replace('送信したメッセージ: ', '', regex=False)

# 時間フォーマットの揺れを吸収し、日本時間に変換
df['time'] = pd.to_datetime(df['time'], format='ISO8601').dt.tz_convert('Asia/Tokyo')

# 月別の集計('ME' で月末を基準に集計)
monthly_counts = df.resample('ME', on='time').size()

# インデックスを「2026-05」のように見やすい年月の形式にフォーマット
monthly_counts.index = monthly_counts.index.strftime('%Y-%m')

# データフレームに変換して出力
df_monthly = monthly_counts.to_frame(name='利用回数')
df_monthly.index.name = '年月'
df_monthly.to_csv('gemini_monthly_counts.csv', encoding='utf-8-sig')

print("月別の出力が完了しました! 'gemini_monthly_counts.csv' を確認してください。")

6.データ分析してみる

6.1 前提条件

  • 僕は大学二年生の情報工学系です。
  • 使っているAIは主にGeminiであり、95%以上Geminiであると推測できるので今回はGeminiのみを分析しています。(5%はNotebookLMやChatGPTやduck.aiなど…)
  • このGoogleアカウントは大学生になってから作成したのでスタートは2025年4月11日です。
  • Googleの大学生9か月無料Proプランを使っています。
  • Gemini好きです。

6.2 AIモードに関して

Geminiには検索時のAIモードも存在しており、最近はたまに使うのでこちらも別でデータ分析してみている。こちらは2025年9月13日から使用している。

6.3 AIモードの日毎のデータの基本統計量

平均 0.56
標準誤差 0.10
中央値 (メジアン) 0.00
最頻値 (モード) 0.00
標準偏差 1.51
分散 2.29
尖度 32.33
歪度 4.92
範囲 14.00
最小 0.00
最大 14.00
合計 139.00
データの個数 250.00

6.4 AIモードの日毎のデータのグラフ

AIモードの日毎のデータのグラフ
)

6.5 AIモードの日毎のデータの考察

ほとんど0ですね。ただ、最近増えていっています。やはりGeminiの利用制限などもあり、簡単な質問はこの子でも十分だからですかね。また、最近はこの子もまあまあ頭よくなってきたからというのもあります。ただ、日毎ではあまりよくわからないですね。

6.6 AIモードの月毎のデータの基本統計量

平均 15.44
標準誤差 6.84
中央値 (メジアン) 5.00
最頻値 (モード) 3.00
標準偏差 20.52
分散 421.03
尖度 1.43
歪度 1.64
範囲 57.00
最小 1.00
最大 58.00
合計 139.00
データの個数 9.00

6.7 AIモードの月毎のデータのグラフ

AIモードの月毎のデータのグラフ

6.8 AIモードの月毎のデータの考察

右肩上がりであることがわかります。5月はまだ残り10日あるので、そう考えるとまだ増えそうですね。Geminiの利用上限を気にして、ちょっとした検索や簡単なバグ取りはAIモードに逃がすようになったからだと思います。今後も上昇していくと推測できます。

6.9 Geminiの日毎のデータの基本統計量

平均 15.59
標準誤差 1.50
中央値 (メジアン) 8.00
最頻値 (モード) 0.00
標準偏差 30.27
分散 916.26
尖度 111.36
歪度 9.07
範囲 434.00
最小 0.00
最大 434.00
合計 6315.00
データの個数 405.00

6.10 Geminiの日毎のデータのグラフ

Geminiの日毎のデータのグラフ

6.11 Geminiの日毎のデータの考察

水素スペクトルのグラフみたいですね。最大値は434、1日に434回会話したということです!衝撃ですね。平均15.59回会話していますね。ちなみに434回の日は2026年5月15日です。開発中のアプリの話や、大学でのプロジェクトの話などいろいろなことが積み重なった結果ですね(それでもおかしいけども)。
ただ、これは外れ値の影響を受けている気がします。中央値のほうが信頼できそうですね。ただ、最近のほうが使われている気がしますね。

6.12 Geminiの月毎のデータの基本統計量

平均 451.07
標準誤差 99.23
中央値 (メジアン) 256.50
最頻値 (モード) なし
標準偏差 371.27
分散 137840.23
尖度 -1.65
歪度 0.39
範囲 982.00
最小 30.00
最大 1012.00
合計 6315.00
データの個数 14.00

6.13 Geminiの月毎のデータのグラフ

Geminiの月毎のデータのグラフ

6.14 Geminiの月毎のデータの考察

12月くらいからかなりの回数使用されていますね。これは、12月くらいから僕が本格的に活動し始めたからですね。また、4月には1000回を突破し、今月はあと10日残した状態ですでに950回ごえです!もういろいろやばいですね。

7.やってみて

大学生になってから1番会話しているのはGemini説という新たな発見がありました。人間とももっと会話をしてみようと思います。皆さんもぜひ自分のGeminiとの会話数を分析してみてください!!!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?