IP Library Granted Patent US 11,651,162
Granted Patent B2
US 11,651,162 · App. 16/857,512 · Granted May 16, 2023

Composite entity for rule driven acquisition of input data to chatbots

Inventors: Srinivasa Phani Kumar Gadde (Belmont, CA); Manish Parekh (San Jose, CA); Steven Martijn Davelaar (Amsterdam, NL); Manmohit Rekhi (Herdon, VA)
Assignee: Oracle International Corporation
G06F40/30G06F40/295H04L67/10
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,651,162
App. No.
16/857,512
Granted
May 16, 2023
Kind
B2
Abstract

The present disclosure relates to chatbot systems, and more particularly, to techniques for obtaining data items for input to a chatbot. In certain embodiments, a chatbot system includes a component that can be invoked by a chatbot in the chatbot system to obtain data items needed by the chatbot. The component can be invoked based on a reference to the component in a dialog flow definition configured for the chatbot. The reference to the component can indicate a composite entity that the component will use to determine how the data items are obtained from a user. The composite entity acts as a container for the data items and may be configured separately from the dialog flow definition of the chatbot. The data items can be obtained based on rules specified in a composite entity definition configured for the composite entity.

Claims (63)

1. A method comprising:

invoking, by a computer-implemented chatbot system, a chatbot in a dialog flow state configured for the chatbot;

determining, by the chatbot system, that the dialog flow state indicates a composite entity to be filled with data items for processing by the chatbot;

determining, by the chatbot system and from a composite entity definition configured for the composite entity, a set of data items to be obtained from a user of the chatbot system and a plurality of rules that specify how the user is to be prompted for the set of data items, the plurality of rules including, for each data item in the set of data items, at least one rule configured for the data item;

obtaining, by the chatbot system, the set of data items from the user in accordance with the plurality of rules; and

inputting, by the chatbot system, the obtained set of data items to the chatbot for processing.

2. The method of claim 1 , wherein obtaining the set of data items from the user comprises:

presenting a first prompt requesting a first data item in the set of data items from the user, wherein the first prompt is specified in the composite entity definition.

3. The method of claim 2 , wherein obtaining the set of data items from the user further comprises:

receiving a value from the user in response to the first prompt; and

determining, based on a rule configured for the first data item, whether the received value is valid.

4. The method of claim 3 , wherein obtaining the set of data items from the user further comprises:

responsive to determining, based on the rule configured for the first data item, that the received value is invalid, presenting an error message to the user, wherein the error message is specified in the composite entity definition.

5. The method of claim 3 , wherein obtaining the set of data items from the user further comprises:

responsive to determining, based on the rule configured for the first data item, that the received value is invalid, presenting a second prompt requesting the first data item from the user, wherein the second prompt is specified in the composite entity definition and is different than the first prompt.

6. The method of claim 2 , wherein obtaining the set of data items from the user further comprises:

determining, based on a rule configured for the first data item, that a condition required for presenting the first prompt is satisfied.

7. The method of claim 6 , wherein the condition required for presenting the first prompt relates to a second data item in the set of data items.

8. The method of claim 2 , wherein obtaining the set of data items from the user further comprises:

receiving a value from the user in response to the first prompt; and

determining, based on a rule configured for the first data item, that the received value is invalid for the first data item; and

determining, based on a rule configured for a second data item in the set of data items, that the received value is valid for the second data item.

9. The method of claim 1 , wherein obtaining the set of data items from the user further comprises:

receiving a first value and a second value from the user in response to the first prompt;

determining, based on a rule configured for a first data item, that the first value and the second value are both valid for the first data item; and

responsive to determining, based on the rule configured for the first data item, that the first value and the second value are both valid for the first data item, presenting a second prompt to the user, wherein the second prompt requests the user to indicate which of the first value and the second value to use as the first data item.

10. The method of claim 1 , wherein the set of data items includes a string of text, location coordinates, or a file attachment.

11. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, the memory storing a plurality of instructions that, when executed by the one or more processors, causes the one or more processors to perform processing comprising:

invoking a chatbot in a dialog flow state configured for the chatbot;

determining that the dialog flow state indicates a composite entity to be filled with data items for processing by the chatbot;

determining, from a composite entity definition configured for the composite entity, a set of data items to be obtained from a user of the chatbot and a plurality of rules that specify how the user is to be prompted for the set of data items, the plurality of rules including, for each data item in the set of data items, at least one rule configured for the data item;

obtaining the set of data items from the user in accordance with the plurality of rules; and

inputting the obtained set of data items to the chatbot for processing.

12. The system of claim 11 , wherein obtaining the set of data items from the user comprises:

presenting a first prompt requesting a first data item in the set of data items from the user, wherein the first prompt is specified in the composite entity definition.

13. The system of claim 12 , wherein obtaining the set of data items from the user further comprises:

receiving a value from the user in response to the first prompt; and

determining, based on a rule configured for the first data item, whether the received value is valid.

14. The system of claim 13 , wherein obtaining the set of data items from the user further comprises:

responsive to determining, based on the rule configured for the first data item, that the received value is invalid, presenting an error message to the user, wherein the error message is specified in the composite entity definition.

15. The system of claim 13 , wherein obtaining the set of data items from the user further comprises:

responsive to determining, based on the rule configured for the first data item, that the received value is invalid, presenting a second prompt requesting the first data item from the user, wherein the second prompt is specified in the composite entity definition and is different than the first prompt.

16. The system of claim 12 , wherein obtaining the set of data items from the user further comprises:

determining, based on a rule configured for the first data item, that a condition required for presenting the first prompt is satisfied.

17. The system of claim 16 , wherein the condition required for presenting the first prompt relates to a second data item in the set of data items.

18. The system of claim 12 , wherein obtaining the set of data items from the user further comprises:

receiving a value from the user in response to the first prompt; and

determining, based on a rule configured for the first data item, that the received value is invalid for the first data item; and

determining, based on a rule configured for a second data item in the set of data items, that the received value is valid for the second data item.

19. The system of claim 11 , wherein obtaining the set of data items from the user further comprises:

receiving a first value and a second value from the user in response to the first prompt;

determining, based on a rule configured for a first data item, that the first value and the second value are both valid for the first data item; and

responsive to determining, based on the rule configured for the first data item, that the first value and the second value are both valid for the first data item, presenting a second prompt to the user, wherein the second prompt requests the user to indicate which of the first value and the second value to use as the first data item.

20. A method comprising:

determining, by a chatbot system, that a dialog flow state configured for a chatbot indicates a composite entity to be filled with data items for processing by the chatbot;

determining, by the chatbot system and from a composite entity definition configured for the composite entity, a set of data items to be obtained from a user of the chatbot system and a plurality of rules that specify how the user is to be prompted for the set of data items, the plurality of rules including, for each data item in the set of data items, at least one rule configured for the data item;

obtaining, by the chatbot system, the set of data items from the user in accordance with the plurality of rules, including:

presenting a first prompt requesting a first data item in the set of data items from the user,

receiving a value from the user in response to the first prompt, and

in response to determining, based on a rule configured for the first data item, that the received value is invalid, presenting an error message to the user, wherein the error message is specified in the composite entity definition; and

inputting, by the chatbot system, the obtained set of data items to the chatbot for processing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: GADDE, SRINIVASA PHANI KUMAR; PAREKH, MANISH; DAVELAAR, STEVEN MARTIJN; REKHI, MANMOHIT
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 052641/0565 →
Continuity (3)
Provisional Application 62900392 · Sep 13, 2019
Provisional Application 62839580 · Apr 26, 2019
Related Publication 20200342175A1 · Oct 29, 2020
Cited By (2)
US 12,373,648 US 12,468,902