Context-based channel recommendation and management
Example methods and systems for context-based channel recommendation and management are provided. A communication platform accesses a first set of user data associated with a first user on the communication platform and channel data associated with a plurality of chat channels on the communication platform. The communication platform determines one or more recommended chat channels for the first user based on the first set of user data and the channel data. The communication platform provides the one or more recommended chat channels to the first user.
1 . A method comprising:
accessing a first set of user data associated with a first user on a communication platform;
determining an embedding vector for the first user based on the first set of user data, wherein the first set of user data comprises user profile data and user activity data associated with the first user, and wherein the user activity data comprises data associated with the first user's chat activities and video conference activities on the communication platform;
accessing channel data associated with a plurality of chat channels on the communication platform;
determining an embedding vector for each chat channel on the communication platform based on the channel data;
determining a similarity score based on the embedding vector for the first user and the embedding vector for each channel;
ranking the plurality of chat channels based on corresponding similarity scores to generate a ranked list of chat channels;
selecting one or more recommended chat channels for the first user from the ranked list of chat channels; and
providing the one or more recommended chat channels to the first user.
2 . The method of claim 1 , wherein the user profile data comprises user location, job title, and joined chat channels.
3 . The method of claim 1 , wherein the channel data comprises channel profile data and channel activity data, wherein the channel profile data comprises a channel title, a channel description, and member data, wherein the channel activity data comprises information about chat messages from members of an associated channel.
4 . The method of claim 1 , further comprising:
identifying one or more users similar to the first user using a collaborative filtering algorithm; and
determining the one or more recommended chat channels for the first user based on the first set of user data and a second set of user data associated with the one or more users.
5 . The method of claim 1 , further comprising:
providing a customized description for each of the one or more recommended chat channels; and
causing the one or more recommended chat channels and corresponding customized descriptions to be displayed in a graphical user interface (GUI).
6 . The method of claim 1 , further comprising:
grouping the one or more recommended chat channels into one or more categories to create one or more categories of recommended chat channels;
generating one or more category names corresponding to the one or more categories of recommended chat channels based on corresponding categorization criteria; and
causing the one or more categories of recommended chat channels to be displayed in a GUI.
7 . The method of claim 1 , further comprising:
determining a social graph representing interactions and relationships between the first user and other users on the communication platform;
accessing a second set of user data associated with the other users; and
determining the one or more recommended chat channels for the first user based on the second set of user data associated with the other users.
8 . A system comprising:
a communications interface;
a non-transitory computer-readable medium; and
one or more processors communicatively coupled to the communications interface and the non-transitory computer-readable medium, the one or more processors configured to execute processor-executable instructions stored in the non-transitory computer-readable medium to:
access a first set of user data associated with a first user on a communication platform, wherein the first set of user data comprises user profile data and user activity data associated with the first user, and wherein the user activity data comprises data associated with the first user's chat activities and video conference activities on the communication platform;
determine an embedding vector for the first user based on the first set of user data;
access channel data associated with a plurality of chat channels on the communication platform;
determine an embedding vector for each chat channel on the communication platform based on the channel data;
determine a similarity score based on the embedding vector for the first user and the embedding vector for each channel;
rank the plurality of chat channels based on corresponding similarity scores to generate a ranked list of chat channels;
select one or more recommended chat channels for the first user from the ranked list of chat channels; and
provide the one or more recommended chat channels to the first user.
9 . The system of claim 8 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to:
identify one or more users similar to the first user using a collaborative filtering algorithm; and
determine the one or more recommended chat channels for the first user based on the first set of user data and a second set of user data associated with the one or more users.
10 . The system of claim 8 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to:
provide a customized description for each of the one or more recommended chat channels; and
cause the one or more recommended chat channels and corresponding customized descriptions to be displayed in a graphical user interface (GUI).
11 . The system of claim 8 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to:
group the one or more recommended chat channels into one or more categories to create one or more categories of recommended chat channels;
generate one or more category names corresponding to the one or more categories of recommended chat channels; and
cause the one or more categories of recommended chat channels to be displayed in a GUI.
12 . The system of claim 8 , wherein the one or more processors are configured to execute further processor-executable instructions stored in the non-transitory computer-readable medium to:
determine a social graph representing interactions and relationships between the first user and a set of users on the communication platform;
access a second set of user data associated with the set of users; and
determine the one or more recommended chat channels for the first user based on the second set of user data associated with the set of users.
13 . A non-transitory computer-readable medium comprising processor-executable instructions configured to cause one or more processors to:
access a first set of user data associated with a first user on a communication platform, wherein the first set of user data comprises user profiled data and user activity data associated with the first user, and wherein the user activity data comprises data associated with the first user's chat activities and video conference activities on the communication platform;
determine an embedding vector for the first user based on the first set of user data;
access channel data associated with a plurality of chat channels on the communication platform;
determine an embedding vector for each chat channel on the communication platform based on the channel data;
determine a similarity score based on the embedding vector for the first user and the embedding vector for each channel;
rank the plurality of chat channels based on corresponding similarity scores to generate a ranked list of chat channels;
select one or more recommended chat channels for the first user from the ranked list of chat channels; and
provide the one or more recommended chat channels to the first user.
14 . The non-transitory computer-readable medium of claim 13 , further comprising processor-executable instructions configured to cause one or more processors to:
provide a customized description for each of the one or more recommended chat channels; and
cause the one or more recommended chat channels and corresponding customized descriptions to be displayed in a graphical user interface (GUI).
15 . The non-transitory computer-readable medium of claim 13 , further comprising processor-executable instructions configured to cause one or more processors to:
group the one or more recommended chat channels into one or more categories to create one or more categories of recommended chat channels;
generate one or more category names corresponding to the one or more categories of recommended chat channels; and
cause the one or more categories of recommended chat channels to be displayed in a GUI.
16 . The non-transitory computer-readable medium of claim 13 , further comprising processor-executable instructions configured to cause one or more processors to:
identify one or more users similar to the first user using a collaborative filtering algorithm; and
determine the one or more recommended chat channels for the first user based on the first set of user data and a second set of user data associated with the one or more users.
17 . The non-transitory computer-readable medium of claim 13 , further comprising processor-executable instructions configured to cause one or more processors to:
determine a social graph representing interactions and relationships between the first user and a set of users on the communication platform;
access a second set of user data associated with the set of users; and
determine the one or more recommended chat channels for the first user based on the second set of user data associated with the set of users.