
テキストセグメンテーションオブジェクトを使用した読書研究の構築
このウォークスルーは、参加者が高頻度または低頻度の重要な単語を含む10の文を読む単語頻度読書課題を構築するために使用される正確なステップに従います。ウェブカメラのアイ・トラッキングが単語ごとの注視メトリックを記録します。テキストセグメンテーションオブジェクトのCSVからデータフレームへのテキストソースを使用し、配列変数のフォールバックではなく、ヘッドライン機能を利用します。
このウォークスルーが構築する実際の研究: 各試行につき1文、単語ごとのAOIジオメトリとアイ・トラッキングメトリックが自動的に記録される10の文。
刺激セット
10の文は、重要な単語の文字数でペアワイズで一致させます(高頻度の単語5つと低頻度の単語5つ、各6〜7文字)、頻度と別に単語長の混乱を制御するためです。頻度の値はSUBTLEX-US(Brysbaert & New, 2009)から取得し、単語頻度効果ページで使用されるのと同じコーパスです。
| # | 条件 | 重要な単語 | SUBTLWF | 文 |
|---|---|---|---|---|
| 1 | 高 | kitchen | 58.31 | 毎朝、彼女は朝食前に小さなキッチンカウンターを拭いていました。 |
| 2 | 低 | lantern | 2.02 | 老船乗りは錆びたランタンを持って桟橋まで運びました。 |
| 3 | 高 | teacher | 55.73 | 初日、新しい教師は緊張している全ての生徒を歓迎しました。 |
| 4 | 低 | satchel | 1.47 | 夜明け前、弟子は重いサッチェルを詰めて出発しました。 |
| 5 | 高 | window | 86.00 | 日光が開いた窓を通り抜け、部屋全体を温めました。 |
| 6 | 低 | turret | 0.88 | 矢が古代の塔に当たったちょうどその時、太陽が昇りました。 |
| 7 | 高 | letter | 82.61 | 彼は短い手紙を慎重に折りたたみ、封筒に入れました。 |
| 8 | 低 | chisel | 0.88 | 彫刻家は鋭い chisel を使って大理石の塊を彫りました。 |
| 9 | 高 | garden | 26.55 | 彼らは週末を通して古い庭のフェンスを掘り起こしました。 |
| 10 | 低 | goblet | 0.37 | 儀式中、騎士は王のために金の goblet を掲げました。 |
前提知識
Labvancedに関する基本的な知識が推奨されます。フレームやイベントがどのように機能するかなど、以下で使用される用語を理解するためです。このウォークスルーでは、独自の研究をテストランで起動し、後でそのエクスポートデータを見つけることができると仮定しています: セッションを自分で実行するための開始と参加を参照し、ステップ7で記録されたテーブルが実際にどこにあるかを知るためのデータビューとエクスポートを参照してください。
フレーム
試行の各瞬間で参加者が見るものを保持するビルディングブロック。
イベント
トリガーとアクションが何であり、それらが研究の論理を構築するためにどのように組み合わされるか。
テキストセグメンテーションオブジェクト
完全なオブジェクトリファレンス: プロパティ、セットアップウィザード、および2つの記録アクション。
ステップ1: テキストセグメンテーションオブジェクトの追加と刺激CSVのアップロード
Textツールバーグループからフレームにテキストセグメンテーションオブジェクトを追加します。

セットアップウィザードの最初のステップで、Upload a CSV file of sentencesを選択し、刺激ファイルを選択します。これにより、新しいデータフレームに解析され、1試行ごとに1行となります。

ファイルを選択した後、Additional Optionsダイアログが表示され、3つのチェックボックスがあります: Map strings to files, Use first row as header, Transpose data。この刺激セットの場合、全てのチェックボックスは未チェックのままにしておくべきです。これは文のCSVのデフォルト設定と同じなので、Okをクリックしてください。
注意
CSVはテキストセグメンテーションオブジェクトでよく使用されるテキストソースです: 各文ごとに1行、各単語ごとに1セル。今回の研究のソーススプレッドシートにはヘッダー行がなく、各列に1単語、各行に1文が保持されており、行の長さはばらばら(文によって10〜12単語)で、パディングされていません。文の末尾のピリオドはそのまま最終単語に添付され、1つのセルに含まれています。

