15. A system of one or more computers configured to perform operations comprising: identifying a plurality of documents, for each document in the plurality of documents: determining a first topic associated with a first portion of the document based on extracting metadata associated with the document; determining a second, differing topic associated with a second, differing portion of the document based on textual content of the second portion; generating a first topic vector associated with the document based on the first and the second topics, the first topic vector indicating respective relations between the first and the second topics and the document; generating a second topic vector associated with one or more keywords associated with the user; determining a correlation between the document and one or more keywords based on a comparison of the first topic vector and the second topic vector; determining a time weight for the document, the time weight indicating an amount of time to display a portion of the document to the user through a GUI based at least in part on the correlation; displaying a particular portion of a first document of the plurality of documents to the user through the GUI for the respective determined amount of time; during the display of the particular portion of the first document, identifying a user interaction with the particular portion of the first document, and a particular topic associated with the particular portion of the first document, the particular topic being one of the first topic and the second topic, the user interaction including an adjustment to the determined amount of time of display of the particular portion of the first document; generating a user interaction topic vector based on the user interaction; identifying a second, differing document of the plurality of documents; comparing the user interaction topic vector with a topic vector associated with the second document; based on the comparing the user interaction topic vector with the topic vector associated with the second document, updating a time weight for a portion of the second document that is associated with the particular topic; and after displaying the particular portion of the first document, displaying the second document of the plurality of documents to the user through the GUI for the updated time weight.
15. A system of one or more computers configured to perform operations comprising: identifying a plurality of documents, for each document in the plurality of documents: determining a first topic associated with a first portion of the document based on extracting metadata associated with the document; determining a second, differing topic associated with a second, differing portion of the document based on textual content of the second portion; generating a first topic vector associated with the document based on the first and the second topics, the first topic vector indicating respective relations between the first and the second topics and the document; generating a second topic vector associated with one or more keywords associated with the user; determining a correlation between the document and one or more keywords based on a comparison of the first topic vector and the second topic vector; determining a time weight for the document, the time weight indicating an amount of time to display a portion of the document to the user through a GUI based at least in part on the correlation; displaying a particular portion of a first document of the plurality of documents to the user through the GUI for the respective determined amount of time; during the display of the particular portion of the first document, identifying a user interaction with the particular portion of the first document, and a particular topic associated with the particular portion of the first document, the particular topic being one of the first topic and the second topic, the user interaction including an adjustment to the determined amount of time of display of the particular portion of the first document; generating a user interaction topic vector based on the user interaction; identifying a second, differing document of the plurality of documents; comparing the user interaction topic vector with a topic vector associated with the second document; based on the comparing the user interaction topic vector with the topic vector associated with the second document, updating a time weight for a portion of the second document that is associated with the particular topic; and after displaying the particular portion of the first document, displaying the second document of the plurality of documents to the user through the GUI for the updated time weight. 19. The system of claim 15 , wherein the operations further comprise: identifying a plurality of historical documents from a database; displaying, sequentially, each of the plurality of historical documents to the user; for each displayed historical document, receiving at least one characteristic of the displayed historical document from the user; based at least in part on the received characteristic, assigning a topic to the displayed historical document; and determining a display time associated with the topic based on user feedback.