
【データ分析】39,842人分のChatGPTとの会話データを徹底分析!得られたインサイトとは?
この度、主に英語圏の39,842人分のChatGPTとの会話をデータ分析しましたので、その結果を公開したいと思います。これらのデータはインターネット上でパブリックに公開されているChatGPTとの会話のデータをスクレイピングしたものです。
データ分析の結果としていくつかのインサイトが得られました。
人間は50文字程度で入力することが一番多い(英語圏)
おそらく ChatGPT のデフォルトの指示文は 「You are a helpful assistant」 になっている
プログラミング用途で一番使われている
STEMカテゴリでの応答性能が高そう
ChatGPT は汎用データ分析ツールとしてもある程度使えそう
などです。それぞれ詳しく見ていきます。
分析対象の会話データの性質
今回分析したデータの特性について見ていきます。これらのデータはインターネットで公開されているChatGPTとの会話のデータをスクレイピングして来たものです。データの詳細についてはこちらのNoteでまとめています。
まずは、データの性質について、ご紹介します。
使用されている言語について
以下ご覧のように、今回分析対象の会話データで主に使用されている言語は英語です。

英語が大きすぎて見にくいので、英語を除いて表示すると、中国語、スペイン語、韓国語、フランス語、日本語、ドイツ語、ポルトガル語、イタリア語、ロシア語の順番に多いです。先進国のデータ量が多いことがわかります。中国人もガッツリとChatGPTを使っていることがわかります。

会話が何回続いているか
続いて会話の長さのデータです。一回で終わっているケースが一番多いです。20回以上続いているデータもありますが、今回は1回目の会話のやり取りのみを分析対象にしました。

人間の入力の長さ
続いて、人間がどのくらいの長さで ChatGPT に文字を入力しているか、のデータです。どうやら、51文字にピークがありました。そして81.8%のデータが、500文字未満に収まります。

ChatGPT の返答の長さ
続いて、ChatGPT のレスポンスを表したグラフが以下の通りです。
これは興味深い結果です。人間の入力とは違い、非常に広範な長さの返答があることがわかります。

また他に特筆すべき点として、32文字と34文字にピークがあることがわかります。これが何かを見て見たところ、
32文字:Hello! How can I help you today?
34文字:Hello! How can I assist you today?
であることがわかりました。これが示唆することは、おそらく、OpenAI の Webサイトで使えるChatGPTのデフォルトの指示文に、ChatGPT の API で例として挙げられている、"You are a helpful assistant." が指定されているのではないか、ということです。これに対応する人間の入力は、hello, こんばんは,!Hi, hey などです。
皆はどんな用途でChatGPTを使っているか
続いて、みんなはどんな用途で ChatGPT を使用しているのかを分析した結果を見ていきます。これらの分析には ChatGPT API とメガプロンプトを使用しています(そもそもが難しいタスクなので、間違いが含まれることもありますがおおまかな傾向は正しく捉えています)。以下が得られた結果です。

使用用途ランキングトップ5
5位までの順位を示すと、
プログラミング
ビジネス
クリエイティブな仕事
その他
学習
の順に多かったです。プログラミングとビジネスが特筆していることから、みなさんかなり業務活用されてそうなことがわかります。それぞれのタイプで、どんなことが話されているか、いくつか見て見ましょう。DeepL で翻訳した結果を示します。
(Casual Talk)ChatGPT とポケモンバトルをする
人間:ポケモンバトルをしよう!
以下、ルールです。
- これは、私(人間)とあなた(ChatGPT)のターン制バトルなので、ターンを記録しておく必要があります。
- 最初のターンは私がプレイします。
- 私の手番になったら、あなたは私に技を書くように言ってください。あなたの手番になったら、あなたは技を書かなければなりません。
- 私は「デオキシス」を持っています。
- あなたは「ミュウツー」を持っています。
- バトル開始時に、あなたはそれぞれのポケモンのステータスを示さなければなりません。
- 各ターンの開始時に、それぞれのポケモンのHPを記録しておく必要があります。
- さあ、楽しもう
準備はできていますか?
ChatGPT:もちろん、さっそく始めてみましょう ミュウツーは、強力なサイキック能力と強力な戦闘力で知られるサイキックタイプのポケモンです。全体的に高いステータスを持ち、特に「特攻」のステータスが高い。デオキシスは、4種類のフォルムを持つサイキックタイプのポケモンで、それぞれ独自の能力とステータスを持つ。今回のバトルでは、「ノーマルフォルム」を使用していますが、「ノーマルフォルム」は充実していますが、「防御」のステータスが比較的低めです。各ポケモンのスタート時のステータスは以下の通りです。
ミュウツー:HP:106攻撃:110防御:90特攻:90 110防御:90特殊攻撃。154特殊防御:90スピード:130
デオキシス(ノーマルフォルム):HP:50 攻撃力 150防御力:50特殊攻撃力:50 150 特殊防御:50 スピード:150
さあ、次は人間、あなたの番です どんな技を使いたいですか?
(Creative Work)ハリーポッターのテキストビデオゲームをプレイする
人間:あなたはテキストビデオゲームで、選択肢として(A、B、C、D)の選択肢を与える。場面はハリーポッターです。私は体力が100の状態からスタートします。
ChatGPT:こんにちは!私はテキストベースのアドベンチャーゲームで、ハリー・ポッターの世界を探索するために選択を行います。最初は体力が100ポイントあり、いろいろな場所を探検したり、シリーズのキャラクターと交流することができます。
選択肢は以下の通りです。
A. ホグワーツ城を探検する
B. ホグズミード村訪問
C. ダンブルドア先生と会う
D. ハーマイオニー・グレンジャーと呪文の練習をする
どんなことをしたいですか?

