Digital assistant extension automatic ranking and selection
First Claim
1. A method for selecting and ranking service extensions, comprising:
- receiving a query from a user or an inference related to the user;
identifying any bots that activate in response to the query or the inference;
ranking the activated bots by performing acts for each activated bot comprising;
identifying a set of features corresponding to the activated bot, at least a portion of the set of features being pre-calculated based on the activated bot processing a set of curated queries;
presenting at least a portion of the set of features to a ranking and response selection model trained via a machine learning process using the set of curated queries;
identifying a rank for the activated bot using the ranking and response selection model and the portion of the set of features; and
placing the activated bot in rank order compared to other activated bots to create a ranked list of bots;
selecting at least one bot from the ranked list of bots; and
presenting an output of the at least one bot to the user.
1 Assignment
0 Petitions
Accused Products
Abstract
Representative embodiments disclose mechanisms to automatically rank and select extensions triggered in a digital assistant. A sample set of extensions are executed against a set of curated queries in order to extract a set of features and/or statistics. The system trains a machine learning model based on the features and/or statistics to rank and select extensions based on their response to a query. New extension incorporated into the system are executed against a second set of curated queries to obtain a set of extracted features and/or statistics which are saved for use at runtime. At runtime, a query phrase received by the system triggers one or more tasks from extensions. Extracted features for the triggered extensions are combined with stored features/statistics and at least a subset of the results presented to the trained ranking and selection model. The model ranks and selects appropriate tasks which are presented to the user.
-
Citations
20 Claims
-
1. A method for selecting and ranking service extensions, comprising:
-
receiving a query from a user or an inference related to the user; identifying any bots that activate in response to the query or the inference; ranking the activated bots by performing acts for each activated bot comprising; identifying a set of features corresponding to the activated bot, at least a portion of the set of features being pre-calculated based on the activated bot processing a set of curated queries; presenting at least a portion of the set of features to a ranking and response selection model trained via a machine learning process using the set of curated queries; identifying a rank for the activated bot using the ranking and response selection model and the portion of the set of features; and placing the activated bot in rank order compared to other activated bots to create a ranked list of bots; selecting at least one bot from the ranked list of bots; and presenting an output of the at least one bot to the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computing system comprising:
a processor and executable instructions accessible on a machine-readable medium that, when executed, cause the computing system to perform operations comprising; receiving a query from a user or an inference related to the user; identifying any bots that activate in response to the query or the inference; ranking the activated bots by performing operations for each activated bot comprising; identifying a set of features corresponding to the activated bot, at least a portion of the set of features being pre-calculated based on the activated bot processing a set of c mated queries; presenting at least a portion of the set of features to a ranking and response selection model trained via a machine learning process using the set of curated queries; identifying a rank for the activated bot using the ranking and response selection model and the portion of the set of features; and placing the activated bot in rank order compared to other activated bots to create a ranked list of bots; selecting at least one bot from the ranked list of bots; and presenting an output of the at least one bot to the user. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
17. A non-transitory machine-readable medium having executable instructions encoded thereon, which, when executed by at least one processor of a machine, cause the machine to perform operations comprising:
-
training a ranking and response selection model by performing operations comprising; identifying a set of representative bots; identifying a training set of curated queries; and using a machine learning process, creating the ranking and response selection model from the set of represented bots and the training set of curated queries; receiving a query from a user or an inference related to the user; identifying any bots that activate in response to the query or the inference; ranking the activated bots by performing operations for each activated bot comprising; identifying a set of features corresponding to the activated bot in the context of other activated bots; identifying a second set of features calculated from a second set of curated queries; combining the set of features and the second set of features into a set of extracted features; presenting a subset of the set of extracted features to the ranking and response selection model; identifying a rank for the activated bot using the ranking and response selection model and the subset of extracted features; and placing the activated bot in rank order compared to other activated bots to create a ranked list of bots; selecting at least one bot from the ranked list of bots; and presenting an output of the at least one bot to the user. - View Dependent Claims (18, 19, 20)
-
Specification