Centralized resource management for disparate communication platforms
Methods, apparatuses, and systems for grouping topics for users from different communication platforms are described herein. For example, a computing device may receive, from a user and via a communication platform, a request for sending content associated with the communication platform to the computing device. The computing device may determine, based on the received request, one or more keywords from the content. In addition, the computing device may determine a topic based on the one or more keywords. In addition, the computing device may determine a similarity between the determined topic and one or more stored topics. The one or more stored topics may be associated with one or more additional users. Further, based on a determination that the similarity satisfies a threshold, the computing device may send, to the user, a message identifying the one or more additional users.
1 . A method comprising:
receiving, by a computing device and from a first user, first content via a first communication platform;
determining one or more keywords from the first content;
determining a first topic based on the one or more keywords;
determining whether the first topic, satisfies a comparison threshold with each of a plurality of stored topics;
in response to the first topic satisfying the comparison threshold with one of the plurality of stored topics, causing by the computing device, the first topic to merge with the one of the plurality of stored topics;
in response to the first topic not satisfying the comparison threshold, causing by the computing device, to store the first topic;
receiving, by the computing device and from a second user, second content via a second communication platform different from the first communication platform;
determining one or more additional keywords from the second content;
determining a second topic based on the one or more additional keywords;
determining whether the second topic based on the one or more keywords, satisfies the comparison threshold with each of the plurality of stored topics;
in response to the second topic satisfying the comparison threshold with the one of the plurality of stored topics, causing by the computing device, the second topic to merge with the one of the plurality of stored topics;
in response to the second topic not satisfying the comparison threshold, causing by the computing device, to store the second topic; and
based on a determination that the second topic merged with the first topic, sending, by the computing device and to the second user, a message prompting the first user to establish a connection with the second user.
2 . The method of claim 1 , further comprising:
merging, based on the determination that the similarity satisfies the threshold, the determined second topic and the stored first topic into a discussion topic, wherein the message indicates the discussion topic.
3 . The method of claim 1 , wherein the second content comprises a private discussion message associated with the second communication platform, and the method further comprises:
receiving a plurality of private discussion messages from a plurality of users via a plurality of communication platforms; and
determining one or more topics based on the plurality of private discussion messages.
4 . The method of claim 1 , wherein the message comprises a request for communicating with the first user and the method further comprises:
based on a response to the request for communicating with the first user, sending, to the first user via the first communication platform, a message comprising the second content and information of the second user.
5 . The method of claim 1 , wherein the second content comprises at least two sentences associated with the second user, and the method further comprises:
determining a sub-topic based on the at least two sentences; and
determining a similarity between the determined sub-topic and one or more stored sub-topics.
6 . The method of claim 1 , further comprising:
based on a determination that the similarity does not satisfy the threshold, storing the determined second topic and causing output of a notification to the second user, wherein the notification indicates that the second request is received.
7 . The method of claim 1 , wherein determining the comparison threshold value further comprises:
determining one or more keywords of the first and second content via a Latent Dirichlet Allocation (LDA) algorithm;
converting the one or more keywords of the first and second content from the LDA algorithm and the one of the plurality of stored topics to multi-dimensional vectors using a natural language processing (NLP) model, wherein the converting further comprises:
mapping the one or more keywords of the first and second content from the LDA algorithm and the stored topic into multi-dimensional vectors;
calculating a similarity value between the one or more keywords of the first and second content from the LDA algorithm and the one of the plurality of stored topic using the multi-dimensional vectors and a cosine similarity algorithm; and
comparing the calculated similarity value to a predetermined matching similarity threshold value.
8 . An apparatus comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the apparatus to:
receive, by a computing device and from a first user, first content via a first communication platform;
determine, one or more keywords from the first content;
determine a first topic based on the one or more keywords;
storing the first topic;
determining whether the first topic, satisfies a comparison threshold with each of a plurality of stored topics:
in response to the first topic satisfying the comparison threshold with one of the plurality of stored topics, causing by the computing device, the first topic to merge with the one of the plurality of stored topics;
in response to the first topic not satisfying the comparison threshold, causing by the computing device, to store the first topic:
receiving, by the computing device and from a second user, second content via a second communication platform different from the first communication platform:
determine, one or more additional keywords from the second content;
determine a second topic based on the one or more additional keywords;
determining whether the second topic based on the one or more keywords, satisfies the comparison threshold with each of the plurality of stored topics;
in response to the second topic satisfying the comparison threshold with the one of the plurality of stored topics, causing by the computing device, the second topic to merge with the one of the plurality of stored topics;
in response to the second topic not satisfying the comparison threshold causing by the computing device, to store the second topic; and
based on a determination that the second topic merged with the first topic, sending, by the computing device and to the second user, a message prompting the first user to establish a connection between the first and second users.
9 . The apparatus of claim 8 , wherein the instructions, when executed by the one or more processors, cause the apparatus to:
merge, based on the determination that the similarity satisfies the threshold, the determined second topic and the stored first topic into a discussion topic, wherein the message indicates the discussion topic.
10 . The apparatus of claim 8 , wherein the content comprises a private discussion message associated with the second communication platform, and
wherein the instructions, when executed by the one or more processors, cause the apparatus to:
receive a plurality of private discussion messages from a plurality of users via a plurality of communication platforms; and
determine one or more topics based on the plurality of private discussion messages.
11 . The apparatus of claim 8 , wherein the message comprises a request for communicating with the first user, and
wherein the instructions, when executed by the one or more processors, cause the apparatus to:
based on a response to the request for communicating with the first user, send, to the first user, a message comprising the second content and information of the second user.
12 . The apparatus of claim 8 , wherein the second content comprises at least two sentences associated with the second user, and
wherein the instructions, when executed by the one or more processors, cause the apparatus to:
determine a sub-topic based on the at least two sentences; and
determine a similarity between the determined sub-topic and one or more stored sub-topics.
13 . The apparatus of claim 8 , wherein the instructions, when executed by the one or more processors, cause the apparatus to:
based on a determination that the similarity does not satisfy the threshold, store the determined second topic and causing output of a notification to the second user, wherein the notification indicates that the second request is received.
14 . The apparatus of claim 8 , wherein determining the comparison threshold value further comprises:
determining one or more keywords of the first and second content via a Latent Dirichlet Allocation (LDA) algorithm;
converting the one or more keywords of the first and second content from the LDA algorithm and the one of the plurality of stored topics to multi-dimensional vectors using a natural language processing (NLP) model, wherein the converting further comprises:
mapping the one or more keywords of the first and second content from the LDA algorithm and the stored topic into multi-dimensional vectors;
calculating a similarity value between the one or more keywords of the first and second content from the LDA algorithm and the one of the plurality of stored topic using the multi-dimensional vectors and a cosine similarity algorithm; and
comparing the calculated similarity value to a predetermined matching similarity threshold value.
15 . One or more non-transitory computer-readable media storing instructions that, when executed, cause:
receiving, by a computing device and from a first user, first content via a first communication platform;
determining, one or more keywords from the first content;
determining a first topic based on the one or more keywords;
determining whether the first topic, satisfies a comparison threshold with each of a plurality of stored topics;
in response to the first topic satisfying the comparison threshold with one of the plurality of stored topics, causing by the computing device, the first topic to merge with the one of the plurality of stored topics;
in response to the first topic not satisfying the comparison threshold, causing by the computing device, to store the first topic;
receiving, by the computing device and from a second user, second content via a second communication platform different from the first communication platform;
determining, one or more additional keywords from the second content;
determining a second topic based on the one or more additional keywords;
determining whether the second topic based on the one or more keywords, satisfies the comparison threshold with each of the plurality of stored topics;
in response to the second topic satisfying the comparison threshold with the one of the plurality of stored topics, causing by the computing device, the second topic to merge with the one of the plurality of stored topics;
in response to the second topic not satisfying the comparison threshold, causing by the computing device, to store the second topic; and
based on a determination that the second topic merged with the first topic, sending by the computing device and to the second user, a message prompting the first user to establish a connection with the second user.
16 . The one or more non-transitory computer-readable media of claim 15 , wherein the instructions, when executed, further cause:
merging, based on the determination that the similarity satisfies the threshold, the determined second topic and the first stored topic into a discussion topic, wherein the message indicates the discussion topic.
17 . The one or more non-transitory computer-readable media of claim 15 , wherein the second content comprises a private discussion message associated with the second communication platform, and
wherein the instructions, when executed, further cause:
based on a response to the second request for communicating with the first user, sending, to the first user via the first communication platform, a message comprising the second content and information of the second user.
18 . The one or more non-transitory computer-readable media of claim 15 , wherein the message comprises a request for communicating with the first user, and
wherein the instructions, when executed, further cause:
based on a response to the request for communicating with the first user, sending, to the first user, a message comprising the second content and information of the second user.
19 . The one or more non-transitory computer-readable media of claim 15 , wherein the second content comprises at least two sentences associated with the second user, and
wherein the instructions, when executed, further cause:
determining a sub-topic based on the at least two sentences; and
determining a similarity between the determined sub-topic and one or more stored sub-topics.
20 . The one or more non-transitory computer-readable media of claim 15 , wherein determining the comparison threshold value further comprises:
determining one or more keywords of the first and second content via a Latent Dirichlet Allocation (LDA) algorithm;
converting the one or more keywords of the first and second content from the LDA algorithm and the one of the plurality of stored topics to multi-dimensional vectors using a natural language processing (NLP) model, wherein the converting further comprises:
mapping the one or more keywords of the first and second content from the LDA algorithm and the stored topic into multi-dimensional vectors;
calculating a similarity value between the one or more keywords of the first and second content from the LDA algorithm and the one of the plurality of stored topic using the multi-dimensional vectors and a cosine similarity algorithm; and
comparing the calculated similarity value to a predetermined matching similarity threshold value.