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; identifying one or more candidate emoticons for one or more of the segments based on, at least, historical user selections of the candidate emoticons when presented for insertion in one or more of the contexts; providing one or more of the candidate emoticons for user selection; and 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.