IP Library Granted Patent US 11,985,102
Granted Patent B2
US 11,985,102 · App. 17/246,263 · Granted May 14, 2024

Processing clusters with mathematical models for message suggestion

Inventors: William Abraham Wolf (Salt Lake City, UT); Melanie Sclar (Ciudad Autónoma de Buenos Aires, AR); Clemens Georg Benedict Rosenbaum (Brooklyn, NY); Christopher David Fox (Mastic, NY); Kilian Quirin Weinberger (Ithaca, NY)
Assignee: ASAPP, INC.
H04L51/214G06N3/04
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,985,102
App. No.
17/246,263
Granted
May 14, 2024
Kind
B2
Abstract

A message suggestion service may use clusters of pre-approved messages to improve the quality of messages suggested to users. During a conversation, messages of the conversation may be processed with a neural network to compute a conversation encoding vector. The neural network may also be used to compute pre-approved message encoding vectors of the pre-approved messages. Distances between the conversation encoding vector and the pre-approved message encoding vectors may be used to select one or more clusters. Distances between the conversation encoding vector and the pre-approved message encoding vectors may then be used to select one or more pre-approved messages from the selected clusters. The selected pre-approved messages may then be presented as suggested messages to a user.

Claims (78)

1. A system, comprising:

at least one server computer comprising at least one processor and at least one memory, the at least one server computer configured to:

obtain one or more conversation messages from a conversation between a first user and a second user;

compute a conversation encoding vector by processing the one or more conversation messages with a neural network;

obtain a plurality of clusters of pre-approved message suggestions, wherein:

the plurality of clusters comprises a first cluster and a second cluster,

the first cluster comprises a first pre-approved message suggestion and a second pre-approved message suggestion, and

the second cluster comprises a third pre-approved message suggestion and a fourth pre-approved message suggestion;

obtain message encoding vectors for the pre-approved message suggestions, wherein a message encoding vector is computed by processing a corresponding pre-approved message suggestion with the neural network;

compute a first distance between the conversation encoding vector and a first message encoding vector corresponding to the first pre-approved message suggestion;

compute a second distance between the conversation encoding vector and a second message encoding vector corresponding to the second pre-approved message suggestion;

compute a third distance between the conversation encoding vector and a third message encoding vector corresponding to the third pre-approved message suggestion;

compute a fourth distance between the conversation encoding vector and a fourth message encoding vector corresponding to the fourth pre-approved message suggestion;

compute a first cluster selection score for the first cluster by processing a first feature with a first tree-based model, wherein the first feature is computed using at least one of the first distance or the second distance;

compute a second cluster selection score for the second cluster by processing a second feature with the first tree-based model, wherein the second feature is computed using at least one of the third distance or the fourth distance;

select the first cluster using the first cluster selection score and the second cluster selection score;

compute a first message selection score by processing the first distance with a second tree-based model, wherein the second tree-based model is different than the first tree-based model;

compute a second message selection score by processing the second distance with the second tree-based model;

select the first pre-approved message suggestion using the first message selection score and the second message selection score; and

presenting the first pre-approved message suggestion to the first user as a suggested message to send to the second user.

2. The system of claim 1 , wherein the at least one server computer is configured to:

select the second cluster;

select the third pre-approved message suggestion from the second cluster; and

presenting the third pre-approved message suggestion to the first user as the suggested message to send to the second user.

3. The system of claim 1 , wherein the message encoding vectors are computed in advance and obtained from storage.

4. The system of claim 1 , wherein the neural network comprises a conversation encoding model and a message encoding model.

5. The system of claim 1 , wherein the conversation encoding vector is computed by sequentially processing tokens of the one or more conversation messages with a recurrent neural network.

6. The system of claim 1 , wherein the first feature comprises one or more of:

a minimum distance between the conversation encoding vector and message encodings of the first cluster;

a maximum distance between the conversation encoding vector and the message encodings of the first cluster; or

an average distance between the conversation encoding vector and the message encodings of the first cluster.

7. A computer-implemented method for suggesting a message, comprising:

obtaining one or more conversation messages from a conversation between a first user and a second user;

computing a conversation encoding vector by processing the one or more conversation messages with a neural network;

obtaining a plurality of clusters of pre-approved message suggestions, wherein:

the plurality of clusters comprises a first cluster and a second cluster,

the first cluster comprises a first pre-approved message suggestion and a second pre-approved message suggestion, and

the second cluster comprises a third pre-approved message suggestion and a fourth pre-approved message suggestion;

obtaining message encoding vectors for the pre-approved message suggestions, wherein a message encoding vector is computed by processing a corresponding pre-approved message suggestion with the neural network;

computing a first distance between the conversation encoding vector and a first message encoding vector corresponding to the first pre-approved message suggestion;