セットアップウィザードは、このウォークスルーでは使用しない2つの他のテキストソースオプションを提供します: Assign text from a variable、既にテキストを保持しているデータフレームまたは配列用のもの、及びDo not set the text source、後で設定するためのものです。
ステップ2: 行インデックス設定法の設定
データフレームソースの場合、ウィザードの2番目のステップで試行ごとに行(文)がどのように選択されるかを尋ねられます。この研究ではUse Trial_Id as row indexを使用するため、10の文は実験のランダム化された試行順に表示されます。
ステップ3: アイ・トラッキングメトリックの記録をオンにする
ウィザードの最後のステップで、Record the x, y, width and height of every word on each trialはチェックを入れたままにし、Record eyetracking metrics for every word on each trialもチェックを入れます。単語ごとの注視メトリック(滞在時間、合計注視回数、合計注視持続時間、最初の注視までの時間、平均注視持続時間)は、これを単なる刺激表示ではなく読書のアイ・トラッキング研究にする要因であり、これらを記録するにはこのボックスにチェックを入れる必要があります。

注意
メトリックチェックボックスをチェックすることは、全体のタスクに対する注視検出もオンにし、注視はフレームの終わりで終了するように設定します。これはこのオブジェクトだけでなく、全てのタスクに適用され、ウィザードは終了する前にフラグを立てます。
このボックスをチェックすることは、この研究に対して実際にアイ・トラッキングをオンにすることでもあるため、即座に研究自身のPhysiology Toolbox Version 2.0セットアップウィザードが開きます。参加者が誰であるか、次にティア(精度 vs. 努力)、そして支持するティアに対してはスクリーニングレベル(精度 vs. スクリーンアウト)を尋ねます。各選択肢が何を意味するか、及びSettingsタブ経由で後で変更する方法についてはティアの選択を参照し、タスクレベルでのカスタム設定の設定についてはタスクでのアイ・トラッキングの設定を参照してください。
ステップ 4: レイアウトと試行の設定
テキストセグメンテーションオブジェクトが選択されている状態で、Object Properties で Split cells on whitespace をオフに設定します。CSVにはすでに1語ごとの列が含まれているためです。Layout を Grid に設定すると、各単語が均等な幅のセルに配置され、全体のセルがそのAOIとして記録されるため、2つの単語の記録領域が重なったり、間に隙間があったりすることがありません。
オブジェクトプロパティの完全なリスト、アライメント、パディング、フォント設定を含む詳細については、テキストセグメンテーションオブジェクトのリファレンスページを参照してください。この手順書では使用していない設定が含まれています。

Gap Between Cells はデフォルトのままにするのではなく、意図的に設定した方が良いものであり、適切な値はステップ 3 のセットアップウィザードで選択したキャリブレーションのティアから期待できる視線精度に依存します。高い労力のティア(長いキャリブレーション、よりタイトな期待誤差)では、単語AOIsの間に小さな隙間を設けても、誤って他の単語に視線が行くリスクがあまりありません。一方、短い低労力のキャリブレーションでは期待される誤差半径が広がるため、同じ小さな隙間では隣接する単語を記録データで見分けるのが難しくなり、より大きな隙間を取るのが安全な選択となります。各ティアの期待精度については、ティアの選択を参照してください。
CSVに試行数を合わせる
ステップ2で選択された行インデックス方式は、ウィザードとは全く別の設定に依存しています: Trial_Id は、タスクが実際に10回の試行を実行するように設定されている場合にのみ、1から10に到達します。これは、ウィザードのダイアログボックス内からではなく、Trials & Conditions テーブルで別に設定されます: そこで #Trials を10に設定し、アップロードされたCSVの10行と一致させます。この不一致があると、一部の行が表示されなくなるか、Trial_Id に一致する行がない試行でタスクがエラーになります。

