A computing device may receive a communication sent from an external computing device. At least one processor of the computing device may determine, using an on-device machine-trained model and based at least in part on the communication, one or more candidate responses to the communication. The at least one processor may receive an indication of a user input that selects a candidate response from the one or more candidate responses. Responsive to receiving the indication of the user input that selects the candidate response, the at least one processor may send the candidate response to the external computing device.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: receiving, by at least one processor of a computing device, a communication sent from an external computing device; determining, by the at least one processor using an on-device machine-trained model, and based at least in part on the communication, one or more candidate responses to the communication; receiving, by the at least one processor, an indication of a user input that selects a candidate response from the one or more candidate responses; and responsive to receiving the indication of the user input that selects the candidate response, sending, by the at least one processor, the candidate response to the external computing device. 2. The method of claim 1, wherein: the on-device machine-trained model comprises indications of a plurality of projected nodes, wherein each of the plurality of projected nodes are associated with a ranked list of predicted responses. 3. The method of claim 2, wherein determining the one or more candidate responses to the communication further comprises: projecting, by the at least one processor using a random projection function, the received communication into a hash signature; determining, by the at least one processor, a projected node that is associated with the hash signature from the plurality of projected nodes; and determining, by the at least one processor, the one or more candidate responses to the communication from the ranked list of predicted responses. 4. The method of claim 2, wherein the on-device machine trained model is trained via semi-supervised machine learning at an external computing system to associate the plurality of projected nodes with respective ranked lists of predicted responses. 5. The method of claim 1, further comprising: determining, by the at least one processor, one or more personalized candidate responses based at least in part on a communication history of a user of the computing device, wherein the user is an intended recipient of the communication; and including, by the at least one processor, the one or more personalized candidate responses in the one or more candidate responses. 6. The method of claim 5, wherein determining the one or more personalized candidate responses further comprises: determining, by the at least one processor using the on-device machine-trained model, and based at least in part on the communication, a ranked list of predicted responses to the communication, wherein the one or more candidate responses are selected from the ranked list of responses; in response to determining that the communication history of the user includes a previous response sent by the user that belongs to a same semantic cluster as a predicted response, including, by the at least one processor, the previous response sent by the user in the one or more personalized candidate responses. 7. The method of claim 6, wherein including the previous response sent by the user in the one or more personalized candidate responses is further responsive to determining that the previous response matches one of a plurality of predicted responses in a response space of the on-device machine-trained model that belongs to the semantic cluster. 8. A computing device comprising: a computer-readable storage medium configured to store an on-device machine-trained model; at least one processor operably coupled to the computer-readable storage medium and configured to: receive a communication sent from an external computing device; determine, using the on-device machine-trained model and based at least in part on the communication, one or more candidate responses to the communication; receive an indication of a user input that selects a candidate response from the one or more candidate responses; and responsive to receiving the indication of the user input that selects the candidate response, send the candidate response to the external computing device. 9. The computing device of claim 8, wherein: the on-device machine-trained model comprises indications of a plurality of projected nodes, wherein each of the plurality of projected nodes are associated with a ranked list of predicted responses. 10. The computing device of claim 9, wherein the at least one processor is further configured to: project, using a random projection function, the received communication into a hash signature; determine a projected node that is associated with the hash signature from the plurality of projected nodes; and determine the one or more candidate responses to the communication from the ranked list of predicted responses. 11. The computing device of claim 9, wherein the on-device machine trained model is trained via semi-supervised machine learning at an external computing system to associate the plurality of projected nodes with respective ranked lists of predicted responses. 12. The computing device of claim 8, wherein the at least one processor is further configured to: determine one or more personalized candidate responses based at least in part on a communication history of a user of the computing device, wherein the user is an intended recipient of the communication; and include the one or more personalized candidate responses in the one or more candidate responses. 13. The computing device of claim 12, wherein the at least one processor is further configured to: determine, using the on-device machine-trained model and based at least in part on the communication, a ranked list of predicted responses to the communication, wherein the one or more candidate responses are selected from the ranked list of responses; and in response to determining that the communication history of the user includes a previous response sent by the user that belongs to a same semantic cluster as a predicted response, include the previous response sent by the user in the one or more personalized candidate responses. 14. The computing device of claim 13, wherein the at least one processor is further configured to: include the previous response sent by the user in the one or more personalized candidate responses further in response to determining that the previous response matches one of a plurality of predicted responses in a response space of the on-device machine-trained model that belongs to the semantic cluster. 15. A computer-readable storage medium encoded with instructions that, when executed, cause at least one processor of a computing device to: receive a communication sent from an external computing device; determine, using an on-device machine-trained model and based at least in part on the communication, one or more candidate responses to the communication; receive an indication of a user input that selects a candidate response from the one or more candidate responses; and responsive to receiving the indication of the user input that selects the candidate response, send the candidate response to the external computing device. 16. The computer-readable storage medium of claim 15, wherein: the on-device machine-trained model comprises indications of a plurality of projected nodes, wherein each of the plurality of projected nodes are associated with a ranked list of predicted responses. 17. The computer-readable storage medium of claim 16, wherein the instructions, when executed, further cause the at least one processor of the computing device to: project, using a random projection function, the received communication into a hash signature; determine a projected node that is associated with the hash signature from the plurality of projected nodes; and determine the one or more candidate responses to the communication from the ranked list of predicted responses. 18. The computer-readable storage medium of claim 16, wherein the on-device machine trained model is trained via semi-supervised machine learning at an external computing system to associate the plurality of projected nodes with respective ranked lists of predicted responses. 19. The computer-readable storage medium of claim 15, wherein the instructions, when executed, further cause the at least one processor of the computing device to: determine one or more personalized candidate responses based at least in part on a communication history of a user of the computing device, wherein the user is an intended recipient of the communication; and include the one or more personalized candidate responses in the one or more candidate responses. 20. The computer-readable storage medium of claim 19, wherein the instructions, when executed, further cause the at least one processor of the computing device to: determine, using the on-device machine-trained model and based at least in part on the communication, a ranked list of predicted responses to the communication, wherein the one or more candidate responses are selected from the ranked list of responses; and in response to determining that the communication history of the user includes a previous response sent by the user that belongs to a same semantic cluster as a predicted response, include the previous response sent by the user in the one or more personalized candidate responses.