IP Library Granted Patent US 11,769,013
Granted Patent B2
US 11,769,013 · App. 16/680,323 · Granted Sep 26, 2023

Machine learning based tenant-specific chatbots for performing actions in a multi-tenant system

Inventors: Michael Machado (Burlingame, CA); James Douglas Harrison (Mill Valley, CA); Caiming Xiong (Menlo Park, CA); Xinyi Yang (San Francisco, CA); Thomas Archie Cook (Boulder, CO); Roojuta Lalani (Fremont, CA); Jean-Marc Soumet (San Jose, CA); Karl Ryszard Skucha (Los Altos, CA); Juan Rodriguez (Mountain View, CA); Manju Vijayakumar (Pleasanton, CA); Vishal Motwani (Palo Alto, CA); Tian Xie (Palo Alto, CA); Bryan McCann (Menlo Park, CA); Nitish Shirish Keskar (San Francisco, CA); Zhihao Zou (Foster City, CA); Chitra Gulabrani (Palo Alto, CA); Minal Khodani (Foster City, CA); Adarsha Badarinath (Fremont, CA); Rohiniben Thakar (Newark, CA); Srikanth Kollu (Pleasanton, CA); Kevin Schoen (Bothell, WA); Qiong Liu (Cupertino, CA); Amit Hetawal (San Ramon, CA); Kevin Zhang (San Francisco, CA); Kevin Zhang (Alameda, CA); Johnson Liu (Santa Clara, CA); Rafael Amsili (Mountain View, CA)
Assignee: Salesforce, Inc.
G06F40/30G06F40/295G06N3/04G06N3/08H04L51/02
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 11,769,013
App. No.
16/680,323
Granted
Sep 26, 2023
Kind
B2
Abstract

A multi-tenant system performs custom configuration of a tenant-specific chatbot to process and act upon natural language requests. The multi-tenant system configures the tenant-specific chatbots without requiring tenant-specific training. The multi-tenant system providing a user interface for configuring a tenant-specific set of permitted actions. The multi-tenant system determines a set of example phrases for each of the selected permitted actions. The multi-tenant system receives a natural language request from a user and identifies the action that the user wants to perform. The multi-tenant system uses a neural network to compare the natural language request with example phrases to identify an example phrase that matches the natural language request. The multi-tenant system performs the action corresponding to the matching example phrase.

Claims (74)

1. A computer implemented method for enabling custom configuration of a tenant-specific chatbot to process and act upon natural language requests without requiring tenant-specific training, the method comprising:

providing a user interface displaying a set of actions;

receiving a selection of one or more actions from the set of actions;

configuring the selected one or more actions as a tenant-specific set of permitted actions;

generating a set of tenant-specific example phrases for each of the tenant-specific permitted actions based on metadata associated with the tenant-specific permitted actions, each example phrase representing a natural language request for performing a corresponding permitted action; and

configuring a tenant-specific chatbot to:

(i) receive a natural language request to perform one of the tenant-specific permitted actions,

(ii) for an example phrase from the sets of example phrases, input the natural language request and the example phrase into a neural network to receive a score indicating whether said example phrase can be inferred from the natural language request, wherein the neural network is configured to receive (a) an input natural language request and (b) an input example phrase and output a score indicating whether the input example phrase can be inferred from the input natural language request, and

(iii) if a score obtained from an example phrase meets a threshold indicating that the example phrase can be inferred from the natural language request, perform the tenant-specific permitted action corresponding to the example phrase.

2. The method of claim 1 , further comprising:

performing an online conversation comprising:

determining one or more parameters required for performing the determined action; and

receiving values of the one or more parameters, comprising, for a parameter:

generating a request to receive a value for the parameter;

sending the generated request to a user via a user interface dialog; and

receiving the value of the parameter from the user.

3. The method of claim 1 , wherein determining each set of example phrases comprises:

accessing a first set of example phrases, each example phrase representing a request for an action that is independent of an entity type; and

generating a second set of example phrases, wherein each example phrase from the second set of example phrases is obtained by adding text representing entity type specific information to an example phrase from the first set of example phrases.

4. The method of claim 3 , wherein the action corresponding to the example phrase from the first set of example phrases is associated with an entity type, wherein the added text to the example phrase from the first set of example phrases represents information describing at attribute of the entity type.

5. The method of claim 3 , further comprising:

mapping the natural language request to one of the example phrases comprising:

mapping the natural language request to an example phrase from the first set of example phrases;

determining a subset of example phrases from the second set of example phrases that were obtained from the mapped example phrase of the first set of example phrases; and

mapping the natural language request to the subset of example phrases.

6. The method of claim 1 , wherein determining the sets of example phrases for the permitted actions is performed after receiving the natural language request.

7. The method of claim 1 , wherein the set of example phrases is a first set of example phrases, further comprising:

storing a plurality of different sets of example phrases, wherein the set of example phrases is one of the plurality of different sets; and

using the trained neural network against each of the plurality of sets of example phrases without retraining the neural network for each distinct set of example phrases.

8. The method of claim 1 , wherein a particular natural language request maps to two different actions for two different tenants.

9. The method of claim 7 , wherein each tenant has a distinct set of entity types and actions, wherein each tenant stores a set of example phrases different from sets of example phrases of other tenants.

10. The method of claim 1 , wherein the tenant-specific chatbot is configured for a subset of users from an organization associated with a multi-tenant system.

11. A non-transitory computer readable storage medium storing instructions that when executed by one or more computer processors, cause the one or more computer processors to perform steps for enabling custom configuration of a tenant-specific chatbot to process and act upon natural language requests without requiring tenant-specific training, the steps comprising:

