labvanced logoLabVanced
  • Research
    • Publications
    • Researcher Interviews
    • Use Cases
      • Developmental Psychology
      • Linguistics
      • Clinical & Digital Health
      • Educational Psychology
      • Cognitive & Neuro
      • Social & Personality
      • Arts Research
      • Sports & Movement
      • Marketing & Consumer Behavior
      • Economics
      • HCI / UX
      • Commercial / Industry Use
    • Labvanced Blog
    • Services
  • Technology
    • Feature Overview
    • Code-Free Study Building
    • Eye Tracking
    • Mouse Tracking
    • Generative AI Integration
    • Multi User Studies
    • More ...
      • Reaction Time/Precise Timing
      • Text Transcription
      • Heart Rate Detection (rPPG)
      • Emotion Detection
      • Questionnaires/Surveys
      • Experimental Control
      • Data Privacy & Security
      • Desktop App
      • Mobile App
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • Pricing
    • Licenses
    • Top-Up Recordings
    • Subject Recruitment
    • Study Building
    • Dedicated Support
    • Checkout
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
    • Third-Party Licenses
  • Appgo to app icon
  • Logingo to app icon
Learn
ガイド
ビデオ
ウォークスルー
よくある質問
ニュースレターアーカイブ
ドキュメント
教室
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
ガイド
ビデオ
ウォークスルー
よくある質問
ニュースレターアーカイブ
ドキュメント
教室
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • ガイド
    • はじめに

      • タスクエディタ
      • フレーム
        • キャンバスフレーム
        • ページフレーム
        • ウェブサイトフレーム
      • トライアルタイムライン
      • 刺激提示
      • 応答の正確さ
      • オブジェクト
      • イベント
      • 変数
      • タスクウィザード
      • トライアルシステム
      • 実験デザイン
        • 研究の作成
        • データフレームパターン
        • マルチユーザー実験デザイン
        • 縦断的実験デザイン
    • 注目のトピック

      • ランダム化とバランス
      • アイ・トラッキング
        • 注視追跡タスクにおける刺激の提示
        • 目の追跡キャリブレーション設定の選び方
        • タスクにおける視線追跡の設定
        • 視線データの記録とエクスポート
        • 目のトラッキングのための関心領域 (AOI) としての形状の使用
        • 参加者のキャリブレーション体験
      • ウェブブリッジ
        • ウェブサイト AOI の選択 | アンカー、調整、および AOI トラッキングの検証
        • ウェブサイト AOI におけるマウスの動作の追跡 | ウェブブリッジガイド
      • アンケート
      • デスクトップアプリ
      • サンプル研究
      • 参加者リクルート
      • APIアクセシビリティ
        • REST API
        • Webhook API
        • WebSocket API
      • その他のトピック

        • 正確な刺激のタイミング
        • マルチユーザー研究
        • Labvancedにおけるヘッドトラッキング | ガイド
    • メイン アプリ タブ

      • 概要: メインタブ
      • ダッシュボード
      • マイ研究
      • 共有研究
      • マイファイル
      • 実験ライブラリ
      • マイアカウント
      • ライセンス & サービス
    • 研究タブ

      • 概要: 研究特有のタブ
      • 研究デザイン
        • タスク
        • ブロック
        • セッション
        • グループ
      • タスクエディタ
        • タスクコントロール
        • 試行システム
        • フレームタイプ
        • オブジェクト
        • オブジェクトプロパティテーブル
        • 変数
        • システム変数テーブル
        • イベントシステム
        • テキストエディタの機能
        • タスクエディタにおける視線追跡オプション
        • タスクにおける頭追跡
        • マルチユーザー研究
      • 設定
      • 変数
      • メディア
      • テキスト & 翻訳
      • 開始 & 参加
      • 被験者管理
      • データビューとエクスポート
        • Dataview と変数 & タスクの選択 (古いバージョン)
        • 録音へのアクセス (古いバージョン)
  • 動画
    • 動画の概要
    • Labvancedの始め方
    • タスクの作成
    • 要素動画
    • イベントと変数
    • 高度なトピック
  • ウォークスルー
    • はじめに
    • ストループ課題
    • 語彙判断課題
    • ポズナー視線キュー課題
    • 変化盲点フリッカーパラダイム
    • 目の動き追跡サンプル研究
    • 乳児の目の動き追跡研究
    • マウストラッキングによる注意捕捉研究
    • 迅速シリアル視覚提示
    • ChatGPT研究
    • 目の動き追跡デモ:AOIとしてのSVG
    • マルチユーザーデモ:被験者のカーソルを表示
    • ゲームパッド / ジョイスティックコントローラー - 基本設定
    • EEG統合によるデスクトップアプリ研究
    • 被験者間のグループバランスと変数設定
    • マルチユーザー研究の構築
    • ウェブサイトフレーム目の動き追跡ウォークスルー
    • 条件付きウェブカメラ目の動き追跡
    • テキストセグメンテーション研究の構築
  • FAQ
    • 機能
    • サポートポリシーとガイドライン
    • セキュリティとデータプライバシー
    • ライセンス
    • Labvancedの精度
    • プログラム的使用とAPI
    • Labvancedをオフラインで使用する
    • トラブルシューティング
    • 研究作成に関する質問
  • ニュースレターアーカイブ
  • ドキュメント
  • クラスルーム

