IP Library Granted Patent US 11,329,933
Granted Patent B1
US 11,329,933 · App. 17/135,005 · Granted May 10, 2022

Persisting an AI-supported conversation across multiple channels

Inventors: Bernard N. Kiyanda (Mansfield, MA); Jeffrey D. Orkin (Arlington, MA); Christopher M. Ward (Somerville, MA); Elias Torres (Belmont, MA)
Assignee: Drift.com, Inc.
H04L51/02G10L15/183
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,329,933
App. No.
17/135,005
Granted
May 10, 2022
Kind
B1
Abstract

A method and computing platform to imitate human conversational response as a context transitions across multiple channels (e.g., chat, messaging, email, voice, third party communication, etc.) where inputs to the system are categorized into identified speech acts and physical acts, and a conversational bot is associated to the channels. In this approach, a data model associated with a multi-turn conversation is provided. The data model comprises an observation history, wherein an observation in the observation history includes an identification of a channel in which the observation originates. As turns are added to the multi-turn conversation, a conversational context across multiple channels is persisted using the data model. Using this approach, an AI-supported conversation started in one channel can move to another conversation channel while maintaining the context of the conversation intact and coherent.

Claims (35)

1. A method for imitating a human conversational response across multiple channels, comprising:

associating a multi-turn conversational bot with one or more of the multiple channels;

providing a data model uniquely associated with a multi-turn conversation via the multi-turn conversational bot, the multi-turn conversation being between an actor and the multi-turn conversational bot, the data model comprising a linear sequence of observations, wherein an observation is an atomic speech or physical action taken by the actor, the data model also including a set of one or more events that have been determined to represent a meaning of the conversation history since the multi-turn conversation begins, wherein each event is composed of a sequence of observations and is determined based on a closest exact or inexact match to event annotations overlaid onto conversational fragments in a set of historic conversational transcripts, wherein an inexact match is associated with an aliased event having an event expression that is an approximate match to an existing event;

augmenting each observation in the sequence of observations to include an identification of a channel in which the observation originates;

as one or more turns are added to the multi-turn conversation, persisting a conversational context across multiple channels using the augmented observations in the data model; and

adapting a particular response or action provided to an end user based on the channel currently in use for a particular turn.

2. The method as described in claim 1 wherein persisting the conversational context includes transitioning the multi-turn conversation from at least a first channel to a second channel.

3. The method as described in claim 2 wherein the channels are one of: chat, messaging, email, voice, and a communication initiated by a third party.

4. The method as described in claim 2 further including setting a value of an attribute during a first turn that occurs in the first channel, and using the value during a second turn that occurs in the second channel without prompting again for re-entry of the value.

5. The method as described in claim 1 wherein respective turns in the multi-turn conversation are associated with distinct end user sessions.

6. The method as described in claim 2 wherein the multi-turn conversation transitions from the first channel to the second channel in response to an action initiated by the end user or as a result of activity associated with a process.

7. The method as described in claim 1 wherein the multi-turn conversation is associated with a particular end user.

8. The method as described in claim 1 wherein providing the data model further includes:

receiving an input that includes an attribute; and

responsive to receipt of the input, retrieving the data model from a set of saved data models when a value of the attribute is recognized as being present in the data model.

9. The method as described in claim 1 wherein the multi-turn conversation is associated with a conversation initiated between a first and second human end user.

10. A software-as-a-service computing platform, comprising:

computing hardware;

computer software executing on the computer hardware, the computer software comprising computer program instructions executed on the computing hardware and configured to imitate a human conversational response across multiple channels, the computer program instructions configured to:

associate a multi-turn conversational bot with one or more of the multiple channels;

provide a data model uniquely associated with a multi-turn conversation, the multi-turn conversation being between an actor and the multi-turn conversational bot, the data model comprising a linear sequence of observations, wherein an observation is an atomic speech or physical action taken by the actor, the data model also including a set of one or more events that have been determined to represent a meaning of the conversation history since the multi-turn conversation begins, wherein each event is composed of a sequence of observations and is determined based on a closest exact or inexact match to event annotations overlaid onto conversational fragments in a set of historic conversational transcripts, wherein an inexact match is associated with an aliased event having an event expression that is an approximate match to an existing event;

augment each observation in the sequence of observations to include an identification of a channel in which the observation originates;

as one or more turns are added to the multi-turn conversation, persist a conversational context across multiple channels using the augmented observations in the data model; and

adapt a particular response or action provided to an end user based on the channel currently in use for a particular turn.

11. The computing platform as described in claim 10 wherein computer program instructions that persist the conversational context further include computer program instructions configured to transition the multi-turn conversation from at least a first channel to a second channel.

12. The computing platform as described in claim 11 wherein the set of input and output channels are one of: chat, messaging, email, voice, and a communication initiated by a third party.

13. The computing platform as described in claim 11 wherein the computer program instructions further include computer program instructions configured to:

set a value of an attribute during a first turn that occurs in the first channel; and

use the value during a second turn that occurs in the second channel without prompting again for re-entry of the value.

14. The computing platform as described in claim 10 wherein respective turns in the multi-turn conversation are associated with distinct end user sessions.

15. The computing platform as described in claim 11 wherein the multi-turn conversation transitions from the first channel to the second channel in response to an action initiated by the end user or as a result of activity associated with a process.

16. The computing platform as described in claim 10 wherein the multi-turn conversation is associated with a particular end user.

17. The computing platform as described in claim 10 wherein the computer program instructions configured to provide the data model further include computer program instructions configured to:

receive an input that includes an attribute; and

responsive to receipt of the input, retrieve the data model from a set of saved data models when a value of the attribute is recognized as being present in the data model.

Assignments (3)
PATENT SECURITY AGREEMENT Recorded Apr 17, 2025
From: SALESLOFT, INC.
To: PNC BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070887/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2024
From: DRIFT.COM, INC.
To: SALESLOFT, INC.
Reel/Frame 069153/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: KIYANDA, BERNARD N.; ORKIN, JEFFREY D.; WARD, CHRISTOPHER M.; TORRES, ELIAS
To: DRIFT.COM, INC.
Reel/Frame 054754/0547 →
Cited By (3)
US 12,301,531 US 12,592,227 US 12,597,512