RSPAN Task not working properly?


Author
Message
fksmo07
fksmo07
Associate Member (97 reputation)Associate Member (97 reputation)Associate Member (97 reputation)Associate Member (97 reputation)Associate Member (97 reputation)Associate Member (97 reputation)Associate Member (97 reputation)Associate Member (97 reputation)Associate Member (97 reputation)
Group: Forum Members
Posts: 5, Visits: 43
Hi, I don't know if its me or script from library for RSPAN Task is not working properly, especially part with sentence feedback. During the practice session it always shows sentence answer as correct even if its not and during the test session it counts correct sentences as incorrect.

I just wanted to report this issue.


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
fksmo07 - 6/27/2022
Hi, I don't know if its me or script from library for RSPAN Task is not working properly, especially part with sentence feedback. During the practice session it always shows sentence answer as correct even if its not and during the test session it counts correct sentences as incorrect.

I just wanted to report this issue.


Thanks for the report. You are correct, evidently two mistakes snuck in when the script was last revised. The fixes are as follows:

(1) In <trial prac_solve_sentence>, change

<trial prac_solve_sentence>
/ pretrialpause = 200
/ stimulusframes = [1=BlackFrame, GrayFrame, PracSentenceAnswer, TRUE, FALSE]
/ validresponse = (TRUE, FALSE)
/ iscorrectresponse = [
    return list.PracSentenceCorrect.nextvalue;
]

/ responsemessage = (anyresponse, PracSentenceAnswer, 800)
/ correctmessage = true(correcttext, 800)
/ errormessage = true(incorrecttext, 800)
/ ontrialend = [
    values.sentenceaccuracy=round(((values.sentenceproblemcount-values.sentencetotalerrors)/values.sentenceproblemcount)*100);
    values.correctSentences_perTrial += trial.prac_solve_sentence.correct;
]
/ branch = [
    if (trial.prac_show_sentence.trialcount >= list.PracSentencelist.itemcount) {
        return trial.prac_sentence_feedback;
    } else {
        return trial.prac_show_sentence;
    };
]
/ recorddata = true
</trial>

either to

<trial prac_solve_sentence>
/ pretrialpause = 200
/ stimulusframes = [1=BlackFrame, GrayFrame, PracSentenceAnswer, TRUE, FALSE]
/ validresponse = (TRUE, FALSE)
/ iscorrectresponse = [
  return trial.prac_solve_sentence.response == list.PracSentenceCorrect.nextvalue;
]

/ responsemessage = (anyresponse, PracSentenceAnswer, 800)
/ correctmessage = true(correcttext, 800)
/ errormessage = true(incorrecttext, 800)
/ ontrialend = [
  values.sentenceaccuracy=round(((values.sentenceproblemcount-values.sentencetotalerrors)/values.sentenceproblemcount)*100);
  values.correctSentences_perTrial += trial.prac_solve_sentence.correct;
]
/ branch = [
  if (trial.prac_show_sentence.trialcount >= list.PracSentencelist.itemcount) {
   return trial.prac_sentence_feedback;
  } else {
   return trial.prac_show_sentence;
  };
]
/ recorddata = true
</trial>

or to

<trial prac_solve_sentence>
/ pretrialpause = 200
/ stimulusframes = [1=BlackFrame, GrayFrame, PracSentenceAnswer, TRUE, FALSE]
/ validresponse = (TRUE, FALSE)
/ correctresponse = (list.PracSentenceCorrect.nextvalue)
/ responsemessage = (anyresponse, PracSentenceAnswer, 800)
/ correctmessage = true(correcttext, 800)
/ errormessage = true(incorrecttext, 800)
/ ontrialend = [
    values.sentenceaccuracy=round(((values.sentenceproblemcount-values.sentencetotalerrors)/values.sentenceproblemcount)*100);
    values.correctSentences_perTrial += trial.prac_solve_sentence.correct;
]
/ branch = [
    if (trial.prac_show_sentence.trialcount >= list.PracSentencelist.itemcount) {
        return trial.prac_sentence_feedback;
    } else {
        return trial.prac_show_sentence;
    };
]
/ recorddata = true
</trial>

(both will work)


(2) In <trial solve_sentence>, change

<trial solve_sentence>
/ ontrialend = [
    if (trial.solve_sentence.correct==0) {
        values.sentencecurrenterrors +=1;
        values.sentenceaccerrors +=1;
        values.sentencetotalerrors +=1;
    };
]
/ pretrialpause = 200
/ stimulusframes = [1=BlackFrame, GrayFrame, SentenceAnswer, TRUE, FALSE, sentencedebug]
/ validresponse = (TRUE, FALSE)
/correctresponse = (item.SentenceCorrect.item(text.SentenceAnswer.currentitemnumber))
/ ontrialend = [
    values.sentenceaccuracy=round(((values.sentenceproblemcount-values.sentencetotalerrors)/values.sentenceproblemcount)*100);
    values.correctSentences_perTrial += trial.solve_sentence.correct;//compute the number of correct sentences per trial
]
/ branch = [
    return trial.show_letter;
]
/ recorddata = true
</trial>

to

<trial solve_sentence>
/ ontrialend = [
    if (trial.solve_sentence.correct==0) {
        values.sentencecurrenterrors +=1;
        values.sentenceaccerrors +=1;
        values.sentencetotalerrors +=1;
    };
]
/ pretrialpause = 200
/ stimulusframes = [1=BlackFrame, GrayFrame, SentenceAnswer, TRUE, FALSE, sentencedebug]
/ validresponse = (TRUE, FALSE)
/correctresponse = (item.SentenceCorrect.item(text.SentenceProblem.currentitemnumber))
/ ontrialend = [
    values.sentenceaccuracy=round(((values.sentenceproblemcount-values.sentencetotalerrors)/values.sentenceproblemcount)*100);
    values.correctSentences_perTrial += trial.solve_sentence.correct;//compute the number of correct sentences per trial
]
/ branch = [
    return trial.show_letter;
]
/ recorddata = true
</trial>


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search