Nondeterministic task initiation by a personal assistant module
First Claim
Patent Images
1. A computer-implemented method, comprising:
- identifying, by one or more processors, a user declaration received at a given computing device, wherein the user declaration includes a command to communicate with an individual, and the command is ambiguous with regard to an identity of the individual and an application to be used to communicate with the individual;
identifying, by one or more of the processors, based on the user declaration, a plurality of candidate contacts that are potentially responsive to the command;
determining, by one or more of the processors, based on a history of interaction between the user and one or more computing devices operated by the user, a probability that each candidate contact will be responsive to the command;
non-deterministically selecting, by one or more of the processors and based at least in part on the probabilities of the plurality of candidate contacts, a single candidate contact of the plurality of candidate contacts to be a target of communication initiated in response to the user declaration;
identifying, by one or more of the processors, based on the user declaration, a plurality of candidate applications that can be initiated by the given computing device in response to the user declaration to communicate with the single candidate contact;
determining, by one or more of the processors, based on a history of communication between the user and the single candidate contact using one or more of the computing devices operated by the user, a probability that initiation of each candidate application will be responsive to the user declaration;
non-deterministically selecting, by one or more of the processors and based at least in part on the probabilities of the plurality of candidate applications, a single candidate application of the plurality of candidate applications to be exclusively initiated on the given computing device in response to the user declaration;
exclusively initiating, by one or more of the processors, the single candidate application on the given computing device to communicate with the single candidate contact; and
altering, by one or more of the processors, the probability associated with the single candidate contact or the probability associated with the initiated application based on one or more interactions between the user and the given computing device following initiation of the initiated application;
wherein the one or more interactions between the user and the given computing device include reiection of the single candidate contact and manual selection of an alternative candidate contact; and
wherein the altering comprises altering the probability associated with the single candidate contact by an amount that inversely proportionate to a measure of similarity between the single candidate contact and the alternative candidate contact.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described herein for leveraging information about a user to enable a personal assistant module to make various inferences about what actions that may be responsive to a user declaration. In various implementations, upon identifying a user declaration received at a computing device, a plurality of candidate responsive actions that can be initiated by the computing device in response to the user declaration may be identified. A single candidate responsive action may then be non-deterministically (e.g., randomly, stochastically) selected to be exclusively initiated on the computing device in response to the user declaration.
10 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
identifying, by one or more processors, a user declaration received at a given computing device, wherein the user declaration includes a command to communicate with an individual, and the command is ambiguous with regard to an identity of the individual and an application to be used to communicate with the individual; identifying, by one or more of the processors, based on the user declaration, a plurality of candidate contacts that are potentially responsive to the command; determining, by one or more of the processors, based on a history of interaction between the user and one or more computing devices operated by the user, a probability that each candidate contact will be responsive to the command; non-deterministically selecting, by one or more of the processors and based at least in part on the probabilities of the plurality of candidate contacts, a single candidate contact of the plurality of candidate contacts to be a target of communication initiated in response to the user declaration; identifying, by one or more of the processors, based on the user declaration, a plurality of candidate applications that can be initiated by the given computing device in response to the user declaration to communicate with the single candidate contact; determining, by one or more of the processors, based on a history of communication between the user and the single candidate contact using one or more of the computing devices operated by the user, a probability that initiation of each candidate application will be responsive to the user declaration; non-deterministically selecting, by one or more of the processors and based at least in part on the probabilities of the plurality of candidate applications, a single candidate application of the plurality of candidate applications to be exclusively initiated on the given computing device in response to the user declaration; exclusively initiating, by one or more of the processors, the single candidate application on the given computing device to communicate with the single candidate contact; and altering, by one or more of the processors, the probability associated with the single candidate contact or the probability associated with the initiated application based on one or more interactions between the user and the given computing device following initiation of the initiated application; wherein the one or more interactions between the user and the given computing device include reiection of the single candidate contact and manual selection of an alternative candidate contact; and wherein the altering comprises altering the probability associated with the single candidate contact by an amount that inversely proportionate to a measure of similarity between the single candidate contact and the alternative candidate contact. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising one or more processors and memory storing instructions that cause the one or more processors to:
-
identify a user declaration received at a given computing device, wherein the user declaration includes a command to communicate with an individual, and the command is ambiguous with regard to an identity of the individual and an application to be used to communicate with the individual; identify, based on the user declaration, a plurality of candidate contacts that are potentially responsive to the command; determine, based on a history of interaction between the user and one or more computing devices operated by the user, a probability that each candidate contact will be responsive to the command; non-deterministically select, based at least in part on the probabilities of the plurality of candidate contacts, a single candidate contact of the plurality of candidate contacts to be a target of communication initiated in response to the user declaration; identify, based on the user declaration, a plurality of candidate applications that can be initiated by the given computing device to in response to the user declaration to communicate with the single candidate contact; determine, based on a history of communication between the user and the single candidate contact using one or more of the computing devices operated by the user, a probability that initiation of each candidate application will be responsive to the user declaration; non-deterministically select, based at least in part on the probabilities of the plurality of candidate applications, a single candidate application of the plurality of candidate applications to be exclusively initiated on the given computing device in response to the user declaration; exclusively initiate the single candidate application on the given computing device to communicate with the single candidate contact; and alter the probability associated with the single candidate contact or the probability associated with the initiated application based on one or more interactions between the user and the given computing device following initiation of the initiated application; wherein the one or more interactions between the user and the given computing device include rejection of the single candidate contact and manual selection of an alternative candidate contact; and wherein the altering comprises altering the probability associated with the single candidate contact by an amount that is inversely proportionate to a measure of similarity between the single candidate contact and the alternative candidate contact. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. At least one non-transitory computer-readable medium comprising instructions that, in response to execution of the instructions by a computing system, cause the computing system to perform the following operations:
-
identifying a user declaration received at a given computing device, wherein the user declaration includes a command to communicate with an individual, and the command is ambiguous with regard to an identity of the individual and an application to be used to communicate with the individual; identifying, based on the user declaration, a plurality of candidate contacts that are potentially responsive to the command; determining, based on a history of interaction between the user and one or more computing devices operated by the user, a probability that each candidate contact will be responsive to the command; non-deterministically selecting, based at least in part on the probabilities of the plurality of candidate contacts, a single candidate contact of the plurality of candidate contacts to be a target of communication initiated in response to the user declaration; identifying, based on the user declaration, a plurality of candidate applications that can be initiated by the given computing device in response to the user declaration; determining, based on a history of communication between the user and the single candidate contact using one or more computing devices operated by the user, a probability that initiation of each candidate application will be responsive to the user declaration; non-deterministically selecting, based at least in part on the probabilities of the plurality of candidate applications, a single candidate application of the plurality of candidate applications to be exclusively initiated on the given computing device in response to the user declaration; exclusively initiating the single candidate application on the given computing device to communicate with the single candidate contact; and altering the probability associated with the single candidate contact or the probability associated with the initiated application based on one or more interactions between the user and the given computing device following initiation of the initiated application; wherein the one or more interactions between the user and the given computing device include rejection of the single candidate contact and manual selection of an alternative candidate contact; and wherein the altering comprises altering the probability associated with the single candidate contact by an amount that is inversely proportionate to a measure of similarity between the single candidate contact and the alternative candidate contact. - View Dependent Claims (17, 18, 19, 20)
-
Specification