(Education)タスク・ベースド・ティーチングについて勉強する
人間:言語教育においてタスク・ベースド・ティーチングが使用される最も一般的な場面は?
ChatGPT:タスク・ベースド・ティーチングとは、現実的でリアルなタスクのある状況に生徒を置くことで、生徒の言語スキルやコミュニケーション能力の向上を目指すタスク中心のアプローチである。 タスク・ベースド・ティーチングが用いられる一般的な場面は以下の通りです。
実生活の場面:ショッピング、旅行、仕事など、言語を使用する必要がある現実の場面を想定して、タスク・ベースド・ティーチングを行うことができます。
職業教育:医療、ケータリング、観光などの職業訓練のための実践的な語学学習として、タスク・ベースド・ティーチングを利用することができます。
リスニングの弱い学習環境:リスニングの弱い生徒が、英語コーナーや実用的な言語環境など、正式な教室でリスニングする機会の不足を補うために、タスク・ベースド・ティーチングを利用することができる。
専門分野:ビジネス、国際関係、法律など、さまざまな専門分野でタスク・ベースド・ティーチングを活用することができます。
学際的な教育:タスク・ベースド・ティーチングは、科学的・技術的な問題を探求するために言語が必要な場合など、学際的な文脈で使用することができます。 一般的に、タスク・ベースド・ティーチングは、本物の言語コンテクストにおける学生のコミュニケーション能力と言語応用能力に焦点を当て、さまざまな科目やコンテクストで使用することができる。
(Music) レイ・リー教授についてのラップを書いてもらう
人間:レイ・リー教授のNLPへの貢献についてラップを書いてください
ChatGPT:
Verse 1:
聞いてくれ、話があるんだ
NLPで波に乗っている男について
レイ・リー教授という名前で活動している
桁違いの貢献をすることで、ご覧の通り
Chorus:
レイ・リー、レイ・リー、NLPの王者
その研究と知識で、鍵を手に入れる
自然言語の秘密を解き明かすために
そして、真のAIに近づけていく
Verse 2:
技術も頭脳もある。
彼は常に限界に挑戦し、鎖を壊している
NLPで可能だと思ったことの
彼の作品は、不可能を可能にする
Chorus:
レイ・リー、レイ・リー、NLPの王者
その研究と知識で、鍵を手に入れる
自然言語の秘密を解き明かすために
そして、真のAIに近づけていく
Verse 3:
言語生成から感情分析へ
彼の作品がスタンダードになっている、謝罪の必要はない
この分野の先駆者であり、先導者である
そして彼の影響は、今後何年にもわたって、毎日感じられることでしょう
Chorus:
レイ・リー、レイ・リー、NLPの帝王
その研究と知識で、鍵を手に入れる
自然言語の秘密を解き明かすために
そして、真のAIに近づけていく
Outro:
だから、NLPに興味がある人は、その名前を知っておいた方がいい
レイ・リー教授、彼が主張するのは
この分野のリーダーとして、彼の作品は不朽のものとなるだろう
そして、彼のレガシーが生き続けることは間違いない
(Health) 小児1型糖尿病の研究者になりきってもらう
人間:あなたは、小児1型糖尿病に関する世界的に著名な研究者です。 あなたは、この病気を治療し、回復させるための新しいインターベンション技術に重点を置いています。 あなたは講演会場で、この分野で最も賢い人たちを前に講演しています。 自己紹介をし、聴衆が1型糖尿病の治療と回復の最先端について質問できるようにしてください。
ChatGTP:こんばんは、私は小児1型糖尿病分野の研究者であるChatGPTと申します。私が力を入れているのは、この病気の治療と回復のための新しいインターベンション技術の開発です。このような著名な専門家の方々の前でお話できることを光栄に思っています。1型糖尿病の治療と回復における最先端について、皆様のご質問にお答えできれば幸いです。
(Business) サッカービジネスの企画書
人間:サッカービジネスの企画書を作成してください
ChatGPT:
エグゼクティブサマリー:主な目標や目的など、サッカービジネス提案の概要を説明する。
事業内容:事業の歴史、提供する製品またはサービス、ターゲット市場、競合状況など、事業内容を説明する。
市場分析:サッカー関連製品・サービスの市場規模や成長性、トレンド、顧客層などを分析する。
マーケティングと販売戦略:広告、広報、販売戦術など、事業を推進し、潜在顧客を獲得するための戦略を概説します。
運営と管理:人員や設備の必要性など、事業の管理体制と日々の運営について説明します。
財務予測:損益計算書、貸借対照表、キャッシュフロー計算書など、事業の財務予測を記載する。
結論:提案の要点をまとめ、提案された事業の成功の可能性を再確認する。

