8. A computer-implemented method of contextual text adaptation, the method performed by one or more hardware processors, comprising: receiving a corpus of documents in context of a target user; receiving a dictionary of synonyms; generating a topic model algorithm based on at least the corpus of documents by machine learning, the topic model algorithm comprising a first function that predicts probability distribution of a plurality of topics in a given document, and a second function that predicts probability of a given word occurring in a document associated with a given topic; receiving an input document; determining input document topics associated with the input document and a normalized weight associated with each of the input document topics by executing the first function; determining an aggregate probability indicating relevance of an input document word to the input document topics based on executing the second function; determining a synonym of the input document word based on the dictionary of synonyms; determining an aggregate probability for the synonym based on executing the second function; comparing the aggregate probability for the synonym and the aggregate probability for the input document word; and responsive to determining that the aggregate probability for the synonym is greater than the aggregate probability for the input document word, replacing the input document word with the synonym; and generating an output document comprising content of the input document with replaced word.
9. The method of claim 8 , wherein the determining of an aggregate probability indicating relevance of an input document word to the input document, the determining of an aggregate probability for the synonym, the comparing of the aggregate probability for the synonym and the aggregate probability for the input document word, and the replacing of the input document word with the synonym responsive to determining that the aggregate probability for the synonym is greater than the aggregate probability for the input document word, is performed for each of a plurality of input document words in the input document.