ChatGPT スタディ | ウォークスルー

概要

この ChatGPT デモ では、参加者がプロンプトを書いたとき、ChatGPT からの回答が Labvanced に直接表示される様子を見ることができます!

下のように、すべての履歴が表示されるチャットエリアと、参加者がプロンプトを入力するための入力フィールドがあります:

ユーザー入力トリガーメニュー

これは、デモの実行中の様子と、ビデオの最後に表示される記録データです:

このウォークスルーでは、ChatGPT スタディの設定方法をステップバイステップで説明し、その内容に慣れ、この強力な機能を次のスタディに組み込む準備をしましょう!

注意:スタディで ChatGPT との接続を確立するためには、Settings タブの Special Features に、あなた自身のユニークな API キーを入力する必要があります。

ChatGPT タスクの変数

変数 は、文字列や数値を含む記録データを保持および保存します。 Labvanced の使用に慣れた研究者は、イベントを作成するときに、その場で変数を作成することがよくあります。

このデモの目的のために、今後のセクションで説明するように、事前に変数をリストします:

この ChatGPT スタディで使用されるカスタム変数をリストした変数テーブル
変数名説明
chatStringこの変数は、参加者からのプロンプトと ChatGPT からのメッセージを表示するチャットの行を形成し、下のイベントセクションで詳しく説明されます。

追加の変数設定:
  • 開始値: ようこそ!以下の入力フィールドに入力を開始してください : ) <br><br>
  • 記録タイプ: 最終値のみ
dfこれは、データフレーム変数としてアップロードされた 2 列の .csv ファイルです。
chatGPTAnswerこの変数は、[下でさらに説明]されるときにシステムによって自動的に認識されます。この時点では作成する必要はありませんが、後で言及されるのでリストしています。

追加の変数設定:
  • 記録タイプ: 最終値のみ
PromptsLeftこのデモでは、参加者に 5 つのプロンプトを割り当てたいと考えています。そのため、最初の値を 5 として数値変数を作成し、各プロンプトが ChatGPT に送信されるたびに、そのカウンターを減少させるためにイベントを使用する必要があります。

追加の変数設定:
  • 開始値: 5
  • 記録タイプ: 最終値のみ
Input参加者が ChatGPT へのプロンプトとして入力した内容を保持するために、入力フィールドオブジェクト をエディタに入れるとすぐにこの変数が作成されます。

追加の変数設定:
  • 記録タイプ: 最終値のみ

キャンバスにオブジェクトを追加する

チャットインターフェースを設定し、指示を表示するために、以下に説明するいくつかの異なる種類のオブジェクトをキャンバスに追加する必要があります。

ChatGPT スタディのキャンバスフレーム上のオブジェクトの表示

表示テキストオブジェクト

表示テキストオブジェクトは、この ChatGPT スタディに必要です。なぜなら:

  1. 指示を提示する
  2. チャット履歴を画面に表示するため

このデモでは、以下の表示エレメントを作成して名前を付けました:

表示テキスト名説明
Chat BoxChat Box には、参加者からのすべてのプロンプトと ChatGPT からの回答がチャット形式で表示されます。この要素内には、参加者と ChatGPT の回答のチャット文字列を表示する chatString というリンク変数があります。

指示: 表示エレメントを追加し、大きくリサイズし、プレースホルダーテキストを「テキスト」などの別のものに変更して強調表示し、テキストエディタの上部にある赤い [x] をクリックし、メニューから ChatString 変数を選択します。 Start value テキストが表示されます。
Top InstructionsTop Instructions には、参加者への指示が含まれ、参加者が使用できるプロンプトの残りの数を表示する PromptsLeft というリンク変数があります。

チャットボックス効果の作成

深く掘り下げる前に、会話が表示されるチャットボックスについて話しましょう。