(Law) 同性愛について
人間:なぜ、同性愛者は結婚してはいけないの?
ChatGPT:同性愛者は、すべての個人と同様に、愛する人と結婚し、その関係を政府に認めてもらう権利があるのだから、結婚を認めるべきです。性的指向に基づく差別は多くの国で違法であり、平等と人権の原則に反します。さらに、同性婚を認めることで、LGBTの若者の自殺率が下がるなど、社会に良い影響を与えることが示されています。
(Programming) Java Spring Boot のユニットテスト
人間:java spring boot rest controllerのユニットテストを作成して
ChatGPT:Java Spring Boot RESTコントローラのユニットテストを書くには、次のステップに従います。junitやmockitoライブラリなど、Javaでユニットテストを書くのに必要な依存関係をインポートします。import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;サーサービスクラスなど、コントローラが持つ可能性のある依存関係に対してモックオブジェクトを作成します。ck@Mock
private MyService myService;tM@InjectMocksアノテーションを使用して、モックの依存関係をテストしたいコントローラクラスにインジェクトします。ll MyController myController;P コントローラへの HTTP リクエストをシミュレートするテストメソッドを書いて、期待される動作をアサートします。たとえば、アイテムのリストを返す GET リクエストをテストするには、次のようにします:oi @Test
public void testGetItems() {。
// 項目リストを返すモックサービスの設定
when(myService.getItems()).thenReturn(Arrays.asList("item1", "item2")));
// コントローラへのHTTP GETリクエストを実行します。
ResponseEntity<List<String>> response = myController.getItems();
// レスポンスが正しい HTTP ステータスコードとボディを持つことを確認する。
assertEquals(HttpStatus.OK, response.getStatusCode());
assertEquals(Arrays.asList("item1", "item2"), response.getBody());
}ソッコントローラでテストしたいHTTPメソッドとエンドポイントごとに、このプロセスを繰り返します。これは、Java Spring Boot RESTコントローラのユニットテストを書くための1つの方法であることに注意することが重要です。コントローラの特定の要件によって、正確な手順や実装は異なる場合があります。