providing a user interface displaying a set of actions;

receiving a selection of one or more actions from the set of actions;

configuring the selected one or more actions as a tenant-specific set of permitted actions;

automatically generating a set of tenant-specific example phrases for each of the tenant-specific permitted actions based on metadata associated with the tenant-specific permitted actions, each example phrase representing a natural language request for performing a corresponding permitted action; and

configuring a tenant-specific chatbot to:

(i) receive a natural language request to perform one of the tenant-specific permitted actions,

(ii) for an example phrase from the set of example phrases, input the natural language request and the example phrase into a neural network to receive a score indicating whether said example phrase can be inferred from the natural language request, wherein the neural network is configured to receive (a) an input natural language request and (b) an input example phrase and output a score indicating whether the input example phrase can be inferred from the input natural language request, and

(iii) if a score obtained from an example phrase meets a threshold indicating that the example phrase can be inferred from the natural language request, perform the tenant-specific permitted action corresponding to the example phrase.

12. The non-transitory computer readable storage medium of claim 11 , wherein the instructions further cause the one or more computer processors to perform steps comprising:

performing an online conversation comprising:

determining one or more parameters required for performing the determined action; and

receiving values of the parameters, comprising, for each parameter:

generating a request to receive a value for the parameter;

sending the generated request to a user via a user interface dialog; and

receiving the value of the parameter from the user.

13. The non-transitory computer readable storage medium of claim 11 , wherein determining the set of example phrases comprises:

accessing a first set of example phrases, each example phrase representing a request for an action that is independent of an entity type; and

generating a second set of example phrases, wherein each example phrase from the second set of example phrases is obtained by adding text representing entity type specific information to an example phrase from the first set of example phrases.

14. The non-transitory computer readable storage medium of claim 13 , wherein the action corresponding to the example phrase from the first set of example phrases is associated with an entity type, wherein the added text to the example phrase from the first set of example phrases represents information describing at attribute of the entity type.

15. The non-transitory computer readable storage medium of claim 13 , wherein the instructions further cause the one or more computer processors to perform steps comprising:

mapping the natural language request to one of the example phrases comprising:

mapping the natural language request to an example phrase from the first set of example phrases;

determining a subset of example phrases from the second set of example phrases that were obtained from the mapped example phrase of the first set of example phrases; and

mapping the natural language request to the subset of example phrases.

16. The non-transitory computer readable storage medium of claim 11 , wherein determining the set of example phrases for the permitted actions is performed after receiving the natural language request.

17. The non-transitory computer readable storage medium of claim 11 , wherein the set of example phrases is a first set of example phrases, wherein the instructions further cause the one or more computer processors to perform steps comprising:

storing a plurality of different sets of example phrases, wherein the set of example phrases is one of the plurality of different sets; and

using the trained neural network against each of the plurality of sets of example phrases without retraining the neural network for each distinct set of example phrases.

18. The non-transitory computer readable storage medium of claim 11 , wherein a particular natural language request maps to two different actions for two different tenants.

19. The non-transitory computer readable storage medium of claim 17 , wherein each tenant has a distinct set of entity types and actions, wherein each tenant stores a set of example phrases different from sets of example phrases of other tenants.

20. A computer system comprising:

one or more computer processors; and

a non-transitory computer readable storage medium storing instructions that when executed by the one or more computer processors cause the one or more computer processors to perform steps for enabling custom configuration of a tenant-specific chatbot to process and act upon natural language requests without requiring tenant-specific training, the steps comprising:

providing a user interface displaying a set of actions;

receiving a selection of one or more actions from the set of actions;

configuring the selected one or more actions as a tenant-specific set of permitted actions;

generating a set of tenant-specific example phrases for each of the tenant-specific permitted actions based on metadata associated with the tenant-specific permitted actions, each example phrase representing a natural language request for performing a corresponding permitted action; and

configuring a tenant-specific chatbot to:

(i) receive a natural language request to perform one of the tenant-specific permitted actions,

(ii) for an example phrase from the set of example phrases, input the natural language request and the example phrase into a neural network to receive a score indicating whether said example phrase can be inferred from the natural language request, wherein the neural network is configured to receive (a) an input natural language request and (b) an input example phrase and output a score indicating whether the input example phrase can be inferred from the input natural language request, and

(iii) if a score obtained from an example phrase meets a threshold indicating that the example phrase can be inferred from the natural language request, perform the tenant-specific permitted action corresponding to the example phrase.

Assignments (3)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2021
From: ZHANG, KEVIN; LIU, JOHNSON; AMSILI, RAFAEL
To: SALESFORCE.COM, INC.
Reel/Frame 056662/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2021
From: MACHADO, MICHAEL; HARRISON, JAMES DOUGLAS; XIONG, CAIMING; YANG, XINYI; COOK, THOMAS ARCHIE; LALANI, ROO; SOUMET, JEAN-MARC; SKUCHA, KARL RYSZARD; RODRIGUEZ, JUAN; VIJAYAKUMAR, MANJU; MOTWANI, VISHAL; XIE, TIAN; MCCANN, BRYAN; KESKAR, NITISH SHIRISH; ZOU, ZHIHAO; GULABRANI, CHITRA; KHODANI, MINAL; BADARINATH, ADARSHA; THAKAR, ROHINIBEN; KOLLU, SRIKANTH; SCHOEN, KEVIN; LIU, QIONG; HETWAL, AMIT; ZHANG, KEVIN
To: SALESFORCE.COM, INC.
Reel/Frame 056662/0835 →
Continuity (1)
Related Publication 20210141865A1 · May 13, 2021
Cited By (2)
US 12,608,689 US 12,664,599