Social network user real-time recommendation method and device, electronic equipment and storage medium

By generating social relationship graphs in social networks and performing graph representation learning, feature vectors of user nodes are obtained, solving the problem of poor recommendation accuracy in social software, achieving more accurate social room recommendations, and improving user experience.

CN115600016BActive Publication Date: 2026-07-21HANGZHOU NETEASE CLOUD MUSIC TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HANGZHOU NETEASE CLOUD MUSIC TECH CO LTD
Filing Date
2022-10-24
Publication Date
2026-07-21

Smart Images

  • Figure CN115600016B_ABST
    Figure CN115600016B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a social network user real-time recommendation method, device, equipment and storage medium. The method comprises: generating a social relationship graph based on user activity data of a social network; sampling each user node in the social relationship graph to obtain a user node sequence; performing graph representation learning on the user node sequence to obtain a feature vector of each user node. Obtain a request user and a candidate room, and generate a feature vector of the request user and the candidate room based on the feature vectors of the user nodes of the request user and the candidate room. Based on the feature vectors of the request user and the candidate room, a recommendation result is generated. The social network relationship of the user is learned through graph representation learning, the obtained feature vector is more robust and easy to generalize, and more accurate recommendation results can be provided for social network users, improving user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this disclosure relate to the field of Internet technology, and more specifically, the embodiments of this disclosure relate to a method, apparatus, electronic device, and storage medium for real-time recommendation of social network users. Background Technology

[0002] This section is intended to provide background or context for the embodiments of this disclosure as set forth in the claims. The description herein is not intended to be a prior art simply because it is included in this section.

[0003] Currently, many social networking apps have corresponding social community functions, within which multiple social rooms can be created. When a user enters a social community, the app recommends social rooms, allowing the user to choose which room to enter. However, existing recommendation models are inaccurate and cannot accurately suggest social rooms that users might be interested in, resulting in a poor user experience.

[0004] SUMMARY

[0005] To address the aforementioned technical issues, the embodiments of this disclosure provide a method, apparatus, electronic device, and storage medium for real-time recommendation of social network users, thereby improving the accuracy of recommendation results and enhancing user experience.

[0006] In this context, embodiments of the present disclosure provide a method, apparatus, electronic device, and storage medium for real-time recommendation of social network users.

[0007] In a first aspect of this disclosure, a method for real-time recommendation of users on a social network is provided, comprising: acquiring first user activity data of a social network within a first predetermined time period; generating a social relationship graph based on the first user activity data; sampling each user node in the social relationship graph to obtain a user node sequence; performing graph representation learning on the user node sequence to obtain feature vectors for each user node; acquiring a requesting user and generating a feature vector for the requesting user based on the user nodes of the requesting user; acquiring a candidate room and generating a feature vector for the candidate room based on the feature vectors of the user nodes in the candidate room, wherein the candidate room contains one or more user nodes; and generating a recommendation result based on the feature vector of the requesting user and the feature vector of the candidate room.

[0008] In one embodiment of this disclosure, the method further includes: acquiring second user activity data of the social network within a second predetermined time period; acquiring updated users based on the second user activity data; acquiring neighbor nodes of the updated users in the social relationship graph, and updating the connection relationship between the updated users and the neighbor nodes based on the second user activity data to generate an updated social relationship graph; sampling user nodes in the updated social relationship graph to generate an updated user node sequence; and performing graph representation learning on the updated user node sequence to obtain feature vectors of each user node in the updated social relationship graph.

[0009] In another embodiment of this disclosure, generating a social relationship graph based on the first user activity data includes: obtaining user nodes and user behavior data between each user node based on the first user activity data; determining the connection relationship between each user node based on the user behavior data; and generating a social relationship graph based on the user nodes and the connection relationship, wherein the social relationship graph is an isomorphic graph structure.

[0010] In another embodiment of this disclosure, the step of sampling each user node in the social relationship graph to obtain a user node sequence includes: during the sampling process of a target user node, performing the following steps: selecting a neighbor node of the target user node as a first access node based on the sampling probability; traversing from the target user node to the first access node; selecting a neighbor node of the first access node as a second access node based on the sampling probability, and traversing from the first access node to the second access node; generating a traversal path corresponding to the target user node when the length of the traversed node sequence meets a preset length; repeating the sampling process up to a predetermined number of sampling times to generate the user node sequence.

[0011] In another embodiment of this disclosure, the method further includes: obtaining the probability P of the target user node reaching the neighbor node; obtaining the weight E of the connection edge between the target user node and the neighbor node; obtaining the number n of edges with the target user node as the source node; and determining the sampling probability based on the probability P, the weight E, and the number n.

[0012] In another embodiment of this disclosure, the step of performing graph representation learning on the user node sequence to obtain the feature vector of each user node includes: constructing training samples for each user node based on the user node sequence and a preset sampling window; inputting the training samples into a vector generation model for iterative training, wherein the vector generation model includes a continuous bag-of-words model or a continuous skip model; and generating the feature vector of each user node after training is completed.

[0013] In another embodiment of this disclosure, generating the feature vector of the candidate room based on the feature vectors of the user nodes in the candidate room includes: obtaining the feature vectors of each user node in the candidate room; and aggregating the feature vectors of each user node to generate the feature vector of the candidate room.

[0014] In yet another embodiment of this disclosure, the aggregation process includes one or more of attention-based weighted average pooling, max pooling, and average pooling.

[0015] In another embodiment of this disclosure, generating a recommendation result based on the feature vector of the requesting user and the feature vector of the candidate room includes: generating a feature relationship between the requesting user and the candidate room based on the feature vector of the requesting user and the feature vector of the candidate room; and adding the feature relationship to a pre-trained room recommendation model to generate a recommendation result.

