US 11,949,635 B2
Proactive and reactive directing of conversational bot-human interactions
Jeffrey D. Orkin, Arlington, MA (US); Luke W. Van Seters, Meredith, NH (US); Joseph Sorbonne Demple, Boston, MA (US); and Jason D. Crouse, Winston-Salem, NC (US)
Assigned to Drift.com, Inc., Boston, MA (US)
Filed by Drift.com, Inc., Boston, MA (US)
Filed on Feb. 14, 2022, as Appl. No. 17/670,971.
Application 17/670,971 is a continuation of application No. 17/347,909, filed on Jun. 15, 2021, granted, now 11,252,113, issued on Feb. 15, 2022.
Prior Publication US 2022/0400092 A1, Dec. 15, 2022
Int. Cl. G06F 40/35 (2020.01); G06N 7/01 (2023.01); G10L 15/22 (2006.01); G10L 15/28 (2013.01); H04L 51/02 (2022.01)
CPC H04L 51/02 (2013.01) [G06F 40/35 (2020.01); G06N 7/01 (2023.01); G10L 15/22 (2013.01); G10L 15/28 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method to control a conversational bot, comprising:
providing a directed acyclic graph that specifies a desired conversation flow, wherein a node in the directed acyclic graph has associated therewith one or more events, wherein an event has one or more preconfigured event expressions associated therewith that represent ways in which dialogue at the node can unfold;
during an on-going conversation with an actor:
responsive to receipt of a given input in association with a current node in the directed acyclic graph, determining whether the given input extends an event associated with the current node;
upon a determination that the given input extends the event associated with the current node, providing a response of a first type that continues a current conversation flow in the directed acyclic graph, wherein the response of the first type that continues the current conversation flow is based on the one or more event expressions preconfigured for the event; and
upon a determination that the given input does not extend the event associated with the current node, providing a response of a second type that interrupts a current conversation flow in the directed acyclic graph, wherein the response of the second type that interrupts the current conversation flow is provided when the given input is associated with a node in the directed acyclic graph other than the current node, wherein the response of the second type that interrupts the current conversation flow is provided when the given input is found in a synthetic conversation transcript associated with a node in the directed acyclic graph other than the current node, wherein the synthetic conversation transcript is one of a set of synthetic conversation transcripts annotated with events.