IP Library Granted Patent US 9,836,177
Granted Patent B2
US 9,836,177 · App. 13/341,261 · Granted Dec 5, 2017

Providing variable responses in a virtual-assistant environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,836,177
App. No.
13/341,261
Granted
Dec 5, 2017
Kind
B2
Abstract

Virtual assistants intelligently emulate a representative of a service provider by providing variable responses to user queries received via the virtual assistants. These variable responses may take the context of a user's query into account both when identifying an intent of a user's query and when identifying an appropriate response to the user's query.

Claims (129)

1. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed on one or more processors, cause the one or more processors to perform acts comprising:

causing display of a virtual assistant associated with a service provider;

receiving, via the virtual assistant and by a first communication channel, a single query from a user while the user engages in a session on a site of the service provider, wherein the single query comprises a fixed word or phrase;

at least partly in response to receiving the single query and subsequent to receiving the single query:

parsing the single query to identify one or more concepts expressed therein;

identifying a context associated with the user or associated with the session of the user on the site, the context comprising at least one of a geolocation of the user, a time of day, a device type of a device that is used by the user to interact with the virtual assistant, a type of natural language of the single query received from the user, whether or not the user has signed in with the service provider, or a status of the user with the service provider;

identifying, from one or more data stores storing indications of intents, a first intent associated with the single query and a second intent associated with the single query based at least in part on the one or more concepts, the first intent being mapped in the one or more data stores to a first plurality of responses and the second intent being mapped in the one or more data stores to a second plurality of responses, wherein the first plurality of responses is different than the second plurality of responses;

mapping the single query to the first intent based at least in part on a first portion of the context;

determining, independent of user input, a response to the single query from the first plurality of responses associated with the first intent based at least in part on the first intent and a second portion of the context, the second portion of the context being different than the first portion of the context, wherein the response specifies (i) content for output to the user via the virtual assistant, and (ii) an action to perform on behalf of the user;

determining, based at least in part on the context, to switch from the first communication channel to provide at least a portion of the response to the user;

selecting a second communication channel from a plurality of communication channels to utilize to provide at least the portion of the response to the user, the second communication channel being selected based at least in part on a communication channel that has been previously used to communicate by the user with the virtual assistant;

providing at least the portion of the response to the user via the virtual assistant while refraining from providing any other response from the first plurality of responses; and

automatically causing performance of the action on behalf of the user.

2. One or more non-transitory computer-readable media as recited in claim 1 , wherein the single query comprises a string of text, and the identifying of the one or more concepts comprises identifying one or more keywords within the string of text and mapping the one or more keywords to the one or more concepts.

3. One or more non-transitory computer-readable media as recited in claim 1 , wherein the single query comprises a string of text, and the identifying of the one or more concepts comprises:

identifying one or more tokens within the string of text;

mapping the one or more tokens to one or more vocab items; and

pattern matching the one or more vocab items to the one or more concepts.

4. One or more non-transitory computer-readable media as recited in claim 1 , wherein the determining of the response comprises mapping the first intent to one of the first plurality of responses associated with the first intent based at least in part on the second portion of the context.

5. One or more non-transitory computer-readable media as recited in claim 1 , wherein the context further comprises:

an age of the user;

a page of the site from which the user provides the single query to the virtual assistant;

how long the user has remained on the page of the site from which the user provides the single query to the virtual assistant;

a navigation history of the user during the session prior to the user providing the single query to the virtual assistant;

a location of a cursor when the user provides the single query to the virtual assistant;

a prior query provided by the user to the virtual assistant during the session or during a prior session with the site;

a date on which the single query is received; or

a previous interaction between the user and the virtual assistant.

6. One or more non-transitory computer-readable media as recited in claim 1 , wherein the providing of the response comprises outputting the content on a computing device of the user via the virtual assistant and causing performance of the action on behalf of the user.

7. One or more non-transitory computer-readable media as recited in claim 6 , wherein the single query is received while a first page of the site of the service provider is displayed, and the action comprises causing the computing device of the user to navigate to a second, different page of the site of the service provider.

8. One or more non-transitory computer-readable media as recited in claim 6 , wherein the action comprises:

purchasing an item on behalf of the user;

initiating a request on behalf of the user;

initiating a communication on behalf of the user; or

altering a reservation or order on behalf of the user.

9. One or more non-transitory computer-readable media as recited in claim 6 , wherein the outputting of the content comprises;

displaying, by the virtual assistant, plain text and one or more hyperlinks related to the single query; and

audibly outputting content related to the single query.

10. One or more non-transitory computer-readable media as recited in claim 1 , wherein the virtual assistant is configured to emulate human-to-human interaction between the user and a representative of the service provider.

11. One or more non-transitory computer-readable media as recited in claim 1 , wherein the virtual assistant resembles a human when displayed on or adjacent to the site of the service provider.

12. The one or more non-transitory computer-readable media of claim 1 , wherein the identifying the first intent associated with the single query and the second intent associated with the single query comprises analyzing the one or more data stores storing a plurality of predefined intents based at least in part on the one or more concepts; and

