1. A computer-implemented method of generating a custom dictionary for an e-book, comprising: receiving a first custom dictionary request from a user client operated by a user, the first custom dictionary request identifying the e-book and including dictionary management information describing the user; choosing a first reading level threshold for the user based on the dictionary management information; identifying a first set of candidate words in the identified e-book for inclusion in the first custom dictionary; selecting words for inclusion in the first custom dictionary from among the first set of candidate words responsive to the first reading level threshold; generating the first custom dictionary using the selected words; providing the generated first custom dictionary to the user client; receiving a second custom dictionary request from the user client, the second custom dictionary request identifying the e-book and including a second reading level threshold that is lower than the first reading level threshold; selecting a second set of candidate words that have higher complexity scores than the first reading level threshold; retrieving word definition information for the second set of candidate words that were not part of the first custom dictionary; and providing the retrieved word definition information to the user client.