問題タブ [jspsych]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
183 参照

javascript - setInterval、最後の要素と最後の要素の 1 つ前の異なる間隔 (jsPsych)

言語学および心理学の実験用にjsPsychライブラリのスクリプトを変更しようとしています。これは、画像を連続して表示し、ユーザーが回答できるコードです。

画像が表示される時間を設定できますが、グループでのみ (= すべての画像で同じ時間)、最後の画像と最後の画像の前の画像を異なる時間で表示する必要があります。誰かがそれを達成する方法を教えてくれますか?

これで十分かどうかはわかりませんが、そうでない場合は、最善を尽くしますので、お問い合わせください。よろしくお願いします!

0 投票する
1 に答える
306 参照

javascript - ユーザー入力に基づいて実験に動的に試行を追加しますか?

私は現在、JsPsych を使用して行動実験、特にマトリックス推論を作成しているため、ユーザーはロジック パターンに基づいて一連のオプションから選択できます。

私の問題は、練習がブロックされた後にユーザーが最初の 2 つの試行に答えるときに失敗した場合、特定の試行を繰り返す必要があることです。たとえば、最初の 2 つの試行は練習用であり、次に反復規則が適用されます。

JsPsych の「タイムライン」は配列なので、実験全体が開始されるとその要素 (別名試行) が作成されるため、実験が開始された後に新しい試行を間に挿入することはできないようです。

ユーザー入力に基づいて特定の試行を強制的に実行する方法はありますか? つまり、ユーザーが正しいオプションを選択した場合は次の試行に進み、間違ったオプションを選択した場合は特定の前の試行に戻ります。

私がこれまでに試したこと:

(JsPsych のドキュメントと JsPsych Google グループの投稿に基づく)

A) call-function プラグインを使用して var を作成し、ブール値フラグを作成します。答えが正しい場合は True、そうでない場合は間違っています。次に、フラグが false (つまりexperiment.push(another_trial)) の場合は、別のトライアルをプッシュします。例:

前述のように、タイムラインの生成方法が原因で、このソリューションは完全に失敗します。

B) ネストされたタイムラインの使用。これは、メインのタイムラインに最初の質問とフラグが含まれているブルート フォース アプローチに似ているため、フラグが特定の値を取得すると、特定のタイムラインをプッシュします。これは本当に間違っていたので、無意味なコードで邪魔するつもりはありません。

C) 条件付きタイムラインの使用。かなり別の強引なアプローチですが、もう少し成功しています。この機能を使用して、それぞれ正しい回答と間違った回答に対して、さまざまなフィードバック画面を表示しました。例:

これは、短い線形構造で機能します。その場合、表示する画面を決定するだけで済みますが、必要に応じて前の試行に戻ろうとすると、このソリューションは失敗します。このソリューションから、ユーザーが失敗したときの試行の繰り返しを「シミュレート」するために、非常に長い一連のバイナリ条件を定義することができました。しかし、これを動的に生成することはできないため、基本的に、ユーザーが正しく答えられない回数を推測する必要があります。これは、実験が 200 人以上のボランティアで実行される場合にはオプションではありません。さらに、繰り返し条件が 2 回以上の試行に適用されると、このようなブルー​​ト フォース戦略は複雑になりますが、これは将来実際に発生する可能性があります。

JsPsych のコア javascript ファイルを深く改造することで解決につながるかもしれないと推測していますが、それは私の現在の JavaScript のスキルと知識を超えています。

この件に関するヘルプをいただければ幸いです。

このコードをテストするための追加のメモ:

実験コードの短い動作バージョンを以下に示します。今回は CSS が無視されているため、審美的な問題が発生する可能性があります。このコードでは、メインの HTML ファイルと同じディレクトリに jspsych フォルダーが必要です。

0 投票する
1 に答える
577 参照

javascript - オートフォーカス プロパティが最初の試行でのみ機能するのはなぜですか?

簡単な数学の問題を表示する JsPsych 実験用に、いくつかの試行をコーディングする必要があります。ユーザーはできるだけ早くテキスト ボックスに回答し、Enter キーを押して次の質問に移動する必要があります。等々。

質問ごとに、ユーザーが回答を入力するための単一のテキストエリアが表示され、そのようなテキストエリアはすぐにフォーカスされる必要があります。

各テキスト ボックスの作成時に autofocus プロパティを追加するだけでなく、Enter キーを押して試行を続行するように、調査テキスト プラグインを変更しました。問題は、オートフォーカスが最初の試行でのみ機能し、残りの試行で機能しなくなることです.

以下にコードを示します (動作させるには、JsPsych フォルダーが同じディレクトリにある必要があります)。

JsPsych の調査テキスト プラグイン側からの重要な変更点は次のとおりです。

(はい、インライン JavaScript が悪い考えであることは知っていますが、これまでのところ、それを機能させることができた唯一の方法です)

私が試したこと:

  • getElementById() 同様の質問の多くは、メソッドの使用、またはgetElementsByTagName()DOM 要素を処理することを示唆していますが、何らかの理由でそれらのどれも機能しません。
  • ここで提案されているように、タイマーを使用してテキスト領域にフォーカスすることも試みました(そのトピックで提案された他の解決策も機能しませんでした)。
  • 私のコードからわかるように、ぼかしをトリガーする関数を使用してフォーカスを「回復」しようとしています。そのようなアプローチ onLoad() も試しましたが、どちらの場合も結果はありません。
  • 多くのトライアルを使用する代わりに、単一のトライアル内のネストされたタイムラインに質問を表示しようとしました。運もありません。

何か不足していますか?

いくつかの追加メモ:

この質問のタグから推測できるように、オートフォーカスを単独で機能させることができない場合に備えて、JQuery および HTML5 固有の関数はソリューションとして完全に許可されています。自分を制限する必要はありません。楽しんでください。

この動作は、Ubuntu 16 用の Firefox の最新バージョン、および Windows 用の Chrome (具体的には Windows 10) の最新バージョンでテストされています。

更新:ここでこのコードを試すことができます

0 投票する
0 に答える
369 参照

annotations - PsiTurk/jspsych と Pybossa の違い。

私はしばらくPsiturkjspsych、および Pybossa を使用してきました。それぞれに取り組んだ後、Psiturk (jspsych を使用して設計された GUI インターフェイスを備えた) を使用して Amazon Mechanical Turk と直接統合できることを除いて、Pybossa が Psiturk と同じ作業を行っていることを経験しました。

私はこれらすべてのオープン ソース プラットフォームに不慣れで、マイクロタスクの評価を実行したいと考えています。それぞれが行っていることは、データを保存し、ユーザーを管理するためのプラットフォームを提供し、ワークフローを処理することです。私が必要としているのは、これらの実験の結果を評価して、コーエンのカッパ係数とフライスのカッパ係数と呼ばれるものを計算することです。これはどのように行うことができますか?