1. A computer system for providing annotations for revising a message, comprising: a processor; and a storage device connected to the processor, wherein the storage device has stored thereon a program, and wherein the processor is configured to execute instructions of the program to perform operations, wherein the operations comprise: receiving a message to be sent from a sender to a recipient; receiving selection of a dialect for the sender and a dialect for the recipient; receiving a level of misunderstanding that is acceptable to the recipient; selecting a meaning map associated with the sender based on the dialect for the sender to determine a first context of the message that indicates a first way in which the message is understood; selecting a meaning map associated with the recipient based on the dialect for the recipient to determine a second context of the message that indicates a second way in which the message is understood; parsing the message into sub-constructs; comparing the sub-constructs in the meaning map associated with the sender and the meaning map associated with the recipient to identify words and phrases where there are differences between perceptions of the sender and the recipient; and in response to the comparisons showing that the differences are greater than a threshold that is based on the level of misunderstanding that is acceptable, identifying alternative language for the sub-constructs in the message; and providing annotations for the message to the sender based on the alternative language before the message is sent from the sender to the recipient, wherein the annotations indicate the second context of the message.