US 11,902,221 B2
Customizing chatbots based on user specification
Xinyi Yang, San Mateo, CA (US); Tian Xie, Los Altos, CA (US); Caiming Xiong, Menlo Park, CA (US); Wenhao Liu, Redwood City, CA (US); Huan Wang, Fremont, CA (US); Kazuma Hashimoto, Menlo Park, CA (US); Jin Qu, Sunnyvale, CA (US); Feihong Wu, Santa Clara, CA (US); and Yingbo Zhou, Palo Alto, CA (US)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by Salesforce, Inc., San Francisco, CA (US)
Filed on Sep. 29, 2020, as Appl. No. 17/037,554.
Prior Publication US 2022/0103491 A1, Mar. 31, 2022
Int. Cl. G06F 40/35 (2020.01); H04L 51/02 (2022.01); G06N 3/04 (2023.01); G06F 18/214 (2023.01)
CPC H04L 51/02 (2013.01) [G06F 18/2148 (2023.01); G06F 40/35 (2020.01); G06N 3/04 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer implemented method for performing chatbot conversations, the method comprising:
receiving a chatbot configuration specifying a set of tasks, the chatbot configuration including:
(1) a set of example phrases for each task of the set of tasks,
(2) one or more entity types specified as corresponding to execution of each task of the set of tasks, wherein each one or more entities have one of the entity types, and
(3) a plurality of methods assigned to each of the entity types, wherein at least one of the plurality of methods for each entity type is a recognition method that determines a value of an entity;
receiving a user utterance via the chatbot;
comparing the user utterance with the set of example phrases for each of the set of tasks, wherein the comparing comprises: for each user utterance and example phrase pair, determining a score indicating a likelihood that the example phrase from the set of example phrases can be inferred from the utterance;
selecting a task from the set of tasks based on the comparing, wherein the selected task corresponds one of the set of example phrases to an example phrase having a highest score from the determined scores;
for each particular entity type of the one or more entity types specified to correspond to the selected task,
identifying a method among the plurality of methods that was assigned to the particular entity type, the plurality of methods including the recognition method of using a trained neural network model to recognize one or more entities of the particular entity type from the received user utterance; and
determining one or more values of the recognized one or more entities by executing the recognition method assigned to the particular entity type; and
executing the selected task using the determined values of the particular entity types associated with the task.