[0016] In a second aspect of this disclosure, a real-time recommendation device for social network users includes: a data acquisition module for acquiring first user activity data of a social network within a first predetermined time period; a graph generation module for generating a social relationship graph based on the first user activity data; a node sampling module for sampling each user node in the social relationship graph to obtain a user node sequence; a learning module for performing graph representation learning on the user node sequence to obtain feature vectors for each user node; a requesting user acquisition module for acquiring a requesting user and generating a feature vector of the requesting user based on the user nodes of the requesting user; a candidate room acquisition module for acquiring a candidate room and generating a feature vector of the candidate room based on the feature vectors of the user nodes in the candidate room, wherein the candidate room contains one or more user nodes; and a recommendation result generation module for generating a recommendation result based on the feature vector of the requesting user and the feature vector of the candidate room.

[0017] In a third aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the real-time recommendation method for social network users as described above by executing the executable instructions.

[0018] In a fourth aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the real-time recommendation method for social network users as described in any of the preceding embodiments.

[0019] According to the real-time recommendation method for social network users disclosed herein, a social relationship graph is constructed based on user activity data. Then, graph representation learning is performed on the social relationship graph to obtain the feature vectors of each user node. When recommending candidate rooms (e.g., karaoke rooms) to a requesting user, corresponding recommendation results can be generated based on the feature vectors of the requesting user and the candidate rooms. This recommendation method employs a "user-to-user" recommendation logic, which can more accurately represent users' music interests and preferences. The model is easy to optimize and maintain, solving the problem that karaoke rooms have too few explicit features to truly express the music interests of users within the room, and addressing the interest shift problem caused by dynamic changes in karaoke rooms. The recommendation results are more accurate, effectively increasing the user's room entry rate and providing users with a better karaoke room experience. Attached Figure Description

[0020] The above and other objects, features, and advantages of this disclosure will become readily apparent from the following detailed description of exemplary embodiments, taken in conjunction with the accompanying drawings. Several embodiments of this disclosure are illustrated in the drawings by way of example and not limitation, in which:

[0021] FIG. 1 A schematic diagram illustrating an application scenario according to an embodiment of the present disclosure is provided.

[0022] FIG. 2 A schematic flowchart of a real-time recommendation method for social network users provided according to an embodiment of the present disclosure is shown.

[0023] FIG. 3 A schematic diagram illustrating a process for generating a social relationship graph according to an embodiment of the present disclosure is shown.

[0024] FIG. 4 An example diagram of a social relationship graph provided according to an embodiment of the present disclosure is shown schematically;

[0025] FIG. 5 A schematic flowchart of a real-time recommendation method for social network users according to another embodiment of the present disclosure is shown.

[0026] FIG. 6 A schematic diagram of the structure of a storage medium provided according to an embodiment of the present disclosure is shown.

[0027] FIG. 7 A schematic diagram of the structure of a real-time recommendation device for social network users provided in an embodiment of this disclosure is shown.

[0028] FIG. 8 A schematic diagram of the structure of the update module provided in an embodiment of this disclosure is shown.

[0029] FIG. 9A schematic diagram of the structure of a computer device provided in an embodiment of the present disclosure is shown.

[0030] In the accompanying drawings, the same or corresponding reference numerals indicate the same or corresponding parts. Detailed Implementation

[0031] The principles and spirit of this disclosure will now be described with reference to several exemplary embodiments. It should be understood that these embodiments are given merely to enable those skilled in the art to better understand and implement this disclosure, and are not intended to limit the scope of this disclosure in any way. Rather, these embodiments are provided to make this disclosure more thorough and complete, and to fully convey the scope of this disclosure to those skilled in the art.

[0032] Those skilled in the art will understand that the embodiments of this disclosure can be implemented as a system, apparatus, device, method, or computer program product. Therefore, this disclosure can be specifically implemented in the following forms: entirely hardware, entirely software (including firmware, resident software, microcode, etc.), or a combination of hardware and software. The data involved in the embodiments of this disclosure can be data authorized by the user or fully authorized by all parties. The collection, dissemination, and use of data comply with relevant laws and regulations. The embodiments / examples of this disclosure can be combined with each other.

[0033] According to embodiments of this disclosure, a method, apparatus, electronic device, and storage medium for real-time recommendation of social network users are proposed.

[0034] In this article, it is important to understand that the terms used have the following meanings:

[0035] Graph: A method in graph theory for representing relationships between objects, consisting of vertices and edges. Graphs can be classified as directed or undirected based on whether edges have directionality, and as heterogeneous or isomorphic based on whether nodes and edges have multiple categories.

[0036] Social Relationship Graph: A graph used to represent the network of relationships between people is called a social relationship graph. In a social relationship graph, each node represents a person, and the relationships between people form edges.

[0037] Graph representation learning: using graph theory methods or deep learning models to map each node of a graph to a low-dimensional, dense vector, with the goal that the relationships between vectors can reflect the relationships between nodes in the graph.

[0038] Graph Neural Networks (GNNs): A deep learning method based on graph structures. GNNs mainly consist of two parts: a "graph" and a "neural network".

[0039] Cold start: refers to the problem that newly appearing users or items in a recommendation system cannot be recommended by the system through collaborative filtering methods such as similar users or similar items because they have no historical information. In this embodiment of the disclosure, the process of recommending newly created karaoke rooms is referred to as the cold start of karaoke rooms.

[0040] Deepwalk: A random walk algorithm, it is a mathematical statistical model consisting of a series of random trajectories. It can be used to represent irregular variations and record random processes.

[0041] Skip-gram model: This is an unsupervised language model for learning word vector representations. It predicts the context words corresponding to a given central word in a text and obtains stable word vector representations through continuous iterative training on a large-scale corpus.

[0042] Embedding: Embedding is the process of mapping features to a vector representation using an identity identifier (ID). In this embodiment, it is used to numerically process user nodes in a social relationship graph, converting them into feature vectors (Embeddings) in a unified vector space. Based on each user's embedding, it can be applied to recommendation models to improve recommendation accuracy.

[0043] The principles and spirit of this disclosure will be explained in detail below with reference to several representative embodiments.

