On-device generation and personalization of zero-prefix suggestion(s) and use thereof
Abstract
Implementations described herein relate to generating, locally at a client device, corresponding subset(s) of zero-prefix suggestions, for a user of the client device, and for suggestion state(s) associated with the client device, and subsequently causing the client device to utilize the corresponding subset(s) of zero-prefix suggestions. The suggestion state(s) and a superset of candidate zero-prefix suggestions can be processed, using machine learning model(s), to generate a corresponding score for each of the candidate zero-prefix suggestions and with respect to the suggestion state(s). Further, zero-prefix suggestions can be selected for inclusion in the corresponding subset(s) of zero-prefix suggestions, and for the suggestion state(s), based on the corresponding scores. Accordingly, when a given suggestion state is subsequently detected at the client device, a given corresponding subset of zero-prefix suggestions that is stored in association with the given suggestion state can be obtained and provided for presentation to the user.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method implemented by one or more processors, the method comprising:
generating, locally at a client device, a corresponding subset of zero-prefix suggestions for a given user of the client device and for a given suggestion state associated with the client device, wherein each of the zero-prefix suggestions included in the corresponding subset of zero-prefix suggestions is tailored to the given user, and wherein generating the corresponding subset of zero-prefix suggestions for the given user and for the given suggestion state comprises:
identifying the given suggestion state associated with the client device;
identifying a superset of candidate zero-prefix suggestions;
processing, using one or more ranking machine learning (ML) models, the given suggestion state and the superset of candidate zero-prefix suggestions to generate a corresponding score for each of the candidate zero-prefix suggestions and with respect to the given suggestion state; and
selecting, based on the corresponding scores, one or more of the candidate zero-prefix suggestions, from among the superset of candidate zero-prefix suggestions, for inclusion in the corresponding subset of zero-prefix suggestions;
storing, in on-device memory or storage of the client device, the corresponding subset of zero-prefix suggestions in association with the given suggestion state; and subsequent to storing the corresponding subset of zero-prefix suggestions in association with the given suggestion state, causing the client device to utilize the corresponding subset of zero-prefix suggestions in providing one or more zero-prefix suggestions for presentation to the given user.
2 . The method of claim 1 , further comprising:
determining whether one or more client device conditions are satisfied at a first time; wherein generating the corresponding subset of zero-prefix suggestions for the given user and for the given suggestion state is in response to determining the one or more client device conditions are satisfied at the first time.
3 . The method of claim 2 , wherein the one or more client device conditions include one or more of: that the client device is charging, that the client device has at least a threshold state of charge, that a temperature of the client device is less than a threshold, that the client device is not being held by the given user, that the given suggestion state is a new suggestion state associated with the client device has been detected, a time of day at a location of the client device, or a day of week at the location of the client device.
4 . The method of claim 2 , further comprising:
determining whether one or more client device conditions are satisfied at a second time that is subsequent to the first time; and in response to determining the one or more client device conditions are satisfied at the second time:
updating the corresponding subset of zero-prefix suggestions for the given user and for the given suggestion state to generate an updated corresponding subset of zero-prefix suggestions for the given user and for the given suggestion state.
5 . The method of claim 4 , further comprising:
replacing, in the on-device memory or storage, the corresponding subset stored in association with the given suggestion state with the updated corresponding subset of zero-prefix suggestions.
6 . The method of claim 1 , further comprising:
generating, locally at the client device, an additional corresponding subset of zero-prefix suggestions for the given user and for an additional given suggestion state associated with the client device, wherein each of the zero-prefix suggestions included in the additional corresponding subset of zero-prefix suggestions is tailored to the given user, wherein the additional suggestion state differs from the given suggestion state, wherein at least one zero-prefix suggestion included in the additional corresponding subset of zero-prefix suggestions for the additional suggestion state differs from the zero-prefix suggestions included in the corresponding subset of zero-prefix suggestions for the given suggestion state, and wherein generating the additional corresponding subset of zero-prefix suggestions for the given user for the additional suggestion state comprises:
identifying the additional suggestion state associated with the client device;
identifying the superset of candidate zero-prefix suggestions;
processing, using one or more ranking machine learning (ML) models, the additional suggestion state and the superset of candidate zero-prefix suggestions to generate an additional corresponding score for each of the candidate zero-prefix suggestions and with respect to the additional suggestion state; and
selecting, based on the additional corresponding scores, one or more of the candidate zero-prefix suggestions, from among the superset of candidate zero-prefix suggestions, for inclusion in the additional corresponding subset of zero-prefix suggestions;
storing, in on-device memory or storage of the client device, the additional corresponding subset of zero-prefix suggestions in association with the additional suggestion state; and subsequent to storing the additional corresponding subset of zero-prefix suggestions in association with the additional suggestion state, causing the client device to utilize the additional corresponding subset of zero-prefix suggestions in providing one or more of the zero-prefix suggestions for presentation to the given user.
7 . The method of claim 1 , wherein generating the corresponding subset of zero-prefix suggestions for the given user and for the given suggestion state further comprises:
causing one or more of zero-prefix suggestions selected for inclusion in the corresponding subset of zero-prefix suggestions to be tailored to the given user, wherein causing one or more of zero-prefix suggestions selected for inclusion in the corresponding subset of zero-prefix suggestions to be tailored to the given user comprises:
identifying one or more of zero-prefix suggestions selected for inclusion in the corresponding subset that are associated with a corresponding placeholder; and
populating the corresponding placeholder associated with one or more of zero-prefix suggestions selected for inclusion in the corresponding subset with a corresponding personalized identifier that is associated with the given user.
8 . The method of claim 7 , wherein the corresponding personalized identifier that is associated with the given user includes one or more of: a contact entry identifier associated with a contact entry of the given user, a media identifier associated with media of interest to the given user, a home automation device identifier of a home automation device associated with the given user, a software application identifier of a software application accessible by the client device of the given user
9 . The method of claim 7 , wherein populating the corresponding placeholder with the corresponding personalized identifier that is associated with the given user comprises:
accessing a user profile of the given user stored locally in the on-device memory or storage to identify the corresponding personalized identifiers associated with the given user; and selecting the corresponding personalized identifiers utilized to populate the corresponding placeholder based on a type of the corresponding placeholder and based on the user profile.
10 . The method of claim 1 , wherein identifying the given suggestion state comprises:
identifying one or more corresponding signals associated with the given suggestion state; and storing, in the on-device memory or storage, the one or more corresponding signals in association with the given suggestion state.
11 . The method of claim 10 , wherein the one or more corresponding signals associated with the given suggestion state comprises one or more of: a location of the client device, a semantic indication of the location of the client device, a time or range of times associated with the location of the client device, a date associated with the location of the client device, a calendar entry associated with a calendar software application of the client device, an electronic communication associated with one or more electronic communication software applications of the client device, a given software application running in a foreground of the client device, a given software application running in a background of the client device, historical usage of one or more software applications accessible at the client device, an indication of one or more additional client devices in communication with the client device, or a clipboard that includes content copied at the client device.
12 . The method of claim 10 , wherein identifying the superset of candidate zero-prefix suggestions comprises:
identifying a plurality of user interactions, of the given user, with the client device or an additional client device of the given user that are performed when one or more of the corresponding signals are detected by the client device; or identifying a plurality of user interactions, of one or more additional users, with a respective client device or a respective additional client device that are performed when one or more of the corresponding signals are detected by the respective client device.
13 . The method of claim 1 , wherein selecting one or more of the candidate zero-prefix suggestions for inclusion in the corresponding subset of zero-prefix suggestions comprises:
identifying, based on the corresponding scores for the candidate zero-prefix suggestions and with respect to the given suggestion state, a threshold quantity of zero-prefix suggestions to be included in the corresponding subset of zero-prefix suggestions for the given suggestion state.
14 . The method of claim 13 , further comprising:
discarding any zero-prefix suggestions, from the superset of zero-prefix suggestions, that are not selected for inclusion in the corresponding subset of zero-prefix suggestions for the given suggestion state.
15 . The method of claim 1 , wherein causing the client device to utilize the corresponding subset of zero-prefix suggestions in providing one or more zero-prefix suggestions for presentation to the given user comprises:
detecting an occurrence of the given suggestion state associated with the client device; and in response to detecting the occurrence the given suggestion state:
obtaining, from the on-device memory or storage, the corresponding subset of zero-prefix suggestions associated stored in association with the given suggestion state; and
causing one or more of the zero-prefix suggestions, from the corresponding subset of zero-prefix suggestions stored in association with the given suggestion state, to be provided for presentation to the user.
16 . A method implemented by one or more processors, the method comprising:
maintaining, in on-device memory or storage of a client device of a given user, a plurality of corresponding disparate subsets of zero-prefix suggestions, each of the corresponding disparate subsets of zero-prefix suggestions being stored in association with a corresponding suggestion state of a plurality of disparate suggestion states; detecting an occurrence of a given suggestion state associated with the client device, the given suggestion state being one of the plurality of disparate suggestion states; and in response to detecting the occurrence of the given suggestion state associated with the client device:
obtaining, from the on-device memory or storage, a given corresponding subset of zero-prefix suggestions, of the plurality of corresponding disparate subsets of zero-prefix suggestions, that is stored in association with the given suggestion state;
causing one or more zero-prefix suggestions, from the given corresponding subset of the zero-prefix suggestions stored in association with the given suggestion state, to be provided for presentation to the given user; and
in response to receiving a selection of a given zero-prefix suggestion from among the one or more zero-prefix suggestions provided for presentation to the given user:
causing the client device, or an additional client device of the given user in communication with the client device, to perform a corresponding action associated with the given zero-prefix suggestion.
17 . The method of claim 16 , wherein each of the one or more zero-prefix suggestions provided for presentation to the given user are associated with corresponding actions that, when selected, cause the client device or the additional client device to perform the corresponding action associated with a corresponding one of the one or more zero-prefix suggestions.
18 . The method of claim 17 , wherein fulfillment data associated with each of the corresponding actions is pre-cached in the on-device memory or storage of the client device.
19 . The method of claim 16 , in response to receiving a selection of a given zero-prefix suggestion from among the one or more zero-prefix suggestions provided for presentation to the given user, further comprising:
utilizing the selection of the given zero-prefix suggestion as a feedback signal to update a ranking of the one or more zero-prefix suggestions.
20 . A client device comprising:
one or more processors; and on-device memory or storage storing instructions that, when executed, cause one or more of the processors to:
generate, locally at the client device, a corresponding subset of zero-prefix suggestions for a given user of the client device and for a given suggestion state associated with the client device, wherein each of the zero-prefix suggestions included in the corresponding subset of zero-prefix suggestions is tailored to the given user, and wherein the instructions to generate the corresponding subset of zero-prefix suggestions for the given user and for the given suggestion state comprise instructions to:
identify the given suggestion state associated with the client device;
identify a superset of candidate zero-prefix suggestions;
process, using one or more ranking machine learning (ML) models, the given suggestion state and the superset of candidate zero-prefix suggestions to generate a corresponding score for each of the candidate zero-prefix suggestions and with respect to the given suggestion state; and
select, based on the corresponding scores, one or more of the candidate zero-prefix suggestions, from among the superset of candidate zero-prefix suggestions, for inclusion in the corresponding subset of zero-prefix suggestions;
store, in the on-device memory of the client device, the corresponding subset of zero-prefix suggestions in association with the given suggestion state; and
subsequent to storing the corresponding subset of zero-prefix suggestions in association with the given suggestion state, cause the client device to utilize the corresponding subset of zero-prefix suggestions in providing one or more zero-prefix suggestions for presentation to the given user.Join the waitlist — get patent alerts
Track US2022415319A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.