Method for extracting salient dialog usage from live data
First Claim
1. A method for request recognition for a virtual assistant, the method comprising:
- receiving a textual transcription of user speech;
comparing the textual transcription to one or more first request templates recognizable by the virtual assistant;
in response to a first match between the textual transcription and the first request template being found, causing the virtual assistant to perform an action corresponding to the first match; and
in response to no first match being found, training the virtual assistant by;
generating a plurality of second request templates based on the textual transcription;
comparing each of the plurality of second request templates to one or more third request templates as yet unrecognized by the virtual assistant;
incrementing a count associated with a second request template in response to a second match between the second request template and a third request template being found;
storing a second request template in response to a matching third request template not being found;
receiving a second textual transcription of user speech, wherein the second textual transcription of user speech is recognized as matching the second request template by the virtual assistant;
determining whether the count associated with the second request template is greater than a predetermined amount; and
in accordance with a determination that the count associated with the second request template is greater than a predetermined amount, generating a trained response to the second textual transcription with the virtual assistant.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and processes are disclosed for virtual assistant request recognition using live usage data and data relating to future events. User requests that are received but not recognized can be used to generate candidate request templates. A count can be associated with each candidate request template and can be incremented each time a matching candidate request template is received. When a count reaches a threshold level, the corresponding candidate request template can be used to train a virtual assistant to recognize and respond to similar user requests in the future. In addition, data relating to future events can be mined to extract relevant information that can be used to populate both recognized user request templates and candidate user request templates. Populated user request templates (e.g., whole expected utterances) can then be used to recognize user requests and disambiguate user intent as future events become relevant.
793 Citations
25 Claims
-
1. A method for request recognition for a virtual assistant, the method comprising:
-
receiving a textual transcription of user speech; comparing the textual transcription to one or more first request templates recognizable by the virtual assistant; in response to a first match between the textual transcription and the first request template being found, causing the virtual assistant to perform an action corresponding to the first match; and in response to no first match being found, training the virtual assistant by; generating a plurality of second request templates based on the textual transcription; comparing each of the plurality of second request templates to one or more third request templates as yet unrecognized by the virtual assistant; incrementing a count associated with a second request template in response to a second match between the second request template and a third request template being found; storing a second request template in response to a matching third request template not being found; receiving a second textual transcription of user speech, wherein the second textual transcription of user speech is recognized as matching the second request template by the virtual assistant; determining whether the count associated with the second request template is greater than a predetermined amount; and in accordance with a determination that the count associated with the second request template is greater than a predetermined amount, generating a trained response to the second textual transcription with the virtual assistant. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for request recognition for a virtual assistant, the system comprising:
-
a memory; and a processor capable of; receiving a textual transcription of user speech; comparing the textual transcription to one or more first request templates recognizable by the virtual assistant; in response to a first match between the textual transcription and the first request template being found, causing the virtual assistant to perform an action corresponding to the first match; and in response to no first match being found, training the virtual assistant by; generating a plurality of second request templates based on the textual transcription; comparing each of the plurality of second request templates to one or more third request templates as yet unrecognized by the virtual assistant; incrementing a count associated with a second request template in response to a second match between the second request template and a third request template being found; storing a second request template in response to a matching third request template not being found; receiving a second textual transcription of user speech, wherein the second textual transcription of user speech is recognized as matching the second request template by the virtual assistant; determining whether the count associated with the second request template is greater than a predetermined amount; and in accordance with a determination that the count associated with the second request template is greater than a predetermined amount, generating a trained response to the second textual transcription with the virtual assistant. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions for request recognition for a virtual assistant, which when executed by one or more processors of an electronic device, cause the device to:
-
receive a textual transcription of user speech; compare the textual transcription to one or more first request templates recognizable by the virtual assistant; in response to a first match between the textual transcription and the first request template being found, cause the virtual assistant to perform an action corresponding to the first match; and in response to no first match being found, training the virtual assistant by; generate a plurality of second request templates based on the textual transcription; compare each of the plurality of second request templates to one or more third request templates as yet unrecognized by the virtual assistant; increment a count associated with a second request template in response to a second match between the second request template and a third request template being found; store a second request template in response to a matching third request template not being found; receive a second textual transcription of user speech, wherein the second textual transcription of user speech is recognized as matching the second request template by the virtual assistant; determine whether the count associated with the second request template is greater than a predetermined amount; and in accordance with a determination that the count associated with the second request template is greater than a predetermined amount, generate a trained response to the second textual transcription with the virtual assistant. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for request recognition for a virtual assistant, the method comprising:
-
receiving a textual transcription of a user request; comparing the textual transcription to one or more first request templates recognizable by the virtual assistant; determining, based on a result of comparing the textual transcription to one or more first request templates recognizable by the virtual assistant, whether the virtual assistant is trained to respond to the user request; in accordance with a determination that the virtual assistant is trained to respond to the user request, causing the virtual assistant to perform a trained action corresponding to a match between the textual transcription and the one or more first request templates; and in accordance with a determination that the virtual assistant is not trained to respond to the user request, automatically training the virtual assistant to respond to the user request by; generating a plurality of second request templates based on the textual transcription; comparing each of the plurality of second request templates to one or more third request templates to which the virtual assistant has yet to be trained to respond incrementing a count associated with a second request template in response to a second match between the second request template and a third request template being found; storing a second request template in response to a matching third request template not being found; receiving a second textual transcription of user speech, wherein the second textual transcription of user speech is recognized as matching the second request template by the virtual assistant; determining whether the count associated with the second request template is greater than a predetermined amount; and in accordance with a determination that the count associated with the second request template is greater than a predetermined amount, automatically training the virtual assistant by generating a trained response to the second textual transcription.
-
Specification