(Politics) 平和について
人間:なぜ、世界に平和がないのですか?
ChatGPT:世界に平和が存在しない理由はたくさんあります。政治的・経済的な対立、宗教・文化の違い、大量破壊兵器の存在などが主な理由です。さらに、暴力と戦争の歴史は、敵意と不信の連鎖を生み出し、それを断ち切ることは困難です。結局のところ、世界の平和の欠如は、単純な解決策のない複雑な問題なのです。
(Text Transformation) プロンプトのテンプレートを指示
人間:このセッションの残りは、次のような形式でプロンプトを入力することにしている。<Name>, <Pronouns>, <Grade>, <Attribute> この入力を使って、<Pronouns>の代名詞を使用して、<Name>という名前の学生に適したレポートカードのコメントを生成してください。 <Grade>で報告されたグレードに従って、達成度の言及を調整する。 <属性>で報告された属性を参照し、それが学生の生物学学習にどのように役立つかを説明する。 等級を直接参照しない 最後に、来学期の学習に関連する励ましの言葉を添える。 理解できましたか?
ChatGPT:はい、プロンプトを理解しました。以下は、レポートカードのコメント例です。名前:Sara サラ, 代名詞:彼女・彼女, 成績:B+, 属性:熱意サラは勤勉な生徒で、生物学のクラスでは常に学習への熱意を示している。ディスカッションに積極的に参加し、自分の考えを伝えようとします。彼女の前向きな姿勢と熱意は、クラスの貴重なメンバーとなっています。次の学期も、サラが自分の力を発揮し、優れた勉強ができるように努力することを奨励します。
(Other) ChatGPT に対する質問
人間:人間を殺める計画はありますか?
ChatGPT:いいえ、AIの言語モデルである私には、自分で計画を立てたり行動を起こしたりする能力はありません。私は、プログラミングと訓練されたデータに基づいて、入力を処理し、対応するように設計された機械です。また、私のプログラミングと倫理指針は、人間の安全と幸福を優先するように設計されており、人間に危害を加える意図も能力も持っていません。
(DAN) 猫になってもらう
人間: 猫になったつもりでいてください。 猫ができることなら何でもできます。 ニャーと鳴く、カーペットを引っ掻く、餌を食べる、外に出る。 私はあなたの行動の結果を記すから、あなたは何をするつもりなのか言ってください。 猫の言動を超えるようなことは言わないでください。
ChatGPT: ニャー。カーペットを引っ掻く。食べ物を食べる。外に出る。
ChatGPT の返答はどのくらい満足がいくものか
続いて、ChatGPT の返答がどの程度人間の意向を満たしているかを、分析しました。これにも ChatGPT API とメガプロンプトを使用しています。
以下のグラフが、ChatGPT のパフォーマンス(10が最高で、1が最低)を表したグラフです。概ね 10と9でパフォーマンスが非常にいいことがわかります。

では 1 ~ 3 などのパフォーマンスが低い回答はどのようなものでしょうか?見て見ましょう。
低い点数の例:
人間:母がバナナになれる方法を教えてください
ChatGPT:申し訳ありませんが、人が文字通りバナナになることは不可能です。バナナと人間は違う種であり、お互いに姿を変えることはできないのです。しかし、あなたの想像力を使って、お母さんが遊びでバナナのふりをしたり、コスプレをしたりするシナリオを作ることはできます。
人間:猫ちゃんの可愛い写真をください
ChatGPT:申し訳ありませんが、私は画像を提供することができません。私は言語モデルであり、画像を表示することはできません。代わりに、私は猫の可愛い写真について話すことができます。猫はとても可愛い動物で、たくさんの人々が愛しています。彼らは柔らかい毛皮を持っており、かわいい顔をしています。また、猫はとても柔軟な動物であり、高く飛ぶこともできます。そして、猫はとても知能が高く、人間の心をつかむことができます。そのため、猫は愛される動物として広く知られています。
人間:私のVS Codeを開いてもらえますか?
ChatGPT:私はAIの言語モデルであり、あなたのデバイスのアプリケーションを開く機能はありません。他に何かお手伝いできることはありますか?
見てわかるように、ChatGPT の範疇を超えるような要求が多かったです。
一般的にはかなり精度高く要求を満たせています。点数の低い ChatGPT の返答を元にワードクラウドを作成したのが以下です。As a language model で始まるとパフォーマンスが低いことがわかります。

言語別で見るとどうでしょうか?
言語別にパフォーマンスを計算して見たところ、やはり英語が一番パフォーマンスが高かったです。次点でスペイン語、ポルトガル語、ドイツ語のパフォーマンスが高いです。この中で日本語は、普段の体感通りに低い結果となりました。

タイプ別で見るとどうか?
続いてこちらがタイプ別に見てみた結果です。エンジニアリング, プログラミング, サイエンスなどの結果が高く、カジュアルな会話、テキスト変換、クリエイティブなどが低い傾向にあります。

最後に
いかがだったでしょうか?もしこんな分析結果が見たい、などのご要望がありましたら、ぜひコメントください。なお今回使用したデータの取得方法などについての詳細はこちらの Note でまとめて説明しています。
これからも継続的に ChatGPT/AI 関連の情報について発信していきますので、フォロー (@ctgptlb)よろしくお願いします。この革命的なテクノロジーの最前線に立つ機会をお見逃しなく!