IP Library Granted Patent US 10,841,251
Granted Patent B1
US 10,841,251 · App. 16/787,920 · Granted Nov 17, 2020

Multi-domain chatbot

Inventors: Mukund Ramachandran (Sunnyvale, CA); Desmond Wing-Yin Chan (Saratoga, CA); Nick Naixuan Guo (Mountain View, CA); Jing Chen (Redwood City, CA); Jiang Chen (Fremont, CA); Vaibhav Nivargi (Palo Alto, CA); Varun Singh (Mountain View, CA); Bhavin Nicholas Shah (Fremont, CA)
Assignee: MOVEWORKS, INC.
H04L51/02G06F40/30H04L51/14
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 10,841,251
App. No.
16/787,920
Granted
Nov 17, 2020
Kind
B1
Abstract

A multi-domain chatbot is used to service a message of a user. An automated agent of the multi-domain chatbot may act as an intermediary between the user and a plurality of domain-specific modules of the multi-domain chatbot. The automated agent may receive the message from the user, determine an intent of the message, and based on the intent, determine a group of the domain-specific modules that should be investigated. The automated agent may then investigate the group of domain-specific modules by sending the user message to and receiving responses from the domain-specific modules within the group. Based on the received responses, the automated agent may determine whether to provide, to the user, one of the domain-specific responses or a null response, in the event that none of the domain-specific responses is aligned with the intent of the message.

Claims (46)

1. A method, comprising:

receiving, by an automated agent and from a client device, a message generated by a user;

determining, by the automated agent, an intent of the user message;

prior to transmitting the user message to any domain-specific modules, identifying a group of the domain-specific modules that should be investigated based on at least the intent of the user message, the group of domain-specific modules including at least two domain-specific modules;

transmitting the user message to the group of domain-specific modules;

receiving, by the automated agent, responses from the group of domain-specific modules;

determining whether any of the responses is aligned with the intent of the user message; and

if at least one of the responses is aligned with the intent of the user message, ranking the domain-specific modules according to a criterion, and transmitting a response from the most highly ranked domain-specific module to the client device;

otherwise, if none of the responses is aligned with the intent of the user message, transmitting, to the client device, a null response that does not satisfy the intent of the user message,

wherein the null response informs the user of one or more domain-specific modules from the group of domain-specific modules that have been investigated and ruled out for not being able to sufficiently address the user message, and further informs the user that the ruling out of the one or more domain-specific modules is based on responses the automated agent has received from the one or more domain-specific modules that have been investigated and ruled out.

2. The method of claim 1 , wherein the domain-specific modules that should be investigated are configured to perform one or more tasks.

3. The method of claim 1 , wherein the identification of the group of the domain-specific modules is further based on at least one of prior interactions between the automated agent and the user or interactions between the automated agent and other users.

4. The method of claim 1 , wherein the determination of whether any of the responses is aligned with the intent of the user message is based on at least one of prior interactions between the automated agent and the user or interactions between the automated agent and other users.

5. The method of claim 1 , wherein the ranking of the domain-specific modules takes into account at least one of prior interactions between the automated agent and the user or interactions between the automated agent and other users.

6. The method of claim 1 , wherein the criterion considers how likely each of the domain-specific modules will be able to satisfy the intent of the user message.

7. The method of claim 1 , wherein the null response, at least one of, offers an apology to the user, states that the intent of the user message cannot be understood, transfers the user to a human agent, or directs the user to contact a human agent.

8. The method of claim 1 , wherein the null response requests information from the user to clarify the intent of the user message.

9. The method of claim 1 , wherein the null response is chosen from a plurality of null responses based on at least one of the intent of the user message and the responses from the group of domain-specific modules.

10. A computing system comprising a processor and memory storing instructions that, when executed by the processor, cause the processor to:

receive, from a client device, a message generated by a user;

determine an intent of the user message;

prior to transmitting the user message to any domain-specific modules, identify a group of the domain-specific modules that should be investigated based on at least the intent of the user message, the group of domain-specific modules including at least two domain-specific modules;

transmit the user message to the group of domain-specific modules;