[0044] SUMMARY

[0045] The inventors have discovered that most existing recommendation systems in related technologies are used to recommend items that users are interested in, such as news and goods. They employ a traditional "user-item" recommendation logic, extracting attribute features such as the content and tags of goods purchased or news viewed by the user, and then using machine learning methods to learn user preferences and make recommendations based on the user's historical clicks, playback, and purchase behavior data. However, due to the nature of karaoke rooms being created and deactivated at any time, the auxiliary features of karaoke rooms are relatively lacking, only including short text titles, room categories, and dynamically changing songs, lacking sufficient image and text features. Furthermore, the real-time dynamic nature of karaoke room creation and deactivation means that the karaoke room ID feature cannot function effectively in models trained on massive amounts of user behavior data. Therefore, existing methods for recommending users by learning item features often fail to fully represent users, resulting in low accuracy of the recommendation model, significant differences in recommendation performance across different scenarios, and poor generalization.

[0046] To address the above issues, the inventors have developed a method that uses graph representation learning to learn users' social network relationships (e.g., music-related social relationships). The resulting feature vectors better reflect users' interests and preferences, are more robust, and are easier to generalize, thus providing more accurate recommendation results for social network users and improving user experience.

[0047] After introducing the basic principles of this disclosure, various non-limiting embodiments of this disclosure will be described in detail below.

[0048] OVERVIEW OF APPLICATION SCENARIOS

[0049] First refer to FIG. 1 , FIG. 1 This is a schematic diagram illustrating an application scenario provided for an embodiment of this disclosure.

[0050] like FIG. 1 As shown, user 100 logs into network server 120 through application software on user device 110. User device 110 communicates with network server 120 via the network. User device 110 can be, for example, a mobile phone, tablet, or computer. The application software can be a web browser or application client.

[0051] When the network server 120 receives a request from a user to enter a room on the social network or to initiate room matching, it generates recommendation results based on the user's feature vector and the feature vectors of the candidate rooms. The recommendation results may be, for example, a list of candidate rooms, which are displayed on the user device 110. In this embodiment, the social network room may be a karaoke room, a chat room, a movie room, etc. For example, a karaoke room is a virtual online space provided for users with shared musical interests, where one or more users can engage in music-related social activities such as listening to songs and engaging in sheet music competitions. A chat room is, for example, a virtual online space provided for users to discuss specific topics, where users can discuss and post on the same topic.

[0052] EXEMPLARY METHOD

[0053] The following is combined FIG. 1 Application scenarios, refer to FIG. 2 This document describes a real-time recommendation method for social network users according to exemplary embodiments of this disclosure. It should be noted that the above application scenarios are shown only to facilitate understanding of the spirit and principles of this disclosure, and the embodiments of this disclosure are not limited in any way. Rather, the embodiments of this disclosure can be applied to any applicable scenario.

[0054] The implementing entity of this disclosure can be a real-time user recommendation device, which can be implemented in various ways. For example, it can be program software, or a medium storing relevant computer programs, such as a USB flash drive, or the device can be a physical device that integrates or installs relevant computer programs, such as a chip, a smart terminal, a computer, or a server.

[0055] refer to FIG. 2 , FIG. 2 This is a flowchart illustrating a real-time user recommendation method for social networks provided in an embodiment of this disclosure. FIG. 2 As shown, real-time recommendation methods for social network users include:

[0056] Step S201: Obtain the first user activity data of the social network within a first predetermined time period.

[0057] Social networks are formed when multiple users interact within a specific context, such as music social networks. In a music social network, users can create karaoke rooms and become the room owner, while other users can join. Users within the same karaoke room can listen to music, sing along, and engage in various interactive activities with other users, such as liking, sending gifts, sending private messages, and following each other. Different karaoke rooms can have different themes and gameplay, such as music study sessions or song battles.

[0058] The first scheduled time can be set according to needs, such as several weeks, several days, or several hours. The first user activity data includes user data entering the karaoke room within the first scheduled time and data on interactions between users.

[0059] Step S202: Generate a social relationship graph based on the first user activity data.

[0060] In this context, a social relationship graph can be exemplified by graph G(V, E), where V represents the set of all nodes in the graph, and each node represents a user. E represents the set of all edges in the graph. E represents the interaction behaviors between users.

[0061] Step S203: Sample each user node in the social relationship graph to obtain a user node sequence.

[0062] Node sampling for each user node can be implemented, for example, using the Rand Walk algorithm. The Rand Walk algorithm starts at a specific node in the social graph, and at each step, randomly selects an edge connected to the current node, moving along that edge to the next vertex, repeating this process continuously. By repeatedly selecting random paths, a path eventually traverses the network.

[0063] Step S204: Perform graph representation learning on the user node sequence to obtain the feature vector of each user node.

[0064] Graph representation learning can be achieved through Deepwalk networks or GCN networks. Deepwalk networks, drawing on natural language processing principles, treat the generated user node sequences as sentences composed of words. All user node sequences can be viewed as a large corpus (corpUs), and the natural language processing tool word2vec represents each user node as a vector of dimension d. GCN networks, or Graph Convolutional Neural Networks, transfer the ideas of neural networks like CNNs to graphs, extracting feature vectors from the nodes in the graph. For example, by inputting the user's nodes and edges into a function f, featureUre information for each node can be obtained.

[0065] Step S205: Obtain the requesting user and generate the feature vector (Embedding) of the requesting user based on the user node of the requesting user.

[0066] In this context, the requesting user refers to the user who wants to enter the social room. For example, in the karaoke room scenario of a music social network, the requesting user is the user who wants to enter the karaoke room. At time t, the user clicks to enter the karaoke room or initiates a karaoke room matching request, and the server obtains the user's Embedding.

[0067] In one example, when requesting a new user, the new user's embedding is generated based on a preset default embedding. A new user refers to a user who has not entered any social rooms or interacted with other users.

