Warning: session_start(): open(/var/lib/php/sessions/sess_ujm11k2pu77f51tc696de68ro3, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
// Text + questions from https://lingua.com/english/reading/my-day/
cmodule MyDay > DynPrintLog {
transient ReadingComprehensionTest test;
switchable S text = [[
Text
----
First, I wake up. Then, I get dressed. I walk to school. I do not ride a bike. I do not ride the bus. I like to go to school. It rains. I do not like rain. I eat lunch. I eat a sandwich and an apple.
I play outside. I like to play. I read a book. I like to read books. I walk home. I do not like walking home. My mother cooks soup for dinner. The soup is hot. Then, I go to bed. I do not like to go bed.
Question 1:
What happens first?
1 Get dressed 2 Wake up
3 Eat lunch 4 Walk to school
Question 2:
What do I like?
1 Books 2 Rain
3 Walking home 4 Going to bed
Question 3:
How do I go to school?
1 I ride a bike. 2 I walk.
3 I ride the bus. 4 I drive a car.
Question 4:
What do I eat for dinner?
1 Sandwich 2 Pie
3 Soup 4 Apple
Question 5:
What do I not like?
1 Going to school 2 Going to bed
3 Playing 4 Soup
]];
// We help the AI by declaring some "power words" in form of regular expressions
transient LS regexps = ll("(? best;
for (S answer : q.answers) {
LS regexps2 = ll(quoteRegexp(dropPunctuation(answer))); // treat the whole answer as a regexp
LS regexps2b = matchingRegexpsIC(regexps, answer); // find the regexps that match the answer
double score = 0;
if (firstType) { // mode 1: find what appears first in text
int idx = indexOfEntryContainingAllRegexpsIC(regexps2, test.sentences);
if (idx < 0)
idx = indexOfEntryContainingAllRegexpsIC(regexps2b, test.sentences); // try the second set of regexps
if (idx >= 0) score = -idx; else continue;
} else { // mode 2: find sentence in text that matches question + answer best
score = ai_regexpMixScoreIC(regexps2, matchedInQ, test.sentences, quote(answer));
if (score == 0)
score = ai_regexpMixScoreIC(regexps2b, matchedInQ, test.sentences, quote(answer)); // try second set of regexps here too
}
best.put(answer, score);
}
print(">> " + or(best!, "?")); // print answer
}
}
}