この基本的なカウントに加えて、Trials & Conditions と Factors & Randomization は、要因の交差や条件の順序を制御するなど、より高度なランダム化もサポートしています。詳細なオプションについては、ランダム化とバランスを参照してください。
ステップ 5: 試行の進行を設定
10回の試行それぞれは、順番に2つのフレームとして実行されます: 特定の Fixation Cross フレーム、次にテキストセグメンテーションオブジェクトを保持する文フレームです。このようなフレームのシーケンスから試行が構成される方法については、試行のタイムラインを参照してください。
注視クロス: 独自のフレームとして構築し、文フレーム上の要素として配置しないでください。注視クロス画像自体をターゲットとする Eyetracking Gaze Trigger を追加し、参加者が実際に注視しているときにイベントが発火するようにします。単にタイマーによってではありません。それを Delayed Actions (Time Callback) にチェーンして、固定の1000msの遅延を設定し、Jump To アクションを Next Frame としてそのサブアクションに設定します。この遅延は1回限りのタイマーであり、持続的な注視チェックではありません。視線トリガーが最初に発火した瞬間から始まり、参加者がその後すぐにクロスを見続けているかどうかに関わらず、遅延が経過するまで Jump To を実行します。
この設定は、Serrano-Carot、Angele、Xu、Vasilev(2025)で使用される視線に依存した注視クロスからインスパイアを受けています。
試行間の進行: 文フレームに、Keyboard Trigger を追加して、any キーに設定し、Action ドロップダウンを Press Key に設定します。そして、Jump To アクションを Next Frame に設定します。このようにフレームを終了させることで、ステップ3のウィザードによって設定された Frame End Trigger が発火します。このとき、単語ごとのメトリクスが実際に記録されますので、参加者がその文を読み終えたことを信号として送信するまで書き込まれません。
中断された試行をリセット: 参加者が試行中に許可された頭の姿勢から外れてしまった場合、仮想顎当てが実験を一時停止し、再調整を促します。再調整画面は、参加者の視線をディスプレイの中央に再センターし、実際に中断時に文のどこにいたかとは一致しない場合があります。これを処理しないと、実験はそのまま文フレームを再開し、参加者の視線を中央に留めたままとなり、注視クロスが確立するための制御された開始位置から外れたことになります。Global Experiment Event Trigger を Experiment Continued に設定し、Jump To アクションを Specific Frame に設定して Fixation Cross フレームをターゲットにするようにします。これにより、再調整が参加者を注視クロスを通して再び戻し、ずれた視線位置で再開するのではなく、クリーンに試行をやり直すことができます。
このスタディをあなたのアカウントに直接インポートして、上記のフレーム、イベント、および試行の進行が実際にどのように構築され、構造化されているかを確認してください。
ステップ 6: 研究レベルでの眼球追跡の確認
ステップ3でメトリクスチェックボックスを確認した時点で、眼球追跡がすでに研究のためにオンになっており、セッティングアップ眼球追跡のウィザードがトリガーされていますので、ここで新しく有効にする必要はありません。Settings タブを開いて → Physiologyで Eye-Tracking がオンであることを確認し、ウィザードが設定したティアとスクリーニングレベルを確認します。研究レベルとタスクレベルのメカニズムについては、タスクでの眼球追跡の設定を参照してください。
ステップ 7: 両方の録画を確認
研究を自分で実行し、セットアップが機能したと仮定するのではなく、エクスポートされたデータを確認してください。単語ごとに1つの行がある2つのデータフレームテーブルが生成されるはずです:
- AOIジオメトリテーブル:
word_index,word,line_index,x,y,width,height - 単語ごとのメトリクステーブル:
word_index,word,line_index,dwell_time,total_fixations,total_fixation_duration,time_to_first_fixation,mean_fixation_duration
見ていない単語は、そのメトリクスカラム全てが0の行を保持し、空白のセルにはなりません。時間カラムを平均化する前に total_fixations > 0 でフィルターをかけてください。0は「注視されていない」と「フレーム開始時点で正確に注視された」を区別しません。