[0068] In one example, the default embedding can be obtained by merging the embeddings of all users in the social relationship graph. For example, all user embeddings can be processed using average pooling, and the processed value can be used as the embedding of the new user.

[0069] Step S206: Obtain candidate rooms and generate feature vectors for the candidate rooms based on the feature vectors of the user nodes in the candidate rooms, wherein each candidate room has one or more user nodes.

[0070] Specifically, a candidate room is an aggregate in a social network. For example, in a music social network, a candidate room is represented as a karaoke room, and in a chat social network, a candidate room is represented as a chat room.

[0071] In one example, step S206 includes: obtaining the feature vectors of each user node in the candidate room; and aggregating the feature vectors of each user node to generate the feature vector of the candidate room.

[0072] The aggregation process includes one or more of the following: attention-based weighted average pooling, max pooling, and average pooling. Specifically, max pooling retains the maximum feature value for each dimension of each user's embedding, discarding all other feature values. Average pooling averages the feature values ​​for each dimension of each user's embedding to obtain the candidate room's embedding. Weighted average pooling, based on an attention mechanism, adds different weights to each user's embedding and obtains the candidate room's embedding through a weighted average.

[0073] Step S207: Generate a recommendation result based on the feature vector of the requesting user and the feature vector of the candidate room. Specifically, the recommended candidate room can be determined by using the similarity between the feature vector of the requesting user and the feature vector of the candidate room.

[0074] By modeling the social network relationship between requesting users and candidate rooms using the feature vectors of requesting users and the embeddings of candidate rooms, the system recommends candidate rooms that match the requesting user's relevant preferences. This process, based on a "user-to-user" recommendation logic, more accurately represents users' music interests and preferences, resulting in more precise recommendations, effectively increasing the room entry rate, and providing users with a better karaoke experience.

[0075] Please see FIG. 3 In one example, step S202, generating a social relationship graph based on the first user activity data, specifically includes:

[0076] Step S301: Based on the first user activity data, obtain user node and user behavior data between user nodes. The user behavior data may include the type of interaction between users, the number of interactions, the duration of interactions, the frequency of interactions, etc. Examples of interactions include liking, sending gifts, listening to the same song, etc.

[0077] Step S302: Determine the connection relationships between user nodes based on the user behavior data. The connection relationships include the direction and weight of the connection edges. The direction of the connection edge is determined based on the initiator and receiver of the user interaction behavior. For example, if user A sends a gift to user B, a connection edge is formed between user node A and user node B, pointing from node A to node B. The weight of the connection edge is determined based on the frequency and duration of the user interaction behavior. For example, if there are multiple interaction behaviors between two users, or if a certain interaction behavior is long, such as listening to the same song for more than 30 seconds, the weight of the connection edge between the two users is higher. Conversely, if there are few interaction behaviors between two users, the weight of the connection edge between the two users is lower.

[0078] Step S303: Generate a social relationship graph based on the user nodes and the connection relationships. The social relationship graph is a homogeneous graph structure, meaning that user nodes and connection edges are of only one type.

[0079] By constructing a social network graph through user nodes and user connections, we can accurately reflect the social behavior between users, transforming "people pushing things" into "people pushing people". The learned social graph representation vectors are more robust and easier to generalize.

[0080] For example, in a karaoke room scenario, a social relationship graph G:{V,E} is formed based on user activity data within the karaoke room. Users constitute the node set of graph G, denoted by V = {v1,v2,...,vn}; the behavioral relationships between users are established as edges between nodes, denoted by E = {e1,e2,...,en}. Users within the same karaoke room can listen to and sing songs, and also engage in a series of interactive behaviors with other users, such as liking, sending gifts, sending private messages, and following. Edges with different directions and weights are established between nodes based on these different behaviors. To avoid forming a dense graph and reduce its complexity and computational cost, for users listening to and singing songs in a karaoke room, only bidirectional edges are established between them and the room owner. Otherwise, unidirectional edges are established between users engaging in interactive behaviors. Users may participate in interactions in other karaoke rooms at different times. All karaoke room activity data over a period of time is aggregated, and the weights and directions of different edges are distinguished based on the frequency, intensity, and type of interaction between users, generating a social relationship graph.

[0081] FIG. 4 An illustrative diagram of a social relationship in a karaoke room setting is shown below. Please refer to [link / reference]. FIG. 4In the social relationship graph, users U1 through U9 constitute the user nodes. User U1 is the owner of karaoke room 400, while users U6 and U9 are owners of other karaoke rooms. Users U2, U3, U4, and U5 have joined owner U1's karaoke room, connected to U1 by solid lines. User U10 has joined owner U9's karaoke room, and users U7 and U8 have joined owner U6's karaoke room. User U3 has sent a gift to user U2, connected by a thick dashed line; user U4 has followed user U2, connected by a thin dashed line. User U2 has previously entered a karaoke room created by owner U9, connected by a solid line. User U4 has previously entered a karaoke room created by owner U6, connected by a solid line. Therefore, based on user behavior data, a social relationship graph for the karaoke room scenario is constructed.

[0082] In one example, step S203, sampling each user node in the social relationship graph to obtain a user node sequence, specifically includes:

[0083] During the sampling process for a target user node, the following steps are performed:

[0084] Based on the sampling probability, a neighboring node of the target user node is selected as the first access node;

[0085] From the target user node, navigate to the first access node;

[0086] Based on the sampling probability, a neighbor node of the first access node is selected as the second access node, and the user moves from the first access node to the second access node.

[0087] When the length of the traversed node sequence meets the preset length, a traversal path corresponding to the target user node is generated;

[0088] Repeat the sampling process up to a predetermined number of times to generate the user node sequence.

[0089] Specifically, a preset sampling count γ and sampling sequence length t are defined for each user node. For each user node in the social relationship graph, during a single sampling, a neighboring node is randomly sampled from the initial node with a certain sampling probability as the next visited node. This process is repeated until the visited node sequence length meets the preset condition. The single sampling process is repeated until the preset sampling count is met, ultimately resulting in a user node sequence of length t. For example, user node sequences of length 3 are generated: (U1-U4-U2), (U2-U9-U1), and (U3-U1-U2).