the acts further comprising analyzing the one or more data stores to determine that the first plurality of responses are associated in the one or more data stores with the first intent and that the second plurality of responses are associated in the one or more data stores with the second intent.

13. One or more computing devices for implementing a virtual assistant that emulates human-to-human interaction, the one or more computing devices comprising:

one or more processors; and

one or more computer-readable media storing computer-executable instructions that, when executed on the one or more processors, cause the one or more processors to perform acts comprising:

presenting, on a display associated with the one or more computing devices, the virtual assistant associated with a service provider;

receiving a single query via a first communication channel comprising an interface provided by the virtual assistant, wherein the single query comprises a fixed word or phrase;

subsequent to receiving the single query:

identifying multiple different intents associated with the single query, the multiple different intents each being associated with a plurality of responses, each of the plurality of responses being different from each other;

mapping the single query to an intent of the multiple different intents with reference to both contents of the single query and a first portion of context in which the virtual assistant received the single query, the context comprising at least one of a geolocation of the user, a time of day, a device type of a device that is used by the user to interact with the virtual assistant, a type of natural language of the single query received from the user, whether or not the user has signed in with the service provider, or a status of the user with the service provider;

analyzing a database to identify multiple different responses stored in the database as being associated with the intent;

mapping the intent to a response of the multiple different responses with reference to a second portion of the context in which the virtual assistant received the single query, wherein the multiple different responses specify (i) content for output to the interface, and (ii) an action to perform based on behalf of a user;

determining, based at least in part on the context, to switch from the first communication channel to provide a portion of the response to the user;

selecting a second communication channel from a plurality of communication channels to utilize to provide the portion of the response to the user from the virtual assistant, the second communication channel being selected based at least in part on a schedule of the user; and

outputting the response while refraining from outputting any other responses of the multiple different responses, the outputting comprising:

providing the at least the portion of the content for output via the second communication channel;

automatically performing the action on behalf of the user.

14. One or more computing devices as recited in claim 13 , wherein the virtual assistant comprises a representation of a human face, the interface comprises a text box adjacent to the representation of the human face, and the single query comprises a string of text input into the text box.

15. One or more computing devices as recited in claim 13 , wherein the mapping of the single query to the intent comprises:

identifying multiple different concepts expressed in the single query;

identifying respective values of multiple different variables associated with the single query; and

mapping the single query to the intent based at least in part on the concepts expressed in the single query and the values of the variables associated with the single query.

16. One or more computing devices as recited in claim 13 , wherein the mapping of the intent to the response comprises:

identifying respective values of multiple different variables associated with the single query; and

mapping the intent to the response based at least in part on the values of the variables associated with the single query.

17. One or more computing devices as recited in claim 14 , wherein:

the mapping of the single query to the intent comprises:

identifying multiple different concepts expressed in the single query;

identifying respective values of a first set of variables associated with the single query; and

mapping the single query to the intent based at least in part on the concepts expressed in the single query and the values of the first set of variables associated with the single query;

the mapping of the intent to the response comprises:

identifying respective values of a second set of variables associated with the single query; and

mapping the intent to the response based at least in part on the values of the second set variables associated with the single query.

18. One or more computing devices as recited in claim 17 , wherein the first and second sets of variables include at least one common variable.

19. One or more computing devices as recited in claim 17 , wherein the first and second sets of variables do not include a common variable.

20. A method comprising:

under control of one or more computing systems configured to implement a virtual assistant,

receiving a single request for information from a user via the virtual assistant and via a first communication channel, wherein the single request comprises a fixed word or phrase;

subsequent to receiving the single request for information:

identifying one or more concepts within the single request for information;

identifying respective values of multiple different variables associated with the single request for information, the values of the multiple different variables collectively defining a first piece of context associated with the user, the context comprising at least one of a geolocation of the user, a time of day, a device type of a device that is used by the user to interact with the virtual assistant, a type of natural language of the single request received from the user, whether or not the user has signed in with a service provider, or a status of the user with the service provider;

identifying multiple different intents associated with the single request for information based at least in part on the identified one or more concepts, each of the multiple different intents being associated with respective responses that are different from each other;

mapping the single request for information to an intent of the multiple different intents based at least in part on the values of the multiple different variables associated with the single request for information;

determining a second piece of the context associated with the user;

identifying a reply, independent of user input and from the respective responses associated with the intent, to provide in response to the single request for information based at least in part on the intent and the determined second piece of context, wherein the identified reply specifies (i) content for output to the user via the virtual assistant, and (ii) an action to perform on behalf of the user;

determining, based at least in part on the context associated with the user, to switch from the first communication channel to provide at least a portion of the reply to the user;

selecting a second communication channel from a plurality of communication channels to utilize to provide at least a portion of the reply to the user, the second communication channel being selected based at least in part on a communication channel that has been previously used to communicate by the user with the virtual assistant; and

outputting the reply to the user while refraining from outputting any other response from the respective responses associated with the intent, the outputting comprising:

providing the at least the portion of the reply to the user via the second communication channel, and

automatically causing performance of the action on behalf of the user.

