Patent Issued for Cooperative delegation for digital assistants (USPTO 11189293): United Services Automobile Association
2021 DEC 16 (NewsRx) -- By a
Patent number 11189293 is assigned to
The following quote was obtained by the news editors from the background information supplied by the inventors: “Device manufacturers, operating system providers, and application developers provide digital assistants, which may also be described as personal assistants, for execution in a computing environment. Such digital assistants may listen for voice commands from a user, and respond to the voice commands by performing searches, adding items to a shopping cart, launching applications, or performing other operations implicated by the commands. Currently, in situations where multiple digital assistants are available in a computing environment for processing commands, the multiple digital assistants may operate independently with no relationship or connection between the various digital assistants.”
In addition to the background information obtained for this patent, NewsRx journalists also obtained the inventors’ summary information for this patent: “Implementations of the present disclosure are generally directed to employing multiple digital assistants to process requests within a computing environment. More specifically, implementations are directed to the at least partial delegation of a request from a first digital assistant to a second digital assistant, in which the second digital assistant is instructed to process at least aspects of the request that are delegated to the second digital assistant by the first digital assistant.
“In general, innovative aspects of the subject matter described in this specification can be embodied in methods that includes actions of: receiving a first request communicated to a first digital assistant (DA) executing in a computing environment comprising one or more computing devices and, in response, initiating a communication session that employs the first DA to handle the first request; receiving, during the communication session, a second request and, based at least partly on the second request, determining a second DA to handle the second request, wherein the second DA is executable within the computing environment; and transferring the communication session from the first DA to the second DA to handle the second request.
“Implementations can optionally include one or more of the following features: determining the second DA includes accessing a DA directory that includes, for each of a plurality of DAs, a list of associated keywords; determining the second DA includes determining that at least one term in the second request corresponds to at least one keyword that is associated, in the DA directory, with the second DA; determining that the at least one term in the second request corresponds to the at least one keyword includes one or more of determining that the at least one term matches the at least one keyword, or determining that the at least one term is semantically similar to the at least one keyword; determining the second DA further includes accessing a DA directory that includes, for each of a plurality of DAs, a list of associated keywords; determining the second DA further includes determining that at least one term in the second request corresponds to at least one keyword that is associated, in the DA directory, with a plurality of candidate DAs; determining the second DA further includes requesting, by the first DA, that a user select the second DA from the plurality of candidate DAs; determining the second DA further includes receiving a selection of the second DA provided by the user; the determining of the second DA is based on a model that is developed through machine learning; the communication session is a voice communication session in which the first request and the second request are provided as voice input from a user; the first DA provides first audio output associated with handling the first request during the voice communication session; the second DA provides second audio output associated with handling the second request during the voice communication session; the first audio output is provided by the first DA in a different voice than that in which the second audio output is provided by the second DA; the actions further include receiving, during the communication session, a third request and, based at least partly on at least one term in the third request, determining a third DA to at least partly process the third request, wherein the third DA is executable within the computing environment; the actions further include transferring the communication session from the second DA to the third DA to handle the third request; transferring the communication session from the first DA to the second DA causes the second DA to handle the second request and at least one subsequent request received during the communication session; transferring the communication session from the first DA to the second DA includes transferring state information for the communication session from the first DA to the second DA, the state information at least describing information previously communicated during the communication session; the actions further include storing state information that at least describes information communicated during the communication session; and/or transferring the communication session from the first DA to the second DA includes accessing, by the second DA, the stored state information.
“Other implementations of any of the above aspects include corresponding systems, apparatus, and computer programs that are configured to perform the actions of the methods, encoded on computer storage devices. The present disclosure also provides a computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations in accordance with implementations of the methods provided herein. The present disclosure further provides a system for implementing the methods provided herein. The system includes one or more processors, and a computer-readable storage medium coupled to the one or more processors having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations in accordance with implementations of the methods provided herein.
“Implementations of the present disclosure provide one or more of the following advantages. By providing a mechanism through which one digital assistant can delegate the processing of a request to another digital assistant with different capabilities, implementations enable digital assistants to respond cooperatively to requests that a single digital assistant may not be able to handle alone. Accordingly, implementations provide a technical advantage over traditional computing systems in which multiple digital assistants may redundantly attempt to process requests which, in some instances, may not be suitable for a particular assistant, thus leading to an unnecessary expenditure of processing, memory, and/or networking resources. By employing a broker that forwards a request, and transfers control of a communication session, to a suitable digital assistant instead of sending the request to all available digital assistants, implementations enable the more efficient processing of requests in a computing environment with multiple digital assistants.”
The claims supplied by the inventors are:
“1. A method for employing multiple digital assistants to process requests, the method comprising: receiving, by at least one processor, a first request communicated to a first digital assistant (DA) executing on a computing device, the first request comprising one or more terms; determining, by the at least one processor based on the one or more first terms, if the first DA is capable of handling the first request; initiating, by the at least one processor and responsive to determining that the first DA is capable of handling the first request, a communication session between a user and the first DA to handle the first request; receiving, by the at least one processor and during the communication session between the user and the first DA, a second request comprising one or more second terms; determining, by the at least one processor and responsive to determining that the first DA is incapable of handling the second request, a second DA that is associated with one or more keywords corresponding to the one or more second terms in the second request, wherein the second DA executes on the computing device that executes the first DA; and initiating, by the at least one processor and responsive to determining the second DA, a communication session between the user and the second DA to handle the second request.
“2. The method of claim 1, wherein determining that the first DA is incapable of handling the second request comprises determining, based on the one or more second terms, that the second request is for communication of sensitive information to be inaccessible by the first DA.
“3. The method of claim 1, wherein determining the second DA comprises: accessing a DA directory that includes, for each of a plurality of available DAs on the computing device, a respective list of associated keywords; determining that at least one term of the one or more terms corresponds to at least one keyword that is associated, in the DA directory, with multiple candidate DAs; and receiving selection data indicating that the user has selected the second DA from the multiple candidate DAs.
“4. The method of claim 1, wherein the DA directory indicates that: the second DA is associated with the at least one keyword; and the first DA is not associated with the at least one keyword.
“5. The method of claim 1, wherein determining that at least one term of the one or more second terms corresponds to the at least one keyword comprises determining that the at least one term is semantically similar to the at least one keyword.
“6. The method of claim 1, wherein: determining that the first DA is capable of handling the first request comprises determining that the first DA is capable of handling a first portion of the first request; initiating the communication session between the user and the first DA comprises initiating the communication session to handle the first portion of the first request; determining that the first DA is incapable of handling the second request comprises determining that the first DA is incapable of handling a second portion of the first request; and determining that the second DA is configured to handle the second request comprises determining that the second DA is configured to handle the second portion of the first request.
“7. The method of claim 1, further comprising requesting, by the first DA, that the user select the second DA from the plurality of available DAs.
“8. The method of claim 1, wherein the determining that the second DA is configured to handle the second request is based on a model that is developed through machine learning.
“9. The method of claim 1, wherein the first communication session is a voice communication session in which the request is provided as voice input from the user.
“10. The method of claim 1, further comprising storing, by the at least one processor, state information that at least describes information communicated during a communication session.
“11. A system, comprising: at least one processor; and a memory communicatively coupled to the at least one processor, the memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: receiving a first request communicated to a first digital assistant (DA) executing on a computing device, the request comprising one or more terms; determining, based on the one or more first terms, if the first DA is capable of handling the first request; initiating, responsive to determining that the first DA is capable of handling the first request, a communication session between a user and the first DA to handle the first request; receiving, during the communication session between the user and the first DA, a second request comprising one or more second terms; determining, responsive to determining that the first DA is incapable of handling the second request, a second DA that is associated with one or more keywords corresponding to the one or more second terms in the second request, wherein the second DA executes on the computing device that executes the first DA; and initiating, responsive to determining the second DA, a communication session between the user and the second DA to handle the second request.
“12. The system of claim 11, wherein determining that the first DA is incapable of handling the request comprises determining, based on the one or more terms, that the request is for communication of sensitive information to be inaccessible by the first DA.
“13. The system of claim 11, wherein determining the second DA comprises: accessing a DA directory that includes, for each of a plurality of available DAs on the computing device, a respective list of associated keywords; determining that at least one term of the one or more terms corresponds to at least one keyword that is associated, in the DA directory, with multiple candidate DAs; and receiving selection data indicating that the user has selected the second DA from the multiple candidate DAs.
“14. The system of claim 11, wherein the DA directory indicates that: the second DA is associated with the at least one keyword; and the first DA is not associated with the at least one keyword.
“15. The system of claim 11, wherein determining that at least one term of the one or more second terms corresponds to the at least one keyword comprises determining that the at least one term is semantically similar to the at least one keyword.
“16. The system of claim 11, wherein: determining that the first DA is capable of handling the first request comprises determining that the first DA is capable of handling a first portion of the first request; initiating the communication session between the user and the first DA comprises initiating the communication session to handle the first portion of the first request; determining that the first DA is incapable of handling the second request comprises determining that the first DA is incapable of handling a second portion of the first request; and determining that the second DA is configured to handle the second request comprises determining that the second DA is configured to handle the second portion of the first request.
“17. The system of claim 11, the operations further comprising requesting, by the first DA, that the user select the second DA from the plurality of available DAs.
“18. The system of claim 11, wherein the determining that the second DA is configured to handle the second request is based on a model that is developed through machine learning.
“19. The system of claim 11, wherein the operations further comprise storing state information that at least describes information communicated during a communication session.
“20. One or more non-transitory computer-readable media storing instructions which, when executed by at least one processor, cause the at least one processor to perform operations comprising: receiving a first request communicated to a first digital assistant (DA) executing on a computing device, the first request comprising one or more first terms; determining, based on the one or more first terms, if the first DA is capable of handling the first request; initiating, responsive to determining that the first DA is capable of handling the first request, a communication session between a user and the first DA to handle the first request; receiving, during the communication session between the user and the first DA, a second request comprising one or more second terms; determining, responsive to determining that the first DA is incapable of handling the second request, a second DA that is associated with one or more keywords corresponding to the one or more second terms in the second request, wherein the second DA executes on the computing device that executes the first DA; and initiating, responsive to determining the second DA, a communication session between the user and the second DA to handle the second request.”
URL and more information on this patent, see: Leggett,
(Our reports deliver fact-based news of research and discoveries from around the world.)
Study Results from University of St. Gallen Provide New Insights into Risk Management (Technology Heterogeneity and Market Structure): Risk Management
Researchers Submit Patent Application, “Population-Based Medication Risk Stratification And Personalized Medication Risk Score”, for Approval (USPTO 20210375486): Patent Application
Advisor News
Annuity News
Health/Employee Benefits News
Life Insurance News