[0090] In one example, the sampling probability is determined according to the following steps:

[0091] Obtain the probability P that the target user node reaches the neighbor node;

[0092] Obtain the weight E of the connection edge between the target user node and the neighbor node;

[0093] Obtain the number n of edges with the target user node as the source node;

[0094] The sampling probability is determined based on the probability P, the weight E, and the quantity n.

[0095] For example, the sampling probability can be expressed by formula (1):

[0096]

[0097] Where P(b / a) represents the sampling probability from user node a to user node b, and E a→b E represents the weight of the edge connecting user node a and user node b. a→i This represents the weight of the edge connecting user node a and user node i; n represents the number of edges with user node a as the source node.

[0098] By combining the above sampling probability formula with the characteristics of social network relationship graphs, the sampling strategy of the original random walk is further optimized to take into account the differences brought about by different user interaction levels, so as to obtain more reliable user embedding.

[0099] In one example, step S204, performing graph representation learning on the user node sequence to obtain the feature vector of each user node, specifically includes:

[0100] Based on the user node sequence and the preset sampling window, training samples for each user node are constructed.

[0101] The training sample input vector is used to generate the model, and iterative training is performed. After training is completed, the feature vector of each user node is generated.

[0102] The vector generation model includes either the Continuous Bag-of-Words (CBOW) model or the Skip-gram model. The CBOW model is a simplified representation model used in Natural Language Processing and Information Retrieval (IR). In this model, text such as sentences or documents can be represented as a bag containing these words, predicting the center word by using the R words preceding and following it. The skip-gram model in natural language processing embeds words into high-dimensional vectors; a sequence of user nodes can be viewed as a sentence composed of words, allowing for vectorized representation learning of the nodes.

[0103] In one example, the skip-gram model is used to describe the vector generation model. Specifically, after sampling user nodes, a sequence of user nodes is obtained: seq = {u1, u2, ..., u...}. m A sampling window w is pre-defined, and all nodes are randomly initialized with a d-dimensional representation vector W. For each user node U in the sequence seq, nodes v within a window of size w before and after it are selected. The posterior probability of node v appearing given node U under the current representation vector W is calculated and maximized. The representation vector W is iteratively updated using the backpropagation algorithm. After training, the representation vector W of each user node in the social relationship graph is obtained, and this representation vector W is the embedding of each user node.