21. A method as recited in claim 20 , wherein the virtual assistant comprises an avatar for display on a computing device of the user, the avatar emulating a human capable of receiving single requests for information from the user and providing corresponding replies in response.

22. A method as recited in claim 20 , wherein the first and second pieces of context comprise different pieces of context.

23. A method as recited in claim 20 , wherein each of the multiple different intents is associated with a corresponding set of multiple different replies to provide in response to the single request for information.

24. A method as recited in claim 20 , wherein the content comprises plain text, a hyperlink, and audio.

25. A method as recited in claim 20 , wherein:

the single request for information is received while a computing device of the user renders a first page of a site; and

the action comprises causing the computing device of the user to navigate to a second, different page of the site.

26. A method as recited in claim 20 , wherein the plurality of communication channels being selected from includes at least a web interface and a text message.

27. A method as recited in claim 20 , wherein determining, based at least in part on context associated with the user, to switch from the first communication channel to a second communication channel includes at least one of:

identifying an event in a schedule associated with the user; or

identifying a change in a geo location of the user.

28. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed on one or more processors, cause the one or more processors to serve or render a graphical user interface (GUI), the GUI comprising:

an avatar that emulates a human for conversing with a user, wherein the avatar is associated with a service provider;

a text box to receive, from the user, a single query comprising a string of text; and

an area to display at least a portion of a response to the single query, the response having been determined subsequent to receiving the single query and by:

parsing the single query to identify one or more concepts expressed therein, wherein the single query is received via a first communication channel;

identifying respective values of multiple different variables associated with the single query, the values of the multiple different variables collectively defining a context associated with the single query, the context comprising at least one of an age of the user, a geolocation of the user, a time of day, a device type of a device that is used by the user to interact with the avatar, or a type of natural language of the single query received from the user;

identifying multiple intents to map the one or more concepts to;

determining a first intent from the multiple intents to map the one or more concepts to based at least in part on the context associated with the single query;

identifying multiple responses associated with the first intent, the multiple responses including the response, the multiple responses comprising data that is responsive to the single query;

selecting the response from the multiple responses based at least in part on the context associated with the single query and independent of user input;

mapping the first intent and the context to the response while refraining from mapping the first intent to another response of the multiple responses, wherein the response specifies (i) content for output to the user via the avatar, and (ii) an action to perform on behalf of the user;

determining, based at least in part on the context, to switch from the first communication channel to provide at least a portion of the response to the user;

selecting a second communication channel from a plurality of communication channels to utilize to provide at least the portion of the response to the user, the second communication channel being selected based at least in part on a communication channel that has been previously used to communicate by the user with the avatar; and

automatically causing performance of the action on behalf of the user.

29. One or more non-transitory computer-readable media as recited in claim 28 , wherein the content includes plain text and one or more hyperlinks for display in the area.

30. One or more non-transitory computer-readable media as recited in claim 29 , wherein the content includes audio for output by the avatar.

31. One or more non-transitory computer-readable media as recited in claim 28 , wherein the GUI is for display on or adjacent to a site of a service provider, and the context is further associated with a value of a variable that indicates at least one of:

whether or not the user has signed in with the site of the service provider;

a status of the user with the service provider;

a page of the site from which the user provides the single query;

how long the user has remained on the page of the site from which the user provides the single query to the avatar;

a navigation history of the user on the site;

a location of a cursor when the user provides the single query;

a date on which the user provides the single query;

a time of day at which the user provides the single query;

a previous interaction between the user and the avatar;

a prior query provided by the user; or

a location of the user.

Assignments (9)
SECURITY INTEREST Recorded Dec 23, 2025
From: VERINT AMERICAS INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 074034/0292 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050612/0972) Recorded Nov 26, 2025
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: VERINT AMERICAS INC.
Reel/Frame 073796/0675 →
PATENT SECURITY AGREEMENT Recorded Oct 3, 2019
From: VERINT AMERICAS INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 050612/0972 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2018
From: NEXT IT CORPORATION
To: VERINT AMERICAS INC.
Reel/Frame 044963/0046 →
RELEASE OF SECURITY INTEREST Recorded Feb 18, 2018
From: POWERS, THOMAS; POWERS, GWENDOLYN
To: NEXT IT CORPORATION
Reel/Frame 044962/0795 →
RELEASE OF SECURITY INTEREST Recorded Feb 18, 2018
From: UNION BAY NEXT IT HOLDINGS, LLC
To: NEXT IT CORPORATION
Reel/Frame 044962/0659 →
SECURITY INTEREST Recorded Jun 16, 2014
From: NEXT IT CORPORATION
To: UNION BAY NEXT IT HOLDINGS, LLC
Reel/Frame 033182/0595 →
SECURITY INTEREST Recorded May 28, 2014
From: NEXT IT CORPORATION
To: POWERS, GWENDOLYN; POWERS, THOMAS
Reel/Frame 033045/0324 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2012
From: BROWN, FRED A.; MILLER, TANYA M.; ZARTLER, MARK
To: NEXT IT CORPORATION
Reel/Frame 027888/0292 →