Labvanced はブラウザで動作するアプリであるため、画面の上部から下部にレンダリングされます。これにより、情報の表示方法に影響を与えます。チャットのような効果を作成するために、Chat Box オブジェクトの CSS コマンドを入力して、テキストのフローを逆にする必要があります。新しいテキストが下に表示されるようにします(これは、チャットが現実生活で新しいメッセージが下に表示されるため、望ましいことです)。

この効果を作成するには、Chat Box オブジェクトを選択し、オブジェクトプロパティが一覧表示されている右側のパネルで Change CSS Properties のエリアまでスクロールし、次のコードを挿入します: p{ height: 300px; overflow: auto; display: flex; flex-direction: column-reverse; padding: 10px }

これは、column-reverse CSS スタイルオプションによって実現され、テキストのフローが逆になり、チャットの下部に新しいメッセージが表示されるようになります。

これが次のように表示されます:

チャットのような効果を作成するためのコードを入力するためにサイドメニューでオブジェクトプロパティを設定している。

このコードスニペットを入力すると、ChatString 変数の名前がオブジェクトの下部にジャンプします。

同じ Object Properties パネルを使用して、チャットボックスのスタイルを指定し、Border-Size と Border-Color を割り当てることもできます。上記の例では、Border-Size が 2 に設定され、Border-Color が黒になります。

開始値: チャットボックス内のテキスト

一般的に、誰かが ChatGPT にアクセスする場合、「こんにちは、今日はどのようにお手伝いできますか?」のようなプロンプトメッセージがあります。このような開始メッセージを、Chat Box オブジェクト内でリンクされた作成した変数にアクセスし、Start Value を入力して設定することで追加できます。

変数に開始値を入力する。

上記のように、このデモでは次の開始メッセージを使用しています: ようこそ! 以下の入力フィールドに入力を開始してください 😃 <br><br>

注意: <br> は、チャットの各新しい行が作成され、チャットボックス内に追加されるときに、新しい行を作成するための 改行 を作成する HTML タグです。

入力フィールド

入力フィールドは、参加者が ChatGPT に送信するプロンプトを書く場所です。これを作成するには、エディタのサイドオブジェクトパネルから 入力オブジェクト を挿入するだけです。

挿入すると、このオブジェクトに関連付けられた変数の名前を付けるように求められます。このデモでは、オブジェクトに input という名前を付けました。

重要: 特定のオブジェクトに関連するオプションをさらに制御するために、Object Properties 右側のパネルでこのオブジェクトが選択されたときに、次のオプションが指定されていることを確認してください:

  • Show Question Header: オプションは 非選択
  • Input type は text. に設定されます
  • Focused は true としてマークされ、タイピングフィールドをアクティブにします(つまり、参加者が毎回クリックしなくても入力できるようになります)。

イベント概要

イベントは、この ChatGPT スタディで次のアクションを達成するために必要です:

  1. 参加者のプロンプトを ChatGPT に表示して送信する
  2. ChatGPT の回答を受け取り、表示する
  3. チャット文字列(参加者によって書かれ、ChatGPT によって作成された)
  4. 次のトライアルに進む

このウォークスルーの目的のために、上記のアクションが説明される 2 つの主要イベントを作成して名前を付けました:

  • 送信イベント: つまり、ChatGPT にメッセージを送信しチャットに表示すること
  • 受信イベント: つまり、ChatGPT からメッセージを受け取りチャットに表示すること

送信イベント

送信イベントは、参加者が ChatGPT に問い合わせを送信したときに発生するアクションを指します。つまり、Labvanced から OpenAI へのアウトゴーイングな情報です。

このイベントの目的は以下の通りです:

  1. チャットエリアに入力フィールドからのテキストを表示する
  2. 参加者の書いたプロンプトを変数データとして保存する
  3. ChatGPTに送信する

トリガー

このイベントを発動させるトリガーはEnter on Inputトリガータイプで、特定のターゲットは以前に作成したinputオブジェクトです。したがって、参加者がこのオブジェクトを使用してエンターキーを押すと、このイベントがトリガーされます。

入力トリガーでのエンター

アクション

上記を指定した後、このトリガーの結果として発生するアクションを定義します。

この変数は、参加者のクエリ(入力)をチャット形式でパッケージングし、それに「You:」というテキストを前置きし、その後に改行を開始するためのスペースを追加します。

ChatGPT研究のチャット交換を記録するためのchatstring変数の設定。

  • Set/Record Variableアクションは、以前に作成したchatString変数を含んでいます。
  • その中にはいくつかのArithmetic操作があり、実質的にチャットの効果を生み出します。文字列要素を(+)で結合すると、変数と値を組み合わせて文字列が長くなります。
  • 以下は、この算術演算内の値についての説明です:
    • ChatString:特定の変数を呼び出し、その後に続くものはそれに追加されます。
    • You::参加者にラベルを付けるための定数の文字列値です。
    • input:変数inputの名前です。つまり、参加者が入力フィールドにタイプした内容がここでチャットボックスに表示されます。
    • <br><br>:新しい行がHTMLの<br>を使用して作成される方法を示す定数の文字列値です。

