IP Library Granted Patent US 12,423,341
Granted Patent B2
US 12,423,341 · App. 16/682,001 · Granted Sep 23, 2025

Omnichannel virtual assistant using artificial intelligence

Inventors: Janki Vora (Lewisville, TX); Mathews Thomas (Flower Mound, TX); Tassanee Kraipon Supakkul (Tarrant, TX); Utpal Mangla (Toronto, CA); Steven Layne Canepa (Woodland Hills, CA)
Assignee: International Business Machines Corporation
G06F16/3344G06F16/3329G06F16/337G06F40/216G06F40/279G06F40/295G06F40/30H04L51/02G06F40/205G06Q30/0204
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 12,423,341
App. No.
16/682,001
Filed
Nov 13, 2019
Granted
Sep 23, 2025
Kind
B2
Art Unit
2654
USPC
704/9
Abstract

Provided is a method for generating a personalized response to a user query. An omnichannel assistant receives a query from a user. The query is parsed to identify a user request. A user profile of the user is analyzed to determine one or more sources for responding to the query. The user profile includes a set of trusted sources for the user. Data for responding to the query is retrieved from the one or more sources. A channel for a response is selected based at least in part on the user profile. The response to the query is generated. The response is generated using the retrieved data, the selected channel, and the user profile. The response is then transmitted to the user.

Claims (83)

1. A method for providing a personalized response to a user query, the method comprising:

receiving, by an omnichannel assistant, a query from a user, wherein the omnichannel assistant is configured to interact with the user across two or more channels;

parsing the query to identify a user intent of the query and one or more sources for responding to the query based at least in part on the user intent of the query, the one or more sources including one or more trusted chatbots in a chatbot marketplace that enables chatbot-to-chatbot communication and aggregation of chatbot responses, wherein the chatbot marketplace includes trusted and untrusted chatbots, and the omnichannel assistant is trained using a trusted corpus to identify the one or more trusted chatbots in the chatbot marketplace that provide trustworthy chatbot responses and communicate only with the one or more trusted chatbots;

retrieving answer data for responding to the query from the one or more sources including the one or more trusted chatbots in the chatbot marketplace, the answer data including one or more answers to the query that correspond to the user intent of the query;

analyzing the retrieved answer data to determine one or more potential channels for transmitting the retrieved answer data to the user;

selecting, from the two or more channels, a channel for a response based at least in part on a user profile and the one or more potential channels for transmitting the retrieved answer data to the user;

generating the response to the query using the retrieved answer data, the selected channel, and the user profile; and

transmitting the response to the user over the selected channel.

2. The method of claim 1 , wherein parsing the query further comprises:

determining an entity associated with the query; and

determining a tone of the query,

wherein the query is parsed using natural language processing and the user profile.

3. The method of claim 1 , the method further comprising generating the user profile for the user based on one or more electronic documents associated with the user.

4. The method of claim 3 , wherein the one or more electronic documents include at least one chat transcript and at least one social media post for the user, and wherein generating the user profile comprises:

analyzing, using natural language processing, the one or more electronic documents;

determining, based on the analyzing, a set of sources that the user trusts, including the one or more trusted chatbots;

determining, based on the analyzing, characteristics of the user, wherein the characteristics include an age of the user and a channel preference of the user;

determining, based on the analyzing, a mood of the user; and

storing the set of sources that the user trusts, the characteristics of the user, and the mood of the user in the user profile.

5. The method of claim 1 , wherein retrieving the data to respond to the query from the one or more sources comprises:

analyzing data from trusted sources to determine whether the data can be used to formulate the response;

determining that a response generated from the trusted sources has a confidence level below a predetermined threshold; and

transmitting the query to the one or more trusted chatbots in the chatbot marketplace.

6. The method of claim 5 , the method further comprising:

receiving, from a trusted chatbot in the chatbot marketplace, a first response;

determining that the first response has a confidence level that exceeds the predetermined threshold; and

generating the response to the query using the first response received from the trusted chatbot.

7. An omnichannel assistant comprising:

a memory; and

a processor communicatively coupled to the memory, wherein the processor is configured to:

receive a query from a user, wherein the processor is configured to interact with the user across two or more channels;

