+xHello all,
I have a question regarding the Scrambled Sentences Task (using the script from the Test Library).
Since we are using German stimuli, we're encountering the problem of flexible sentence structures, meaning even with very simple sentences there is often more than one correct order of words to form a grammatically sound sentence. (For example: "Strangers scare me" could be both "Fremde machen mir Angst" and "mir machen Fremde Angst", both sentences are correct.)
As far as I can see, the script as it is only allows for one correct word order per sentence, resulting in trials that would technically be correct but still be classified as incorrect responses because participants picked the alternative word order that wasn't provided in the script. (I hope this isn't too complicated to understand!)
Now it would obviously make things a lot easier if sentences don't have to be manually re-classified as correct/incorrect after data collection and we could instead include multiple correct options in the script. Does anyone know how that might be possible?
I'd greatly appreciate any help!
Best,
Nathalie
You can modify the script to allow for multiple correct responses. List your items / multiple response options like so:
<item scrambledSentencesE>
/1 = "ICH HABE KEINE ANGST ZUZUNEHMEN;ANGST ZUZUNEHMEN HABE ICH KEINE;"
/2 = "ICH FINDE MICH NICHT DICK;DICK FINDE ICH MICH NICHT;"
/3 = "MEIN BAUCH SIEHT GUT AUS;GUT SIEHT MEIN BAUCH AUS;"
/4 = "ZUZUNEHMEN WÄRE FÜR MICH ERTRÄGLICH"
/5 = "MEINE OBERSCHENKEL SIND TOTAL OKAY;TOTAL OKAY SIND MEINE OBERSCHENKEL;"
...
</item>
and then change the logic that checks & scores responses like so:
<trial scrambledSentenceE_end>
/ stimulustimes = [0 = frame1, word1, frame2, word2, frame3, word3,frame4, word4, frame5, word5, frame6, word6, number1, number2, number3,number4, number5, number6; 50 = clearscreen]
/ timeout = 50
/ iscorrectresponse = [
values.sentenceResponse = trimright(values.sentenceResponse, " ");
contains(values.positiveSolution, values.sentenceResponse) ||
contains(values.negativeSolution, values.sentenceResponse)]
/ ontrialend = [
values.countTrials += 1;
values.countTrials_E += 1;
values.scrambledSentence = item.scrambledSentencesE.item(values.index);
if
(contains(item.scrambledSentencesE_pos.item(values.index),values.sentenceResponse)){ values.countPosSolutions += 1;
values.sumRT_pos += values.cumulativeRT;
values.responseCategory = "positive";
} else if
(contains(item.scrambledSentencesE_neg.item(values.index),values.sentenceResponse)){ values.countNegSolutions += 1;
values.sumRT_neg += values.cumulativeRT;
values.responseCategory = "negative";
} else {
values.responseCategory = "other";
};
]
/ recorddata = true
/ posttrialpause = parameters.iti
</trial>