[0104] For example, if the parameter sampling window w = 2 and the number of sampling IDs n_skips = 2, then for each user node U i It can generate (U) i U (i-2) ), (U i U (i-1 )), (U i U (i+1) ), (U i U (i+2) Four sets of training samples. After constructing the training samples, for each node U... i The vector space W is mapped through a mapping function Φ(U), and then the following objective function is optimized until convergence:

[0105]

[0106] The mapping function Φ takes a |V|×d matrix as its parameters, with column dimensions matching the user node sequence dimensions and row dimensions of d. The objective function minimize J represents the probability of a given user node Ui appearing within its w-window range during a node sampling process. The skip-gram model is trained using the minimize J objective function to learn the relationships between different user nodes, enabling the corresponding user nodes to generate feature vectors that represent the correlations between them.

[0107] Please see FIG. 5 In one example, the recommendation method further includes:

[0108] Step S501: Obtain second user activity data from the social network within a second predetermined time period. Specifically, the second user activity data includes user data entering the karaoke room and interaction data between users within the second predetermined time period. The second predetermined time period can be set according to actual needs, and this disclosure does not impose specific limitations.

[0109] Step S502: Based on the second user activity data, obtain updated users. Specifically, updated users include newly joined users and users who have engaged in new activities.

[0110] Step S503: Obtain the neighbor nodes of the updated user in the social relationship graph, and update the connection relationship between the updated user and the neighbor nodes based on the second user activity data to generate an updated social relationship graph.

[0111] Step S504: Sample the user nodes in the updated social relationship graph to generate an updated user node sequence.

[0112] Step S505: Perform graph representation learning on the updated user node sequence to obtain the feature vector of each user node in the updated social relationship graph.

[0113] Specifically, if a new user joins, a new user node is added at the corresponding location. For each updated user node, its neighbor nodes in the original social relationship graph are obtained, and the edge weights are updated to form an updated social relationship graph G′={V′,E′}. User node and graph representation learning is performed on the updated social relationship graph G′={V′,E′}, and the representation vector W′ corresponding to V′ is updated, thereby obtaining the updated user's embedding. The user node sampling process and graph representation learning process are described in steps S203 and S204 above, and will not be repeated here.

[0114] In the karaoke room scenario of a music social network, the creation of karaoke rooms and the addition of users are continuous, changing the structure of the original social relationship graph. New user additions and new user activities create new connections or alter the direction, weight, and other connection relationships between these connections. By sampling and learning the graph representation of newly added users and changed user nodes, the embeddings of updated user nodes can be updated. This method can promptly capture changes in user interest groups without processing all nodes in the social network, saving computational resources. Real-time incremental learning of the social relationship graph through this process enables dynamic updates and iterations, exhibiting good real-time performance. It shows good application results in karaoke room scenarios where creation and deletion can occur in real time.

[0115] In one example, step S207, generating a recommendation result based on the feature vector of the requesting user and the feature vector of the candidate room, specifically includes: determining the similarity between the feature vector of the requesting user and the feature vector of the candidate room, and determining the recommended object in the candidate room based on the similarity.

[0116] For example, the cosine similarity between the requesting user's embedding and the embeddings of candidate rooms is calculated. The candidate rooms are then ranked based on this cosine similarity, and recommended rooms are selected from the ranked candidate rooms. Recommended rooms could be, for example, the first or top-ranked candidate rooms. Alternatively, a similarity threshold can be set, and candidate rooms exceeding the threshold can be recommended. It's understood that the similarity threshold can be a fixed value or a dynamically changing value.

[0117] Understandably, in practical applications, besides considering the requesting user's embedding and the candidate room's embedding, other dimensions can be considered to form a comprehensive ranking result across multiple dimensions. The recommended candidate rooms are then determined based on this comprehensive ranking result. Other dimensions could include the similarity between a user's historical listening history and the characteristics of the karaoke room theme, or the similarity between a user's historical search history and the characteristics of the karaoke room theme. For example, weights can be assigned to the similarity across different dimensions. For instance, the weight of the similarity between the requesting user's embedding and the candidate room's embedding could be 0.6, and the weight of the similarity between the user's historical listening history and the characteristics of the karaoke room theme could be 0.4. The recommended candidate rooms are then determined based on the weighted result of the similarity across different dimensions.

[0118] In another example, step S207, generating a recommendation result based on the feature vector of the requesting user and the feature vector of the candidate room, specifically includes: generating a feature relationship between the requesting user and the candidate room based on the feature vector of the requesting user and the feature vector of the candidate room; adding the feature relationship to a pre-trained room recommendation model to generate a recommendation result.

[0119] For example, the feature relationship between the requesting user and the candidate room can be obtained through feature cross-product technology. Feature cross-product technology is the process of mapping samples from the original space to the feature space using a nonlinear mapping function. It achieves a nonlinear transformation of the sample space by multiplying two or more features, thereby increasing the nonlinear capability of the model. Methods for implementing feature cross-product technology include inner product, Hadamard product, and Cartesian product. For example, assuming feature vector X = [x1, x2, x3] and feature vector Y = [y1, y2, y3], then the inner product is x1*y1 + x2*y2 + x3*y3; the Hadamard product is [x1*y1, x2*y2, x3*y3]; and the Cartesian product is [x1*y1, x1*y2, x1*y3, x2*y1, x2*y2, x2*y3, x3*y1, x3*y2, x3*y3]. Feature cross-product technology includes FM aggregation technology. In one example, the aggregated features of the requesting user's embedding and the candidate room's embedding are obtained through FM aggregation technology.

[0120] For example, the pre-trained room recommendation model can employ existing recommendation models, such as multi-task learning models like the MOE (Mixture of Experts) model, MMOE (Multigate Mixture-of-Experts) model, or CGC (Customized Gate Control) model. The room recommendation model can be constructed by referring to relevant technologies. There is a certain correlation between the requesting user and the candidate rooms, and this correlation often has a significant impact on the recommendation results. The above process improves the accuracy of the room recommendation model's prediction results by using the aggregated features of the requesting user's embedding and the candidate room's embedding as input. The prediction result of the room recommendation model can be understood as the user's probability of consuming the candidate room. Based on the obtained consumption results, the candidate room with the highest consumption probability is recommended to the requesting user.

[0121] This disclosure presents a real-time recommendation method for social network users. It acquires user activity data from a social network within a predetermined period and constructs a social relationship graph based on this data. Then, it performs graph representation learning on the social relationship graph to obtain graph embedding feature vectors for each user node. Furthermore, it updates the graph embedding feature vectors of user nodes through incremental learning. Compared to the existing t+1 offline static training method, this method enables dynamic iterative updates of the social relationship graph, resulting in better real-time performance. When recommending karaoke rooms to requesting users, it generates more accurate recommendations based on the requesting user's graph embedding feature vector and the graph embedding feature vectors of candidate rooms, effectively improving the user experience.

[0122] EXEMPLARY MEDIUM

[0123] After introducing the methods of exemplary embodiments of this disclosure, the following references are made. FIG. 6 The storage medium of the exemplary embodiments of this disclosure will be described.

[0124] refer to FIG. 6 As shown, in some possible implementations, various aspects of this disclosure can also be implemented as a storage medium 60 storing program code that, when executed by the processor of a device, implements the steps of the real-time recommendation method for social network users according to various exemplary embodiments of this application as described in the "Exemplary Methods" section above.

[0125] Specifically, when the processor of the device executes the program code, it performs the following steps: Step S201: Obtain first user activity data of the social network within a first predetermined time period; Step S202: Generate a social relationship graph based on the first user activity data; Step S203: Sample each user node in the social relationship graph to obtain a user node sequence; Step S204: Perform graph representation learning on the user node sequence to obtain feature vectors for each user node; Step S205: Obtain a requesting user and generate a feature vector for the requesting user based on the user nodes of the requesting user; Step S206: Obtain a candidate room and generate a feature vector for the candidate room based on the feature vectors of the user nodes in the candidate room, wherein the candidate room contains one or more user nodes; Step S207: Generate a recommendation result based on the feature vector of the requesting user and the feature vector of the candidate room.

[0126] It should be noted that the aforementioned medium can be a readable signal medium or a readable storage medium. A readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0127] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. This propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0128] The program code contained on the readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wired, optical fiber, RF, or any suitable combination thereof. The program code for performing the operations of this application can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computing device, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0129] EXEMPLARY DEVICE

[0130] Having introduced the medium of exemplary embodiments of this disclosure, the following references are made to... FIG. 6 The real-time recommendation apparatus for social network users according to exemplary embodiments of the present disclosure is described to implement the method in any of the above embodiments. The implementation principle and technical effect are similar, and will not be repeated here.

[0131] refer to FIG. 7 , FIG. 7This is a schematic diagram of the structure of a real-time user recommendation device for a social network provided in one embodiment of this disclosure. FIG. 7 As shown, the real-time recommendation device for social network users includes:

[0132] Data acquisition module 710 is used to acquire first user activity data of the social network within a first predetermined time period;

[0133] Graph generation module 720 is used to generate a social relationship graph based on the first user activity data;

[0134] The node sampling module 730 is used to sample each user node in the social relationship graph to obtain a user node sequence.