parse the query to identify a user intent of the query and one or more sources for responding to the query based at least in part on the user intent of the query, the one or more sources including one or more trusted chatbots in a chatbot marketplace that enables chatbot-to-chatbot communication and aggregation of chatbot responses, wherein the chatbot marketplace includes trusted and untrusted chatbots, and the omnichannel assistant is trained using a trusted corpus to identify the one or more trusted chatbots in the chatbot marketplace that provide trustworthy chatbot responses and communicate only with the one or more trusted chatbots;

retrieve answer data for responding to the query from the one or more sources including the one or more chatbots in the chatbot marketplace, the answer data including one or more answers to the query that correspond to the user intent of the query;

analyze the retrieved answer data to determine one or more potential channels for transmitting the one or more answers to the user;

select, from the two or more channels, a channel for a response based at least in part on a user profile and the one or more potential channels for transmitting the one or more answers to the user;

generate the response to the query using the one or more answers, the selected channel, and the user profile; and

transmit the response to the user over the selected channel.

8. The omnichannel assistant of claim 7 , wherein parsing the query further comprises:

determining an entity associated with the query; and

determining a tone of the query,

wherein the query is parsed using natural language processing and the user profile.

9. The omnichannel assistant of claim 7 , wherein the processor is further configured to generate the user profile for the user based on one or more electronic documents associated with the user.

10. The omnichannel assistant of claim 9 , wherein the one or more electronic documents include at least one chat transcript and at least one social media post for the user, and wherein generating the user profile comprises:

analyzing, using natural language processing, the one or more electronic documents;

determining, based on the analyzing, a set of sources that the user trusts, including the one or more trusted chatbots;

determining, based on the analyzing, characteristics of the user, wherein the characteristics include an age of the user and a channel preference of the user;

determining, based on the analyzing, a mood of the user; and

storing the set of sources that the user trusts, the characteristics of the user, and the mood of the user in the user profile.

11. The omnichannel assistant of claim 7 , wherein retrieving the data to respond to the query from the one or more sources comprises:

analyzing data from trusted sources to determine whether the data can be used to formulate the response;

determining that a response generated from the trusted sources has a confidence level below a predetermined threshold; and

transmitting the query to the one or more trusted chatbots in the chatbot marketplace.

12. The omnichannel assistant of claim 11 , wherein the processor is further configured to:

receive, from a trusted chatbot in the chatbot marketplace, a first response;

determine that the first response has a confidence level that exceeds the predetermined threshold; and

generate the response to the query using the first response received from the trusted chatbot.

13. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by processor of an omnichannel assistant to cause the processor to:

receive a query from a user, wherein the omnichannel assistant is configured to interact with the user across two or more channels;

parse the query to identify a user intent of the query and one or more sources for responding to the query based at least in part on the user intent of the query, the one or more sources including one or more trusted chatbots in a chatbot marketplace that enables chatbot-to-chatbot communication and aggregation of chatbot responses, wherein the chatbot marketplace includes trusted and untrusted chatbots, and the omnichannel assistant is trained using a trusted corpus to identify the one or more trusted chatbots in the chatbot marketplace that provide trustworthy chatbot responses and communicate only with the one or more trusted chatbots;

retrieve answer data for responding to the query from the one or more sources including the one or more chatbots in the chatbot marketplace, the answer data including one or more answers to the query that correspond to the user intent of the query;

analyze the retrieved answer data to determine one or more potential channels for transmitting the retrieved answer data to the user;

select, from the two or more channels, a channel for a response based at least in part on a user profile and the one or more potential channels for transmitting the retrieved answer data to the user;

generate the response to the query using the retrieved answer data, the selected channel, and the user profile; and

transmit the response to the user over the selected channel.

14. The computer program product of claim 13 , wherein parsing the query further comprises:

determining an entity associated with the query; and

determining a sentiment of the query,

wherein the query is parsed using natural language processing and the user profile.

15. The computer program product of claim 13 , wherein the program instructions further cause the processor to generate the user profile for the user based on one or more electronic documents associated with the user.

16. The computer program product of claim 15 , wherein the one or more electronic documents include at least one chat transcript and at least one social media post for the user, and wherein generating the user profile comprises:

analyzing, using natural language processing, the one or more electronic documents;

determining, based on the analyzing, a set of sources that the user trusts, including the one or more trusted chatbots;

determining, based on the analyzing, characteristics of the user, wherein the characteristics include an age of the user and a channel preference of the user;

determining, based on the analyzing, a mood of the user; and

storing the set of sources that the user trusts, the characteristics of the user, and the mood of the user in the user profile.

