1. A computer-implemented method comprising: automatically selecting, by a computer, from a keyword store a set of one or more target words stored in the keyword store, each respective target word having a word difficulty score based upon one or more skill scores of a learner-record stored in a learner database, wherein the keyword store is configured to store a plurality of target words extracted from one or more resources, and metadata associated with each respective target word, and wherein the metadata associated with each respective target word in the keyword word store indicates the word difficulty score of the respective target word; generating, by the computer, a set of one or more syntactic distractors comprising one or more words having a same root word as the target word and having a grammatical difference; and generating, by the computer, at least one more distractor from a group of a set of one or more semantic distractors comprising one or more words having a definition that is related to a target word, a set of one or more orthographic distractors comprising one or more words of the plurality of words, and, a set of phonetic distractors comprising one or more homophones of the target word, based upon the one or more skill scores of the learner-record.