IP Library Patent Application 16818852
Patent Application
App. No. 16/818,852

ENCODING CONVERSATIONAL STATE AND SEMANTICS IN A DIALOGUE TREE TO FACILITATE AUTOMATED CUSTOMER-SUPPORT CONVERSATIONS

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 None
App. No.
16/818,852
Abstract

The disclosed embodiments relate to a system that automatically interacts with a customer during an automated customer-support conversation. The system first receives a textual input from the customer during the automated customer-support conversation, wherein the conversation relates to an issue the customer has with a product or a service used by the customer. Next, the system calculates a semantic embedding in a vector space for the textual input. The system then determines a new position in a predefined dialogue tree based on the calculated semantic embedding and a current position of the conversation in the dialogue tree, wherein the dialogue tree defines a structure for the conversation, including dialogue text, and predefined responsive customer-support actions for various customer inputs. Finally, the system navigates to the new position in the dialogue tree and performs a responsive customer-support action associated with the new position.

Claims (86)

1 . A method for automatically interacting with a customer during an automated customer-support conversation, the method comprising:

receiving a textual input from the customer during the automated customer-support conversation, wherein the conversation relates to an issue the customer has with a product or a service used by the customer;

calculating a semantic embedding in a vector space for the textual input;

determining a new position in a predefined dialogue tree based on the calculated semantic embedding and a current position of the conversation in the dialogue tree, wherein the dialogue tree defines a structure for the conversation, including dialogue text, and predefined responsive customer-support actions for various customer inputs; and

navigating to the new position in the dialogue tree and performing a responsive customer-support action associated with the new position.

2 . The method of claim 1 , wherein the responsive customer-support action comprises presenting one or more helpful articles to the customer to facilitate resolving the customer's issue.

3 . The method of claim 1 , wherein the responsive customer-support action comprises putting the customer in touch with a human customer-support agent to help resolve the customer's issue.

4 . The method of claim 1 , wherein the responsive customer-support action comprises triggering a predefined workflow to help resolve the customer's issue.

5 . The method of claim 4 , wherein the predefined workflow can be associated with one or more of the following:

obtaining status information for an order;

changing a delivery address for an order;

issuing a refund for an order;

issuing an exchange for an order;

resetting the customer's password;

updating details of the customer's account; and

canceling the customer's account.

6 . The method of claim 1 , wherein calculating the semantic embedding for the textual input involves calculating a Doc2Vec embedding for the textual input.

7 . The method of claim 1 , wherein the method further comprises calculating a semantic embedding and a positional embedding for each node in the dialogue tree, which involves, for each node:

calculating a semantic embedding for the node based on dialogue text associated with the node;

if the node is a root node, calculating the positional embedding for the node to be equal to the node's semantic embedding; and

otherwise, calculating the positional embedding for the node to be a weighted average of the semantic embedding for the node and a positional embedding for a parent node of the node.

8 . The method of claim 7 , wherein determining the new position in the dialogue tree involves:

retrieving a positional embedding associated with a current position of the conversation in the dialogue tree;

calculating a new positional embedding by taking a weighted average of the semantic embedding for the textual input and the retrieved positional embedding;

comparing the new positional embedding against previously calculated positional embeddings for all positions in the dialogue tree; and

selecting a position in the dialogue tree associated with a best-matching positional embedding to be the new position.

9 . The method of claim 1 , wherein a weighting parameter is used while taking the weighted average of the semantic embedding for the textual input and the positional embedding, wherein the weighting parameter controls a propensity of the method to keep the conversation within a current branch of the dialogue tree.

10 . The method of claim 1 , wherein determining the new position in the dialogue tree additionally involves biasing the determination of the new position based on context information and/or status information associated with the customer.

11 . A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for automatically interacting with a customer during an automated customer-support conversation, the method comprising:

receiving a textual input from the customer during the automated customer-support conversation, wherein the conversation relates to an issue the customer has with a product or a service used by the customer;

calculating a semantic embedding in a vector space for the textual input;

determining a new position in a predefined dialogue tree based on the calculated semantic embedding and a current position of the conversation in the dialogue tree, wherein the dialogue tree defines a structure for the conversation, including dialogue text, and predefined responsive customer-support actions for various customer inputs; and

navigating to the new position in the dialogue tree and performing a responsive customer-support action associated with the new position.

12 . The non-transitory computer-readable storage medium of claim 11 , wherein the responsive customer-support action comprises presenting one or more helpful articles to the customer to facilitate resolving the customer's issue.

13 . The non-transitory computer-readable storage medium of claim 11 , wherein the responsive customer-support action comprises putting the customer in touch with a human customer-support agent to help resolve the customer's issue.

14 . The non-transitory computer-readable storage medium of claim 11 , wherein the responsive customer-support action comprises triggering a predefined workflow to help resolve the customer's issue.

15 . The non-transitory computer-readable storage medium of claim 14 , wherein the predefined workflow can be associated with one or more of the following:

