A method comprising: receiving , by a computing system, a plurality of message histories, wherein each message history from the plurality of message histories includes one or more of a simple messaging service message history, multimedia messaging service message history, an instant messaging message history, or an email message history; determining , by the computing system and based on the plurality of message histories, a plurality of message and response pairs; determining , by the computing system, a number of instances of each response for each message from the plurality of message and response pairs; classifying , by the computing system, each response from the plurality of message and response pairs as having one of a set of information types by applying one or more classifiers to each response; storing , by the computing system, for each unique combination of message and response information type, an indication of the message, an indication of the information type, and a number of responses from the plurality of message and response pairs having the information type; receiving, by the computing system and from a computing device, a request for a suggested response to an incoming communication, the request including an indication of the incoming communication; determining, by the computing system and based on the request, a type of information expected to be included in a response to the incoming communication; determining , by the computing system, and based on the request and the type of information, one or more candidate response information types; and determining , by the computing system, based on the type of information and the one or more candidate response information types, one or more candidate responses, each candidate response having one or more of the one or more candidate response information types; and sending , by the computing system and to the computing device, an indication of the one or more candidate responses. receiving , by a computing system, a plurality of message histories, wherein each message history from the plurality of message histories includes one or more of a simple messaging service message history, multimedia messaging service message history, an instant messaging message history, or an email message history; determining , by the computing system and based on the plurality of message histories, a plurality of message and response pairs; determining , by the computing system, a number of instances of each response for each message from the plurality of message and response pairs; classifying , by the computing system, each response from the plurality of message and response pairs as having one of a set of information types by applying one or more classifiers to each response; storing , by the computing system, for each unique combination of message and response information type, an indication of the message, an indication of the information type, and a number of responses from the plurality of message and response pairs having the information type; receiving, by the computing system and from a computing device, a request for a suggested response to an incoming communication, the request including an indication of the incoming communication; determining, by the computing system and based on the request, a type of information expected to be included in a response to the incoming communication; determining , by the computing system, and based on the request and the type of information, one or more candidate response information types; and determining , by the computing system, based on the type of information and the one or more candidate response information types, one or more candidate responses, each candidate response having one or more of the one or more candidate response information types; and sending , by the computing system and to the computing device, an indication of the one or more candidate responses. <EOS>