10. A computer program product for providing annotations for revising a message, the computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, wherein the computer readable program code, when executed by a processor of a computer, is configured to perform: 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 in the message, identifying alternative language for the sub-constructs; 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.
10. A computer program product for providing annotations for revising a message, the computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, wherein the computer readable program code, when executed by a processor of a computer, is configured to perform: 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 in the message, identifying alternative language for the sub-constructs; 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. 17. The computer program product of claim 10 , wherein a Software as a Service (SaaS) is configured to perform computer program product operations.