1. A method comprising: selecting one or more segments from a text field, wherein each of the segments is in proximity to a current position of an input cursor in the text field; analyzing the segments to determine a respective context for each of the segments, wherein the context is at least one of a respective target subtext or a respective target meaning of the segment; for one or more of the segments, identifying a respective candidate emoticon for the segment based on an association between the candidate emoticon and the context of the segment, the association exceeding a threshold value and being based on, at least, statistical usage of the candidate emoticon for the context by one or more users, wherein a strength of the association varies according to the statistical usage; providing one or more of the candidate emoticons for user selection, the candidate emoticons for user selection being based on at least one of a user preference, user-related information, and recipient-related information; receiving user selection of one or more of the provided emoticons and inserting the selected emoticons into the text field at the current position of the input cursor; and updating the statistical usage of at least one of the provided emoticons based on the user selection.