computing a second distance between the conversation encoding vector and a second message encoding vector corresponding to the second pre-approved message suggestion;

computing a third distance between the conversation encoding vector and a third message encoding vector corresponding to the third pre-approved message suggestion;

computing a fourth distance between the conversation encoding vector and a fourth message encoding vector corresponding to the fourth pre-approved message suggestion;

computing a first cluster selection score for the first cluster by processing a first feature with a first probabilistic graphical model, wherein the first feature is computed using at least one of the first distance or the second distance;

computing a second cluster selection score for the second cluster by processing a second feature with the first probabilistic graphical model, wherein the second feature is computed using at least one of the third distance or the fourth distance;

selecting the first cluster using the first cluster selection score and the second cluster selection score;

computing a first message selection score by processing the first distance with a second probabilistic graphical model, wherein the second probabilistic graphical model is different than the first probabilistic graphical model;

computing a second message selection score by processing the second distance with the second probabilistic graphical model; and

selecting the first pre-approved message suggestion using the first message selection score and the second message selection score.

8. The computer-implemented method of claim 7 , wherein the first cluster selection score is computed by processing a third feature with the first probabilistic graphical model.

9. The computer-implemented method of claim 8 , wherein the third feature is independent of the conversation encoding vector.

10. The computer-implemented method of claim 8 , wherein the third feature comprises a frequency of use of the first cluster by any user when suggested; a frequency of use of the first cluster by the first user when suggested; an amount of time since a most recent message in the conversation; or a number of messages in the conversation.

11. The computer-implemented method of claim 7 , wherein the first message selection score is computed by processing a third feature with the second probabilistic graphical model.

12. The computer-implemented method of claim 11 , wherein the third feature is independent of the conversation encoding vector.

13. The computer-implemented method of claim 12 , wherein the third feature comprises a time of day; a sentiment of the one or more conversation messages; or an indication of current weather.

14. The computer-implemented method of claim 7 , wherein the first probabilistic graphical model comprises a tree-based model.

15. One or more non-transitory, computer-readable media comprising computer-executable instructions that, when executed, cause at least one processor to perform actions comprising:

obtaining one or more conversation messages from a conversation between a first user and a second user;

computing a conversation encoding vector by processing the one or more conversation messages with a neural network;

obtaining a plurality of clusters of pre-approved message suggestions, wherein:

the plurality of clusters comprises a first cluster and a second cluster,

the first cluster comprises a first pre-approved message suggestion and a second pre-approved message suggestion, and

the second cluster comprises a third pre-approved message suggestion and a fourth pre-approved message suggestion;

obtaining message encoding vectors for the pre-approved message suggestions, wherein a message encoding vector is computed by processing a corresponding pre-approved message suggestion with the neural network;

computing a first distance between the conversation encoding vector and a first message encoding vector corresponding to the first pre-approved message suggestion;

computing a second distance between the conversation encoding vector and a second message encoding vector corresponding to the second pre-approved message suggestion;

computing a third distance between the conversation encoding vector and a third message encoding vector corresponding to the third pre-approved message suggestion;

computing a fourth distance between the conversation encoding vector and a fourth message encoding vector corresponding to the fourth pre-approved message suggestion;

computing a first cluster selection score for the first cluster by processing a first feature with a first tree-based model, wherein the first feature is computed using at least one of the first distance or the second distance;

computing a second cluster selection score for the second cluster by processing a second feature with the first tree-based model, wherein the second feature is computed using at least one of the third distance or the fourth distance;

selecting the first cluster using the first cluster selection score and the second cluster selection score;

computing a first message selection score by processing the first distance with a second tree-based model, wherein the second tree-based model is different than the first tree-based model;

computing a second message selection score by processing the second distance with the second tree-based model; and

selecting the first pre-approved message suggestion using the first message selection score and the second message selection score.

16. The one or more non-transitory, computer-readable media of claim 15 , wherein the first tree-based model comprises an ensemble of decision trees or a random forest.

17. The one or more non-transitory, computer-readable media of claim 15 , wherein the first tree-based model is implemented using gradient boosting or bagging.

18. The one or more non-transitory, computer-readable media of claim 15 , wherein the first user is a customer support agent and the second user is a customer.

19. The one or more non-transitory, computer-readable media of claim 15 , wherein the first tree-based model and the second tree-based model are retrained more frequently than the neural network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2021
From: WOLF, WILLIAM ABRAHAM; SCLAR, MELANIE; ROSENBAUM, CLEMENS GEORG BENEDICT; FOX, CHRISTOPHER DAVID; WEINBERGER, KILIAN QUIRIN
To: ASAPP, INC.
Reel/Frame 058009/0513 →
Continuity (1)
Related Publication 20220353222A1 · Nov 3, 2022