このイベントの2つ目のアクションはSend to OpenAIアクションであり、APIを利用して参加者が書いた内容(すなわち、input変数の内容)をOpenAIに送信します。

参加者が書いた内容を送信するAPIを利用するOpenAIアクション

また、PromptsLeftの変数値を1減少させたいと思います(最初に参加者に5つのプロンプトを送信できるように設定しました)。

残りのプロンプト数を数えるための変数の設定

参加者がエンターを押すと、次の試行に進んでもらいます。そのために、Jump Actionを使用し、Next Trialを指定しました。

ジャンプアクションの下の次の試行オプション

注意: このChatGPT研究には6つの試行を作成しました。このセクションの下でデータが記録されていることを示しており、もちろん、試行の使用方法には多くの方法があり、このデモではこのアプローチを選びました。ご質問があれば、お気軽にご連絡ください!

プロンプトの数に合わせて6つの試行を選択する

到着イベント

通常、ChatGPTからの応答を得るには、約100-500ミリ秒かかります。応答が受信されると、それをトリガーとして次のことができます:

  1. 応答を保存された変数として記録する
  2. チャットで視覚的に答えを表示する
  3. 次の試行に移動する

トリガー

OpenAI Triggerは、APIを利用してChatGPTからの応答を受信し、その値を以前に作成した2列データフレーム(ここではdfと呼ばれています)に保存します。

OpenAIにプロンプトを送信するためのトリガー

アクション

上記を指定した後、このトリガーの結果として発生するアクションを定義します。

前のステップで参加者の入力を表示したのと同様に、今度はChatGPTの回答をチャットに表示するために同じことを行います。

ここでの違いは、「You:」の代わりに「chatGPT:」という定数の文字列値を書いて、応答をチャットに前置きすることです…そして、「input」変数の代わりにChat GPT Answerを呼び出し、それをトリガー特定値として選択します。

ChatGPTからの応答を追加するためのchat string変数の設定

下記のアクションは、ChatGPTの応答(APIから自動的に受信される)を自身の値として記録するためにも追加されます。

Chat GPTの応答を保存するための変数を作成

タスクは、プロンプトの数が0に達すると自動的に終了するため、参加者にはChatGPTからの最後の応答を読む機会を与えたいと思います。そのため、3000ミリ秒の遅延を使用して、Control Actionを使い、Delayed Actionを使用します。Requirement Actionは、PromptsLeft変数が0に等しい場合、実験がNext Task.に進むことを示します。

プロンプト数がゼロに達した際の3000ミリ秒の遅延アクション。

その結果実験がChatGPT研究の次のタスクにジャンプすることを指定。

エンドスクリーンとデータ保存 - タスク2

私たちの場合、次のタスクは「終了」と呼ばれ、実験がセッションを受け入れる感謝画面です。すなわち、研究は終了です。

タスクエディタにおける第二のChatGPT研究のビュー

セッション受け入れイベント

研究からのデータを保存するために、参加者がこのポイントに達したときにセッションを受け入れて研究を終了したいと考えています。

トリガー

したがって、トリガーはOn Frame Startです:

フレーム開始トリガー

アクション

別のDelayed Actionを使用してJump Action→Accept / End Sessionを使用してデータを保存します。

セッションを受け入れるための遅延アクション。

遅延アクションを使用する理由は、研究が時間経過後に自動的に閉じる/終了するためであり、私たちは参加者に画面上の情報を読んでもらう時間を与えたいからです。

ChatGPTデモの記録データプレビュー

以下の画像は、この研究のデータがDataview and Export Tabにどのように表示されるかをキャプチャしており、試行番号(Trial_Nr)、タスク名(Task_Name)、chatGPTの答え、および参加者のプロンプト(input)、残りのプロンプト数(PromptsLeft)が表示されています:

ChatGPT研究の各変数に対して記録されたデータが表示されるDataviewおよびエクスポートタブのビュー。


結論

全体として、このデモは、参加者とChatGPTとのインタラクションと対話を作成し、入力と応答を変数値として保存する方法を示しています。

この機能は、ChatGPT研究を構築するさまざまなアプローチと方法で使用できますので、何か質問があればお気軽にお問い合わせください!

Prev
迅速シリアル視覚提示
Next
目の動き追跡デモ:AOIとしてのSVG