[0135] The learning module 740 is used to perform graph representation learning on the user node sequence to obtain the feature vector of each user node.

[0136] The requesting user acquisition module 750 is used to acquire the requesting user and generate the feature vector of the requesting user based on the user node of the requesting user.

[0137] The candidate room acquisition module 760 is used to acquire candidate rooms and generate feature vectors of the candidate rooms based on feature vectors of user nodes in the candidate rooms, wherein the candidate rooms contain one or more user nodes.

[0138] The recommendation result generation module 770 is used to generate recommendation results based on the feature vector of the requesting user and the feature vector of the candidate room.

[0139] In one example, the first scheduled time can be set according to needs, such as several weeks, several days, or several hours. The first user activity data includes user data entering the karaoke room within the first scheduled time and data on interactions between users.

[0140] In one example, the graph generation module 720 is specifically used to obtain user nodes and user behavior data between each user node based on the first user activity data; determine the connection relationships between each user node based on the user behavior data; and generate a social relationship graph based on the user nodes and the connection relationships. The social relationship graph is an isomorphic graph structure.

[0141] In one example, the node sampling module 730 is specifically used to perform the following steps during the sampling process of a target user node: selecting a neighbor node of the target user node as a first access node based on the sampling probability; traversing from the target user node to the first access node; selecting a neighbor node of the first access node as a second access node based on the sampling probability, and traversing from the first access node to the second access node; generating a traversal path corresponding to the target user node when the length of the traversed node sequence meets a preset length; repeating the sampling process up to a predetermined number of sampling times to generate the user node sequence.

[0142] In one example, the learning module 740 is specifically used to construct training samples for each user node based on the user node sequence and a preset sampling window; input the training samples into the vector generation model, perform iterative training, and generate a feature vector for each user node after training is completed.

[0143] In one example, the candidate room acquisition module 760 is specifically used to acquire the feature vectors of each user node in the candidate room; and to aggregate the feature vectors of each user node to generate the feature vector of the candidate room.

[0144] In one example, the recommendation result generation module 770 is specifically used to determine the similarity between the feature vector of the requesting user and the feature vector of the candidate room, and to determine the recommended object in the candidate room based on the similarity.

[0145] In another example, the recommendation result generation module 770 is specifically used to generate a feature relationship between the requesting user and the candidate room based on the feature vector of the requesting user and the feature vector of the candidate room; and to add the feature relationship to the pre-trained room recommendation model to generate a recommendation result.

[0146] Please see FIG. 8In one example, the real-time recommendation device for social network users further includes an update module, which comprises an update data acquisition submodule 810, an update user acquisition submodule 820, an update graph generation submodule 830, an update node sampling submodule 840, and an update learning submodule 850. The data acquisition submodule 810 acquires second user activity data of the social network within a second predetermined time period. The update user acquisition submodule 820 acquires updated users based on the second user activity data. The update graph generation submodule 830 acquires the neighbor nodes of the updated users in the social relationship graph and updates the connection relationship between the updated users and the neighbor nodes based on the second user activity data, generating an updated social relationship graph. The update node sampling submodule 840 samples user nodes in the updated social relationship graph to generate an updated user node sequence. The update learning submodule 850 performs graph representation learning on the updated user node sequence to obtain the feature vector of each user node in the updated social relationship graph.

[0147] The real-time recommendation device for social network users provided in this embodiment includes a data acquisition module that acquires user activity data from the social network, and a graph generation module that constructs a social relationship graph based on the user activity data. A node sampling module and a learning module perform node sampling and graph representation learning on the social relationship graph, respectively, to obtain the feature vectors of each user node. When recommending candidate rooms (e.g., karaoke rooms) to a requesting user, the requesting user acquisition module and the candidate room acquisition module obtain the feature vectors of the requesting user and the candidate rooms, respectively. The recommendation result generation module generates the corresponding recommendation result based on the feature vectors of the requesting user and the candidate rooms. This recommendation device adopts a "user-to-user" recommendation logic, which can more accurately represent users' music interests and preferences. The model is easy to optimize and maintain, solving the problem that karaoke rooms have too few explicit features to truly express the music interests of users within the room. It effectively avoids the cold start problem caused by real-time karaoke room creation and can solve the interest shift problem caused by dynamic changes in karaoke rooms. The recommendation results are more accurate, effectively increasing the user's room entry rate and providing users with a better karaoke room experience.

[0148] EXEMPLARY COMPUTING DEVICE

[0149] Having introduced the methods, media, and apparatus of exemplary embodiments of the present disclosure, the electronic devices of exemplary embodiments of the present disclosure will now be described with reference to the figures.

[0150] FIG. 9 The electronic device 90 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.

[0151] like FIG. 9As shown, the electronic device 90 is presented in the form of a general-purpose computing device. The components of the electronic device may include, but are not limited to: at least one processing unit 910, at least one storage unit 920, and a bus 930 connecting different system components (including the storage unit 920 and the processing unit 910).

[0152] The storage unit stores program code that can be executed by the processing unit 910, causing the processing unit 910 to perform the steps described in the "Exemplary Methods" section above according to various exemplary embodiments of this disclosure.

[0153] Storage unit 920 may include readable media in the form of volatile storage units, such as random access memory (RAM) 9201 and / or cache memory 9202, and may further include read-only memory (ROM) 9203.

[0154] Storage unit 920 may also include a program / utility 9204 having a set (at least one) program module 9205, such program module 9205 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.

[0155] Bus 930 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0156] Electronic device 90 can also communicate with one or more external devices 1000 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with the electronic device 600, and / or with any device that enables the electronic device 90 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed through input / output (I / O) interface 950. Furthermore, electronic device 90 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 960. FIG. 9 As shown, network adapter 960 communicates with other modules of electronic device 90 via bus 930. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with electronic device 90, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0157] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0158] It should be noted that although several units / modules or sub-units / modules of the real-time recommendation device for social network users have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more units / modules described above can be embodied in one unit / module. Conversely, the features and functions of one unit / module described above can be further divided and embodied by multiple units / modules.

