├── data ├── MCTest │ ├── LICENSE.pdf │ ├── mc160.dev.ans │ ├── mc500.dev.ans │ ├── mc160.train.ans │ ├── mc500.train.ans │ ├── README.txt │ ├── mc160.dev.tsv │ └── mc160.dev.txt ├── MCTestAnswers │ ├── LICENSE.pdf │ ├── mc160.test.ans │ ├── mc500.test.ans │ └── README.txt └── stopwords.txt ├── .gitignore ├── mctest.proto ├── README.md ├── baseline-embed.py ├── baseline.py └── parse.py /data/MCTest/LICENSE.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcobzarenco/mctest/HEAD/data/MCTest/LICENSE.pdf -------------------------------------------------------------------------------- /data/MCTestAnswers/LICENSE.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mcobzarenco/mctest/HEAD/data/MCTestAnswers/LICENSE.pdf -------------------------------------------------------------------------------- /data/MCTest/mc160.dev.ans: -------------------------------------------------------------------------------- 1 | A C B B 2 | C D D A 3 | A C D D 4 | A B C B 5 | B B B C 6 | A C D B 7 | B B B D 8 | A D B B 9 | C C C C 10 | D B C D 11 | C A C D 12 | A D C C 13 | B D D C 14 | C D B B 15 | A D C D 16 | D D D C 17 | B C D C 18 | A C B C 19 | B D B B 20 | D D D A 21 | C C A B 22 | B C C A 23 | C C B A 24 | C B B C 25 | A D A B 26 | B C D D 27 | C A B D 28 | C B C B 29 | C B A C 30 | B B C D 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Files generated by protoc 2 | mctest_pb2.py 3 | 4 | *.py[cod] 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Packages 10 | *.egg 11 | *.egg-info 12 | dist 13 | build 14 | eggs 15 | parts 16 | bin 17 | var 18 | sdist 19 | develop-eggs 20 | .installed.cfg 21 | lib 22 | lib64 23 | __pycache__ 24 | 25 | # Installer logs 26 | pip-log.txt 27 | 28 | # Unit test / coverage reports 29 | .coverage 30 | .tox 31 | nosetests.xml 32 | 33 | # Translations 34 | *.mo 35 | 36 | # Mr Developer 37 | .mr.developer.cfg 38 | .project 39 | .pydevproject 40 | -------------------------------------------------------------------------------- /data/MCTest/mc500.dev.ans: -------------------------------------------------------------------------------- 1 | A A C B 2 | B A A C 3 | A B B A 4 | C C A C 5 | A A A A 6 | A C B C 7 | C B B C 8 | D A A A 9 | B B D C 10 | C D A A 11 | C C C D 12 | A B D C 13 | B C C D 14 | B C C C 15 | A D A B 16 | B C A D 17 | A C D B 18 | D A A D 19 | A C C C 20 | C C A B 21 | D D B C 22 | B D C C 23 | A B C A 24 | D D D A 25 | B C C B 26 | C A B C 27 | D C D B 28 | D B D C 29 | A D C B 30 | A D B D 31 | C C D C 32 | B C B A 33 | B D D A 34 | C A B B 35 | D A D C 36 | C A A D 37 | C D D A 38 | A A A B 39 | B D A D 40 | A B C B 41 | D A D D 42 | A C C B 43 | B B C D 44 | A C B C 45 | A B D B 46 | B D A A 47 | B A C C 48 | B B B C 49 | A B B B 50 | A A B A 51 | -------------------------------------------------------------------------------- /data/MCTestAnswers/mc160.test.ans: -------------------------------------------------------------------------------- 1 | A A B B 2 | D B C B 3 | C A B D 4 | C D B C 5 | C C A A 6 | A B D D 7 | B D B B 8 | A B D D 9 | C A B A 10 | C A D C 11 | B C D B 12 | B B D A 13 | A D B A 14 | D A C D 15 | D D C B 16 | B C B A 17 | A C D D 18 | C C C D 19 | B B C C 20 | C B D B 21 | A D A B 22 | C B A B 23 | B A D C 24 | B B B D 25 | A C D C 26 | C C A A 27 | B A B D 28 | C B D A 29 | A C C A 30 | B A B B 31 | D B D D 32 | C B B D 33 | C A D C 34 | C B D A 35 | A C D A 36 | C D C A 37 | B B B D 38 | B C C D 39 | D A A A 40 | C D B D 41 | C C D A 42 | C C B B 43 | C C C C 44 | B C A D 45 | C C C B 46 | A B A B 47 | A D A B 48 | A B A D 49 | A D C C 50 | C C A D 51 | D A C C 52 | C C A D 53 | C B B D 54 | A D C D 55 | D D B B 56 | C A D B 57 | D D A A 58 | A D A C 59 | D A C B 60 | C D C A 61 | -------------------------------------------------------------------------------- /data/MCTest/mc160.train.ans: -------------------------------------------------------------------------------- 1 | C D B C 2 | D A D C 3 | A C B A 4 | D A C D 5 | A D B B 6 | D D A C 7 | D C A B 8 | B C B B 9 | A D D C 10 | D D D C 11 | A D A D 12 | C C B B 13 | D C D B 14 | A B C C 15 | A A A C 16 | A D B B 17 | D B A D 18 | A A A D 19 | D B A A 20 | D C A C 21 | A D B A 22 | C C A B 23 | C D A D 24 | A B C A 25 | D A D C 26 | B B C C 27 | C A A C 28 | C D C A 29 | A C A B 30 | D B B B 31 | B A C A 32 | B D D A 33 | B C D C 34 | A C C C 35 | D B C D 36 | C B A B 37 | D B B B 38 | C C C B 39 | A C C A 40 | C D B A 41 | A B C A 42 | A C A B 43 | C B D C 44 | B A D D 45 | B C B A 46 | A B A A 47 | D A B B 48 | D C B C 49 | C B A C 50 | D C D C 51 | A B B D 52 | C C C A 53 | B B D B 54 | D B D C 55 | C C D B 56 | C C D C 57 | D A C D 58 | A B B A 59 | A A B A 60 | B A A A 61 | C C C C 62 | C B C D 63 | D B C C 64 | C D D B 65 | D D A B 66 | A A A C 67 | C D C D 68 | A B C C 69 | C C B C 70 | A A D D 71 | -------------------------------------------------------------------------------- /mctest.proto: -------------------------------------------------------------------------------- 1 | package mctest; 2 | 3 | 4 | // Representation of stories using word tokens: 5 | 6 | message AnswerAsWords { 7 | repeated string tokens = 1; 8 | } 9 | 10 | message QuestionAsWords { 11 | enum Type { 12 | ONE = 1; 13 | MULTIPLE = 2; 14 | } 15 | required Type type = 1; 16 | repeated string tokens = 2; 17 | repeated AnswerAsWords answers = 3; 18 | } 19 | 20 | message StoryAsWords { 21 | required string id = 1; 22 | required string description = 2; 23 | // Content fields: 24 | repeated string passage = 3; 25 | repeated QuestionAsWords questions = 4; 26 | } 27 | 28 | 29 | // Representation of stories using embeddings: 30 | 31 | message Vector { 32 | repeated double value = 1; 33 | } 34 | 35 | message AnswerAsEmbeddings { 36 | repeated Vector tokens = 1; 37 | } 38 | 39 | message QuestionAsEmbeddings { 40 | enum Type { 41 | ONE = 1; 42 | MULTIPLE = 2; 43 | } 44 | required Type type = 1; 45 | repeated Vector tokens = 2; 46 | repeated AnswerAsEmbeddings answers = 3; 47 | } 48 | 49 | message StoryAsEmbeddings { 50 | required string id = 1; 51 | required string description = 2; 52 | // Content fields: 53 | repeated Vector passage = 3; 54 | repeated QuestionAsEmbeddings questions = 4; 55 | } 56 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | MCTest Dataset 2 | ======== 3 | 4 | Baseline models as well as more complex ones for doing question answering on the MCTest dataset. 5 | 6 | Dependencies: 7 | ``` 8 | protobuf 9 | numpy 10 | pandas 11 | nltk 12 | ``` 13 | 14 | Word embeddings can be used from a model file created by [word2vec](https://github.com/danielfrg/word2vec). 15 | 16 | ## Running baseline models 17 | 18 | 19 | First, clone the repo and compile the protobuf: 20 | ``` 21 | git clone https://github.com/mcobzarenco/mctest.git 22 | cd mctest 23 | protoc --python_out=. mctest.proto 24 | ``` 25 | 26 | To parse the raw data (dev + train combined), remove stopwords and save it as a length delimted protobuf flat file: 27 | ``` 28 | cat data/MCTest/mc160.dev.tsv data/MCTest/mc160.train.tsv | \ 29 | ./parse.py --rm-stop data/stopwords.txt -o proto > train160-stop.words 30 | ``` 31 | 32 | Also create a file with the ground truth for dev + train: 33 | ``` 34 | cat data/MCTest/mc160.dev.ans data/MCTest/mc160.train.ans > train160.ans 35 | ``` 36 | 37 | To run the sliding window with distance baseline: 38 | ``` 39 | ./baseline.py --train train160-stop.words --truth train160.ans --distance 40 | 41 | [model] 42 | window_size = None 43 | distance = True 44 | 45 | [results] 46 | All accuracy [400]: 0.5600 47 | Single accuracy [185]: 0.5946 48 | Multiple accuracy [215]: 0.5302 49 | ``` 50 | 51 | #### Word embeddings 52 | First, [word2vec](https://github.com/danielfrg/word2vec) should be installed and a model file with embeddings created. 53 | Say the model file is `mctest.vec.bin`, the following command will parse the raw data (dev + train combined), replace the words with their corresponding embedding and save that to disk: 54 | ``` 55 | cat data/MCTest/mc160.dev.tsv data/MCTest/mc160.train.tsv | \ 56 | ./parse.py --model-file mctest.vec.bin --rm-punct -o proto > train160-punct-mctest.embed 57 | ``` 58 | To run the sliding window model over the embeddings: 59 | ``` 60 | ./baseline-embed.py --train train160-punct-mctest.embed --truth train160.ans 61 | 62 | [model] 63 | window_size = None 64 | 65 | All accuracy [400]: 0.5775 66 | Single accuracy [185]: 0.6108 67 | Multiple accuracy [215]: 0.5488 68 | ``` 69 | -------------------------------------------------------------------------------- /data/MCTestAnswers/mc500.test.ans: -------------------------------------------------------------------------------- 1 | D C C B 2 | A B A D 3 | B C A D 4 | B D D C 5 | D C A B 6 | B A B C 7 | D A A D 8 | B D A A 9 | D B D D 10 | D D B A 11 | A A D B 12 | D A B A 13 | C A D D 14 | B B D B 15 | C C C D 16 | C D C B 17 | B A D C 18 | B A A B 19 | D B B C 20 | C B C D 21 | D A B B 22 | A C D C 23 | B B D A 24 | C D B B 25 | D B A D 26 | B C C A 27 | C B C D 28 | D A C D 29 | B B B A 30 | A D A C 31 | B B B C 32 | A A B A 33 | C D D A 34 | A D D A 35 | B D D A 36 | A C D D 37 | B A C D 38 | C A C A 39 | B D A C 40 | C C C D 41 | C D C D 42 | D C B C 43 | D D C D 44 | B B A C 45 | A A B D 46 | B C C A 47 | D D D D 48 | C A C D 49 | C D B B 50 | C A A D 51 | A A D D 52 | C A C C 53 | B B C C 54 | A A A B 55 | C B A B 56 | B B A C 57 | C D A D 58 | C A C C 59 | D C D B 60 | A C B A 61 | A C B A 62 | D C D A 63 | C C D C 64 | A C D B 65 | C C D B 66 | A B B A 67 | B C D A 68 | D B B D 69 | C C D B 70 | A D B C 71 | D C D C 72 | A D C B 73 | A B C D 74 | A D D B 75 | B A A A 76 | A D A C 77 | C B D D 78 | D C A D 79 | B D A A 80 | D D C D 81 | A B A B 82 | B D B C 83 | D B D A 84 | C C D C 85 | B A D B 86 | A A B A 87 | D D B C 88 | A D D B 89 | B C D B 90 | B B A A 91 | D C D D 92 | A B C C 93 | B A D A 94 | C D B D 95 | C A C B 96 | A C D B 97 | A B D D 98 | C A B A 99 | B B B D 100 | D B B A 101 | D D D D 102 | D B C D 103 | D D C D 104 | C C B B 105 | D C A A 106 | C A D C 107 | C C A B 108 | B D D D 109 | A D A A 110 | D A D A 111 | A A C A 112 | C C B A 113 | C B B A 114 | B D A A 115 | D A C D 116 | B B D B 117 | A B D B 118 | A D C C 119 | C B D B 120 | C B C C 121 | B B C D 122 | D B D A 123 | D A B C 124 | C D D B 125 | C D B C 126 | A A B B 127 | A C A D 128 | D C B B 129 | A B A A 130 | B A A A 131 | D C D D 132 | C C D A 133 | C D A B 134 | A D C C 135 | D C D A 136 | C B B A 137 | A B A C 138 | D B D C 139 | C D B B 140 | D C B B 141 | D D C B 142 | C D A D 143 | C C D D 144 | A C B D 145 | D B B C 146 | C C C D 147 | B A C B 148 | C B A B 149 | C A A B 150 | A D D D 151 | -------------------------------------------------------------------------------- /data/MCTest/mc500.train.ans: -------------------------------------------------------------------------------- 1 | B C C D 2 | B D D B 3 | D D D B 4 | A B C C 5 | C C D A 6 | C C A C 7 | A B C C 8 | D C C A 9 | A B D D 10 | A A C A 11 | B B D B 12 | C D B D 13 | B D A B 14 | B B C A 15 | A B C C 16 | D D D A 17 | B B C D 18 | B D C D 19 | D C D B 20 | D B A A 21 | D D B C 22 | B C C A 23 | B A D D 24 | D A D A 25 | B C D B 26 | B D D A 27 | D B C A 28 | C A C D 29 | A C B C 30 | D C B D 31 | A C B C 32 | A B D B 33 | C C C D 34 | D C A C 35 | B C D A 36 | C A D D 37 | D A A B 38 | B A D B 39 | C C B A 40 | C B B A 41 | A B A D 42 | B D D B 43 | D A B C 44 | A C D C 45 | C A D B 46 | D D B B 47 | C D D B 48 | A D D B 49 | C A D C 50 | D A C D 51 | C B B A 52 | A D D D 53 | C D D A 54 | D D D B 55 | B B B D 56 | D C A C 57 | B C D B 58 | A D B A 59 | C B A D 60 | A A C D 61 | B C C D 62 | A D D C 63 | B A C C 64 | C B B B 65 | D A A B 66 | C A C A 67 | A B D D 68 | B D B C 69 | A A C D 70 | C A A D 71 | C C A C 72 | A C D A 73 | D C C A 74 | B D C B 75 | D A B B 76 | B B C D 77 | D A D C 78 | C B B C 79 | C D D D 80 | C B A B 81 | D A A C 82 | A D A A 83 | B C D C 84 | B A A A 85 | A D C B 86 | C B B A 87 | C B D B 88 | C B B C 89 | D C D A 90 | B C C B 91 | C B D A 92 | B D B D 93 | D D C D 94 | B D B A 95 | D B D B 96 | B B C D 97 | C C D C 98 | A C A B 99 | C C A B 100 | D C C C 101 | A B B B 102 | D C A A 103 | D B C A 104 | A B C C 105 | B D D A 106 | A A A D 107 | C D A B 108 | A A C B 109 | C D A C 110 | C B B C 111 | D C D D 112 | A A B A 113 | C D B C 114 | C C D B 115 | C C A D 116 | B A D B 117 | D B B C 118 | A B D D 119 | D C D D 120 | C A A B 121 | D B C C 122 | C D D C 123 | B A A A 124 | D C A A 125 | C C A A 126 | D B D C 127 | C C B C 128 | B C C B 129 | D C A A 130 | C B A D 131 | B D B D 132 | A A A D 133 | D D C B 134 | D A D C 135 | C D A A 136 | A C D B 137 | A B A A 138 | A B C C 139 | C D C B 140 | D D A B 141 | D D D B 142 | D A D A 143 | D C A B 144 | D D C B 145 | D D C B 146 | A D A B 147 | C D A D 148 | C B B B 149 | C D D D 150 | C C A C 151 | A B A C 152 | D B C B 153 | B D C B 154 | A D C B 155 | D D B A 156 | C B C B 157 | D A B D 158 | D D C D 159 | B D B D 160 | D A B A 161 | C D D B 162 | C D A D 163 | B A B D 164 | A D B C 165 | B A A A 166 | B D A B 167 | A A B A 168 | A C A D 169 | B D D D 170 | A D B A 171 | A C B C 172 | D A D D 173 | C A A D 174 | C D B A 175 | C D C A 176 | A B D A 177 | B D A B 178 | A A C C 179 | A A A A 180 | D C C C 181 | C B B B 182 | D D D D 183 | D B C C 184 | C A C D 185 | C D A D 186 | D D C B 187 | B B C A 188 | D D B A 189 | C A B C 190 | A B C D 191 | C D B B 192 | A A B A 193 | C D C B 194 | A B C D 195 | A A B B 196 | A D A A 197 | B D A C 198 | C C C C 199 | B A A A 200 | C C D C 201 | C D D A 202 | D C B B 203 | C C D A 204 | A C D A 205 | D D D B 206 | C B A D 207 | C A A B 208 | B B D D 209 | B D C A 210 | B A D C 211 | A C D D 212 | D B C B 213 | D D D C 214 | B A B A 215 | C A A D 216 | C B D A 217 | D B A A 218 | D C C D 219 | C D A A 220 | B D C D 221 | C C A A 222 | A D D D 223 | A A B C 224 | C D C C 225 | A C A B 226 | B D A C 227 | D C C C 228 | C C D D 229 | B A D B 230 | B B A B 231 | C C B B 232 | A B B B 233 | C B C A 234 | A D C C 235 | D A D D 236 | A D C C 237 | D B D D 238 | B C B D 239 | D A C C 240 | B D C B 241 | B C D D 242 | A C A B 243 | A D B A 244 | C D D B 245 | A C C D 246 | A C B D 247 | D D B B 248 | B A A A 249 | D C B D 250 | D B C D 251 | B B C A 252 | C A D A 253 | C A A B 254 | D D C D 255 | D A D B 256 | C B D A 257 | C D C B 258 | B B D D 259 | A D C C 260 | A C A C 261 | C A A D 262 | A B B B 263 | B D C C 264 | C A A A 265 | A B A A 266 | B C A C 267 | D C C C 268 | A A A D 269 | B B A B 270 | D B D B 271 | D C C D 272 | B C B D 273 | D B B D 274 | B C D D 275 | B C A A 276 | A A A C 277 | D A C B 278 | A A D A 279 | B D B A 280 | B C A A 281 | C C B B 282 | B B A C 283 | A A A C 284 | B B A D 285 | A B D D 286 | B B C D 287 | C C A B 288 | C D C C 289 | D C A D 290 | D A B A 291 | B C A A 292 | D C C C 293 | D B D B 294 | C B C C 295 | B D B A 296 | D D A A 297 | C B A D 298 | C D A B 299 | C A B D 300 | A D C D 301 | -------------------------------------------------------------------------------- /baseline-embed.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | from __future__ import print_function, division 4 | import argparse 5 | import json 6 | import os 7 | import struct 8 | import sys 9 | from base64 import urlsafe_b64decode as b64decode, \ 10 | urlsafe_b64encode as b64encode 11 | from collections import defaultdict 12 | from functools import partial 13 | from itertools import imap 14 | 15 | import numpy as np 16 | 17 | from mctest_pb2 import StoryAsEmbeddings, QuestionAsEmbeddings 18 | from parse import parse_proto_stream 19 | 20 | 21 | ANSWER_LETTER = ['A', 'B', 'C', 'D'] 22 | 23 | 24 | def load_target_answers(stream): 25 | answers = stream.readlines() 26 | answers = map(lambda x: x.rstrip().split('\t'), answers) 27 | return reduce(lambda x, y: x + y, answers) 28 | 29 | 30 | def l2_normalize(v): 31 | return v / np.sqrt(np.dot(v, v)) 32 | 33 | 34 | class SlidingWindowEmbeddings(object): 35 | def __init__(self, window_size=None): 36 | self._window_size = window_size 37 | 38 | def score_target(self, passage, target, verbose=True): 39 | target_size = len(target) 40 | window_size = self._window_size or target_size 41 | mean_target = l2_normalize(np.mean(target, 0)) 42 | max_score = -np.inf 43 | tokens_at_max = [] 44 | for i in xrange(len(passage) - window_size): 45 | try: 46 | mean_passage = l2_normalize( 47 | np.mean(passage[i:i + window_size], 0)) 48 | score = -np.dot(mean_passage-mean_target, mean_passage-mean_target) 49 | if score > max_score: 50 | max_score = score 51 | tokens_at_max = i, i + window_size 52 | except IndexError: 53 | pass 54 | if verbose: 55 | print('[score=%.2f] passage: %s ' % 56 | (max_score, tokens_at_max), file=sys.stderr) 57 | return max_score 58 | 59 | def predict(self, passage, question, answers, verbose=True): 60 | scores = [] 61 | for answer in answers: 62 | scores.append(self.score_target( 63 | passage, question + answer, verbose)) 64 | return scores 65 | 66 | 67 | def tokens_to_embeddings(model, tokens): 68 | embeds = [] 69 | for token in tokens: 70 | try: 71 | token = token.lower() 72 | embeds.append(model[token]) 73 | except KeyError as e: 74 | print('WARNING: "%s" missing from vocabulary.' % token, 75 | file=sys.stderr) 76 | return embeds 77 | 78 | 79 | if __name__ == '__main__': 80 | parser = argparse.ArgumentParser( 81 | description='Baseline models from the MCTest paper (sliding ' 82 | 'window and distance based)') 83 | _arg = parser.add_argument 84 | _arg('--train', type=str, action='store', metavar='FILE', required=True, 85 | help='File with stories and questions (JSON format).') 86 | _arg('--truth', type=str, action='store', metavar='FILE', 87 | help='File with correct answers to the questions.') 88 | _arg('--window-size', type=int, action='store', metavar='SIZE', 89 | default=None, help='Fixed window size for the sliding window ' \ 90 | 'algorithm. By default it has the same length as the question.') 91 | args = parser.parse_args() 92 | 93 | stories = list(parse_proto_stream(open(args.train, 'r'), StoryAsEmbeddings)) 94 | print('[model]\nwindow_size = %s\n' % (args.window_size)) 95 | 96 | sw = SlidingWindowEmbeddings(window_size=args.window_size) 97 | predicted, q_types = [], [] 98 | to_array_list = lambda tokens: map(lambda s: np.array(s.value), tokens) 99 | for story in stories[:]: 100 | passage_vec = to_array_list(story.passage) 101 | for question in story.questions: 102 | q_types.append(question.type) 103 | question_vec = to_array_list(question.tokens) 104 | answers_vec = [to_array_list(answer.tokens) 105 | for answer in question.answers] 106 | scores = sw.predict(passage_vec, question_vec, answers_vec, False) 107 | # print(ANSWER_LETTER[scores.index(max(scores))]) 108 | predicted.append(ANSWER_LETTER[scores.index(max(scores))]) 109 | 110 | if args.truth: 111 | answers_in = open(args.truth, 'r') 112 | answers = np.array(load_target_answers(answers_in)) 113 | predicted = np.array(predicted) 114 | assert len(answers) == len(predicted) 115 | 116 | single = np.array(q_types) == QuestionAsEmbeddings.ONE 117 | n_single = float(np.sum(single)) 118 | n_multiple = float(np.sum(~single)) 119 | assert n_single + n_multiple == len(answers) 120 | 121 | print('All accuracy [%d]: %.4f' % 122 | (n_single + n_multiple, 123 | np.sum(answers == predicted) / float(len(predicted)))) 124 | print('Single accuracy [%d]: %.4f' % 125 | (n_single, 126 | np.sum(answers[single] == predicted[single]) / n_single)) 127 | print('Multiple accuracy [%d]: %.4f\n' % 128 | (n_multiple, 129 | np.sum(answers[~single] == predicted[~single]) / n_multiple)) 130 | else: 131 | for p in predicted: 132 | print(p, file=sys.stdout) 133 | -------------------------------------------------------------------------------- /baseline.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | from __future__ import print_function, division 4 | import argparse 5 | import json 6 | import os 7 | import struct 8 | import sys 9 | from base64 import urlsafe_b64decode as b64decode, \ 10 | urlsafe_b64encode as b64encode 11 | from collections import defaultdict 12 | from functools import partial 13 | from itertools import imap 14 | 15 | import numpy as np 16 | 17 | from mctest_pb2 import StoryAsWords, QuestionAsWords 18 | from parse import parse_proto_stream 19 | 20 | 21 | ANSWER_LETTER = ['A', 'B', 'C', 'D'] 22 | 23 | 24 | def compute_counts(stories): 25 | counts = defaultdict(lambda: 0.0) 26 | for story in stories: 27 | for token in story.passage: 28 | counts[token] += 1.0 29 | return counts 30 | 31 | 32 | def compute_inverse_counts(stories): 33 | counts = compute_counts(stories) 34 | icounts = {} 35 | for token, token_count in counts.iteritems(): 36 | icounts[token] = np.log(1.0 + 1.0 / token_count) 37 | return icounts 38 | 39 | 40 | def baseline_distance(passage, question, answer): 41 | if not isinstance(question, set): 42 | question = set(question) 43 | if not isinstance(answer, set): 44 | answer = set(answer) 45 | s_question = question.intersection(passage) 46 | s_answer = answer.intersection(passage).difference(question) 47 | if len(s_question) == 0 or len(s_answer) == 0: 48 | return 1.0 49 | last_q, last_a = np.inf, np.inf 50 | closest = np.inf 51 | for i, token in enumerate(passage): 52 | if token in s_question: 53 | last_q = i 54 | if token in s_answer: 55 | last_a = i 56 | if abs(last_q - last_a) < closest: 57 | # print(last_q, last_a) 58 | closest = np.abs(last_q - last_a) / (len(passage) - 1) 59 | assert closest > 0 and closest <= 1 60 | return closest 61 | 62 | 63 | class SlidingWindow(object): 64 | def __init__(self): 65 | pass 66 | 67 | def fit(self, stories, window_size=None): 68 | self._icounts = compute_inverse_counts(stories) 69 | self._window_size = window_size 70 | 71 | def predict_target(self, tokens, target, verbose=True): 72 | if not isinstance(target, set): 73 | target = set(target) 74 | target_size = len(target) 75 | max_overlap_score = 0.0 76 | tokens_at_max = [] 77 | for i in xrange(len(tokens)): 78 | overlap_score = 0.0 79 | try: 80 | window_size = self._window_size or target_size 81 | for j in xrange(window_size): 82 | if tokens[i + j] in target: 83 | overlap_score += self._icounts[tokens[i + j]] 84 | except IndexError: 85 | pass 86 | if overlap_score > max_overlap_score: 87 | tokens_at_max = tokens[i:i + window_size] 88 | max_overlap_score = overlap_score 89 | if verbose: 90 | print('[score=%.2f for target=%s] passage: %s ' % 91 | (max_overlap_score, target, tokens_at_max), file=sys.stderr) 92 | return max_overlap_score 93 | 94 | def predict(self, passage, question, answers, 95 | with_distance=True, verbose=True): 96 | scores = [] 97 | if verbose: 98 | print('Question: %s' % question) 99 | for answer in answers: 100 | dist = baseline_distance(passage, question, answer) \ 101 | if with_distance else 0 102 | scores.append(self.predict_target( 103 | passage, set(question + answer), verbose) - dist) 104 | return scores 105 | 106 | 107 | def load_target_answers(stream): 108 | answers = stream.readlines() 109 | answers = map(lambda x: x.rstrip().split('\t'), answers) 110 | return reduce(lambda x, y: x + y, answers) 111 | 112 | 113 | if __name__ == '__main__': 114 | parser = argparse.ArgumentParser( 115 | description='Baseline models from the MCTest paper (sliding ' 116 | 'window and distance based)') 117 | _arg = parser.add_argument 118 | _arg('--train', type=str, action='store', metavar='FILE', required=True, 119 | help='File with stories and questions (JSON format).') 120 | _arg('--truth', type=str, action='store', metavar='FILE', 121 | help='File with correct answers to the questions.') 122 | _arg('--window-size', type=int, action='store', metavar='SIZE', 123 | default=None, help='Fixed window size for the sliding window ' \ 124 | 'algorithm. By default it has the same length as the question.') 125 | _arg('--distance', action='store_true', 126 | help='Substract the baseline distance measure.') 127 | args = parser.parse_args() 128 | 129 | stories = list(parse_proto_stream(open(args.train, 'r'))) 130 | print('[model]\nwindow_size = %s\ndistance = %s\n' % 131 | (args.window_size, args.distance)) 132 | 133 | sw = SlidingWindow() 134 | sw.fit(stories, window_size=args.window_size) 135 | predicted, q_types = [], [] 136 | for story in stories: 137 | passage = story.passage 138 | for question in story.questions: 139 | q_types.append(question.type) 140 | answer_tokens = map(lambda x: list(x.tokens), question.answers) 141 | scores = sw.predict(passage, list(question.tokens), answer_tokens, 142 | with_distance=args.distance, verbose=False) 143 | predicted_letter = ANSWER_LETTER[scores.index(max(scores))] 144 | # print('scores: %s (%s)' % (scores, predicted_letter)) 145 | predicted.append(predicted_letter) 146 | 147 | if args.truth: 148 | answers_in = open(args.truth, 'r') 149 | answers = np.array(load_target_answers(answers_in)) 150 | predicted = np.array(predicted) 151 | assert len(answers) == len(predicted) 152 | 153 | single = np.array(q_types) == QuestionAsWords.ONE 154 | n_single = float(np.sum(single)) 155 | n_multiple = float(np.sum(~single)) 156 | assert n_single + n_multiple == len(answers) 157 | 158 | print('[results]') 159 | print('All accuracy [%d]: %.4f' % 160 | (n_single + n_multiple, 161 | np.sum(answers == predicted) / float(len(predicted)))) 162 | print('Single accuracy [%d]: %.4f' % 163 | (n_single, 164 | np.sum(answers[single] == predicted[single]) / n_single)) 165 | print('Multiple accuracy [%d]: %.4f' % 166 | (n_multiple, 167 | np.sum(answers[~single] == predicted[~single]) / n_multiple)) 168 | else: 169 | for p in predicted: 170 | print(p, file=sys.stdout) 171 | -------------------------------------------------------------------------------- /data/stopwords.txt: -------------------------------------------------------------------------------- 1 | a 2 | a's 3 | able 4 | about 5 | above 6 | according 7 | accordingly 8 | across 9 | actually 10 | after 11 | afterwards 12 | again 13 | against 14 | ain't 15 | all 16 | allow 17 | allows 18 | almost 19 | alone 20 | along 21 | already 22 | also 23 | although 24 | always 25 | am 26 | among 27 | amongst 28 | an 29 | and 30 | another 31 | any 32 | anybody 33 | anyhow 34 | anyone 35 | anything 36 | anyway 37 | anyways 38 | anywhere 39 | apart 40 | appear 41 | appreciate 42 | appropriate 43 | are 44 | aren't 45 | around 46 | as 47 | aside 48 | ask 49 | asking 50 | associated 51 | at 52 | available 53 | away 54 | awfully 55 | b 56 | be 57 | became 58 | because 59 | become 60 | becomes 61 | becoming 62 | been 63 | before 64 | beforehand 65 | behind 66 | being 67 | believe 68 | below 69 | beside 70 | besides 71 | best 72 | better 73 | between 74 | beyond 75 | both 76 | brief 77 | but 78 | by 79 | c 80 | c'mon 81 | c's 82 | came 83 | can 84 | can't 85 | cannot 86 | cant 87 | cause 88 | causes 89 | certain 90 | certainly 91 | changes 92 | clearly 93 | co 94 | com 95 | come 96 | comes 97 | concerning 98 | consequently 99 | consider 100 | considering 101 | contain 102 | containing 103 | contains 104 | corresponding 105 | could 106 | couldn't 107 | course 108 | currently 109 | d 110 | definitely 111 | described 112 | despite 113 | did 114 | didn't 115 | different 116 | do 117 | does 118 | doesn't 119 | doing 120 | don't 121 | done 122 | down 123 | downwards 124 | during 125 | e 126 | each 127 | edu 128 | eg 129 | eight 130 | either 131 | else 132 | elsewhere 133 | enough 134 | entirely 135 | especially 136 | et 137 | etc 138 | even 139 | ever 140 | every 141 | everybody 142 | everyone 143 | everything 144 | everywhere 145 | ex 146 | exactly 147 | example 148 | except 149 | f 150 | far 151 | few 152 | fifth 153 | first 154 | five 155 | followed 156 | following 157 | follows 158 | for 159 | former 160 | formerly 161 | forth 162 | four 163 | from 164 | further 165 | furthermore 166 | g 167 | get 168 | gets 169 | getting 170 | given 171 | gives 172 | go 173 | goes 174 | going 175 | gone 176 | got 177 | gotten 178 | greetings 179 | h 180 | had 181 | hadn't 182 | happens 183 | hardly 184 | has 185 | hasn't 186 | have 187 | haven't 188 | having 189 | he 190 | he's 191 | hello 192 | help 193 | hence 194 | her 195 | here 196 | here's 197 | hereafter 198 | hereby 199 | herein 200 | hereupon 201 | hers 202 | herself 203 | hi 204 | him 205 | himself 206 | his 207 | hither 208 | hopefully 209 | how 210 | howbeit 211 | however 212 | i 213 | i'd 214 | i'll 215 | i'm 216 | i've 217 | ie 218 | if 219 | ignored 220 | immediate 221 | in 222 | inasmuch 223 | inc 224 | indeed 225 | indicate 226 | indicated 227 | indicates 228 | inner 229 | insofar 230 | instead 231 | into 232 | inward 233 | is 234 | isn't 235 | it 236 | it'd 237 | it'll 238 | it's 239 | its 240 | itself 241 | j 242 | just 243 | k 244 | keep 245 | keeps 246 | kept 247 | know 248 | knows 249 | known 250 | l 251 | last 252 | lately 253 | later 254 | latter 255 | latterly 256 | least 257 | less 258 | lest 259 | let 260 | let's 261 | like 262 | liked 263 | likely 264 | little 265 | look 266 | looking 267 | looks 268 | ltd 269 | m 270 | mainly 271 | many 272 | may 273 | maybe 274 | me 275 | mean 276 | meanwhile 277 | merely 278 | might 279 | more 280 | moreover 281 | most 282 | mostly 283 | much 284 | must 285 | my 286 | myself 287 | n 288 | name 289 | namely 290 | nd 291 | near 292 | nearly 293 | necessary 294 | need 295 | needs 296 | neither 297 | never 298 | nevertheless 299 | new 300 | next 301 | nine 302 | no 303 | nobody 304 | non 305 | none 306 | noone 307 | nor 308 | normally 309 | not 310 | nothing 311 | novel 312 | now 313 | nowhere 314 | o 315 | obviously 316 | of 317 | off 318 | often 319 | oh 320 | ok 321 | okay 322 | old 323 | on 324 | once 325 | one 326 | ones 327 | only 328 | onto 329 | or 330 | other 331 | others 332 | otherwise 333 | ought 334 | our 335 | ours 336 | ourselves 337 | out 338 | outside 339 | over 340 | overall 341 | own 342 | p 343 | particular 344 | particularly 345 | per 346 | perhaps 347 | placed 348 | please 349 | plus 350 | possible 351 | presumably 352 | probably 353 | provides 354 | q 355 | que 356 | quite 357 | qv 358 | r 359 | rather 360 | rd 361 | re 362 | really 363 | reasonably 364 | regarding 365 | regardless 366 | regards 367 | relatively 368 | respectively 369 | right 370 | s 371 | said 372 | same 373 | saw 374 | say 375 | saying 376 | says 377 | second 378 | secondly 379 | see 380 | seeing 381 | seem 382 | seemed 383 | seeming 384 | seems 385 | seen 386 | self 387 | selves 388 | sensible 389 | sent 390 | serious 391 | seriously 392 | seven 393 | several 394 | shall 395 | she 396 | should 397 | shouldn't 398 | since 399 | six 400 | so 401 | some 402 | somebody 403 | somehow 404 | someone 405 | something 406 | sometime 407 | sometimes 408 | somewhat 409 | somewhere 410 | soon 411 | sorry 412 | specified 413 | specify 414 | specifying 415 | still 416 | sub 417 | such 418 | sup 419 | sure 420 | t 421 | t's 422 | take 423 | taken 424 | tell 425 | tends 426 | th 427 | than 428 | thank 429 | thanks 430 | thanx 431 | that 432 | that's 433 | thats 434 | the 435 | their 436 | theirs 437 | them 438 | themselves 439 | then 440 | thence 441 | there 442 | there's 443 | thereafter 444 | thereby 445 | therefore 446 | therein 447 | theres 448 | thereupon 449 | these 450 | they 451 | they'd 452 | they'll 453 | they're 454 | they've 455 | think 456 | third 457 | this 458 | thorough 459 | thoroughly 460 | those 461 | though 462 | three 463 | through 464 | throughout 465 | thru 466 | thus 467 | to 468 | together 469 | too 470 | took 471 | toward 472 | towards 473 | tried 474 | tries 475 | truly 476 | try 477 | trying 478 | twice 479 | two 480 | u 481 | un 482 | under 483 | unfortunately 484 | unless 485 | unlikely 486 | until 487 | unto 488 | up 489 | upon 490 | us 491 | use 492 | used 493 | useful 494 | uses 495 | using 496 | usually 497 | uucp 498 | v 499 | value 500 | various 501 | very 502 | via 503 | viz 504 | vs 505 | w 506 | want 507 | wants 508 | was 509 | wasn't 510 | way 511 | we 512 | we'd 513 | we'll 514 | we're 515 | we've 516 | welcome 517 | well 518 | went 519 | were 520 | weren't 521 | what 522 | what's 523 | whatever 524 | when 525 | whence 526 | whenever 527 | where 528 | where's 529 | whereafter 530 | whereas 531 | whereby 532 | wherein 533 | whereupon 534 | wherever 535 | whether 536 | which 537 | while 538 | whither 539 | who 540 | who's 541 | whoever 542 | whole 543 | whom 544 | whose 545 | why 546 | will 547 | willing 548 | wish 549 | with 550 | within 551 | without 552 | won't 553 | wonder 554 | would 555 | would 556 | wouldn't 557 | x 558 | y 559 | yes 560 | yet 561 | you 562 | you'd 563 | you'll 564 | you're 565 | you've 566 | your 567 | yours 568 | yourself 569 | yourselves 570 | z 571 | zero 572 | , 573 | ? 574 | ; 575 | _ 576 | $ 577 | 's 578 | . 579 | -LRB- 580 | -RRB- 581 | " 582 | ' 583 | : 584 | ! 585 | `` 586 | '' 587 | -------------------------------------------------------------------------------- /data/MCTest/README.txt: -------------------------------------------------------------------------------- 1 | MCTest: Machine comprehension test 2 | http://research.microsoft.com/mct 3 | 4 | --------------------------------------- 5 | Welcome 6 | --------------------------------------- 7 | 8 | In this archive, you'll find the 660 reading comprehension 9 | tests (split into MC160 and MC500) as described in this paper: 10 | 11 | Matthew Richardson, Christopher J.C. Burges, and Erin Renshaw (2013). 12 | "MCTest: A Challenge Dataset for the Open-Domain Machine Comprehension of 13 | Text," in Proceedings of the 2013 Conference on Emprical Methods in Natural 14 | Language Processing (EMNLP 2013), pp. 193-203, Seattle, WA, USA, October 2013. 15 | http://research.microsoft.com/en-us/um/redmond/projects/mctest/MCTest_EMNLP2013.pdf 16 | 17 | If you use this data, we ask that you reference the above paper so that 18 | others may also easily find and use the data themselves. If you have any 19 | questions or find the data useful, please don't hesitate to contact us: 20 | 21 | Matt Richardson: mattri@microsoft.com 22 | Chris Burges: cburges@microsoft.com 23 | Erin Renshaw: erinren@microsoft.com 24 | 25 | --------------------------------------- 26 | Train, Development, and Test sets 27 | --------------------------------------- 28 | 29 | There are two primary datasets: mc500 and mc160. See our paper (link above) 30 | for a description of the differences between these two sets. MC500 contains 31 | 500 story sets (a story set is a story and its associated questions); MC160 32 | contains 160. 33 | 34 | Each dataset is split into train, development, and test sets, with each 35 | story set assigned to one. As one would expect, the train set can be used 36 | to train your algorithm, or to examine closely to see what kind of phenomenon 37 | exist in the stories, or any other purpose you would like to use it for. 38 | The development set is intended to be a set-aside set that you can use for 39 | evaluating your algorithm. The test set is intended to be a final test set 40 | that you use only once, to get your final results for publishing. 41 | 42 | The answers for the test set are distributed in a separate archive. We 43 | encourage you to download this file only when you are ready to do your 44 | final evaluation. For both TSV and TXT format, downloading the answers 45 | archive will allow you to use the same code as was used when evaluating 46 | on the development set. 47 | 48 | The files are named: mc[500|160].[train|dev|test].[txt|tsv|ans] 49 | 50 | --------------------------------------- 51 | License 52 | --------------------------------------- 53 | 54 | Please see the included license.pdf for the license 55 | 56 | --------------------------------------- 57 | Data Format 58 | --------------------------------------- 59 | 60 | We provide the data into two separate formats: .txt for ease of 61 | readability, and .tsv/.ans for ease of coding. The two formats contain 62 | the same information, just in different formats. 63 | 64 | In both formats, questions are prefixed with "one:" or "multiple:", 65 | indicating whether the author marked that the question required one or 66 | multiple sentences from the story in order to find the right answer. 67 | 68 | The text in the stories has been processed as little as possible to remain 69 | true to the original author's submission. Special non-ASCII characters such 70 | as curly quotation marks, em-dashes, and elipses have been converted to 71 | their ASCII equivalent. 72 | 73 | ---- TXT Format ---- 74 | 75 | The .txt files present the stories and questions in a convenient text 76 | format, for ease of reading. The correct answer for each question is marked 77 | with a "*". The format is consistent, so can be programmatically read if 78 | desired, but may be harder to write a parser for than the TSV format. 79 | Note that the test story sets do not indicate the correct answer (see 80 | not above on train/dev/test split). To get the test sets in text format 81 | that do contain the answer, you must download the test answers archive. 82 | 83 | ---- TSV/ANS Format ---- 84 | 85 | These consist of tab-delimited files, with one story set per line. 86 | The .tsv file contains the story, questions, and answers. 87 | The .ans file contains the correct answer for each question 88 | 89 | The format of a line in the TSV file is: 90 | Id properties story q1 q2 q3 q4 91 | where 92 | qN = questionText answerA answerB answerC answerD 93 | and 94 | properties is a semicolon-delimited list of property:value pairs, including 95 | Author (anonymized author id, consistent across all files) 96 | Work Time(s): Seconds between author accepting and submitting the task 97 | Qual. score: The author's grammar qualification test score (% correct) 98 | Creativity Words: Words the author was given to encourage creativity 99 | (there are no creativity words or qual score for mc160, see paper) 100 | 101 | The format of a line in the ANS file is: 102 | answer1 answer2 answer3 answer4 103 | where 104 | answerN is the correct answer (A, B, C, or D) for question N 105 | 106 | Finally, because some authors used newlines and/or tabs to indicate 107 | paragraph separation, and this would break the TSV format, we have 108 | replaced any newline or tab with "\newline" or "\tab", respectively. 109 | No questions or answers required this escaping. 110 | 111 | --------------------------------------- 112 | An Ongoing Resource 113 | --------------------------------------- 114 | 115 | As we stated in our paper, we will maintain the website with links 116 | to the latest published results using this data. If you publish a paper 117 | using this data, let us know and we will add a link to it. 118 | 119 | Also, if you publish a paper and are willing to share your scoring 120 | files with others, send them to us and we will post them as well. We 121 | hope that by providing the scoring files from previous work, we will 122 | enable more rapid progress on this problem -- by enabling each new 123 | algorithm to build on top of previous algorithmic results, by 124 | allowing pairwise statistical significance testing, and by allowing 125 | anyone to investigate what kind of errors are being made by previous 126 | work. 127 | 128 | --------------------------------------- 129 | Score Files 130 | --------------------------------------- 131 | 132 | To send us your scores, please format them in the following tab-delimited 133 | format, one line per story (similar to the ANS file): 134 | 135 | scores1 scores2 scores3 scores4 136 | where 137 | scoresN are the scores for question N, and have the format: 138 | scoresN = scoreN_A, scoreN_B, scoreN_C, scoreN_D 139 | where scoreN_A is the score your algo assigns to answer A for question N. 140 | 141 | The scores may be probabilities, or may simply be unnormalized real values. 142 | It is assumed that the highest score is the one your algorithm would select, 143 | and the higher the score, the more confident it is in that selection. 144 | 145 | example: 146 | 3.2, 1.1, 0.9, 3.1 -0.3, 1.1, -4.3, 0.4 ... 147 | would mean the algorithm selects "A" for question 1, and "B" for question 2. 148 | 149 | We will provide these score files for public download, attributed to you and 150 | with a link to your publication if possible. 151 | 152 | -------------------------------------------------------------------------------- /data/MCTestAnswers/README.txt: -------------------------------------------------------------------------------- 1 | MCTest: Machine comprehension test 2 | http://research.microsoft.com/mct 3 | 4 | --------------------------------------- 5 | Welcome 6 | --------------------------------------- 7 | 8 | In this archive, you'll find the 660 reading comprehension 9 | tests (split into MC160 and MC500) as described in this paper: 10 | 11 | Matthew Richardson, Christopher J.C. Burges, and Erin Renshaw (2013). 12 | "MCTest: A Challenge Dataset for the Open-Domain Machine Comprehension of 13 | Text," in Proceedings of the 2013 Conference on Emprical Methods in Natural 14 | Language Processing (EMNLP 2013), pp. 193-203, Seattle, WA, USA, October 2013. 15 | http://research.microsoft.com/en-us/um/redmond/projects/mctest/MCTest_EMNLP2013.pdf 16 | 17 | If you use this data, we ask that you reference the above paper so that 18 | others may also easily find and use the data themselves. If you have any 19 | questions or find the data useful, please don't hesitate to contact us: 20 | 21 | Matt Richardson: mattri@microsoft.com 22 | Chris Burges: cburges@microsoft.com 23 | Erin Renshaw: erinren@microsoft.com 24 | 25 | --------------------------------------- 26 | Train, Development, and Test sets 27 | --------------------------------------- 28 | 29 | There are two primary datasets: mc500 and mc160. See our paper (link above) 30 | for a description of the differences between these two sets. MC500 contains 31 | 500 story sets (a story set is a story and its associated questions); MC160 32 | contains 160. 33 | 34 | Each dataset is split into train, development, and test sets, with each 35 | story set assigned to one. As one would expect, the train set can be used 36 | to train your algorithm, or to examine closely to see what kind of phenomenon 37 | exist in the stories, or any other purpose you would like to use it for. 38 | The development set is intended to be a set-aside set that you can use for 39 | evaluating your algorithm. The test set is intended to be a final test set 40 | that you use only once, to get your final results for publishing. 41 | 42 | The answers for the test set are distributed in a separate archive. We 43 | encourage you to download this file only when you are ready to do your 44 | final evaluation. For both TSV and TXT format, downloading the answers 45 | archive will allow you to use the same code as was used when evaluating 46 | on the development set. 47 | 48 | The files are named: mc[500|160].[train|dev|test].[txt|tsv|ans] 49 | 50 | --------------------------------------- 51 | License 52 | --------------------------------------- 53 | 54 | Please see the included license.pdf for the license 55 | 56 | --------------------------------------- 57 | Data Format 58 | --------------------------------------- 59 | 60 | We provide the data into two separate formats: .txt for ease of 61 | readability, and .tsv/.ans for ease of coding. The two formats contain 62 | the same information, just in different formats. 63 | 64 | In both formats, questions are prefixed with "one:" or "multiple:", 65 | indicating whether the author marked that the question required one or 66 | multiple sentences from the story in order to find the right answer. 67 | 68 | The text in the stories has been processed as little as possible to remain 69 | true to the original author's submission. Special non-ASCII characters such 70 | as curly quotation marks, em-dashes, and elipses have been converted to 71 | their ASCII equivalent. 72 | 73 | ---- TXT Format ---- 74 | 75 | The .txt files present the stories and questions in a convenient text 76 | format, for ease of reading. The correct answer for each question is marked 77 | with a "*". The format is consistent, so can be programmatically read if 78 | desired, but may be harder to write a parser for than the TSV format. 79 | Note that the test story sets do not indicate the correct answer (see 80 | not above on train/dev/test split). To get the test sets in text format 81 | that do contain the answer, you must download the test answers archive. 82 | 83 | ---- TSV/ANS Format ---- 84 | 85 | These consist of tab-delimited files, with one story set per line. 86 | The .tsv file contains the story, questions, and answers. 87 | The .ans file contains the correct answer for each question 88 | 89 | The format of a line in the TSV file is: 90 | Id properties story q1 q2 q3 q4 91 | where 92 | qN = questionText answerA answerB answerC answerD 93 | and 94 | properties is a semicolon-delimited list of property:value pairs, including 95 | Author (anonymized author id, consistent across all files) 96 | Work Time(s): Seconds between author accepting and submitting the task 97 | Qual. score: The author's grammar qualification test score (% correct) 98 | Creativity Words: Words the author was given to encourage creativity 99 | (there are no creativity words or qual score for mc160, see paper) 100 | 101 | The format of a line in the ANS file is: 102 | answer1 answer2 answer3 answer4 103 | where 104 | answerN is the correct answer (A, B, C, or D) for question N 105 | 106 | Finally, because some authors used newlines and/or tabs to indicate 107 | paragraph separation, and this would break the TSV format, we have 108 | replaced any newline or tab with "\newline" or "\tab", respectively. 109 | No questions or answers required this escaping. 110 | 111 | --------------------------------------- 112 | An Ongoing Resource 113 | --------------------------------------- 114 | 115 | As we stated in our paper, we will maintain the website with links 116 | to the latest published results using this data. If you publish a paper 117 | using this data, let us know and we will add a link to it. 118 | 119 | Also, if you publish a paper and are willing to share your scoring 120 | files with others, send them to us and we will post them as well. We 121 | hope that by providing the scoring files from previous work, we will 122 | enable more rapid progress on this problem -- by enabling each new 123 | algorithm to build on top of previous algorithmic results, by 124 | allowing pairwise statistical significance testing, and by allowing 125 | anyone to investigate what kind of errors are being made by previous 126 | work. 127 | 128 | --------------------------------------- 129 | Score Files 130 | --------------------------------------- 131 | 132 | To send us your scores, please format them in the following tab-delimited 133 | format, one line per story (similar to the ANS file): 134 | 135 | scores1 scores2 scores3 scores4 136 | where 137 | scoresN are the scores for question N, and have the format: 138 | scoresN = scoreN_A, scoreN_B, scoreN_C, scoreN_D 139 | where scoreN_A is the score your algo assigns to answer A for question N. 140 | 141 | The scores may be probabilities, or may simply be unnormalized real values. 142 | It is assumed that the highest score is the one your algorithm would select, 143 | and the higher the score, the more confident it is in that selection. 144 | 145 | example: 146 | 3.2, 1.1, 0.9, 3.1 -0.3, 1.1, -4.3, 0.4 ... 147 | would mean the algorithm selects "A" for question 1, and "B" for question 2. 148 | 149 | We will provide these score files for public download, attributed to you and 150 | with a link to your publication if possible. 151 | 152 | -------------------------------------------------------------------------------- /parse.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | from __future__ import print_function, division 4 | import argparse 5 | import json 6 | import errno 7 | import os 8 | import struct 9 | import sys 10 | from base64 import urlsafe_b64decode as b64decode, \ 11 | urlsafe_b64encode as b64encode 12 | from functools import partial 13 | from itertools import imap, ifilter 14 | 15 | import nltk 16 | import pandas as pd 17 | from google.protobuf import text_format 18 | 19 | from mctest_pb2 import AnswerAsWords, QuestionAsWords, StoryAsWords, \ 20 | AnswerAsEmbeddings, QuestionAsEmbeddings, StoryAsEmbeddings 21 | 22 | 23 | DEFAULT_OUTPUT_FORMAT = 'json' 24 | 25 | COLUMNS = ['id', 'description', 'story', 26 | 'q1', 'a11', 'a12', 'a13', 'a14', 27 | 'q2', 'a21', 'a22', 'a23', 'a24', 28 | 'q3', 'a31', 'a32', 'a33', 'a34', 29 | 'q4', 'a41', 'a42', 'a43', 'a44'] 30 | QUESTION_TYPES = ['one', 'multiple'] 31 | 32 | PUNCTS = ['.', '?', ',', '!', '"', '\'', '$', '%', '^', '&'] 33 | 34 | 35 | def question_text(question): 36 | return question.split(':')[1].strip() 37 | 38 | 39 | def question_type(question): 40 | question_type, _ = question.split(':') 41 | assert question_type in QUESTION_TYPES 42 | return question_type 43 | 44 | 45 | def row_to_dict(row, tokenize=None): 46 | return { 47 | 'id': row['id'], 48 | 'description': row['description'], 49 | 'passage': tokenize(row['story']), 50 | 'questions': [{ 51 | 'tokens': tokenize(question_text(row['q%d' % q_number])), 52 | 'answers': [tokenize(row['a%d%d' % (q_number, a_number)]) 53 | for a_number in xrange(1, 5)], 54 | 'type': question_type(row['q%d' % q_number]) 55 | } for q_number in xrange(1, 5)] 56 | } 57 | 58 | 59 | def datapoint_to_tokens(datapoint, include_answers=False): 60 | tokens = datapoint['passage'] 61 | for question in datapoint['questions']: 62 | tokens.extend(question['tokens']) 63 | if include_answers: 64 | for answer in datapoint['answers']: 65 | tokens.extend(answer) 66 | return ' '.join(map(lambda t: t.lower(), tokens)) 67 | 68 | 69 | def datapoint_to_proto_as_words(datapoint): 70 | story = StoryAsWords() 71 | story.id = datapoint['id'] 72 | story.description = datapoint['description'] 73 | story.passage.extend(datapoint['passage']) 74 | for question_dict in datapoint['questions']: 75 | question = story.questions.add() 76 | if question_dict['type'] == 'one': 77 | question.type = QuestionAsWords.ONE 78 | elif question_dict['type'] == 'multiple': 79 | question.type = QuestionAsWords.MULTIPLE 80 | else: 81 | print('Invalid question type: %s' % question_dict['type'], 82 | file=sys.stderr) 83 | sys.exit(3) 84 | question.tokens.extend(question_dict['tokens']) 85 | for answer_list in question_dict['answers']: 86 | answer = question.answers.add() 87 | answer.tokens.extend(answer_list) 88 | return story 89 | 90 | 91 | def datapoint_to_proto_as_embeddings(datapoint): 92 | story = StoryAsEmbeddings() 93 | story.id = datapoint['id'] 94 | story.description = datapoint['description'] 95 | for passage_vec in datapoint['passage']: 96 | embed = story.passage.add() 97 | embed.value.extend(list(passage_vec)) 98 | for question_dict in datapoint['questions']: 99 | question = story.questions.add() 100 | if question_dict['type'] == 'one': 101 | question.type = QuestionAsWords.ONE 102 | elif question_dict['type'] == 'multiple': 103 | question.type = QuestionAsWords.MULTIPLE 104 | else: 105 | print('Invalid question type: %s' % question_dict['type'], 106 | file=sys.stderr) 107 | sys.exit(3) 108 | for token_vec in question_dict['tokens']: 109 | question.tokens.add().value.extend(list(token_vec)) 110 | for answer_list in question_dict['answers']: 111 | answer = question.answers.add() 112 | for answer_vec in answer_list: 113 | answer.tokens.add().value.extend(list(answer_vec)) 114 | return story 115 | 116 | 117 | def length_prefix_proto(proto): 118 | serialized = proto.SerializeToString() 119 | return struct.pack('I', len(serialized)) + serialized 120 | 121 | 122 | def parse_proto_stream(stream, proto_type=StoryAsWords): 123 | while True: 124 | proto_size_bin = stream.read(4) 125 | if len(proto_size_bin) != 4: 126 | if len(proto_size_bin) == 0: 127 | return 128 | print('Invalid read: rubbish at the end of the file?', 129 | file=sys.stderr) 130 | return 131 | proto_size = struct.unpack_from('I', proto_size_bin)[0] 132 | story = proto_type() 133 | story.ParseFromString(stream.read(proto_size)) 134 | yield story 135 | 136 | 137 | if __name__ == '__main__': 138 | parser = argparse.ArgumentParser( 139 | description='Converts raw TSV files from the MCTest dataset') 140 | _arg = parser.add_argument 141 | _arg('-o', type=str, action='store', metavar='FORMAT', 142 | default=DEFAULT_OUTPUT_FORMAT, 143 | help='Output format: json, proto, proto_text, token_list (default=%s)' % 144 | DEFAULT_OUTPUT_FORMAT) 145 | _arg('--rm-stop', type=str, action='store', metavar='FILE', 146 | help='Remove stop words specified by file (one word per line).') 147 | _arg('--rm-punct', action='store_true', 148 | help='Remove punctuation when tokenizing.') 149 | _arg('--model-file', type=str, action='store', metavar='FILE', default=None, 150 | help='File with word2vec model. If provided, makes it output' \ 151 | 'embeddings.') 152 | _arg('-i', type=str, action='store', metavar='FILE', default=None, 153 | help='Input file (TSV).') 154 | args = parser.parse_args() 155 | 156 | token_mappers = [] 157 | 158 | if args.rm_stop: 159 | stopwords = open(args.rm_stop, 'r').read().split('\n') 160 | stopwords = set(map(lambda x: x.strip().rstrip(), stopwords)) 161 | token_mappers.append(lambda x: x if x.lower() not in stopwords else None) 162 | 163 | if args.rm_punct: 164 | token_mappers.append(lambda x: x if x not in PUNCTS else None) 165 | 166 | as_embeddings = args.model_file is not None 167 | if args.model_file: 168 | import word2vec 169 | embedding_model = word2vec.load(args.model_file) 170 | def to_embeddings(token): 171 | try: 172 | return embedding_model[token.lower()] 173 | except KeyError as e: 174 | print('WARNING: "%s" missing from vocabulary.' % token.lower(), 175 | file=sys.stderr) 176 | return None 177 | token_mappers.append(to_embeddings) 178 | 179 | def tokenize(text): 180 | if not isinstance(text, basestring): 181 | text = str(text) 182 | text = text.replace('\\newline', ' ') 183 | mapped = nltk.word_tokenize(text) 184 | for mapper in token_mappers: 185 | mapped = filter(lambda x: x is not None, map(mapper, mapped)) 186 | return mapped 187 | 188 | data_in = open(args.i, 'r') if args.i else sys.stdin 189 | df = pd.read_csv(data_in, sep='\t', names=COLUMNS) 190 | for row in (df.ix[i] for i in df.index): 191 | datapoint = row_to_dict(row, tokenize) 192 | try: 193 | serialized = None 194 | if args.o == 'json': 195 | serialized = json.dumps(datapoint) + '\n' 196 | elif args.o == 'proto' or args.o == 'proto_text': 197 | proto = datapoint_to_proto_as_embeddings(datapoint) \ 198 | if as_embeddings else \ 199 | datapoint_to_proto_as_words(datapoint) 200 | serialized = length_prefix_proto(proto) if args.o == 'proto' \ 201 | else text_format.MessageToString(proto) 202 | elif args.o == 'token_list': 203 | serialized = datapoint_to_tokens(datapoint) + ' ' 204 | else: 205 | print('Unknown output format "%s"' % args.o, 206 | file=sys.stderr) 207 | sys.exit(2) 208 | assert serialized 209 | sys.stdout.write(serialized) 210 | except IOError as e: 211 | if e.errno == errno.EPIPE: 212 | sys.exit(0) 213 | raise e 214 | -------------------------------------------------------------------------------- /data/MCTest/mc160.dev.tsv: -------------------------------------------------------------------------------- 1 | mc160.dev.0 Author: 2670363255;Work Time(s): 1446 It was Jessie Bear's birthday. She was having a party. She asked her two best friends to\newlinecome to the party. She made a big cake, and hung up some balloons.\newline\newlineSoon her friend Lion came over. Then her friend Tiger came over. Lion and Tiger brought\newlinepresents with them.\newline\newlineJessie hugged her friends. She asked them if they would like to have cake. \newline\newlineYes! said Lion. Yes yes! said Tiger. Jessie cut the cake, and they all ate it together.\newlineThen Jessie opened her presents. She got a new jump rope and a fun game. She asked Lion\newlineand Tiger to play the game with her.\newline\newlineThe friends played and played. They all had a good time. Soon it was time for the party to\newlinebe over.\newline\newlineLion and Tiger hugged Jessie and said goodbye to her. Thanks for a great birthday! Jessie\newlineBear told her two best friends. one: Who was having a birthday? Jessie Bear no one Lion Tiger multiple: Who didn't come to the party? Lion Tiger Snake Jessie Bear multiple: How did Jessie get ready for the party? made cake and juice. made cake and hung balloons. made juice and cookies. made juice and hung balloons. one: How many friends came to Jessie's party? one two six four 2 | mc160.dev.1 Author: 3466834307;Work Time(s): 879 Sally had a very exciting summer vacation. She went to summer camp for the first time. She\newlinemade friends with a girl named Tina. They shared a bunk bed in their cabin. Sally's\newlinefavorite activity was walking in the woods because she enjoyed nature. Tina liked arts and\newlinecrafts. Together, they made some art using leaves they found in the woods. Even after she\newlinefell in the water, Sally still enjoyed canoeing. She was sad when the camp was over, but\newlinepromised to keep in touch with her new friend.\newline\newlineSally went to the beach with her family in the summer as well. She loves the beach. Sally\newlinecollected shells and mailed some to her friend, Tina, so she could make some arts and\newlinecrafts with them. Sally liked fishing with her brothers, cooking on the grill with her dad,\newlineand swimming in the ocean with her mother.\newline\newlineThe summer was fun, but Sally was very excited to go back to school. She missed her\newlinefriends and teachers. She was excited to tell them about her summer vacation. multiple: Who went to the beach with Sally? her sisters Tina her brothers, mother, and father herself multiple: What did Sally promise to do? Learn to ride a bike. Go to a baseball game. Go back to the beach. Keep in touch with her new friend, Tina. one: Why does Sally like walking in the woods? She likes to climb trees. She likes to play hide and go seek. She likes to swim. She likes nature. multiple: What did Sally do this summer? She went to summer camp and the beach. She went to Paris. She went to a baseball game. She went to summer school. 3 | mc160.dev.2 Author: 519010308;Work Time(s): 1458 Todd lived in a town outside the city . Unlike the city the town was peaceful and quiet\newlineand full of trees, flowers and animals. One day his dad came in from work and said "Come\newlineon, son, I'm going to take you to the city." Todd was very exited so he put on his shoes\newlineand ran to the car. When they got to the city Todd was very surprised there were so many\newlinecars and people, everyone seemed to be in a hurry. There were no trees, no flowers, and no\newlineanimals. Todd was so happy to get back home. When his mom asked him about his trip to the\newlinecity Todd said,"There's no place like home." multiple: Where did Todd visit? The city His mom The town The animals multiple: What did Todd say when he got home from the city? There were so many trees and flowers. There were so many people in cars. There's no place like home. There were so many animals. one: Where does Todd live? The city with his mom with his dad In a town. multiple: What did Todd see when he got to the city? lots of animals his mom lots of trees and flowers lots of people and cars 4 | mc160.dev.3 Author: 1077562726;Work Time(s): 4133 Greta ran to the corner with her older brother Tony. He had money for the ice cream truck\newlinein his pocket and she was very happy. The ice cream truck had been parked at the curb\newlinewaiting for children for a very long time. The ice cream truck driver thought that no\newlinemore children were coming to get ice cream so he started pulling away from the curb when\newlinethey got to the corner. They yelled. They screamed, "Stop! Stop!" and jumped up and down\newlineon the side walk trying to get him to see them. The driver of the truck saw them, waved at\newlinethem and smiled, pulled back to the curb and opened his truck up so that they could see\newlineeverything that he had for sale. They were so excited. They saw some new treats. Tony\newlinewanted to try something new. He got an ice cream sundae with chocolate ice cream and\newlinenuts. He almost got a snow cone. Greta looked at everything that the ice cream truck\newlinehad. She saw candy, ice cream cones, snow cones, and everything else. It all looked so\newlinegood. But after looking at everything, she wanted to get an ice cream sandwich. She got\newlinethe ice cream sandwich. She bit into it and smiled. It tasted so good. She felt so\newlinehappy. Her brother, Tony, was happy too. He bit into his ice cream cone sundae and\newlinegrinned. They walked home with their ice cream and told their mom about how close they\newlinecame to not getting their ice cream at all. Their mom was happy that the truck had stopped\newlinefor them. She said that they were very lucky to have gotten to the curb before the ice\newlinecream truck left. multiple: What did the driver of the ice cream truck do when Greta and Tony got to the corner? He started pulling away from the curb. He played the truck's jingle. He stayed parked at the curb. He almost got a snow cone. multiple: What did the children do when they saw the ice cream truck driver pull away from the curb? They ran out into the street after the iced cream truck. They screamed, "Stop! Stop!". They stood on the corner and cried. They ate ice cream. multiple: What did Tony and Greta get from the iced cream truck? Tony got a snow cone. Greta got an ice cream sundae. Tony got a snow cone. Greta got an iced cream cone with chocolate iced cream and nuts. Tony got an ice cream sundae with chocolate ice cream and nuts. Greta and Tony ice cream cones. multiple: What did Greta and Tony do after they got their ice cream? They walked to a friend's house and talked to his mother about what happened. They bit into it. They got in the truck. They walked home and went outside in their back yard to play. 5 | mc160.dev.4 Author: 2626224031;Work Time(s): 2199 My parents, Kelly and Kelley, said that it was that time of year to take a family\newlinevacation. We've been to big ride parks that have hotels with large pools. This year my\newlineparents wanted to do something different. They wanted to take us all to Elk River Castle.\newline\newlineAfter lots of planning we hit the road for our trip. My Brother Kelsey and I enjoyed the\newlinelong car ride there.\newline \newlineOnce we arrive, the castle looked much bigger than we had imagined. There was so much to\newlinesee and so much to do. There was a swimming pool, movie theater and an elevator to take\newlineus from floor to floor. What a magical place! I was so excited because we had the whole\newlineplace to our family!\newline \newlineWe spent our vacation playing around the huge castle and finding small mysterious places.\newlineThere was even a tiny room in the back of one of the closets. My brother, Kelsey, and I\newlineplayed hide and go seek for hours, watched movies and swam until the sun went down.\newline\newlineIt was sad when our vacation finally came to an end but we made some amazing memories.\newlineWe'll never forget our trip to Elk River Castle! one: What was my brother's name? Kelly Kelsey Caden Colby one: Where did we go? Hood River Castle Elk River Castle White Fish Castle White Salmon Castle multiple: What did the castle have? A ball room A movie theater A gym A hot tub multiple: What did we do at the castle? Played ball Fished Swam in the swimming pool Ran in the woods 6 | mc160.dev.5 Author: 3983187336;Work Time(s): 1622 Once upon a time there a little girl named Ana. Ana was a smart girl. Everyone in Ana's\newlineschool knew and liked her very much. She had a big dream of becoming spelling bee\newlinewinner. Ana studied very hard to be the best she could be at spelling. Ana's best friend\newlinewould help her study every day after school. By the time the spelling bee arrived Ana and\newlineher best friend were sure she would win. There were ten students in the spelling bee. This\newlinemade Ana very nervous, but when she looked out and saw her dad cheering her on she knew\newlineshe could do it. The spelling bee had five rounds and Ana made it through them all. She\newlinewas now in the finals. During the final round James, the boy she was in the finals with, was\newlinegiven a really hard word and he spelled it wrong. All Ana had to do was spell this last\newlineword and she would be the winner. Ana stepped to the microphone, thought really hard and\newlinespelled the word. She waited and finally her teacher said "That is correct". Ana had won\newlinethe spelling bee. Ana was so happy. She won a trophy. Ana also won a big yellow\newlineribbon. The whole school was also happy, and everyone clapped for her. The whole school\newlinewent outside. They had a picnic to celebrate Ana winning. multiple: What made Ana very nervous? The other ten students Her best friend The bright lights The big stage multiple: Where did the school have the picnic? The gym Ana's house Outside Ana's classroom one: What was Ana's big dream? Becoming a ballerina Becoming a famous singer Becoming class president Becoming spelling bee winner one: Who helped Ana study everyday? Her dad Her best friend Her mom Her sister 7 | mc160.dev.6 Author: 1006609625;Work Time(s): 2342 Roger was a grasshopper. He loved to hop. He hopped everywhere by himself. One day when he\newlinewas hopping around he bumped into a frog sitting on a log. The frog told him his name was\newlineGilbert. Gilbert told Roger that it had been a long time since he bumped into\newlineanybody. Roger told him that since both grasshoppers and frogs like to jump they would\newlinemake great friends. The next day they were hopping through a field and they saw something\newlinevery strange. In a pond they saw a spider floating on a lily pad. The spider was very sad\newlinebecause he did not have any friends. Roger and Gilbert asked him why he didn't have any\newlinefriends. The spider told them that everybody would scream and run away when they saw him.\newlineRoger and Gilbert told him that he didn't look scary to them and that he could come along\newlinewith them if he wanted. So Sam the spider said yes, and the three of them began a life\newlinetime friendship full of adventures. multiple: What did Roger like to do? Bump. Hop. Swim. Float. one: What was the spider sitting on in the pond? branch Lily pad land log multiple: What character is not in the story? spider lady bug grasshopper frog one: What was the spider's name? Roger Sarah Gilbert Sam 8 | mc160.dev.7 Author: 259176131;Work Time(s): 882 The cute red ball rolled over to the blue ball and said hello. The blue ball was scared\newlineand went to cry to the green ball. The green ball laughed at the blue ball. Then the green\newlineball told the orange ball that blue ball was stupid. Most felt this was not good to do and\newlineso they punished the green ball by taking away all his air.\newline\newlineFrom that day on everyone saw the air-less green ball and knew that they could not do or\newlinesay any bad things. This is how the trouble started. The purple ball used the fear of\newlineeveryone to become the leader that they all feared. The purple ball was mean to\newlineeveryone. Until one day the red ball spoke up and got all the other colored balls together\newlineand they took the air from the purple ball and put it in the green ball. Sadly, the green\newlineball had been without air for too long and was dead. multiple: What color ball was the third brought up in the story? green blue red purple one: Which color ball became the leader? green blue red purple multiple: What color of ball scared the blue ball? purple red orange green one: At they end of the story, what was the state of the green ball. cute dead fear taking 9 | mc160.dev.8 Author: 863905974;Work Time(s): 329 Sara wanted to play on a baseball team. She had never tried to swing a bat and hit a\newlinebaseball before. Her Dad gave her a bat and together they went to the park to\newlinepractice. Sara wondered if she could hit a ball. She wasn't sure if she would be any\newlinegood. She really wanted to play on a team and wear a real uniform. She couldn't wait to\newlineget to the park and test out her bat. When Sara and her Dad reached the park, Sara grabbed\newlinethe bat and stood a few steps away from her Dad. Sara waited as her Dad pitched the ball\newlineto her. Her heart was beating fast. She missed the first few pitches. She felt like\newlinequitting but kept trying. Soon she was hitting the ball very far. She was very happy and\newlineshe couldn't wait to sign up for a real team. Her Dad was very proud of her for not giving\newlineup. multiple: Why was Sara practicing? She wanted to show off She didn't want to do her homework She wanted to play on a team She was bored one: Who pitched the ball to Sara? Her Mom Her Sister Her Dad Her Brother multiple: Why was Sara's Dad proud of her? She didn't get dirty She didn't break the bat She didn't quit She was better than her Dad one: Where did Sara go to practice hitting the ball? A stadium Her yard The park Her bedroom 10 | mc160.dev.9 Author: 2311321761;Work Time(s): 634 Peter was a very sad puppy. He had been inside of the pet store for a very long time. In\newlinefact, he had been there for three months! Peter had seen many other puppies find a\newlineperson; he began to wonder why he could not get one. He thought that maybe his fur was\newlinenot pretty enough or maybe his bark was not loud enough. He tried and tried to please\newlineevery person who came to the store, but they all picked smaller puppies. However, one day\newlineall of this changed. Sammie came into the store looking for a golden puppy. She wanted a\newlinepuppy she could snuggle with. It so happened that Peter was very sad and tired that day.\newlineSammie came to hold him. Peter wanted to show off his bark, but he was too tired. He\newlinefell right to sleep. Sammie loved him at once and loved holding him in her arms. Sammie\newlinetook Peter home that day, and they made lots of fun memories. multiple: What did Peter want to do when Sammie came? He wanted to show off his fur He wanted to be beautiful He wanted to snuggle with her He wanted to show off his bark one: Where was Peter? Sad and tired At the pet store Home At the park practicing his bark multiple: What did Peter actually do when Sammie came? Peter showed off his fur Peter showed off his bark Peter fell asleep Peter wondered if he would be a good enough puppy multiple: What kind of puppy did Sammie want? A golden puppy that was small A golden puppy with shiny fur A puppy with a loud bark she could snuggle with A golden puppy she could snuggle with 11 | mc160.dev.10 Author: 3842083771;Work Time(s): 4095 Luna the hawk wanted some socks. It was the middle of winter and sitting on tree branches\newlinemade her feet very cold. Luna hoped that her friends could help her find some socks. She\newlineflew to the old maple tree where Olive the owl lived.\newline\newline"Olive, may I please borrow a pair of your socks?" she asked.\newline\newlineOlive the owl looked surprised. "Luna, I have no use for socks because my legs and toes\newlinehave thick feathers. Go visit one of the animals that walk on four legs. They might have\newlineextra socks you could borrow."\newline\newlineLuna flew across the field and landed next to the icy creek. Rose the raccoon was teaching\newlineher six babies how to wash their paws. The water was very cold, but the babies were having\newlinefun.\newline\newline"Rose, my bare legs and bare toes are so cold, may I please borrow a pair of your socks?"\newlinebegged Luna.\newline\newlineRose laughed hard. "Silly Luna, I do not have socks. Look at my legs and feet. They are\newlinecovered with thick, warm fur. I'm sorry I cannot help you. Go visit the humans. Sometimes\newlineI tip over their garbage cans at night when I am looking for food. Once I saw a pair of\newlinesocks."\newline\newlineLuna was very afraid of humans. Her grandmother and mother had warned her about them. She\newlinewas told that some humans are mean and hurt hawks. Her feet were so cold that it was\newlinedifficult to grip tree branches. She became brave. She flew to the farmhouse on the big\newlinehill. When she landed on the roof, she could not believe her eyes. She saw socks! In late\newlineautumn, Henrietta the human had put laundry outside to dry and she had forgotten to bring\newlinein one tiny pair of socks. The socks were hanging on the clothesline by two wooden\newlinepins. Luna used her powerful beak to break the pins. She put on the socks and then flew\newlineback to her home in the huge tree. When she landed, her feet were warm and dry. Luna was\newlinevery happy. one: Why did Olive the owl not have any socks? She had given her socks to another friend. All of her socks were in the dirty laundry. She has thick feathers on her legs and toes. She wore ski boots instead of socks. multiple: Why was Luna afraid of humans? Her grandmother and mother had told stories about mean humans hurting hawks. Humans were large and scary-looking. Humans put garbage in the hawks' nests. Humans stole all of the hawks' food. multiple: Which animal did Luna not visit? Olive the owl Rose the raccoon Opal the otter Henrietta the human multiple: How could the baby raccoons play in the icy creek without hurting their paws? Because their mother made sure they had warm mittens to keep their paws dry. Because their mother taught them how to play in the water without getting cold. Because their legs and feet are tough from tipping over garbage cans. Because their legs and feet have a thick covering of fur that keeps them warm. 12 | mc160.dev.11 Author: 534571148;Work Time(s): 3659 Once upon a time a young boy and young girl set out on a trip to the beach. They packed a\newlinefew towels, an umbrella, a few beach chairs and a lunch cooler. They drove to the crowded\newlinebeach parking lot and spent almost an hour trying to find a parking spot. Once they found\newlinea spot they parked and began walking to the beach area. They found a nice spot with a good\newlineview of the water and set up their belongings. Once they sat down they began to enjoy a\newlinenice lunch on the beach. They watched the boats go by and people playing in the water. It\newlinewas a wonderful day and one they would always remember. Once they arrived home they\newlinesuddenly found out that they both had a pretty good sunburn. They both said that next time\newlinethey would use sun screen. multiple: Was it a good day for the couple, and what did they find out when they got home? It was a good day, and they found that they were sunburned It was not a good day, and they found they were sunburned. It was a good day, and they found they were late getting home It was not a good day, and they found that they got a parking ticket multiple: Where were the couple going and how did they get their? The beach and by Bike The park and by bike The store and by car The beach and by car one: Besides boats what did the couple watch? dolphins people making sand castles people playing in the water children playing in the sand one: It took the young couple how long to find a parking spot? almost a half hour only a short time almost an hour over an hour 13 | mc160.dev.12 Author: 212417544;Work Time(s): 998 Three little kids lived in a great big house with a great big cat and many places for a\newlinegreat big cat to hide. Their great big cat was named Cowboy. And Cowboy was not a very\newlinenice cat. Cowboy liked to bite and chew and scratch a great many things. When Cowboy was\newlinehappy, which was not very often, Cowboy liked to bite in to a blanket or soft toy and\newlinecarry it around in his mouth. When Cowboy was hungry he liked to bite bright red tomatoes\newlineand suck out all the juice and seeds. And when Cowboy was feeling mean he liked to hide.\newlineCowboy would hide, curled up tight in a ball under a blanket or behind a corner and wait\newlinefor one of the little kids to pass by. When they did pass by Cowboy would jump at their\newlinefeet and try to bite and scratch them. He did not know that what he was doing was not\newlinevery nice. Cowboy was only a cat. A great big cat that did not know any better. one: What was the cat's name? Tony Cowboy Cat Chowder one: What did Cowboy like to eat when he was hungry? Cowboy liked to eat cat food. Cowboy liked to eat toys. Cowboy liked to eat blankets. Cowboy liked to eat tomatoes. multiple: When Cowboy felt mean he liked to... run and hide. chew on toys. bite the blankets. hide and jump. multiple: Cowboy was a... a tiny little cat. a normal size cat. great big cat. a great big dog. 14 | mc160.dev.13 Author: 1460358657;Work Time(s): 867 On the first day of school, Mrs. Law asked all the students to write a story telling her\newlinewhat they did over the summer. She told the students that they were going to read them in\newlinefront of the class. This was going to help everyone get to know more about each other.\newline\newlineWhen all the students were done writing their stories, Anna raised her hand to read hers\newlinefirst. Mrs. Law smiled at Anna's excitement to share her story with the class. She told\newlineall the students to sit down and listen to Anna.\newline\newlineAnna started reading her story. All the other students quickly paid attention, as her\newlinestory was telling about her vacation to a park with lots of rides. Anna told them that she\newlinerode a huge ride called, "Superman," which was her favorite. After Anna finished reading\newlineher story, all the students clapped and said that they wished that they could hear\newlinemore. Anna told them to tell their mommies and daddies to take them to visit the rides\newlinenext summer. multiple: Why did the students have to read their stories to the class? to get to know who had the best summer to get to know Mrs. Law to help them get to know more about each other to get to know who had the best mommy and daddy one: What did the students have to write about? the first day of school Mrs. Law Anna's summer vacation what they did over the summer multiple: Why did Mrs. Law smile at Anna? because Anna told the class a joke because she raised her hand to read her story first because Anna laughed because Anna rode a huge ride one: What was the huge ride called that Anna told the class about? Batman Superman there wasn't one Jolly Green Giant 15 | mc160.dev.14 Author: 534571148;Work Time(s): 10766 This is a story about a bear and a wolf. The bear met the wolf one day in the woods. The\newlinebear said to the wolf, would you like to go to the river with me? The wolf said yes, he\newlinewould like to go to the river. When the bear and the wolf got to the river they found that\newlinea beaver had built a bridge to the other side of the river. The bear and the wolf crossed\newlinethe bridge that was built by the beaver and found that they were now in a part of the\newlinewoods they had never seen before. A little worried that they may get lost in this part of\newlinethe woods they had never seen before the bear and the wolf turned around. They went back\newlineover the bridge and were happy to be back in a part of the woods they knew so well. The\newlinebeaver thanked both the bear and the wolf for trying out his new bridge and then started\newlineto build yet another bridge close to the first bridge. He was a very busy beaver. one: Which animal built a bridge? the beaver the bear the dog the wolf multiple: what did the bear and wolf cross, and why did they turn back? a bridge, and they got hungry. a lake, and they did not want to get lost. a field and they did not want to get lost. a bridge, and they did not want to get lost. multiple: What did the beaver build and why did he thank the bear and wolf? a bridge, and for helping him to build the bridge. a house, and for trying out the bridge. a bridge, and for trying out the bridge. a bridge, and for bring him food one: This is a story of which two animals taking a walk in the woods? a bear and a beaver a dog and a wolf a bear and a dog a bear and a wolf 16 | mc160.dev.15 Author: 3960091198;Work Time(s): 725 Jenny's family lived in a small apartment in Seattle. One day Jenny came home from school\newlineand her mom told her that the family was moving to Utah. Jenny was sad to leave her\newlinefriends. Jenny was sad to leave her school. Jenny helped her mom pack boxes and clean\newlinetheir apartment to get ready for the move. Soon the day came when Jenny's dad brought a\newlinelarge truck to the parking lot and all of the family's things were put inside. Jenny and\newlineher mom rode in their car and her dad drove the truck towards Utah. Jenny loved getting\newlineto eat lots of yummy fast food on the way. When the family got to their new home in Utah,\newlineJenny helped her parents to take all of the boxes into the house. She loved her new\newlinebedroom! When Jenny was emptying box of her toys, there was a knock at the door. It was\newlinea little girl who wanted Jenny to play! Jenny was going to like Utah! one: Who drove the truck? Jenny Jenny's Brother Jenny's Mom Jenny's Dad one: Where did Jenny live before she moved? New York Utah Austin Seattle multiple: What made Jenny happy about being in Utah? the music the pretty views being with her mom a little girl came to play multiple: Why was Jenny sad about the move? She had to leave her stuff She didn't want to leave her soccer team She had to leave her friends and her school She didn't want to leave her family 17 | mc160.dev.16 Author: 4251880037;Work Time(s): 2649 Mike and Jeff are close friends. Their school is having a guessing game to guess how many\newlinegumballs are in a box. If they get the right amount they win $100. If they get close they\newlineget a $20 gift card. The box looks like it is missing some gumballs. It turns out some\newlinepeople are eating them when they place their guess. 100 people guessed and took a piece of\newlinecandy. The box is 10" by 10" by 10". Each gumball is 1" each. Mike guessed 500. Jeff\newlineguessed 800. They both said they would split their money they win, if they win. multiple: Who is closer? Both Jeff Mike Neither one: How likely would it be for one of them to win? 5/100 10/100 1/100 100/100 multiple: How likely would it be neither of them to win? 89/99 99/99 99/100 98/100 multiple: What is the right amount? 1000 800 900 700 18 | mc160.dev.17 Author: 1883940740;Work Time(s): 1321 Hannah and her friend Mary were bored. They sat around the house and tried to think about\newlinewhat to do. They petted the cat. They drew pictures in Hannah's notebook. They snuck\newlineinto Hannah's mother's closet to try on her shoes, but Hannah's mother caught them. She\newlinesaid, "You girls need something to do. Let's take a walk to the park!" Hannah and Mary\newlinelooked at each other, and then jumped up and down happily. "The park sounds great!" said\newlineHannah. "Let's go!" cried Mary. So Hannah's mother packed up a snack of apples and\newlinecookies, and they all set off to walk to the park. They walked down the sidewalk, looking\newlineat all the interesting things along the way. Mary spotted a squirrel. Hannah saw a\newlineyellow bird. Hannah's mother pointed out the pretty yellow flowers growing in front of\newlineMr. Smith's house. When they got to the park, Hannah's mother spread out a picnic blanket\newlineand the snack. Hannah and Mary ran around chasing butterflies for a little time, and then\newlinesat down to eat their snacks. When they finished, Hannah's mother put the leftovers in a\newlinetrash can. As they walked back home, Hannah thought that the boring day had turned out\newlinequite well. one: What did Hannah and Mary chase at the park? butterflies turtles birds ducks one: What did Hannah's mother do with the leftovers? threw it on the ground there was no trash Put it in the trash can took it home multiple: What did Hannah and Mary see on their way to the park? A butterfly and a bird A squirrel, a yellow bird, and pink flowers A horse A pink squirrel, a bird, and yellow flowers multiple: What did Hannah and Mary do when they were bored? sang songs and drew pictures played games Petted the cat and drew pictures jumped rope 19 | mc160.dev.18 Author: 2195212743;Work Time(s): 5807 Douglas loves to play soccer. He plays for the Dolphins. He is very good. He was excited\newlineabout the big game with the Lions. The night before the game, he went to bed late. He\newlinewas watching three TV shows that night. First, was Muffins the Cat. The second show was\newlineErnie the Talking Donkey. The third was Laughing with Herman Hamster. His Mom told him\newlineto go to bed, but Douglas didn't listen. He fell asleep on the couch. He dreamed all\newlinenight. First about sheep jumping fences. Second about playing fetch the ball with\newlineRuffles. Third about Ernie the talking Donkey kicking a soccer ball over the moon. Fourth\newlineabout his favorite soccer player, Pele, head the ball in the goal.\newline\newlineFinally, the next morning, Douglas got up late because he was so tired. His Mom called\newlinehim and the alarm went off, but he did not hear. To get Douglas up, his Mom got Ruffles\newlinethe dog to lick him in the face. Douglas got up but had to eat breakfast fast. Then he\newlinequickly dressed into his uniform. He was yawning.\newline\newlineHis Mom drove him to the soccer field. The game had started. Douglas had to sit out the\newlinefirst quarter. His team was losing one to nothing when Howard scored for the Lions.\newlineDouglas started the second quarter. He was tired and could not keep up with the rest of\newlinehis team. The coach was surprised that Douglas was so slow. Usually he was fast. After\newlinethe second quarter, the Dolphins were losing two to one after Howard scored again for the\newlineLions and Toby scored a goal for the Dolphins. While the coach gave energy drinks to the\newlineteam, Douglas fell asleep. The third quarter started.\newline\newlineDouglas was snoring when the coach told him to go in. When he saw Douglas was sleeping,\newlinehe sent Billy into the game. Billy scored one goal and the Dolphins had tied the game two\newlineto two. Ruffles the dog started barking and then licking Douglas in the face. Douglas\newlinegot up and stretched. He was finally well rested. The coach saw Douglas and sent him\newlineinto the game. Douglas remembered his dream. In the last second, he headed the ball in\newlinethe goal like Pele. He won the game. The team cheered.\newline\newlineSince that time, Douglas goes to bed on time. He always wants to be well rested. His Mom\newlinewas right. He gave her a hug. multiple: What dream helped Douglas win the game? He dreamed about Ernie the donkey kick the ball over the moon. He dreamed about Pele heading the ball in the goal. He dreamed about Ruffles fetching the ball. He dreamed about sheep jumping over fences. one: Who woke Douglas up by licking him in the face? Muffin the cat. Herman the hamster. Ernie the donkey. Ruffles the dog. multiple: How many points did the Dolphins score and who scored the goals? They scored two points. Ruffles and Billy scored. They scored three points. Toby, Billy and Douglas scored. They scored five points. Howard, Billy, Ruffles, Douglas, and Billy scored. They scored one point. Toby scored. one: What game does Douglas love to play? Douglas loves to play baseball. Douglas loves to play soccer. Douglas loves to play basketball. Douglas loves to play cards. 20 | mc160.dev.19 Author: 259176131;Work Time(s): 1010 I'm here to tell you the story of a robot named Carl. He came from a far away land known as\newlineFactory. Carl was sad because he was missing a part called a tire. He also needed a sun\newlinegatherer. But, the tire was more important. Once Carl got all these parts he could travel\newlineto his new home in the nation of Lab and the city of Office. It was a tricky thing to get\newlinethere with missing parts. Just as he had given up hope Carl got a message from Mr. X\newlinesaying the new parts were ready to be delivered. This made the robot very happy. The parts\newlinearrived a few days later and Carl put them in with 2 days of work. After this Carl began\newlineto travel the last bit of his goal to get to his new job. After this Carl took 10 days to\newlineget to Lab. one: What nation did Carl want to get to? Carl Office Factory Lab multiple: Besides a tire what part did Carl need? missing important tire sun gatherer multiple: Where did Carl come from? Lab Mr. X Office Factory one: What was the only city in the story? Office Mr. X Lab Factory 21 | mc160.dev.20 Author: 1091830255;Work Time(s): 1853 On a hot summer day, Brian was walking home from the park. While walking, Brian passed his\newlinefavorite toy store, and saw that they had a new baseball glove in the window. Brian's\newlinebaseball glove was very old and was ripped in a few places. Brian really wanted the new\newlineglove because he wanted to show off his glove to his friends tomorrow. The cost of the\newlinenew glove was fifteen dollars, but when Brian checked his pockets for money, he only had\newlinesix dollars and fifty cents. Brian ran home and went to look around his house for money.\newlineHe checked under his bed and found fifty cents under some toys. He then checked all of\newlinehis pockets of his pants and shorts, and found another two dollars. Brian then went to\newlinelook between the cushions on all of the couches in his house, and he found another three\newlinedollars. After finally looking around his whole house, Brian knew that he still did not\newlinehave enough money to buy the new glove. Brian went outside and saw his dad doing yard\newlinework. He told his dad that he would finish all the yard work for him, if he could have the\newlinemoney he needed for the new glove. His dad said yes, so Brian spent the rest of the\newlineafternoon raking the yard, and bagging leaves. Brian's dad was very proud that his son\newlinewas working hard for money. When Brian was finally done, Brian knew that he was too\newlinelate, and the toy store was closed. Just as Brian was walking inside, he saw his dad walk\newlineup to home holding the new glove that he wanted. Brian was so happy, and he and his dad\newlinespent the rest of the afternoon having a catch. one: Why did Brian dad buy him the glove? His dad wanted to him to practice. His dad didn't want him to use his old glove. His dad was proud that he was working hard. His dad knew that he really wanted it in order to show off his friends. one: How much money did Brian find under his bed? Fifteen dollars Two Dollars Fifty cents Three dollars multiple: Why did Brian want a new glove? So he could show it off to his friends. He did not have any baseball glove. He lost his old baseball glove. So he could have a catch with his dad. multiple: How much money did Brian have in total after looking in his house? Fifteen dollars Twelve dollars Six dollars Fifty dollars 22 | mc160.dev.21 Author: 1815495932;Work Time(s): 1548 On a nice and sunny day, Bob and Sally walked to the beach. When they got there, the first\newlinething they wanted to do was to look for buried treasure. To find the treasure they had\newlinebrought two shovels and two buckets. They both started digging holes in the sand with\newlinetheir shovels. After looking very hard for treasure for an hour, they didn't find\newlineanything. This made Bob and Sally very sad. They gave up and went to play in the\newlinewater. While they were playing in the water, Sally found a bottle with a little paper\newlineinside. Sally opened the bottle and found a treasure map. Sally showed the map to Bob and\newlinethey started to look for the treasure. After walking every step that the map said, they\newlinestarted digging with their shovels. After digging a really a big hole, they found a\newlinebox. They were very happy that they found it and wanted to see what was inside. Bob slowly\newlineopened the box and there was a very big pearl. Next, they ran to a special store to ask\newlineabout the pearl. The worker in the store told Bob and Sally that the pearl could make them\newlinerich. Bob and Sally looked at each other and decided not to sell it. They took the pearl\newlinehome and saved it in a special box, so they could remember their day at the beach. one: What did Bob and Sally find in the box? A coin A pearl A ring A necklace one: What did Sally find in the water? A shell A bucket A bottle A shovel multiple: What did Bob and Sally do after they showed the pearl to the worker? They sold it. They left it at the beach. They took it home. They gave it away. multiple: Why did Bob and Sally stop looking for the treasure? They were sad at not finding anything. They forgot to bring a shovel. They did not want to find the treasure. They got hungry. 23 | mc160.dev.22 Author: 3310356749;Work Time(s): 2220 It was a beautiful sunny and warm day. I was working outside in my garden. I was pulling\newlineweeds which is not my favorite job, but I was enjoying the day. I live by a lake so\newlinesometimes I take a break from my chores and look at the lake. It is so beautiful and it\newlinemakes me happy to look at the beautiful lake and see what animals I can find swimming in\newlineor near the lake.\newline\newlineOn this day, I kept hearing a low soft sound coming from the lake. I got up from my garden\newlineand walked to the lake. I kept hearing this strange sound. It sounded like someone talking\newlinein a very low voice. I thought it might be a lake bird because we see and hear them all of\newlinethe time. The lake birds have several different calls that tell what they want to "say" to\newlineother lake birds. There is the call when they are flying which is very hurried and\newlineshort. Then there is the "where are you" call which is long, slow and loud. But this sound\newlinewas not like any I had ever heard. I went to get the binoculars to see if I could spot\newlineanything. But, no luck. I still kept hearing this low talking sound. I had now totally\newlinegiven up weeding. Finding this strange sound was going to be more fun. But where was it\newlinecoming from? I looked again up and down the lake and saw nothing. Finally I went around to\newlinethe other side of the place where we keep our boats. There is an area there where it is\newlinenot a very deep part of the water. I spotted them! It was a mother lake bird and a father\newlinelake bird with a baby in between them. They were teaching the baby how to swim and eat\newlinefish. The low talking sound that I heard must have been them trying to teach the baby to\newlineswim and eat the fish. I sat there on the bank and watched for a half an hour. I felt very\newlinespecial that I got to see this. It was such a fun thing to see and way more fun than\newlinegardening. one: What was I doing on this day at the beginning of the story? fishing sleeping working in the garden cooking one: What did I finally see? two lake birds four lake birds three lake birds one lake bird multiple: What was the sound that I kept hearing? something that sounded like laughing something that sounded like low talking something that sounded like crying something that sounded like singing multiple: How did I feel at the end of the story? happy sick sad glum 24 | mc160.dev.23 Author: 3048636168;Work Time(s): 1252 One day Magneson took a walk in the park. He passed some trees and a pond. In the pond\newlinewas a duck named George. George's wife was also in the pond. Her name was Nancy.\newline\newlineMagneson walked over to the tree. Nancy flew up into the tree. She wanted to warn\newlineMagneson about the killer squirrel who lived inside of the tree. A few years before, the\newlinesquirrel had thrown a chestnut at George and Nancy's son. He was knocked out, and the\newlinesquirrel took him away. He was never seen again.\newline\newlineMagneson asked what their son's name was. They said it was Leonard. But Magneson was\newlineonly making small talk. He didn't believe the story about the killer squirrel. Even if\newlinethere was one, there were many rocks by the pond that he could throw at the squirrel. He\newlinecould also hide in the tall grass.\newline\newlineGeorge and Nancy were sorry to see that Magneson wouldn't listen. They flew away, singing\newlinea sad song. A short time later, the squirrel came out of the tree and threw a giant\newlinewalnut at Magneson. No one ever saw Magneson again. multiple: What was George's wife's name? Magneson George Nancy Leonard multiple: Who did the squirrel throw things at? Nellie and George Leonard and Magneson George and Leonard Magneson and Nellie one: What did the squirrel throw at Magneson? a chestnut a giant walnut a duck a rock one: Where did Magneson walk? in the trees in the pond in the park in the tall grass 25 | mc160.dev.24 Author: 2612134556;Work Time(s): 2652 Every Monday morning, the little bad boy named Josh goes to school.\newline\newlineSuddenly, little Josh slips on a banana skin ...\newline\newline- Ouch, says Josh, I fell on this and in addition I got a bump on the forehead!\newline\newline- Wonderful! said the banana peel. I am Mary. I turned into banana skin after throwing trash on the school yard. You have saved me and now I'm back to good old Mary. What's your name?\newline\newline- Mine is Josh... I'm a late to class ... are you serious, where is the banana peel anyways?\newline\newline- The Banana, my dear Josh, was eaten by me, I threw the banana peel and turned into one ... now you saved me, can you see the banana peel you slipped on around here?\newline\newline- No, you are right.\newline\newline- Mary said: Josh, Thank you\newline\newline- Excuse me, Mary ... I have to go ... Otherwise I'll be late for school ... And I would not want to upset the teacher. one: Who slipped on a banana skin? Josh John Mary Kate multiple: Why Josh was in such a hurry? Josh had a soccer game to play. Josh was going back home. Josh was heading to the school yard. Josh was late to class. one: Who turned into banana skin after throwing trash on the school yard? Mary Kate Josh Peter multiple: Who are the principal characters of the story Mary and Kate Mary and Josh Josh and Peter Kate and Josh 26 | mc160.dev.25 Author: 868073141;Work Time(s): 5062 Once there was a young boy named Bret who had a cat named Wolfgang. The boy had really\newlinewanted a wolf for a pet, but his mother said wolves liked to hog the bathroom and liked\newlineto blow things down and they snored. So the boy had to call his cat Wolfie.\newline\newlineHe had also thought about naming his cat Sir Purrsalot. Bret himself planned to become a\newlineknight when he grew up (or maybe a cowboy) and thought Sir Purrsalot sounded like a good\newlinename for his brother knight. The difficulty there was that Wolfie didn't purr a lot. He\newlinepurred when he was being fed or petted, but no one could say he purred a lot. Plus Bret's\newlinemother said knights liked to poke things with their swords and they also liked to hog the\newlinebathroom and they clanked.\newline\newlineSo Bret was left with a cat named Wolfgang. The neighbors gave him strange looks when he\newlinestood in the front yard in the evening and yelled "Wolfie! Here Wolfie!!!", to get\newlineWolfgang to come in for the night. But Bret didn't care what anyone else thought. He had\newlinea Wolfie and maybe he'd end up becoming a pet doctor when he grew up instead. multiple: When did Wolfie purr? when hogging the bathroom when petted when poked when sleeping multiple: What was the name of the cat? Bret Buster Wolfgang Sir Purrsalot one: What was one reasong his mother didn't like knights? they grew up they purred they snored they clanked one: What was one reason his mother didn't like wolves? they yelled they barked they purred they snored 27 | mc160.dev.26 Author: 472016790;Work Time(s): 2027 Sally liked going outside. She put on her shoes. She went outside to walk. She walked on\newlinethe green grass. The sun was warm. The trees were tall. The birds sang in the trees.\newlineSally liked how the birds can sing. Sally likes to sing with the birds, outside. Ring,\newlinering, is how the birds sang. Sally sang ring, ring, with the birds in the trees. Sally\newlinetook off her shoes. Sally liked how the green grass was on her toes. Sally's toes liked\newlinethe green grass. Sally walked on the green grass some more. She saw Missy the cat.\newlineMissy the cat meowed to Sally. Sally waved to Missy the cat. Sally likes Missy the cat.\newlineSally likes to meow to Missy the cat. Meow, meow, Sally says to Missy the cat. Missy the\newlinecat walks away from Sally. Sally hears her name. Sally, Sally, come home, Sally's Mom\newlinecalls out. Sally runs home to her Mom. Sally liked going outside. multiple: Why did Sally put on her shoes? To wave to Missy the cat To hear her name Because she wanted to go outside To come home one: What did Sally like to do? Sally liked going outside walk on the green grass put on her shoes take off her shoes one: What was the name of the cat? Meow Missy Sally Ring multiple: Who called Sally? Missy the cat The birds The trees Her Mom 28 | mc160.dev.27 Author: 1429298732;Work Time(s): 2461 Tammy likes the park. There are swings at the park. There is a slide at the park. \newline\newlineMary goes to the park with Tammy. They jump rope. They play tag. They like the park.\newline\newlineTammy and Mary have fun at the park. Tammy has a dog named Max. Tammy and Mary take Max to the park.\newline\newlineMax likes the park. He chases rabbits. He chases a ball. Tammy throws the ball to Max. Mary throws the ball to Max.\newline\newlineThe park is no fun in the rain. Tammy and Mary cannot go to the park when it rains. Mother\newlinesays no. They are sad when they cannot go to the park.\newline\newlineTammy and Mary play in the house when it rains. They play with dolls. They dress up and\newlinehave a tea party.\newline\newlineToday is sunny. Tammy and Mary can go to the park. Mother says yes. They can take Max to\newlinethe park. They are happy when it is sunny. one: Who has a dog? The park Max Tammy Mary multiple: What do Tammy and Mary do when it rains? go to the park Play with dolls, have a tea party play ball chase rabbits multiple: Who likes to go to the park? Dolls Mother Tammy and Mary The rabbits one: What is the the name of the dog? Mother Max Tammy Mary 29 | mc160.dev.28 Author: 2345117472;Work Time(s): 932 Once upon a time, there was a dog named Puddles. Puddles was lonely because he lived in an\newlinearea where there were no other dogs, but only cats. Day after day, Puddles would have to\newlineeat cat food and do cat things in order to fit in with the rest of his group. He found it\newlinevery boring and Puddles was sad. Puddles didn't even look like a cat!\newline\newlineAll of the other cats teased Puddles. "You're too big," they said. "You've got too long of\newlinea nose!" "Why are you panting like that?" Puddles knew that he was different.\newline\newlineOne day, Puddles chose to run away from all of the cats. The cats laughed at him. What a\newlinestupid dog! Didn't he know that there were monsters in the woods that could eat him?\newlinePuddles didn't care, because Puddles was sad enough to try.\newline\newlineSo Puddles packed up his things - his squeaky ball, his water dish, and his bone - and\newlineheaded off into the woods. He was finally happy! All of a sudden, Puddles turned. He\newlinesmelled a funny smell. It smelled like something he had never smelled before. He turned\newlinearound, and what did he see but another dog!\newline\newlinePuddles was so happy, he barked with joy. He went home with the other dog, who was named\newlineMittens, and to his family. Puddles was never lonely again. multiple: Why did the cats not like him? He didn't eat cat food He had a long nose He was different He panted one: Where did Puddles live in the beginning? with cats and dogs In a group of cats In a group of dogs With humans multiple: What does Puddles choose to do? Go into the woods Go to sleep Eat cat food Become a cat one: Who did Puddles find? Food A monster A dog family A group of cats 30 | mc160.dev.29 Author: 400332158;Work Time(s): 839 Once upon a time there was a princess who lived in a high tower and she was not allowed to\newlineleave because of her mean mother. One day she chose to leave but her mother would not let\newlineher. The princess climbed out the window of the high tower and climbed down the south wall\newlinewhen her mother was sleeping. She wandered out a good ways. Finally she went into the\newlineforest where there are no electric poles but where there are some caves. There she met a\newlineyoung man who was running. His name was John. John asked the princess why such a beautiful\newlinewoman like her was out in the middle of a forest. She said that she had been trapped for\newlineher whole life by an evil woman who said she was her mother. The man said that he would\newlinetake the princess to a castle that was near. He also said that he thought that she may be\newlinethe missing princess. As they go through the forest they run into many problems. They see\newlinethat they are lost and have no way of finding where to go. After several days pass, the\newlineprincess climbs up to the top of a tree in order to find out where they are. She sees that\newlinethe castle where they want to go is not that far away and near a mountain. After thinking\newlineof the best way to get there, John and the princess go to the castle where they live for\newlinethe rest of their lives. multiple: Where did the princess wander to after escaping? Mountain Forest Cave Castle one: Who escaped from the tower? Mother Princess Man John multiple: What did the princess climb to see the castle? Electric pole mountain Tree Castle one: Where does the princess live in the beginning? Castle house Cave High Tower 31 | -------------------------------------------------------------------------------- /data/MCTest/mc160.dev.txt: -------------------------------------------------------------------------------- 1 | *************************************************** 2 | Story: mc160.dev.0 3 | Author: 2670363255 4 | Work Time(s): 1446 5 | 6 | It was Jessie Bear's birthday. She was having a party. She asked her two best friends to 7 | come to the party. She made a big cake, and hung up some balloons. 8 | 9 | Soon her friend Lion came over. Then her friend Tiger came over. Lion and Tiger brought 10 | presents with them. 11 | 12 | Jessie hugged her friends. She asked them if they would like to have cake. 13 | 14 | Yes! said Lion. Yes yes! said Tiger. Jessie cut the cake, and they all ate it together. 15 | Then Jessie opened her presents. She got a new jump rope and a fun game. She asked Lion 16 | and Tiger to play the game with her. 17 | 18 | The friends played and played. They all had a good time. Soon it was time for the party to 19 | be over. 20 | 21 | Lion and Tiger hugged Jessie and said goodbye to her. Thanks for a great birthday! Jessie 22 | Bear told her two best friends. 23 | 24 | 1: one: Who was having a birthday? 25 | *A) Jessie Bear 26 | B) no one 27 | C) Lion 28 | D) Tiger 29 | 30 | 2: multiple: Who didn't come to the party? 31 | A) Lion 32 | B) Tiger 33 | *C) Snake 34 | D) Jessie Bear 35 | 36 | 3: multiple: How did Jessie get ready for the party? 37 | A) made cake and juice. 38 | *B) made cake and hung balloons. 39 | C) made juice and cookies. 40 | D) made juice and hung balloons. 41 | 42 | 4: one: How many friends came to Jessie's party? 43 | A) one 44 | *B) two 45 | C) six 46 | D) four 47 | 48 | 49 | *************************************************** 50 | Story: mc160.dev.1 51 | Author: 3466834307 52 | Work Time(s): 879 53 | 54 | Sally had a very exciting summer vacation. She went to summer camp for the first time. She 55 | made friends with a girl named Tina. They shared a bunk bed in their cabin. Sally's 56 | favorite activity was walking in the woods because she enjoyed nature. Tina liked arts and 57 | crafts. Together, they made some art using leaves they found in the woods. Even after she 58 | fell in the water, Sally still enjoyed canoeing. She was sad when the camp was over, but 59 | promised to keep in touch with her new friend. 60 | 61 | Sally went to the beach with her family in the summer as well. She loves the beach. Sally 62 | collected shells and mailed some to her friend, Tina, so she could make some arts and 63 | crafts with them. Sally liked fishing with her brothers, cooking on the grill with her dad, 64 | and swimming in the ocean with her mother. 65 | 66 | The summer was fun, but Sally was very excited to go back to school. She missed her 67 | friends and teachers. She was excited to tell them about her summer vacation. 68 | 69 | 1: multiple: Who went to the beach with Sally? 70 | A) her sisters 71 | B) Tina 72 | *C) her brothers, mother, and father 73 | D) herself 74 | 75 | 2: multiple: What did Sally promise to do? 76 | A) Learn to ride a bike. 77 | B) Go to a baseball game. 78 | C) Go back to the beach. 79 | *D) Keep in touch with her new friend, Tina. 80 | 81 | 3: one: Why does Sally like walking in the woods? 82 | A) She likes to climb trees. 83 | B) She likes to play hide and go seek. 84 | C) She likes to swim. 85 | *D) She likes nature. 86 | 87 | 4: multiple: What did Sally do this summer? 88 | *A) She went to summer camp and the beach. 89 | B) She went to Paris. 90 | C) She went to a baseball game. 91 | D) She went to summer school. 92 | 93 | 94 | *************************************************** 95 | Story: mc160.dev.2 96 | Author: 519010308 97 | Work Time(s): 1458 98 | 99 | Todd lived in a town outside the city . Unlike the city the town was peaceful and quiet 100 | and full of trees, flowers and animals. One day his dad came in from work and said "Come 101 | on, son, I'm going to take you to the city." Todd was very exited so he put on his shoes 102 | and ran to the car. When they got to the city Todd was very surprised there were so many 103 | cars and people, everyone seemed to be in a hurry. There were no trees, no flowers, and no 104 | animals. Todd was so happy to get back home. When his mom asked him about his trip to the 105 | city Todd said,"There's no place like home." 106 | 107 | 1: multiple: Where did Todd visit? 108 | *A) The city 109 | B) His mom 110 | C) The town 111 | D) The animals 112 | 113 | 2: multiple: What did Todd say when he got home from the city? 114 | A) There were so many trees and flowers. 115 | B) There were so many people in cars. 116 | *C) There's no place like home. 117 | D) There were so many animals. 118 | 119 | 3: one: Where does Todd live? 120 | A) The city 121 | B) with his mom 122 | C) with his dad 123 | *D) In a town. 124 | 125 | 4: multiple: What did Todd see when he got to the city? 126 | A) lots of animals 127 | B) his mom 128 | C) lots of trees and flowers 129 | *D) lots of people and cars 130 | 131 | 132 | *************************************************** 133 | Story: mc160.dev.3 134 | Author: 1077562726 135 | Work Time(s): 4133 136 | 137 | Greta ran to the corner with her older brother Tony. He had money for the ice cream truck 138 | in his pocket and she was very happy. The ice cream truck had been parked at the curb 139 | waiting for children for a very long time. The ice cream truck driver thought that no 140 | more children were coming to get ice cream so he started pulling away from the curb when 141 | they got to the corner. They yelled. They screamed, "Stop! Stop!" and jumped up and down 142 | on the side walk trying to get him to see them. The driver of the truck saw them, waved at 143 | them and smiled, pulled back to the curb and opened his truck up so that they could see 144 | everything that he had for sale. They were so excited. They saw some new treats. Tony 145 | wanted to try something new. He got an ice cream sundae with chocolate ice cream and 146 | nuts. He almost got a snow cone. Greta looked at everything that the ice cream truck 147 | had. She saw candy, ice cream cones, snow cones, and everything else. It all looked so 148 | good. But after looking at everything, she wanted to get an ice cream sandwich. She got 149 | the ice cream sandwich. She bit into it and smiled. It tasted so good. She felt so 150 | happy. Her brother, Tony, was happy too. He bit into his ice cream cone sundae and 151 | grinned. They walked home with their ice cream and told their mom about how close they 152 | came to not getting their ice cream at all. Their mom was happy that the truck had stopped 153 | for them. She said that they were very lucky to have gotten to the curb before the ice 154 | cream truck left. 155 | 156 | 1: multiple: What did the driver of the ice cream truck do when Greta and Tony got to the corner? 157 | *A) He started pulling away from the curb. 158 | B) He played the truck's jingle. 159 | C) He stayed parked at the curb. 160 | D) He almost got a snow cone. 161 | 162 | 2: multiple: What did the children do when they saw the ice cream truck driver pull away from the curb? 163 | A) They ran out into the street after the iced cream truck. 164 | *B) They screamed, "Stop! Stop!". 165 | C) They stood on the corner and cried. 166 | D) They ate ice cream. 167 | 168 | 3: multiple: What did Tony and Greta get from the iced cream truck? 169 | A) Tony got a snow cone. Greta got an ice cream sundae. 170 | B) Tony got a snow cone. Greta got an iced cream cone with chocolate iced cream and nuts. 171 | *C) Tony got an ice cream sundae with chocolate ice cream and nuts. 172 | D) Greta and Tony ice cream cones. 173 | 174 | 4: multiple: What did Greta and Tony do after they got their ice cream? 175 | A) They walked to a friend's house and talked to his mother about what happened. 176 | *B) They bit into it. 177 | C) They got in the truck. 178 | D) They walked home and went outside in their back yard to play. 179 | 180 | 181 | *************************************************** 182 | Story: mc160.dev.4 183 | Author: 2626224031 184 | Work Time(s): 2199 185 | 186 | My parents, Kelly and Kelley, said that it was that time of year to take a family 187 | vacation. We've been to big ride parks that have hotels with large pools. This year my 188 | parents wanted to do something different. They wanted to take us all to Elk River Castle. 189 | 190 | After lots of planning we hit the road for our trip. My Brother Kelsey and I enjoyed the 191 | long car ride there. 192 | 193 | Once we arrive, the castle looked much bigger than we had imagined. There was so much to 194 | see and so much to do. There was a swimming pool, movie theater and an elevator to take 195 | us from floor to floor. What a magical place! I was so excited because we had the whole 196 | place to our family! 197 | 198 | We spent our vacation playing around the huge castle and finding small mysterious places. 199 | There was even a tiny room in the back of one of the closets. My brother, Kelsey, and I 200 | played hide and go seek for hours, watched movies and swam until the sun went down. 201 | 202 | It was sad when our vacation finally came to an end but we made some amazing memories. 203 | We'll never forget our trip to Elk River Castle! 204 | 205 | 1: one: What was my brother's name? 206 | A) Kelly 207 | *B) Kelsey 208 | C) Caden 209 | D) Colby 210 | 211 | 2: one: Where did we go? 212 | A) Hood River Castle 213 | *B) Elk River Castle 214 | C) White Fish Castle 215 | D) White Salmon Castle 216 | 217 | 3: multiple: What did the castle have? 218 | A) A ball room 219 | *B) A movie theater 220 | C) A gym 221 | D) A hot tub 222 | 223 | 4: multiple: What did we do at the castle? 224 | A) Played ball 225 | B) Fished 226 | *C) Swam in the swimming pool 227 | D) Ran in the woods 228 | 229 | 230 | *************************************************** 231 | Story: mc160.dev.5 232 | Author: 3983187336 233 | Work Time(s): 1622 234 | 235 | Once upon a time there a little girl named Ana. Ana was a smart girl. Everyone in Ana's 236 | school knew and liked her very much. She had a big dream of becoming spelling bee 237 | winner. Ana studied very hard to be the best she could be at spelling. Ana's best friend 238 | would help her study every day after school. By the time the spelling bee arrived Ana and 239 | her best friend were sure she would win. There were ten students in the spelling bee. This 240 | made Ana very nervous, but when she looked out and saw her dad cheering her on she knew 241 | she could do it. The spelling bee had five rounds and Ana made it through them all. She 242 | was now in the finals. During the final round James, the boy she was in the finals with, was 243 | given a really hard word and he spelled it wrong. All Ana had to do was spell this last 244 | word and she would be the winner. Ana stepped to the microphone, thought really hard and 245 | spelled the word. She waited and finally her teacher said "That is correct". Ana had won 246 | the spelling bee. Ana was so happy. She won a trophy. Ana also won a big yellow 247 | ribbon. The whole school was also happy, and everyone clapped for her. The whole school 248 | went outside. They had a picnic to celebrate Ana winning. 249 | 250 | 1: multiple: What made Ana very nervous? 251 | *A) The other ten students 252 | B) Her best friend 253 | C) The bright lights 254 | D) The big stage 255 | 256 | 2: multiple: Where did the school have the picnic? 257 | A) The gym 258 | B) Ana's house 259 | *C) Outside 260 | D) Ana's classroom 261 | 262 | 3: one: What was Ana's big dream? 263 | A) Becoming a ballerina 264 | B) Becoming a famous singer 265 | C) Becoming class president 266 | *D) Becoming spelling bee winner 267 | 268 | 4: one: Who helped Ana study everyday? 269 | A) Her dad 270 | *B) Her best friend 271 | C) Her mom 272 | D) Her sister 273 | 274 | 275 | *************************************************** 276 | Story: mc160.dev.6 277 | Author: 1006609625 278 | Work Time(s): 2342 279 | 280 | Roger was a grasshopper. He loved to hop. He hopped everywhere by himself. One day when he 281 | was hopping around he bumped into a frog sitting on a log. The frog told him his name was 282 | Gilbert. Gilbert told Roger that it had been a long time since he bumped into 283 | anybody. Roger told him that since both grasshoppers and frogs like to jump they would 284 | make great friends. The next day they were hopping through a field and they saw something 285 | very strange. In a pond they saw a spider floating on a lily pad. The spider was very sad 286 | because he did not have any friends. Roger and Gilbert asked him why he didn't have any 287 | friends. The spider told them that everybody would scream and run away when they saw him. 288 | Roger and Gilbert told him that he didn't look scary to them and that he could come along 289 | with them if he wanted. So Sam the spider said yes, and the three of them began a life 290 | time friendship full of adventures. 291 | 292 | 1: multiple: What did Roger like to do? 293 | A) Bump. 294 | *B) Hop. 295 | C) Swim. 296 | D) Float. 297 | 298 | 2: one: What was the spider sitting on in the pond? 299 | A) branch 300 | *B) Lily pad 301 | C) land 302 | D) log 303 | 304 | 3: multiple: What character is not in the story? 305 | A) spider 306 | *B) lady bug 307 | C) grasshopper 308 | D) frog 309 | 310 | 4: one: What was the spider's name? 311 | A) Roger 312 | B) Sarah 313 | C) Gilbert 314 | *D) Sam 315 | 316 | 317 | *************************************************** 318 | Story: mc160.dev.7 319 | Author: 259176131 320 | Work Time(s): 882 321 | 322 | The cute red ball rolled over to the blue ball and said hello. The blue ball was scared 323 | and went to cry to the green ball. The green ball laughed at the blue ball. Then the green 324 | ball told the orange ball that blue ball was stupid. Most felt this was not good to do and 325 | so they punished the green ball by taking away all his air. 326 | 327 | From that day on everyone saw the air-less green ball and knew that they could not do or 328 | say any bad things. This is how the trouble started. The purple ball used the fear of 329 | everyone to become the leader that they all feared. The purple ball was mean to 330 | everyone. Until one day the red ball spoke up and got all the other colored balls together 331 | and they took the air from the purple ball and put it in the green ball. Sadly, the green 332 | ball had been without air for too long and was dead. 333 | 334 | 1: multiple: What color ball was the third brought up in the story? 335 | *A) green 336 | B) blue 337 | C) red 338 | D) purple 339 | 340 | 2: one: Which color ball became the leader? 341 | A) green 342 | B) blue 343 | C) red 344 | *D) purple 345 | 346 | 3: multiple: What color of ball scared the blue ball? 347 | A) purple 348 | *B) red 349 | C) orange 350 | D) green 351 | 352 | 4: one: At they end of the story, what was the state of the green ball. 353 | A) cute 354 | *B) dead 355 | C) fear 356 | D) taking 357 | 358 | 359 | *************************************************** 360 | Story: mc160.dev.8 361 | Author: 863905974 362 | Work Time(s): 329 363 | 364 | Sara wanted to play on a baseball team. She had never tried to swing a bat and hit a 365 | baseball before. Her Dad gave her a bat and together they went to the park to 366 | practice. Sara wondered if she could hit a ball. She wasn't sure if she would be any 367 | good. She really wanted to play on a team and wear a real uniform. She couldn't wait to 368 | get to the park and test out her bat. When Sara and her Dad reached the park, Sara grabbed 369 | the bat and stood a few steps away from her Dad. Sara waited as her Dad pitched the ball 370 | to her. Her heart was beating fast. She missed the first few pitches. She felt like 371 | quitting but kept trying. Soon she was hitting the ball very far. She was very happy and 372 | she couldn't wait to sign up for a real team. Her Dad was very proud of her for not giving 373 | up. 374 | 375 | 1: multiple: Why was Sara practicing? 376 | A) She wanted to show off 377 | B) She didn't want to do her homework 378 | *C) She wanted to play on a team 379 | D) She was bored 380 | 381 | 2: one: Who pitched the ball to Sara? 382 | A) Her Mom 383 | B) Her Sister 384 | *C) Her Dad 385 | D) Her Brother 386 | 387 | 3: multiple: Why was Sara's Dad proud of her? 388 | A) She didn't get dirty 389 | B) She didn't break the bat 390 | *C) She didn't quit 391 | D) She was better than her Dad 392 | 393 | 4: one: Where did Sara go to practice hitting the ball? 394 | A) A stadium 395 | B) Her yard 396 | *C) The park 397 | D) Her bedroom 398 | 399 | 400 | *************************************************** 401 | Story: mc160.dev.9 402 | Author: 2311321761 403 | Work Time(s): 634 404 | 405 | Peter was a very sad puppy. He had been inside of the pet store for a very long time. In 406 | fact, he had been there for three months! Peter had seen many other puppies find a 407 | person; he began to wonder why he could not get one. He thought that maybe his fur was 408 | not pretty enough or maybe his bark was not loud enough. He tried and tried to please 409 | every person who came to the store, but they all picked smaller puppies. However, one day 410 | all of this changed. Sammie came into the store looking for a golden puppy. She wanted a 411 | puppy she could snuggle with. It so happened that Peter was very sad and tired that day. 412 | Sammie came to hold him. Peter wanted to show off his bark, but he was too tired. He 413 | fell right to sleep. Sammie loved him at once and loved holding him in her arms. Sammie 414 | took Peter home that day, and they made lots of fun memories. 415 | 416 | 1: multiple: What did Peter want to do when Sammie came? 417 | A) He wanted to show off his fur 418 | B) He wanted to be beautiful 419 | C) He wanted to snuggle with her 420 | *D) He wanted to show off his bark 421 | 422 | 2: one: Where was Peter? 423 | A) Sad and tired 424 | *B) At the pet store 425 | C) Home 426 | D) At the park practicing his bark 427 | 428 | 3: multiple: What did Peter actually do when Sammie came? 429 | A) Peter showed off his fur 430 | B) Peter showed off his bark 431 | *C) Peter fell asleep 432 | D) Peter wondered if he would be a good enough puppy 433 | 434 | 4: multiple: What kind of puppy did Sammie want? 435 | A) A golden puppy that was small 436 | B) A golden puppy with shiny fur 437 | C) A puppy with a loud bark she could snuggle with 438 | *D) A golden puppy she could snuggle with 439 | 440 | 441 | *************************************************** 442 | Story: mc160.dev.10 443 | Author: 3842083771 444 | Work Time(s): 4095 445 | 446 | Luna the hawk wanted some socks. It was the middle of winter and sitting on tree branches 447 | made her feet very cold. Luna hoped that her friends could help her find some socks. She 448 | flew to the old maple tree where Olive the owl lived. 449 | 450 | "Olive, may I please borrow a pair of your socks?" she asked. 451 | 452 | Olive the owl looked surprised. "Luna, I have no use for socks because my legs and toes 453 | have thick feathers. Go visit one of the animals that walk on four legs. They might have 454 | extra socks you could borrow." 455 | 456 | Luna flew across the field and landed next to the icy creek. Rose the raccoon was teaching 457 | her six babies how to wash their paws. The water was very cold, but the babies were having 458 | fun. 459 | 460 | "Rose, my bare legs and bare toes are so cold, may I please borrow a pair of your socks?" 461 | begged Luna. 462 | 463 | Rose laughed hard. "Silly Luna, I do not have socks. Look at my legs and feet. They are 464 | covered with thick, warm fur. I'm sorry I cannot help you. Go visit the humans. Sometimes 465 | I tip over their garbage cans at night when I am looking for food. Once I saw a pair of 466 | socks." 467 | 468 | Luna was very afraid of humans. Her grandmother and mother had warned her about them. She 469 | was told that some humans are mean and hurt hawks. Her feet were so cold that it was 470 | difficult to grip tree branches. She became brave. She flew to the farmhouse on the big 471 | hill. When she landed on the roof, she could not believe her eyes. She saw socks! In late 472 | autumn, Henrietta the human had put laundry outside to dry and she had forgotten to bring 473 | in one tiny pair of socks. The socks were hanging on the clothesline by two wooden 474 | pins. Luna used her powerful beak to break the pins. She put on the socks and then flew 475 | back to her home in the huge tree. When she landed, her feet were warm and dry. Luna was 476 | very happy. 477 | 478 | 1: one: Why did Olive the owl not have any socks? 479 | A) She had given her socks to another friend. 480 | B) All of her socks were in the dirty laundry. 481 | *C) She has thick feathers on her legs and toes. 482 | D) She wore ski boots instead of socks. 483 | 484 | 2: multiple: Why was Luna afraid of humans? 485 | *A) Her grandmother and mother had told stories about mean humans hurting hawks. 486 | B) Humans were large and scary-looking. 487 | C) Humans put garbage in the hawks' nests. 488 | D) Humans stole all of the hawks' food. 489 | 490 | 3: multiple: Which animal did Luna not visit? 491 | A) Olive the owl 492 | B) Rose the raccoon 493 | *C) Opal the otter 494 | D) Henrietta the human 495 | 496 | 4: multiple: How could the baby raccoons play in the icy creek without hurting their paws? 497 | A) Because their mother made sure they had warm mittens to keep their paws dry. 498 | B) Because their mother taught them how to play in the water without getting cold. 499 | C) Because their legs and feet are tough from tipping over garbage cans. 500 | *D) Because their legs and feet have a thick covering of fur that keeps them warm. 501 | 502 | 503 | *************************************************** 504 | Story: mc160.dev.11 505 | Author: 534571148 506 | Work Time(s): 3659 507 | 508 | Once upon a time a young boy and young girl set out on a trip to the beach. They packed a 509 | few towels, an umbrella, a few beach chairs and a lunch cooler. They drove to the crowded 510 | beach parking lot and spent almost an hour trying to find a parking spot. Once they found 511 | a spot they parked and began walking to the beach area. They found a nice spot with a good 512 | view of the water and set up their belongings. Once they sat down they began to enjoy a 513 | nice lunch on the beach. They watched the boats go by and people playing in the water. It 514 | was a wonderful day and one they would always remember. Once they arrived home they 515 | suddenly found out that they both had a pretty good sunburn. They both said that next time 516 | they would use sun screen. 517 | 518 | 1: multiple: Was it a good day for the couple, and what did they find out when they got home? 519 | *A) It was a good day, and they found that they were sunburned 520 | B) It was not a good day, and they found they were sunburned. 521 | C) It was a good day, and they found they were late getting home 522 | D) It was not a good day, and they found that they got a parking ticket 523 | 524 | 2: multiple: Where were the couple going and how did they get their? 525 | A) The beach and by Bike 526 | B) The park and by bike 527 | C) The store and by car 528 | *D) The beach and by car 529 | 530 | 3: one: Besides boats what did the couple watch? 531 | A) dolphins 532 | B) people making sand castles 533 | *C) people playing in the water 534 | D) children playing in the sand 535 | 536 | 4: one: It took the young couple how long to find a parking spot? 537 | A) almost a half hour 538 | B) only a short time 539 | *C) almost an hour 540 | D) over an hour 541 | 542 | 543 | *************************************************** 544 | Story: mc160.dev.12 545 | Author: 212417544 546 | Work Time(s): 998 547 | 548 | Three little kids lived in a great big house with a great big cat and many places for a 549 | great big cat to hide. Their great big cat was named Cowboy. And Cowboy was not a very 550 | nice cat. Cowboy liked to bite and chew and scratch a great many things. When Cowboy was 551 | happy, which was not very often, Cowboy liked to bite in to a blanket or soft toy and 552 | carry it around in his mouth. When Cowboy was hungry he liked to bite bright red tomatoes 553 | and suck out all the juice and seeds. And when Cowboy was feeling mean he liked to hide. 554 | Cowboy would hide, curled up tight in a ball under a blanket or behind a corner and wait 555 | for one of the little kids to pass by. When they did pass by Cowboy would jump at their 556 | feet and try to bite and scratch them. He did not know that what he was doing was not 557 | very nice. Cowboy was only a cat. A great big cat that did not know any better. 558 | 559 | 1: one: What was the cat's name? 560 | A) Tony 561 | *B) Cowboy 562 | C) Cat 563 | D) Chowder 564 | 565 | 2: one: What did Cowboy like to eat when he was hungry? 566 | A) Cowboy liked to eat cat food. 567 | B) Cowboy liked to eat toys. 568 | C) Cowboy liked to eat blankets. 569 | *D) Cowboy liked to eat tomatoes. 570 | 571 | 3: multiple: When Cowboy felt mean he liked to... 572 | A) run and hide. 573 | B) chew on toys. 574 | C) bite the blankets. 575 | *D) hide and jump. 576 | 577 | 4: multiple: Cowboy was a... 578 | A) a tiny little cat. 579 | B) a normal size cat. 580 | *C) great big cat. 581 | D) a great big dog. 582 | 583 | 584 | *************************************************** 585 | Story: mc160.dev.13 586 | Author: 1460358657 587 | Work Time(s): 867 588 | 589 | On the first day of school, Mrs. Law asked all the students to write a story telling her 590 | what they did over the summer. She told the students that they were going to read them in 591 | front of the class. This was going to help everyone get to know more about each other. 592 | 593 | When all the students were done writing their stories, Anna raised her hand to read hers 594 | first. Mrs. Law smiled at Anna's excitement to share her story with the class. She told 595 | all the students to sit down and listen to Anna. 596 | 597 | Anna started reading her story. All the other students quickly paid attention, as her 598 | story was telling about her vacation to a park with lots of rides. Anna told them that she 599 | rode a huge ride called, "Superman," which was her favorite. After Anna finished reading 600 | her story, all the students clapped and said that they wished that they could hear 601 | more. Anna told them to tell their mommies and daddies to take them to visit the rides 602 | next summer. 603 | 604 | 1: multiple: Why did the students have to read their stories to the class? 605 | A) to get to know who had the best summer 606 | B) to get to know Mrs. Law 607 | *C) to help them get to know more about each other 608 | D) to get to know who had the best mommy and daddy 609 | 610 | 2: one: What did the students have to write about? 611 | A) the first day of school 612 | B) Mrs. Law 613 | C) Anna's summer vacation 614 | *D) what they did over the summer 615 | 616 | 3: multiple: Why did Mrs. Law smile at Anna? 617 | A) because Anna told the class a joke 618 | *B) because she raised her hand to read her story first 619 | C) because Anna laughed 620 | D) because Anna rode a huge ride 621 | 622 | 4: one: What was the huge ride called that Anna told the class about? 623 | A) Batman 624 | *B) Superman 625 | C) there wasn't one 626 | D) Jolly Green Giant 627 | 628 | 629 | *************************************************** 630 | Story: mc160.dev.14 631 | Author: 534571148 632 | Work Time(s): 10766 633 | 634 | This is a story about a bear and a wolf. The bear met the wolf one day in the woods. The 635 | bear said to the wolf, would you like to go to the river with me? The wolf said yes, he 636 | would like to go to the river. When the bear and the wolf got to the river they found that 637 | a beaver had built a bridge to the other side of the river. The bear and the wolf crossed 638 | the bridge that was built by the beaver and found that they were now in a part of the 639 | woods they had never seen before. A little worried that they may get lost in this part of 640 | the woods they had never seen before the bear and the wolf turned around. They went back 641 | over the bridge and were happy to be back in a part of the woods they knew so well. The 642 | beaver thanked both the bear and the wolf for trying out his new bridge and then started 643 | to build yet another bridge close to the first bridge. He was a very busy beaver. 644 | 645 | 1: one: Which animal built a bridge? 646 | *A) the beaver 647 | B) the bear 648 | C) the dog 649 | D) the wolf 650 | 651 | 2: multiple: what did the bear and wolf cross, and why did they turn back? 652 | A) a bridge, and they got hungry. 653 | B) a lake, and they did not want to get lost. 654 | C) a field and they did not want to get lost. 655 | *D) a bridge, and they did not want to get lost. 656 | 657 | 3: multiple: What did the beaver build and why did he thank the bear and wolf? 658 | A) a bridge, and for helping him to build the bridge. 659 | B) a house, and for trying out the bridge. 660 | *C) a bridge, and for trying out the bridge. 661 | D) a bridge, and for bring him food 662 | 663 | 4: one: This is a story of which two animals taking a walk in the woods? 664 | A) a bear and a beaver 665 | B) a dog and a wolf 666 | C) a bear and a dog 667 | *D) a bear and a wolf 668 | 669 | 670 | *************************************************** 671 | Story: mc160.dev.15 672 | Author: 3960091198 673 | Work Time(s): 725 674 | 675 | Jenny's family lived in a small apartment in Seattle. One day Jenny came home from school 676 | and her mom told her that the family was moving to Utah. Jenny was sad to leave her 677 | friends. Jenny was sad to leave her school. Jenny helped her mom pack boxes and clean 678 | their apartment to get ready for the move. Soon the day came when Jenny's dad brought a 679 | large truck to the parking lot and all of the family's things were put inside. Jenny and 680 | her mom rode in their car and her dad drove the truck towards Utah. Jenny loved getting 681 | to eat lots of yummy fast food on the way. When the family got to their new home in Utah, 682 | Jenny helped her parents to take all of the boxes into the house. She loved her new 683 | bedroom! When Jenny was emptying box of her toys, there was a knock at the door. It was 684 | a little girl who wanted Jenny to play! Jenny was going to like Utah! 685 | 686 | 1: one: Who drove the truck? 687 | A) Jenny 688 | B) Jenny's Brother 689 | C) Jenny's Mom 690 | *D) Jenny's Dad 691 | 692 | 2: one: Where did Jenny live before she moved? 693 | A) New York 694 | B) Utah 695 | C) Austin 696 | *D) Seattle 697 | 698 | 3: multiple: What made Jenny happy about being in Utah? 699 | A) the music 700 | B) the pretty views 701 | C) being with her mom 702 | *D) a little girl came to play 703 | 704 | 4: multiple: Why was Jenny sad about the move? 705 | A) She had to leave her stuff 706 | B) She didn't want to leave her soccer team 707 | *C) She had to leave her friends and her school 708 | D) She didn't want to leave her family 709 | 710 | 711 | *************************************************** 712 | Story: mc160.dev.16 713 | Author: 4251880037 714 | Work Time(s): 2649 715 | 716 | Mike and Jeff are close friends. Their school is having a guessing game to guess how many 717 | gumballs are in a box. If they get the right amount they win $100. If they get close they 718 | get a $20 gift card. The box looks like it is missing some gumballs. It turns out some 719 | people are eating them when they place their guess. 100 people guessed and took a piece of 720 | candy. The box is 10" by 10" by 10". Each gumball is 1" each. Mike guessed 500. Jeff 721 | guessed 800. They both said they would split their money they win, if they win. 722 | 723 | 1: multiple: Who is closer? 724 | A) Both 725 | *B) Jeff 726 | C) Mike 727 | D) Neither 728 | 729 | 2: one: How likely would it be for one of them to win? 730 | A) 5/100 731 | B) 10/100 732 | *C) 1/100 733 | D) 100/100 734 | 735 | 3: multiple: How likely would it be neither of them to win? 736 | A) 89/99 737 | B) 99/99 738 | C) 99/100 739 | *D) 98/100 740 | 741 | 4: multiple: What is the right amount? 742 | A) 1000 743 | B) 800 744 | *C) 900 745 | D) 700 746 | 747 | 748 | *************************************************** 749 | Story: mc160.dev.17 750 | Author: 1883940740 751 | Work Time(s): 1321 752 | 753 | Hannah and her friend Mary were bored. They sat around the house and tried to think about 754 | what to do. They petted the cat. They drew pictures in Hannah's notebook. They snuck 755 | into Hannah's mother's closet to try on her shoes, but Hannah's mother caught them. She 756 | said, "You girls need something to do. Let's take a walk to the park!" Hannah and Mary 757 | looked at each other, and then jumped up and down happily. "The park sounds great!" said 758 | Hannah. "Let's go!" cried Mary. So Hannah's mother packed up a snack of apples and 759 | cookies, and they all set off to walk to the park. They walked down the sidewalk, looking 760 | at all the interesting things along the way. Mary spotted a squirrel. Hannah saw a 761 | yellow bird. Hannah's mother pointed out the pretty yellow flowers growing in front of 762 | Mr. Smith's house. When they got to the park, Hannah's mother spread out a picnic blanket 763 | and the snack. Hannah and Mary ran around chasing butterflies for a little time, and then 764 | sat down to eat their snacks. When they finished, Hannah's mother put the leftovers in a 765 | trash can. As they walked back home, Hannah thought that the boring day had turned out 766 | quite well. 767 | 768 | 1: one: What did Hannah and Mary chase at the park? 769 | *A) butterflies 770 | B) turtles 771 | C) birds 772 | D) ducks 773 | 774 | 2: one: What did Hannah's mother do with the leftovers? 775 | A) threw it on the ground 776 | B) there was no trash 777 | *C) Put it in the trash can 778 | D) took it home 779 | 780 | 3: multiple: What did Hannah and Mary see on their way to the park? 781 | A) A butterfly and a bird 782 | *B) A squirrel, a yellow bird, and pink flowers 783 | C) A horse 784 | D) A pink squirrel, a bird, and yellow flowers 785 | 786 | 4: multiple: What did Hannah and Mary do when they were bored? 787 | A) sang songs and drew pictures 788 | B) played games 789 | *C) Petted the cat and drew pictures 790 | D) jumped rope 791 | 792 | 793 | *************************************************** 794 | Story: mc160.dev.18 795 | Author: 2195212743 796 | Work Time(s): 5807 797 | 798 | Douglas loves to play soccer. He plays for the Dolphins. He is very good. He was excited 799 | about the big game with the Lions. The night before the game, he went to bed late. He 800 | was watching three TV shows that night. First, was Muffins the Cat. The second show was 801 | Ernie the Talking Donkey. The third was Laughing with Herman Hamster. His Mom told him 802 | to go to bed, but Douglas didn't listen. He fell asleep on the couch. He dreamed all 803 | night. First about sheep jumping fences. Second about playing fetch the ball with 804 | Ruffles. Third about Ernie the talking Donkey kicking a soccer ball over the moon. Fourth 805 | about his favorite soccer player, Pele, head the ball in the goal. 806 | 807 | Finally, the next morning, Douglas got up late because he was so tired. His Mom called 808 | him and the alarm went off, but he did not hear. To get Douglas up, his Mom got Ruffles 809 | the dog to lick him in the face. Douglas got up but had to eat breakfast fast. Then he 810 | quickly dressed into his uniform. He was yawning. 811 | 812 | His Mom drove him to the soccer field. The game had started. Douglas had to sit out the 813 | first quarter. His team was losing one to nothing when Howard scored for the Lions. 814 | Douglas started the second quarter. He was tired and could not keep up with the rest of 815 | his team. The coach was surprised that Douglas was so slow. Usually he was fast. After 816 | the second quarter, the Dolphins were losing two to one after Howard scored again for the 817 | Lions and Toby scored a goal for the Dolphins. While the coach gave energy drinks to the 818 | team, Douglas fell asleep. The third quarter started. 819 | 820 | Douglas was snoring when the coach told him to go in. When he saw Douglas was sleeping, 821 | he sent Billy into the game. Billy scored one goal and the Dolphins had tied the game two 822 | to two. Ruffles the dog started barking and then licking Douglas in the face. Douglas 823 | got up and stretched. He was finally well rested. The coach saw Douglas and sent him 824 | into the game. Douglas remembered his dream. In the last second, he headed the ball in 825 | the goal like Pele. He won the game. The team cheered. 826 | 827 | Since that time, Douglas goes to bed on time. He always wants to be well rested. His Mom 828 | was right. He gave her a hug. 829 | 830 | 1: multiple: What dream helped Douglas win the game? 831 | A) He dreamed about Ernie the donkey kick the ball over the moon. 832 | *B) He dreamed about Pele heading the ball in the goal. 833 | C) He dreamed about Ruffles fetching the ball. 834 | D) He dreamed about sheep jumping over fences. 835 | 836 | 2: one: Who woke Douglas up by licking him in the face? 837 | A) Muffin the cat. 838 | B) Herman the hamster. 839 | C) Ernie the donkey. 840 | *D) Ruffles the dog. 841 | 842 | 3: multiple: How many points did the Dolphins score and who scored the goals? 843 | A) They scored two points. Ruffles and Billy scored. 844 | *B) They scored three points. Toby, Billy and Douglas scored. 845 | C) They scored five points. Howard, Billy, Ruffles, Douglas, and Billy scored. 846 | D) They scored one point. Toby scored. 847 | 848 | 4: one: What game does Douglas love to play? 849 | A) Douglas loves to play baseball. 850 | *B) Douglas loves to play soccer. 851 | C) Douglas loves to play basketball. 852 | D) Douglas loves to play cards. 853 | 854 | 855 | *************************************************** 856 | Story: mc160.dev.19 857 | Author: 259176131 858 | Work Time(s): 1010 859 | 860 | I'm here to tell you the story of a robot named Carl. He came from a far away land known as 861 | Factory. Carl was sad because he was missing a part called a tire. He also needed a sun 862 | gatherer. But, the tire was more important. Once Carl got all these parts he could travel 863 | to his new home in the nation of Lab and the city of Office. It was a tricky thing to get 864 | there with missing parts. Just as he had given up hope Carl got a message from Mr. X 865 | saying the new parts were ready to be delivered. This made the robot very happy. The parts 866 | arrived a few days later and Carl put them in with 2 days of work. After this Carl began 867 | to travel the last bit of his goal to get to his new job. After this Carl took 10 days to 868 | get to Lab. 869 | 870 | 1: one: What nation did Carl want to get to? 871 | A) Carl 872 | B) Office 873 | C) Factory 874 | *D) Lab 875 | 876 | 2: multiple: Besides a tire what part did Carl need? 877 | A) missing 878 | B) important 879 | C) tire 880 | *D) sun gatherer 881 | 882 | 3: multiple: Where did Carl come from? 883 | A) Lab 884 | B) Mr. X 885 | C) Office 886 | *D) Factory 887 | 888 | 4: one: What was the only city in the story? 889 | *A) Office 890 | B) Mr. X 891 | C) Lab 892 | D) Factory 893 | 894 | 895 | *************************************************** 896 | Story: mc160.dev.20 897 | Author: 1091830255 898 | Work Time(s): 1853 899 | 900 | On a hot summer day, Brian was walking home from the park. While walking, Brian passed his 901 | favorite toy store, and saw that they had a new baseball glove in the window. Brian's 902 | baseball glove was very old and was ripped in a few places. Brian really wanted the new 903 | glove because he wanted to show off his glove to his friends tomorrow. The cost of the 904 | new glove was fifteen dollars, but when Brian checked his pockets for money, he only had 905 | six dollars and fifty cents. Brian ran home and went to look around his house for money. 906 | He checked under his bed and found fifty cents under some toys. He then checked all of 907 | his pockets of his pants and shorts, and found another two dollars. Brian then went to 908 | look between the cushions on all of the couches in his house, and he found another three 909 | dollars. After finally looking around his whole house, Brian knew that he still did not 910 | have enough money to buy the new glove. Brian went outside and saw his dad doing yard 911 | work. He told his dad that he would finish all the yard work for him, if he could have the 912 | money he needed for the new glove. His dad said yes, so Brian spent the rest of the 913 | afternoon raking the yard, and bagging leaves. Brian's dad was very proud that his son 914 | was working hard for money. When Brian was finally done, Brian knew that he was too 915 | late, and the toy store was closed. Just as Brian was walking inside, he saw his dad walk 916 | up to home holding the new glove that he wanted. Brian was so happy, and he and his dad 917 | spent the rest of the afternoon having a catch. 918 | 919 | 1: one: Why did Brian dad buy him the glove? 920 | A) His dad wanted to him to practice. 921 | B) His dad didn't want him to use his old glove. 922 | *C) His dad was proud that he was working hard. 923 | D) His dad knew that he really wanted it in order to show off his friends. 924 | 925 | 2: one: How much money did Brian find under his bed? 926 | A) Fifteen dollars 927 | B) Two Dollars 928 | *C) Fifty cents 929 | D) Three dollars 930 | 931 | 3: multiple: Why did Brian want a new glove? 932 | *A) So he could show it off to his friends. 933 | B) He did not have any baseball glove. 934 | C) He lost his old baseball glove. 935 | D) So he could have a catch with his dad. 936 | 937 | 4: multiple: How much money did Brian have in total after looking in his house? 938 | A) Fifteen dollars 939 | *B) Twelve dollars 940 | C) Six dollars 941 | D) Fifty dollars 942 | 943 | 944 | *************************************************** 945 | Story: mc160.dev.21 946 | Author: 1815495932 947 | Work Time(s): 1548 948 | 949 | On a nice and sunny day, Bob and Sally walked to the beach. When they got there, the first 950 | thing they wanted to do was to look for buried treasure. To find the treasure they had 951 | brought two shovels and two buckets. They both started digging holes in the sand with 952 | their shovels. After looking very hard for treasure for an hour, they didn't find 953 | anything. This made Bob and Sally very sad. They gave up and went to play in the 954 | water. While they were playing in the water, Sally found a bottle with a little paper 955 | inside. Sally opened the bottle and found a treasure map. Sally showed the map to Bob and 956 | they started to look for the treasure. After walking every step that the map said, they 957 | started digging with their shovels. After digging a really a big hole, they found a 958 | box. They were very happy that they found it and wanted to see what was inside. Bob slowly 959 | opened the box and there was a very big pearl. Next, they ran to a special store to ask 960 | about the pearl. The worker in the store told Bob and Sally that the pearl could make them 961 | rich. Bob and Sally looked at each other and decided not to sell it. They took the pearl 962 | home and saved it in a special box, so they could remember their day at the beach. 963 | 964 | 1: one: What did Bob and Sally find in the box? 965 | A) A coin 966 | *B) A pearl 967 | C) A ring 968 | D) A necklace 969 | 970 | 2: one: What did Sally find in the water? 971 | A) A shell 972 | B) A bucket 973 | *C) A bottle 974 | D) A shovel 975 | 976 | 3: multiple: What did Bob and Sally do after they showed the pearl to the worker? 977 | A) They sold it. 978 | B) They left it at the beach. 979 | *C) They took it home. 980 | D) They gave it away. 981 | 982 | 4: multiple: Why did Bob and Sally stop looking for the treasure? 983 | *A) They were sad at not finding anything. 984 | B) They forgot to bring a shovel. 985 | C) They did not want to find the treasure. 986 | D) They got hungry. 987 | 988 | 989 | *************************************************** 990 | Story: mc160.dev.22 991 | Author: 3310356749 992 | Work Time(s): 2220 993 | 994 | It was a beautiful sunny and warm day. I was working outside in my garden. I was pulling 995 | weeds which is not my favorite job, but I was enjoying the day. I live by a lake so 996 | sometimes I take a break from my chores and look at the lake. It is so beautiful and it 997 | makes me happy to look at the beautiful lake and see what animals I can find swimming in 998 | or near the lake. 999 | 1000 | On this day, I kept hearing a low soft sound coming from the lake. I got up from my garden 1001 | and walked to the lake. I kept hearing this strange sound. It sounded like someone talking 1002 | in a very low voice. I thought it might be a lake bird because we see and hear them all of 1003 | the time. The lake birds have several different calls that tell what they want to "say" to 1004 | other lake birds. There is the call when they are flying which is very hurried and 1005 | short. Then there is the "where are you" call which is long, slow and loud. But this sound 1006 | was not like any I had ever heard. I went to get the binoculars to see if I could spot 1007 | anything. But, no luck. I still kept hearing this low talking sound. I had now totally 1008 | given up weeding. Finding this strange sound was going to be more fun. But where was it 1009 | coming from? I looked again up and down the lake and saw nothing. Finally I went around to 1010 | the other side of the place where we keep our boats. There is an area there where it is 1011 | not a very deep part of the water. I spotted them! It was a mother lake bird and a father 1012 | lake bird with a baby in between them. They were teaching the baby how to swim and eat 1013 | fish. The low talking sound that I heard must have been them trying to teach the baby to 1014 | swim and eat the fish. I sat there on the bank and watched for a half an hour. I felt very 1015 | special that I got to see this. It was such a fun thing to see and way more fun than 1016 | gardening. 1017 | 1018 | 1: one: What was I doing on this day at the beginning of the story? 1019 | A) fishing 1020 | B) sleeping 1021 | *C) working in the garden 1022 | D) cooking 1023 | 1024 | 2: one: What did I finally see? 1025 | A) two lake birds 1026 | B) four lake birds 1027 | *C) three lake birds 1028 | D) one lake bird 1029 | 1030 | 3: multiple: What was the sound that I kept hearing? 1031 | A) something that sounded like laughing 1032 | *B) something that sounded like low talking 1033 | C) something that sounded like crying 1034 | D) something that sounded like singing 1035 | 1036 | 4: multiple: How did I feel at the end of the story? 1037 | *A) happy 1038 | B) sick 1039 | C) sad 1040 | D) glum 1041 | 1042 | 1043 | *************************************************** 1044 | Story: mc160.dev.23 1045 | Author: 3048636168 1046 | Work Time(s): 1252 1047 | 1048 | One day Magneson took a walk in the park. He passed some trees and a pond. In the pond 1049 | was a duck named George. George's wife was also in the pond. Her name was Nancy. 1050 | 1051 | Magneson walked over to the tree. Nancy flew up into the tree. She wanted to warn 1052 | Magneson about the killer squirrel who lived inside of the tree. A few years before, the 1053 | squirrel had thrown a chestnut at George and Nancy's son. He was knocked out, and the 1054 | squirrel took him away. He was never seen again. 1055 | 1056 | Magneson asked what their son's name was. They said it was Leonard. But Magneson was 1057 | only making small talk. He didn't believe the story about the killer squirrel. Even if 1058 | there was one, there were many rocks by the pond that he could throw at the squirrel. He 1059 | could also hide in the tall grass. 1060 | 1061 | George and Nancy were sorry to see that Magneson wouldn't listen. They flew away, singing 1062 | a sad song. A short time later, the squirrel came out of the tree and threw a giant 1063 | walnut at Magneson. No one ever saw Magneson again. 1064 | 1065 | 1: multiple: What was George's wife's name? 1066 | A) Magneson 1067 | B) George 1068 | *C) Nancy 1069 | D) Leonard 1070 | 1071 | 2: multiple: Who did the squirrel throw things at? 1072 | A) Nellie and George 1073 | *B) Leonard and Magneson 1074 | C) George and Leonard 1075 | D) Magneson and Nellie 1076 | 1077 | 3: one: What did the squirrel throw at Magneson? 1078 | A) a chestnut 1079 | *B) a giant walnut 1080 | C) a duck 1081 | D) a rock 1082 | 1083 | 4: one: Where did Magneson walk? 1084 | A) in the trees 1085 | B) in the pond 1086 | *C) in the park 1087 | D) in the tall grass 1088 | 1089 | 1090 | *************************************************** 1091 | Story: mc160.dev.24 1092 | Author: 2612134556 1093 | Work Time(s): 2652 1094 | 1095 | Every Monday morning, the little bad boy named Josh goes to school. 1096 | 1097 | Suddenly, little Josh slips on a banana skin ... 1098 | 1099 | - Ouch, says Josh, I fell on this and in addition I got a bump on the forehead! 1100 | 1101 | - Wonderful! said the banana peel. I am Mary. I turned into banana skin after throwing trash on the school yard. You have saved me and now I'm back to good old Mary. What's your name? 1102 | 1103 | - Mine is Josh... I'm a late to class ... are you serious, where is the banana peel anyways? 1104 | 1105 | - The Banana, my dear Josh, was eaten by me, I threw the banana peel and turned into one ... now you saved me, can you see the banana peel you slipped on around here? 1106 | 1107 | - No, you are right. 1108 | 1109 | - Mary said: Josh, Thank you 1110 | 1111 | - Excuse me, Mary ... I have to go ... Otherwise I'll be late for school ... And I would not want to upset the teacher. 1112 | 1113 | 1: one: Who slipped on a banana skin? 1114 | *A) Josh 1115 | B) John 1116 | C) Mary 1117 | D) Kate 1118 | 1119 | 2: multiple: Why Josh was in such a hurry? 1120 | A) Josh had a soccer game to play. 1121 | B) Josh was going back home. 1122 | C) Josh was heading to the school yard. 1123 | *D) Josh was late to class. 1124 | 1125 | 3: one: Who turned into banana skin after throwing trash on the school yard? 1126 | *A) Mary 1127 | B) Kate 1128 | C) Josh 1129 | D) Peter 1130 | 1131 | 4: multiple: Who are the principal characters of the story 1132 | A) Mary and Kate 1133 | *B) Mary and Josh 1134 | C) Josh and Peter 1135 | D) Kate and Josh 1136 | 1137 | 1138 | *************************************************** 1139 | Story: mc160.dev.25 1140 | Author: 868073141 1141 | Work Time(s): 5062 1142 | 1143 | Once there was a young boy named Bret who had a cat named Wolfgang. The boy had really 1144 | wanted a wolf for a pet, but his mother said wolves liked to hog the bathroom and liked 1145 | to blow things down and they snored. So the boy had to call his cat Wolfie. 1146 | 1147 | He had also thought about naming his cat Sir Purrsalot. Bret himself planned to become a 1148 | knight when he grew up (or maybe a cowboy) and thought Sir Purrsalot sounded like a good 1149 | name for his brother knight. The difficulty there was that Wolfie didn't purr a lot. He 1150 | purred when he was being fed or petted, but no one could say he purred a lot. Plus Bret's 1151 | mother said knights liked to poke things with their swords and they also liked to hog the 1152 | bathroom and they clanked. 1153 | 1154 | So Bret was left with a cat named Wolfgang. The neighbors gave him strange looks when he 1155 | stood in the front yard in the evening and yelled "Wolfie! Here Wolfie!!!", to get 1156 | Wolfgang to come in for the night. But Bret didn't care what anyone else thought. He had 1157 | a Wolfie and maybe he'd end up becoming a pet doctor when he grew up instead. 1158 | 1159 | 1: multiple: When did Wolfie purr? 1160 | A) when hogging the bathroom 1161 | *B) when petted 1162 | C) when poked 1163 | D) when sleeping 1164 | 1165 | 2: multiple: What was the name of the cat? 1166 | A) Bret 1167 | B) Buster 1168 | *C) Wolfgang 1169 | D) Sir Purrsalot 1170 | 1171 | 3: one: What was one reasong his mother didn't like knights? 1172 | A) they grew up 1173 | B) they purred 1174 | C) they snored 1175 | *D) they clanked 1176 | 1177 | 4: one: What was one reason his mother didn't like wolves? 1178 | A) they yelled 1179 | B) they barked 1180 | C) they purred 1181 | *D) they snored 1182 | 1183 | 1184 | *************************************************** 1185 | Story: mc160.dev.26 1186 | Author: 472016790 1187 | Work Time(s): 2027 1188 | 1189 | Sally liked going outside. She put on her shoes. She went outside to walk. She walked on 1190 | the green grass. The sun was warm. The trees were tall. The birds sang in the trees. 1191 | Sally liked how the birds can sing. Sally likes to sing with the birds, outside. Ring, 1192 | ring, is how the birds sang. Sally sang ring, ring, with the birds in the trees. Sally 1193 | took off her shoes. Sally liked how the green grass was on her toes. Sally's toes liked 1194 | the green grass. Sally walked on the green grass some more. She saw Missy the cat. 1195 | Missy the cat meowed to Sally. Sally waved to Missy the cat. Sally likes Missy the cat. 1196 | Sally likes to meow to Missy the cat. Meow, meow, Sally says to Missy the cat. Missy the 1197 | cat walks away from Sally. Sally hears her name. Sally, Sally, come home, Sally's Mom 1198 | calls out. Sally runs home to her Mom. Sally liked going outside. 1199 | 1200 | 1: multiple: Why did Sally put on her shoes? 1201 | A) To wave to Missy the cat 1202 | B) To hear her name 1203 | *C) Because she wanted to go outside 1204 | D) To come home 1205 | 1206 | 2: one: What did Sally like to do? 1207 | *A) Sally liked going outside 1208 | B) walk on the green grass 1209 | C) put on her shoes 1210 | D) take off her shoes 1211 | 1212 | 3: one: What was the name of the cat? 1213 | A) Meow 1214 | *B) Missy 1215 | C) Sally 1216 | D) Ring 1217 | 1218 | 4: multiple: Who called Sally? 1219 | A) Missy the cat 1220 | B) The birds 1221 | C) The trees 1222 | *D) Her Mom 1223 | 1224 | 1225 | *************************************************** 1226 | Story: mc160.dev.27 1227 | Author: 1429298732 1228 | Work Time(s): 2461 1229 | 1230 | Tammy likes the park. There are swings at the park. There is a slide at the park. 1231 | 1232 | Mary goes to the park with Tammy. They jump rope. They play tag. They like the park. 1233 | 1234 | Tammy and Mary have fun at the park. Tammy has a dog named Max. Tammy and Mary take Max to the park. 1235 | 1236 | Max likes the park. He chases rabbits. He chases a ball. Tammy throws the ball to Max. Mary throws the ball to Max. 1237 | 1238 | The park is no fun in the rain. Tammy and Mary cannot go to the park when it rains. Mother 1239 | says no. They are sad when they cannot go to the park. 1240 | 1241 | Tammy and Mary play in the house when it rains. They play with dolls. They dress up and 1242 | have a tea party. 1243 | 1244 | Today is sunny. Tammy and Mary can go to the park. Mother says yes. They can take Max to 1245 | the park. They are happy when it is sunny. 1246 | 1247 | 1: one: Who has a dog? 1248 | A) The park 1249 | B) Max 1250 | *C) Tammy 1251 | D) Mary 1252 | 1253 | 2: multiple: What do Tammy and Mary do when it rains? 1254 | A) go to the park 1255 | *B) Play with dolls, have a tea party 1256 | C) play ball 1257 | D) chase rabbits 1258 | 1259 | 3: multiple: Who likes to go to the park? 1260 | A) Dolls 1261 | B) Mother 1262 | *C) Tammy and Mary 1263 | D) The rabbits 1264 | 1265 | 4: one: What is the the name of the dog? 1266 | A) Mother 1267 | *B) Max 1268 | C) Tammy 1269 | D) Mary 1270 | 1271 | 1272 | *************************************************** 1273 | Story: mc160.dev.28 1274 | Author: 2345117472 1275 | Work Time(s): 932 1276 | 1277 | Once upon a time, there was a dog named Puddles. Puddles was lonely because he lived in an 1278 | area where there were no other dogs, but only cats. Day after day, Puddles would have to 1279 | eat cat food and do cat things in order to fit in with the rest of his group. He found it 1280 | very boring and Puddles was sad. Puddles didn't even look like a cat! 1281 | 1282 | All of the other cats teased Puddles. "You're too big," they said. "You've got too long of 1283 | a nose!" "Why are you panting like that?" Puddles knew that he was different. 1284 | 1285 | One day, Puddles chose to run away from all of the cats. The cats laughed at him. What a 1286 | stupid dog! Didn't he know that there were monsters in the woods that could eat him? 1287 | Puddles didn't care, because Puddles was sad enough to try. 1288 | 1289 | So Puddles packed up his things - his squeaky ball, his water dish, and his bone - and 1290 | headed off into the woods. He was finally happy! All of a sudden, Puddles turned. He 1291 | smelled a funny smell. It smelled like something he had never smelled before. He turned 1292 | around, and what did he see but another dog! 1293 | 1294 | Puddles was so happy, he barked with joy. He went home with the other dog, who was named 1295 | Mittens, and to his family. Puddles was never lonely again. 1296 | 1297 | 1: multiple: Why did the cats not like him? 1298 | A) He didn't eat cat food 1299 | B) He had a long nose 1300 | *C) He was different 1301 | D) He panted 1302 | 1303 | 2: one: Where did Puddles live in the beginning? 1304 | A) with cats and dogs 1305 | *B) In a group of cats 1306 | C) In a group of dogs 1307 | D) With humans 1308 | 1309 | 3: multiple: What does Puddles choose to do? 1310 | *A) Go into the woods 1311 | B) Go to sleep 1312 | C) Eat cat food 1313 | D) Become a cat 1314 | 1315 | 4: one: Who did Puddles find? 1316 | A) Food 1317 | B) A monster 1318 | *C) A dog family 1319 | D) A group of cats 1320 | 1321 | 1322 | *************************************************** 1323 | Story: mc160.dev.29 1324 | Author: 400332158 1325 | Work Time(s): 839 1326 | 1327 | Once upon a time there was a princess who lived in a high tower and she was not allowed to 1328 | leave because of her mean mother. One day she chose to leave but her mother would not let 1329 | her. The princess climbed out the window of the high tower and climbed down the south wall 1330 | when her mother was sleeping. She wandered out a good ways. Finally she went into the 1331 | forest where there are no electric poles but where there are some caves. There she met a 1332 | young man who was running. His name was John. John asked the princess why such a beautiful 1333 | woman like her was out in the middle of a forest. She said that she had been trapped for 1334 | her whole life by an evil woman who said she was her mother. The man said that he would 1335 | take the princess to a castle that was near. He also said that he thought that she may be 1336 | the missing princess. As they go through the forest they run into many problems. They see 1337 | that they are lost and have no way of finding where to go. After several days pass, the 1338 | princess climbs up to the top of a tree in order to find out where they are. She sees that 1339 | the castle where they want to go is not that far away and near a mountain. After thinking 1340 | of the best way to get there, John and the princess go to the castle where they live for 1341 | the rest of their lives. 1342 | 1343 | 1: multiple: Where did the princess wander to after escaping? 1344 | A) Mountain 1345 | *B) Forest 1346 | C) Cave 1347 | D) Castle 1348 | 1349 | 2: one: Who escaped from the tower? 1350 | A) Mother 1351 | *B) Princess 1352 | C) Man 1353 | D) John 1354 | 1355 | 3: multiple: What did the princess climb to see the castle? 1356 | A) Electric pole 1357 | B) mountain 1358 | *C) Tree 1359 | D) Castle 1360 | 1361 | 4: one: Where does the princess live in the beginning? 1362 | A) Castle 1363 | B) house 1364 | C) Cave 1365 | *D) High Tower 1366 | 1367 | 1368 | --------------------------------------------------------------------------------