IP Library Granted Patent US 11,258,751
Granted Patent B2
US 11,258,751 · App. 16/888,315 · Granted Feb 22, 2022

Embeddings-based discovery and exposure of communication platform features

Inventors: Adam Oliner (San Francisco, CA); Renaud Bourassa-Denis (New York, NY); Zhifeng Deng (Fremont, CA); Leigh Ann Johnson (San Francisco, CA); Alexander Nicholas Johnson (San Francisco, CA); Aaron Maurer (New York, NY)
Assignee: Slack Technologies, LLC
H04L51/36G06F16/9535G06F16/9538
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,258,751
App. No.
16/888,315
Granted
Feb 22, 2022
Kind
B2
Abstract

Discovery of communication platform features or exposure of such features to the user may include generating embeddings for a variety of types of communication platform content and communications. These embeddings may be used to characterize and compare various communication platform features and ultimately expose these features to a user when the user may not have otherwise encountered them. Embeddings may be generated to characterize a user's interactions with a communication platform and/or characterize a channel and the embeddings may be used to expose methods of communicating with the user and/or over the channel.

Claims (85)

1. A method, implemented at least in part by a server computing device associated with a communication platform, comprising:

receiving a first message from a first computing device associated with a first user, the first message being associated with a first channel of the communication platform;

determining, based at least in part on the first channel, a context associated with the first message, the context comprising one or more messages associated with at least one of the first user or another user;

determining, by the server and based at least in part on the first message and the context, a first embedding;

associating the first embedding with at least one of the first user or the first channel;

receiving at least a portion of a second message from a second computing device associated with a second user;

determining, by the server, a second embedding associated with at least the portion of the second message;

determining that a distance between the first embedding and the second embedding is less than a threshold; and

in response to a determination that the distance between the first embedding and the second embedding satisfies a threshold distance criterion, causing the second computing device associated with the second user to display one or more recommended methods of communicating with the first user.

2. The method of claim 1 , wherein causing display of the one or more recommended methods of communicating with the first user comprises an option to cause the second computing device to at least one of:

include the first user as a recipient of the second message,

mention the first user in the second message,

add the first user to a second channel associated with the second user,

initiate an audio call, video call, or instant messaging session with at least the first user, or

associate the second message with an existing conversation associated with the first user.

3. The method of claim 1 , wherein determining the context comprises determining at least one of:

a first set of messages in a thread associated with the first message;

a second set of messages associated with the first channel that were sent within a predetermined time of the first message; or

one or more interactions associated with the first message, the first set of messages, or the second set of messages.

4. The method of claim 1 , wherein determining the context comprises determining one or more interactions associated with the first message, the one or more interactions comprising at least one of:

associating a reaction with the first message,

editing the first message,

prioritizing the first message, or

deprioritizing the first message.

5. The method of claim 1 , further comprising causing display of metadata in association with the one or more recommended methods of communicating with the first user, the metadata indicating that the first user has transmitted communication data that is semantically related to at least the portion of the second message.

6. The method of claim 1 , further comprising associating multiple representative embeddings with the first user, wherein:

a first representative embedding of the multiple representative embeddings is associated with the first user based at least in part on a first set of embeddings associated with at least one of the first channel, a first workspace, or a first role associated with the first user;

a second representative embedding of the multiple representative embeddings is associated with the first user based at least in part on a second set of embeddings associated with at least one of a second channel, a second workspace, or a second role associated with the first user; and

causing the second computing device to display the one or more recommended methods of communicating with the first user is based at least in part on a first distance between the second embedding and the first representative embedding and a second distance between the second embedding and the second representative embedding.

7. The method of claim 6 , wherein causing the second computing device to display the one or more methods of communicating with the first user is based at least in part on at least one of the first channel, the first workspace, or the first role.

8. A system comprising:

one or more processors;

a memory storing processor-executable instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

receiving a first message from a first computing device associated with a first user;

determining a context associated with the first message, the context comprising one or more messages associated with at least one of the first user or another user;

determining, based at least in part on the first message and the context, a first embedding;

associating the first embedding with at least one of the first user or a first channel;

receiving at least a portion of a second message from a second computing device associated with a second user;

determining a second embedding associated with at least the portion of the second message; and

in response to a determination that a distance between the first embedding and the second embedding satisfies a threshold distance criterion, causing the second computing device associated with the second user to display one or more recommended methods of communicating with the first user.

9. The system of claim 8 , wherein the at least a portion of the second message is a message draft or a draft query.

10. The system of claim 8 , wherein causing display of the one or more recommended methods of communicating with the first user comprises an option to cause the second computing device to at least one of:

include the first user as a recipient of the second message,

mention the first user in the second message,

