Umstieg von Ibex und PCIbex: Ein Leseexperiment in Potato importieren
Ein Ibex- oder PCIbex-Farm-Experiment mit potato import -f ibex in Potato importieren: Self-Paced Reading, Maze, Bewertungen, Tastenantworten und Listen nach lateinischem Quadrat.
potato import -f ibex liest ein Ibex- oder PCIbex-Experiment (PennController) und baut daraus ein Potato-Projekt mit denselben Items, denselben Listen nach lateinischem Quadrat und demselben Haupt-Trial-Typ. Ab Potato 2.12.0 kann eine Self-Paced-Reading-, Maze-, Akzeptabilitäts- oder Zwei-Tasten-Aufgabe mit Potatos Rekrutierung, Umfragen und Export laufen, oder neben einer Annotationsaufgabe.
Ibex führt Experimente zur Satzverarbeitung im Browser aus, und PCIbex Farm hostet in JavaScript geschriebene PennController-Skripte. Potato hat keine Skriptebene. Der Importer liest daher die Teile eines Skripts, die eine feste Form haben, und listet den Rest auf, damit Sie ihn von Hand nachbauen.
Ein Experiment importieren
Richten Sie den Importer auf den Experimentordner, den mit data_includes/ und chunk_includes/, wie in einem Projekt-Download von PCIbex Farm oder Ibex:
potato import -f ibex -i my_experiment/ -o my-study/
python potato/flask_server.py start my-study/config.yaml -p 8000Ibex-Konstrukte, die der Importer übersetzt
| Ibex oder PCIbex | Potato |
|---|---|
Template("table.csv", row => newTrial(...)) | Ein Item pro CSV-Zeile, wobei jede Spalte erhalten bleibt |
newController("DashedSentence", {s: row.X}) oder klassisches DashedSentence | Self-Paced Reading im Moving-Window-Modus |
newController("Maze", {s: row.X, a: row.Y}) | Die Maze-Aufgabe, mit den Distraktoren aus row.Y |
newScale(N) mit Texten in .before und .after, oder klassisches AcceptabilityJudgment | Eine likert-Skala mit N Punkten und diesen Endbeschriftungen |
newKey("F", "J") mit newText(row.X) | Ein zeitgesteuerter Trial mit diesen Tasten. Benennen Sie die Labels nach ihrer Bedeutung um |
Klassisches "Question" nach einem Satz | Eine Verständnisfrage, mit F und J für die ersten beiden Antworten |
Eine Spalte Group oder List, oder klassische Labels ["condition", N] | Ein Between-Subjects-Faktor list, eine Datendatei pro Liste, und batch_assignment.group_by_condition: list |
Klassische Ibex-Items mit dem Label ["condition", N] teilen sich Gruppe N, und Liste k erhält die Bedingung an Position (k + N) mod (Anzahl der Bedingungen), die übliche Rotation nach lateinischem Quadrat. Items außerhalb des Quadrats kommen in jede Liste, jeweils unter einer anderen ID, weil Potato über alle Datendateien hinweg eindeutige Item-IDs braucht (Experimentablauf).
Listen behalten die Namen, die das Experiment ihnen gibt, etwa L1 oder List1.
Teile, die Sie selbst nachbauen
Diese Teile eines Experiments werden weggelassen, und die Ausgabe sowie IMPORT_REPORT.md führen jeden einzeln auf:
- Übungsitems und -vorlagen;
- Bildschirme vom Typ
Message,FormundHtml; - Anordnung über
newTimer,SequenceundshuffleSequence; HeaderundFooter;newFunctionund anderes eigenes JavaScript;- Bild-, Audio- und Videoelemente sowie Aufnahmen;
- jede Vorlage, deren Tabelle nicht in
chunk_includes/liegt.
Ein Trial, der keinem der übersetzten Typen entspricht, wird mit einer Meldung abgelehnt, ebenso ein Import, der keine Items hätte, oder eine PCIbex-Vorlage, deren Stimulusspalte in ihrer Tabelle fehlt. Diese Fälle werden als Warnungen gemeldet:
- eine Spalte, die die Vorlage liest, die aber in der Tabelle fehlt;
- leere Stimuluszellen;
- zwei klassische Items mit demselben Label in einer Gruppe. Beide werden behalten, da Ibex eine Gruppe nach Position rotiert.
Legen Sie Einwilligung und Anweisungen auf Umfrageseiten. Für Stimulus-Timing, das zeitgesteuerte Trials nicht abdecken, führen Sie die Aufgabe auf einer jsPsych-Seite aus.
Weiterführende Informationen
- Self-Paced Reading und Maze - Darbietungsmodi, Regionsdaten und Serverprüfungen
- Experimentablauf - Bedingungen, Listen und Ausbalancierung
- Umstieg von jsPsych - jsPsych-Konzepte, zugeordnet zu Potato-Konfigurationsschlüsseln
- Projekte importieren - Jedes Format, das
potato importliest
Implementierungsdetails finden Sie in der Quelldokumentation.