1. A computer-implemented method comprising: identifying, by a computer, one or more keywords from text of a resource received from a second computer over one or more networks; for each respective keyword parsed from the text, determining, by the computer, a word difficulty score associated with the respective keyword; storing, by the computer, into a keyword store the one or more keywords parsed from the text and each respective word difficulty score; identifying, by the computer, in a set of one or more language skills a particular language skill to exercise based on an ability score in a record of a learner assigned to the particular language skill to exercise; selecting, by the computer, a learning activity of a type of learning activity that exercises the identified language skill in response to identifying the language skill to exercise; generating, by the computer, one or more distractors of one or more types of distractors using the one or more keywords stored in the keyword store, wherein the computer stores into a distractor store configured to store a plurality of distractors at least one distractor of a type of distractor corresponding to the type of learning activity selected to exercise the language skill; selecting, by the computer, from the distractor store a set of one or more distractors, each distractor of the set of the type of distractor corresponding to the type of the learning activity; and generating, by the computer, one or more graphical user interfaces configured to display the selected learning activity at the second computer, wherein the selected learning activity comprises at least one distractor from the selected set of one or more distractors.