add the first user to a second channel associated with the second user,

initiate an audio call, video call, or instant messaging session with at least the first user, or

associate the second message with an existing conversation associated with the first user.

11. The system of claim 8 , wherein determining the context comprises determining at least one of:

a first set of messages in a thread associated with the first message;

a second set of messages associated with the first channel that were sent within a predetermined time of the first message; or

one or more interactions associated with the first message, the first set of messages, or the second set of messages.

12. The system of claim 8 , wherein the operations further comprise causing display of metadata in association with the one or more recommended methods of communicating with the first user, the metadata indicating that the first user has transmitted communication data that is semantically related to at least the portion of the second message.

13. The system of claim 8 , wherein the operations further comprise associating multiple representative embeddings with the first user, wherein:

a first representative embedding of the multiple representative embeddings is associated with the first user based at least in part on a first set of embeddings associated with at least one of the first channel, a first workspace, or a first role associated with the first user;

a second representative embedding of the multiple representative embeddings is associated with the first user based at least in part on a second set of embeddings associated with at least one of a second channel, a second workspace, or a second role associated with the first user; and

causing the second computing device to display the one or more recommended methods of communicating with the first user is based at least in part on a first distance between the second embedding and the first representative embedding and a second distance between the second embedding and the second representative embedding.

14. A non-transitory computer-readable medium storing processor-executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving a first message from a first computing device associated with a first user;

determining a context associated with the first message, the context comprising one or more messages associated with at least one of the first user or another user;

determining, based at least in part on the first message and the context, a first embedding;

associating the first embedding with at least one of the first user or a first channel;

receiving at least a portion of a second message from a second computing device associated with a second user;

determining a second embedding associated with at least the portion of the second message; and

in response to a determination that a distance between the first embedding and the second embedding satisfies a threshold distance criterion, causing the second computing device associated with the second user to display one or more recommended methods of communicating with the first user.

15. The non-transitory computer-readable medium of claim 14 , wherein the at least a portion of the second message is a message draft or a draft query.

16. The non-transitory computer-readable medium of claim 14 , wherein causing display of the one or more recommended methods of communicating with the first user comprises an option to cause the second computing device to at least one of:

include the first user as a recipient of the second message,

mention the first user in the second message,

add the first user to a second channel associated with the second user,

initiate an audio call, video call, or instant messaging session with at least the first user, or

associate the second message with an existing conversation associated with the first user.

17. The non-transitory computer-readable medium of claim 14 , wherein determining the context comprises determining at least one of:

a first set of messages in a thread associated with the first message;

a second set of messages associated with the first channel that were sent within a predetermined time of the first message; or

one or more interactions associated with the first message, the first set of messages, or the second set of messages.

18. The non-transitory computer-readable medium of claim 14 , wherein determining the context comprises determining one or more interactions associated with the first message, the one or more interactions comprising at least one of:

associating a reaction with the first message,

editing the first message,

prioritizing the first message, or

deprioritizing the first message.

19. The non-transitory computer-readable medium of claim 14 , wherein the operations further comprise causing display of metadata in association with the one or more recommended methods of communicating with the first user, the metadata indicating that the first user has transmitted communication data that is semantically related to at least the portion of the second message.

20. The non-transitory computer-readable medium of claim 14 , wherein the operations further comprise associating multiple representative embeddings with the first user, wherein:

a first representative embedding of the multiple representative embeddings is associated with the first user based at least in part on a first set of embeddings associated with at least one of the first channel, a first workspace, or a first role associated with the first user;

a second representative embedding of the multiple representative embeddings is associated with the first user based at least in part on a second set of embeddings associated with at least one of a second channel, a second workspace, or a second role associated with the first user; and

causing the second computing device to display the one or more recommended methods of communicating with the first user is based at least in part on a first distance between the second embedding and the first representative embedding and a second distance between the second embedding and the second representative embedding.

Assignments (4)
MERGER Recorded Jan 11, 2023
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE.COM, INC.
Reel/Frame 062354/0073 →
CHANGE OF NAME Recorded Jan 11, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062354/0100 →
MERGER AND CHANGE OF NAME Recorded Oct 1, 2021
From: SLACK TECHNOLOGIES, INC.; SLACK TECHNOLOGIES, LLC
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057683/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: OLINER, ADAM; BOURASSA-DENIS, RENAUD; DENG, ZHIFENG; JOHNSON, LEIGH ANN; JOHNSON, ALEXANDER NICHOLAS; MAURER, AARON
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 054359/0308 →
Continuity (3)
Continuation 16875933 · May 15, 2020
Provisional Application 63022518 · May 10, 2020
Related Publication 20210352039A1 · Nov 11, 2021