obtaining status information for an order;

changing a delivery address for an order;

issuing a refund for an order;

issuing an exchange for an order;

resetting the customer's password;

updating details of the customer's account; and

canceling the customer's account.

16 . The non-transitory computer-readable storage medium of claim 11 , wherein calculating the semantic embedding for the textual input involves calculating a Doc2Vec embedding for the textual input.

17 . The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises calculating a semantic embedding and a positional embedding for each node in the dialogue tree, which involves, for each node:

calculating a semantic embedding for the node based on dialogue text associated with the node;

if the node is a root node, calculating the positional embedding for the node to be equal to the node's semantic embedding; and

otherwise, calculating the positional embedding for the node to be a weighted average of the semantic embedding for the node and a positional embedding for a parent node of the node.

18 . The non-transitory computer-readable storage medium of claim 17 , wherein determining the new position in the dialogue tree involves:

retrieving a positional embedding associated with a current position of the conversation in the dialogue tree;

calculating a new positional embedding by taking a weighted average of the semantic embedding for the textual input and the retrieved positional embedding;

comparing the new positional embedding against previously calculated positional embeddings for all positions in the dialogue tree; and

selecting a position in the dialogue tree associated with a best-matching positional embedding to be the new position.

19 . The non-transitory computer-readable storage medium of claim 11 , wherein a weighting parameter is used while taking the weighted average of the semantic embedding for the textual input and the positional embedding, wherein the weighting parameter controls a propensity of the method to keep the conversation within a current branch of the dialogue tree.

20 . The non-transitory computer-readable storage medium of claim 11 , wherein determining the new position in the dialogue tree additionally involves biasing the determination of the new position based on context information and/or status information associated with the customer.

21 . A system that automatically interacts with a customer during an automated customer-support conversation, comprising:

at least one processor and at least one associated memory; and

a customer-support system, which executes on the at least one processor, wherein during operation, the customer-support system:

receives a textual input from the customer during the automated customer-support conversation, wherein the conversation relates to an issue the customer has with a product or a service used by the customer;

calculates a semantic embedding in a vector space for the textual input;

determines a new position in a predefined dialogue tree based on the calculated semantic embedding and a current position of the conversation in the dialogue tree, wherein the dialogue tree defines a structure for the conversation, including dialogue text, and predefined responsive customer-support actions for various customer inputs; and

navigates to the new position in the dialogue tree and performs a responsive customer-support action associated with the new position.

22 . The system of claim 21 , wherein while performing the responsive customer-support action, the customer-support system presents one or more helpful articles to the customer to facilitate resolving the customer's issue.

23 . The system of claim 21 , wherein while performing the responsive customer-support action, the customer-support system puts the customer in touch with a human customer-support agent to help resolve the customer's issue.

24 . The system of claim 21 , wherein while performing the responsive customer-support action, the customer-support system triggers a predefined workflow to help resolve the customer's issue.

25 . The system of claim 24 , wherein the predefined workflow can be associated with one or more of the following:

obtaining status information for an order;

changing a delivery address for an order;

issuing a refund for an order;

issuing an exchange for an order;

resetting the customer's password;

updating details of the customer's account; and

canceling the customer's account.

26 . The system of claim 21 , wherein while calculating the semantic embedding for the textual input, the customer-support system calculates a Doc2Vec embedding for the textual input.

27 . The system of claim 21 , wherein the customer-support system additionally calculates a semantic embedding and a positional embedding for each node in the dialogue tree, wherein for each node, the customer-support system:

calculates a semantic embedding for the node based on dialogue text associated with the node;

if the node is a root node, calculates the positional embedding for the node to be equal to the node's semantic embedding; and

otherwise, calculates the positional embedding for the node to be a weighted average of the semantic embedding for the node and a positional embedding for a parent node of the node.

28 . The system of claim 27 , wherein while determining the new position in the dialogue tree, the customer-support system:

retrieves a positional embedding associated with a current position of the conversation in the dialogue tree;

calculates a new positional embedding by taking a weighted average of the semantic embedding for the textual input and the retrieved positional embedding;

compares the new positional embedding against previously calculated positional embeddings for all positions in the dialogue tree; and

selects a position in the dialogue tree associated with a best-matching positional embedding to be the new position.

29 . The system of claim 21 , wherein a weighting parameter is used while taking the weighted average of the semantic embedding for the textual input and the positional embedding, wherein the weighting parameter controls a propensity of the method to keep the conversation within a current branch of the dialogue tree.

30 . The system of claim 21 , wherein while determining the new position in the dialogue tree, the customer-support system additionally biases the determination of the new position based on context information and/or status information associated with the customer.

Assignments (2)
SECURITY INTEREST Recorded Nov 22, 2022
From: ZENDESK, INC.
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 061850/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2020
From: CHEAH, SOON-EE; MA, DANA
To: ZENDESK, INC.
Reel/Frame 052272/0777 →