receive responses from the group of domain-specific modules;

determine whether any of the responses is aligned with the intent of the user message; and

if at least one of the responses is aligned with the intent of the user message, rank the domain-specific modules according to a criterion, and transmit a first response from the most highly ranked domain-specific module to the client device;

otherwise, if none of the responses is aligned with the intent of the user message, transmit, to the client device, a null response that does not satisfy the intent of the user message,

wherein the null response informs the user of one or more domain-specific modules from the group of domain-specific modules that have been investigated and ruled out by an automated agent for not being able to sufficiently address the user message, and further informs the user that the ruling out of the one or more domain-specific modules is based on responses the automated agent has received from the one or more domain-specific modules that have been investigated and ruled out.

11. The computing system of claim 10 , wherein the ranking of the domain-specific modules takes into account at least one of prior interactions between the automated agent and the user or interactions between the automated agent and other users.

12. The computing system of claim 10 , wherein the domain-specific modules that should be investigated are configured to perform one or more tasks.

13. The computing system of claim 10 , wherein the identification of the group of the domain-specific modules is further based on at least one of prior interactions between the automated agent and the user or interactions between the automated agent and other users.

14. The computing system of claim 10 , wherein the determination of whether any of the responses is aligned with the intent of the user message is based on at least one of prior interactions between the automated agent and the user or interactions between the automated agent and other users.

15. A non-transitory machine-readable storage medium comprising instructions that, when executed by a processor, cause the processor to:

receive, from a client device, a message generated by a user;

determine an intent of the user message;

prior to transmitting the user message to any domain-specific modules, identify a group of the domain-specific modules that should be investigated based on at least the intent of the user message, the group of domain-specific modules including at least two domain-specific modules;

transmit the user message to the group of domain-specific modules;

receive responses from the group of domain-specific modules;

determine whether any of the responses is aligned with the intent of the user message; and

if at least one of the responses is aligned with the intent of the user message, rank the domain-specific modules according to a criterion, and transmit a first response from the most highly ranked domain-specific module to the client device;

otherwise, if none of the responses is aligned with the intent of the user message, transmit, to the client device, a null response that does not satisfy the intent of the user message,

wherein the null response informs the user of one or more domain-specific modules from the group of domain-specific modules that have been investigated and ruled out by an automated agent for not being able to sufficiently address the user message, and further informs the user that the ruling out of the one or more domain-specific modules is based on responses the automated agent has received from the one or more domain-specific modules that have been investigated and ruled out.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the ranking of the domain-specific modules takes into account at least one of prior interactions between the automated agent and the user or interactions between the automated agent and other users.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the domain-specific modules that should be investigated are configured to perform one or more tasks.

18. The non-transitory machine-readable storage medium of claim 15 , wherein the identification of the group of the domain-specific modules is further based on at least one of prior interactions between the automated agent and the user or interactions between the automated agent and other users.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the determination of whether any of the responses is aligned with the intent of the user message is based on at least one of prior interactions between the automated agent and the user or interactions between the automated agent and other users.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2026
From: MOVEWORKS, LLC
To: SERVICENOW, INC.
Reel/Frame 073524/0740 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2020
From: GUO, NICK NAIXUAN
To: MOVEWORKS, INC.
Reel/Frame 053418/0908 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2020
From: SINGH, VARUN
To: MOVEWORKS, INC.
Reel/Frame 053418/0946 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2020
From: NIVARGI, VAIBHAV
To: MOVEWORKS, INC.
Reel/Frame 053418/0845 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2020
From: CHEN, JIANG
To: MOVEWORKS, INC.
Reel/Frame 051944/0077 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2020
From: RAMACHANDRAN, MUKUND
To: MOVEWORKS, INC.
Reel/Frame 051944/0080 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2020
From: CHAN, DESMOND WING-YIN
To: MOVEWORKS, INC.
Reel/Frame 051944/0083 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2020
From: SHAH, BHAVIN NICHOLAS
To: MOVEWORKS, INC.
Reel/Frame 051944/0113 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2020
From: CHEN, JING
To: MOVEWORKS, INC.
Reel/Frame 051825/0228 →