A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
- identifying, by a client device, an electronic communication currently being presented to a user of the client device, wherein the electronic communication includes natural language content and is associated with an electronic communication application,
- wherein the electronic communication is based on spoken natural language input;
- applying, by the client device, a plurality of features of the electronic communication to at least one machine learning model stored locally at the client device,
- wherein one or more of the plurality of features include at least a portion of the natural language content of the electronic communication;
- processing, by the client device, the plurality of features using the at least one machine learning model to generate a plurality of prediction interaction values,
- wherein each interaction value of the plurality of prediction interaction values indicates a corresponding likelihood of the user interacting with a corresponding application, from among a plurality of disparate applications, and a corresponding application functionality, from among a plurality of disparate application functionalities, of the corresponding application, and
- wherein each of the plurality of disparate applications differ from the electronic communication application;
- selecting, by the client device and based on the plurality of prediction interaction values, a particular application, from among the plurality of disparate applications, and a particular application functionality, from among the plurality disparate of application functionalities, of the particular application;
- providing, by the client device, a selectable element to the user while the electronic communication is being presented to the user, the selectable element being selectable by the user to cause the client device to interact with the particular application functionality of the particular application;
- and
- in response to receiving no affirmative user input selecting the selectable element:
- determining, by the client device, whether the client device performed one or more actions interacting with the particular application functionality of the particular application based on user input received subsequent to the electronic communication being presented to the user;
- and
- causing the at least one machine learning model to be trained based on the client device performing the one or more actions interacting with the particular application functionality of the particular application based on the user input received subsequent to the electronic communication being presented to the user.