[0159] Furthermore, although the operations of the methods disclosed herein are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all of the operations shown must be performed to achieve the desired result. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.

[0160] While the spirit and principles of this disclosure have been described with reference to several specific embodiments, it should be understood that this disclosure is not limited to the disclosed specific embodiments, and the division of aspects does not imply that features in these aspects cannot be combined for benefit; such division is merely for convenience of expression. This disclosure is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

Claims

1. A method for real-time user recommendation on a social network, characterized in that, include: Acquire first user activity data of a social network within a first predetermined time period; the first user activity data includes user data of users entering rooms on the social network within the first predetermined time period and data on interaction behavior between users; the rooms on the social network include at least karaoke rooms, chat rooms, and movie viewing rooms; A social relationship graph is generated based on the first user activity data; The social relationship graph includes nodes representing users and edges representing interactions between users; Node sampling is performed on each user node in the social relationship graph to obtain a user node sequence; Graph representation learning is performed on the user node sequence to obtain the feature vector of each user node; Obtain the requesting user, and generate the feature vector of the requesting user based on the user node of the requesting user; Obtain candidate rooms, and generate feature vectors for the candidate rooms based on the feature vectors of user nodes in the candidate rooms, wherein the candidate rooms contain one or more user nodes; Based on the feature vector of the requesting user and the feature vector of the candidate room, a recommendation result is generated; The step of generating feature vectors for candidate rooms based on feature vectors of user nodes within the candidate rooms includes: Obtain the feature vectors of each user node in the candidate room; The feature vectors of each user node are aggregated to generate the feature vectors of the candidate rooms.

2. The real-time recommendation method for social network users according to claim 1, characterized in that, The method further includes: Obtain second user activity data from the social network within a second predetermined time period; Based on the second user activity data, obtain the updated user; Obtain the neighbor nodes of the updated user in the social relationship graph, and update the connection relationship between the updated user and the neighbor nodes based on the second user activity data to generate an updated social relationship graph; The user nodes in the updated social relationship graph are sampled to generate an updated user node sequence; Graph representation learning is performed on the updated user node sequence to obtain the feature vector of each user node in the updated social relationship graph.

3. The real-time recommendation method for social network users according to claim 1, characterized in that, The step of generating a social relationship graph based on the first user activity data includes: Based on the first user activity data, obtain user node and user behavior data between each user node; Based on the user behavior data, determine the connection relationships between each user node; Based on the user nodes and the connection relationships, a social relationship graph is generated, wherein the social relationship graph is an isomorphic graph structure.

4. The real-time recommendation method for social network users according to claim 1, characterized in that, The step of sampling each user node in the social relationship graph to obtain a user node sequence includes: During the sampling process for a target user node, the following steps are performed: Based on the sampling probability, a neighboring node of the target user node is selected as the first access node; From the target user node, navigate to the first access node; Based on the sampling probability, a neighbor node of the first access node is selected as the second access node, and the user moves from the first access node to the second access node. When the length of the traversed node sequence meets the preset length, a traversal path corresponding to the target user node is generated; Repeat the sampling process up to a predetermined number of times to generate the user node sequence.

5. The real-time recommendation method for social network users according to claim 4, characterized in that, The method further includes: Obtain the probability P that the target user node reaches the neighbor node; Obtain the weight E of the connection edge between the target user node and the neighbor node; Obtain the number n of edges with the target user node as the source node; The sampling probability is determined based on the probability P, the weight E, and the quantity n.

6. The real-time recommendation method for social network users according to claim 1, characterized in that, The step of performing graph representation learning on the user node sequence to obtain the feature vector of each user node includes: Based on the user node sequence and the preset sampling window, training samples for each user node are constructed. The training samples are input into the vector generation model and trained iteratively. The vector generation model includes a continuous bag-of-words model or a continuous skip model. After training is complete, a feature vector is generated for each user node.

7. The real-time recommendation method for social network users according to claim 1, characterized in that, The aggregation process includes one or more of attention-based weighted average pooling, max pooling, and average pooling.

8. The real-time recommendation method for social network users according to claim 1, characterized in that, The step of generating recommendation results based on the feature vector of the requesting user and the feature vector of the candidate rooms includes: Based on the feature vector of the requesting user and the feature vector of the candidate room, a feature relationship between the requesting user and the candidate room is generated. The aforementioned feature relationships are incorporated into a pre-trained room recommendation model to generate recommendation results.

9. A real-time user recommendation device for a social network, characterized in that, include: The data acquisition module is used to acquire first user activity data of the social network within a first predetermined time period; the first user activity data includes user data of users entering rooms of the social network within the first predetermined time period and interaction behavior data between users; the rooms of the social network include at least karaoke rooms, chat rooms and movie rooms; The graph generation module is used to generate a social relationship graph based on the first user activity data; The social relationship graph includes nodes representing users and edges representing interactions between users; The node sampling module is used to sample each user node in the social relationship graph to obtain a user node sequence. The learning module is used to perform graph representation learning on the user node sequence to obtain the feature vector of each user node; The requesting user acquisition module is used to acquire the requesting user and generate the feature vector of the requesting user based on the user node of the requesting user. The candidate room acquisition module is used to acquire candidate rooms and generate feature vectors for the candidate rooms based on the feature vectors of user nodes in the candidate rooms, wherein the candidate rooms contain one or more user nodes; The recommendation result generation module is used to generate recommendation results based on the feature vector of the requesting user and the feature vector of the candidate room; The candidate room acquisition module is specifically used for: Obtain the feature vectors of each user node in the candidate room; The feature vectors of each user node are aggregated to generate the feature vectors of the candidate rooms.

10. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the real-time recommendation method for social network users according to any one of claims 1 to 8 by executing the executable instructions.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the real-time recommendation method for social network users as described in any one of claims 1 to 8.