US 11,985,102 B2
Processing clusters with mathematical models for message suggestion
William Abraham Wolf, Salt Lake City, UT (US); Melanie Sclar, Ciudad Autónoma de Buenos Aires (AR); Clemens Georg Benedict Rosenbaum, Brooklyn, NY (US); Christopher David Fox, Mastic, NY (US); and Kilian Quirin Weinberger, Ithaca, NY (US)
Assigned to ASAPP, INC., New York, NY (US)
Filed by ASAPP, INC., New York, NY (US)
Filed on Apr. 30, 2021, as Appl. No. 17/246,263.
Prior Publication US 2022/0353222 A1, Nov. 3, 2022
Int. Cl. G06F 15/16 (2006.01); G06N 3/04 (2023.01); H04L 51/214 (2022.01)
CPC H04L 51/214 (2022.05) [G06N 3/04 (2013.01)] 19 Claims
OG exemplary drawing
 
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.