17. The computer program product of claim 13 , wherein retrieving the data to respond to the query from the one or more sources comprises:

analyzing data from trusted sources to determine whether the data can be used to formulate the response;

determining that a response generated from the trusted sources has a confidence level below a predetermined threshold; and

transmitting, in response to determining that the response generated from the trusted sources has a confidence level below a predetermined threshold, the query to the one or more trusted chatbots in the chatbot marketplace.

18. The computer program product of claim 17 , wherein the program instructions further cause the processor to:

receive, from a trusted chatbot in the chatbot marketplace, a first response;

determine that the first response has a confidence level that exceeds the predetermined threshold; and

generate the response to the query using the first response received from the trusted chatbot.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2019
From: VORA, JANKI; THOMAS, MATHEWS; SUPAKKUL, TASSANEE KRAIPON; MANGLA, UTPAL; CANEPA, STEVEN LAYNE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 050991/0380 →
Continuity (1)
Related Publication 20210141820A1 · May 13, 2021
References Cited (40)
US 10249289B2 · Chun · 2019 [cited by examiner]
US 10460107B2 · Crofton · 2019 [cited by examiner]
US 11281983B2 · Vallam · 2022 [cited by examiner]
US 11423413B2 · Pandey · 2022 [cited by examiner]
US 12361220B1 · Krull · 2025 [cited by examiner]
US 20070033005A1 · Cristo · 2007 [cited by examiner]
US 20070038436A1 · Cristo · 2007 [cited by examiner]
US 20070050191A1 · Weider · 2007 [cited by examiner]
US 20080243744A1 · Isaacs · 2008 [cited by examiner]
US 20120016678A1 · Gruber et al. · 2012 [cited by applicant]
US 20140074629A1 · Rathod · 2014 [cited by examiner]
US 20140279050A1 · Makar et al. · 2014 [cited by applicant]
US 20140280623A1 · Duan · 2014 [cited by applicant]
US 20160294739A1 · Stoehr et al. · 2016 [cited by applicant]
US 20160352658A1 · Capper et al. · 2016 [cited by applicant]
US 20170031978A1 · Cunico · 2017 [cited by examiner]
US 20170180284A1 · Smullen · 2017 [cited by examiner]
US 20170279906A1 · Laird-McConnell · 2017 [cited by examiner]
US 20180018373A1 · Yazdian · 2018 [cited by examiner]
US 20180181558A1 · Emery · 2018 [cited by examiner]
US 20180189273A1 · Campos · 2018 [cited by examiner]
US 20190132451A1 · Kannan · 2019 [cited by examiner]
US 20190140986A1 · Anderson et al. · 2019 [cited by applicant]
US 20190213465A1 · Avrahami · 2019 [cited by examiner]
US 20190251165A1 · Bachrach · 2019 [cited by examiner]
US 20190294666A1 · Williams et al. · 2019 [cited by applicant]
US 20190364117A1 · Rogynskyy · 2019 [cited by examiner]
US 20200012655A1 · Robichaud · 2020 [cited by examiner]
US 20200073982A1 · Kolluri Venkata Sesha · 2020 [cited by examiner]
US 20200202071A1 · Ghulati · 2020 [cited by examiner]
US 20200252353A1 · Lalji · 2020 [cited by examiner]
US 20200356999A1 · Pandey · 2020 [cited by examiner]
US 20200387629A1 · Yang · 2020 [cited by examiner]
US 20210141938A1 · Carter · 2021 [cited by examiner]
US 20210266178A1 · Grube · 2021 [cited by examiner]
CN 105975622A · 2016 [cited by applicant]
IN 201841018570A · 2019 [cited by examiner]
Matthews, K., “How Chatbots Are Learning Emotions Using Deep Learning,” https://chatbotsmagazine.com/how-chatbots-are-learning-emotions-using-deep-learning-23e1085e4cfe, printed Jul. 29, 2019, 5 pgs. [cited by applicant]
Mell et al., “The NIST Definition of Cloud Computing,” Recommendations of the National Institute of Standards and Technology, U.S. Department of Commerce, Special Publication 800-145, Sep. 2011, 7 pgs. [cited by applicant]
Mool, T., “Omnichannel vs. Multichannel: How a Transit Chatbot has Simplified Reach,” https://nativemsg.com/blog/omnichannel-marketing-vs-multichannel-marketing , printed Jul. 29, 2019, 4 pgs. [cited by applicant]