A personalized recommendation method based on edge caching
By deploying service matching models and hypergraph modeling user social relationships on edge servers, the poor recommendation quality caused by the sparsity of user feature vectors and service feature vectors in traditional recommendation systems is solved, and low-latency and high-precision personalized recommendations are achieved.
Patent Information
- Application Number
- CN202310097744.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-10
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2043-02-10
AI Technical Summary
When facing a large number of services and user logs, the traditional cloud-end two-point recommendation system is difficult to meet the user's low latency and high precision service needs, and the high-dimensional sparsity of user feature vectors and service feature vectors leads to poor recommendation quality.
By deploying a service matching model on an edge server, users are divided into different groups, edge cache is used to reduce service transmission delay, and neighborhood-level features between users are calculated through hypergraph modeling of user social relationships and graph convolutional networks to achieve personalized recommendations.
It reduces service response delay and transmission consumption, improves recommendation accuracy and hit rate, and effectively models group preferences through deep embedding clustering and gated recurrent unit networks, alleviating the problem of data sparseness.
Smart Images

Figure CN115964568B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of edge computing and recommendation systems, and in particular to a personalized recommendation method based on edge caching. Background Art
[0002] With the rapid development of emerging technologies such as 5G, cloud computing, edge computing, and big data, the number and variety of services are experiencing explosive growth. However, faced with this overwhelming number of services, users find it difficult to find the services they need based on their preferences. Recommender systems, as an effective way to alleviate information overload, aim to identify user preferences through information such as user profiles and historical behavior records, and recommend items or services that may be of interest to them.
[0003] Traditional recommendation systems mostly adopt a cloud-end architecture, uploading user data from the client to a cloud server, where model building and computation are completed and recommendation results are returned to the user. However, as service scale and user logs continue to grow, the cloud server load will further increase, making it difficult to meet users' demands for low-latency, high-accuracy services. Furthermore, user and service information is often sparse, resulting in high-dimensional sparsity in both user and service feature vectors, making it difficult to achieve high-quality recommendations. Summary of the Invention
[0004] In light of the above issues, this invention aims to provide a personalized recommendation method based on edge caching. By adjusting the recommendation application architecture and deploying a service matching model in the cloud, users are divided into different groups. By mining group preferences, services that meet the needs of the majority are cached on edge servers, reducing service transmission latency and overhead. Furthermore, user behavior is captured at the edge, and users' social relationships are modeled using a hypergraph. A convolutional network is used to calculate neighborhood-level features between users, enabling personalized recommendations and further improving recommendation accuracy.
[0005] Technical solution: To solve the above technical problems, the technical solution adopted by the present invention is:
[0006] In a first aspect, the present invention provides a personalized recommendation method based on edge caching, comprising:
[0007] Step 1: Construct user embedding vector and service embedding vector based on the user's historical service call records;
[0008] Step 2: Based on the user embedding vector, the service cache probability prediction model is used to predict the service cache probability prediction value:
[0009] 201. Compressing user embedding vectors using stacked denoising encoders;
[0010] 202. Based on the compressed user embedding vector, group division is implemented using the DBSCAN clustering algorithm to obtain the group division result;
[0011] 203. Based on the group division results, the service call records of users in the same group during the same period are merged, and the service call records of users in different periods are concatenated to construct an embedding vector for the group. The group embedding vector is compressed using a multi-layer perceptron network, and the dynamic changes of group preference characteristics are modeled using a gated recurrent unit to obtain the group preference feature vector. The probability of service caching is output through a fully connected layer and a sigmoid function.
[0012] Step 3: Implement edge caching using the Top-k strategy based on the service cache probability prediction value;
[0013] Step 4: Based on the service embedding vector and the obtained user social relationship features, the service recommendation probability prediction model is used to predict the service recommendation probability prediction value:
[0014] 401. Use a hypergraph to model the social relationships between users. Construct a hyperedge for each user. Each hyperedge contains all neighboring user nodes of the user. Use a graph convolutional network to mine the high-order connectivity information in the hypergraph to obtain the characteristics of user social relationships.
[0015] 402. Compress the service embedding vector using a multi-layer perceptron network, concatenate the compressed service embedding vector with the user social relationship feature, input the vector into a fully connected layer, and output the probability of the service being recommended using a sigmoid function.
[0016] Step 5: Use the Top-k strategy to sort the service recommendation probability prediction values in descending order and select the top k services to recommend to the user;
[0017] Step 6: If the recommended service is cached in the edge server, the edge server will provide the service to the user; otherwise, the cloud server will provide the service to the user.
[0018] In some embodiments, in step 1, a user embedding vector is constructed based on the user's historical service call records. in represents the number of times user i interacts with service j;
[0019] Build a service embedding vector based on the user's historical service call records in Represents the number of times service j interacts with user i.
[0020] In some embodiments, step 2 specifically includes:
[0021] 201. Compressing user embedding vectors using stacked denoising encoders includes:
[0022] The sparse user embedding vector u is transformed using a stacked denoising encoder i From high-dimensional space compression to low-dimensional latent space, for each layer of the stacked denoising encoder, the input h l-1 and output h l Expressed as:
[0023] h l =f(W l h l-1 +b l ),where h0=u i
[0024] where l∈{1,2,..,L}, W l and b l is the parameter to be learned in the lth layer. The first L / 2 layers of the stacked denoising encoder are the encoder, and the last L / 2 layers are the decoder. The objective function is defined as:
[0025] argmin||u i -h L || 2
[0026] The stacked denoising encoder model is trained by back propagation, and the output feature x of the L / 2 layer of the stacked denoising encoder is used. u As cluster samples;
[0027] 202. Based on the compressed user embedding vector, group division is achieved through the DBSCAN clustering algorithm, including:
[0028] Based on the compressed user embedding vector, calculate the Euclidean distance d between each sample point ij , when d ij When the distance is not greater than the domain threshold r, point j is considered to be included in the domain of point i;
[0029] If and only if the number of sample points contained in the domain of point i is greater than or equal to the sample threshold M in the domain, a new class with point i as the core point is created;
[0030] Repeatedly search for points that are directly density-reachable or density-reachable to the core points, add them to the corresponding classes, and merge the density-reachable classes between the core points into the same class until no new points can be added to the existing classes, thus completing the user group division.
[0031] Step 203 includes:
[0032] According to the group division results, users are divided into m groups, the behaviors of users in the same group in the same period are integrated, and the service call records in different periods are spliced to obtain the embedding vector of group i represents the number of interactions between users in group i and service j at time a;
[0033] The embedding vector of group i is input into the multi-layer perceptron network, which is compressed from the high-dimensional space to the low-dimensional hidden space. The input of each layer and output for:
[0034]
[0035] where l∈{1,2,..,L}, W (l) 、b (l) is the parameter to be learned in the lth layer, After L layers, we get a low-dimensional embedding representation As subsequent input;
[0036] The output of the multilayer perceptron network is input into the gated recurrent unit. The processing of the gated recurrent unit is expressed as:
[0037]
[0038]
[0039]
[0040]
[0041] where t∈{1,2,..,T}, z t is the update gate, which is used to control how much information the current state should retain from the history, r t Is the reset gate, used to control the current candidate state Whether it depends on the state h at the previous moment t-1 , σ is the sigmoid activation function, W z , W r and W h is the parameter matrix; b z , b r and b h for deviation; is the input at time t, h t is the state of the tth hidden node; through the gated recurrent neural network, the dynamic changes of the group preference characteristics are modeled to obtain the group preference feature vector
[0042] Based on the preference feature vector of the group Use a fully connected layer and sigmoid function to output the probability of serving the cache:
[0043]
[0044] in Service cache probability prediction value, W e is the parameter matrix, b e For deviation.
[0045] In some embodiments, a binary cross entropy loss function is selected as the loss function L for training the service cache probability prediction model. e :
[0046]
[0047] Where N represents the number of services, y e,i represents the true value, Represents the predicted value, and the model parameters are trained through back propagation.
[0048] In some embodiments, step 3, implementing edge caching using a Top-k strategy based on the service cache probability prediction value, includes:
[0049] TOP-k matching is performed for each group, and the results are integrated according to the group size. The services that meet the preferences of the majority are deployed in the edge server, realizing edge caching based on group preference perception and service representation learning.
[0050] In some embodiments, step 401 uses a hypergraph to model social relationships between users, constructs a hyperedge for each user, and each hyperedge includes all neighboring user nodes of the user. A graph convolutional network is used to mine high-order connectivity information in the hypergraph to obtain user social relationship features, including:
[0051] The hypergraph is formalized as G = (V, E), where the node set V represents user features and the hyperedge set E represents user social relationships. For the target user, all neighbor user node sets constitute the hyperedges about the user; the adjacency matrix H∈R |V|×|E| Represents the hypergraph, where each element h(v,e) in the adjacency matrix is:
[0052] Indicates whether v belongs to the hyperedge e;
[0053] Use graph convolutional networks to mine high-order connectivity information in hypergraphs:
[0054]
[0055] where l∈{1,2,..,L}, Θ (l-1)Represents the parameters to be learned in the l-1th layer, D is the degree matrix, and the values on the diagonal are the degrees of HG; G The multiplication operation represents the aggregation from vertex features to hyperedge features, which is the same as The multiplication operation represents the aggregation from the hyperedge feature to the vertex feature. After L layers, the user social relationship feature is obtained.
[0056] In some embodiments, step 402, using a multi-layer perceptron network to compress the service embedding vector, concatenating the compressed service embedding vector with the user social relationship feature, inputting the compressed vector into a fully connected layer, and outputting the probability of the service being recommended through a sigmoid function, includes:
[0057]
[0058] in, is the service cache probability prediction value, is the user's social relationship feature, x s is the service embedding vector, W s is the parameter matrix, b s It's a deviation.
[0059] In some embodiments, a cross entropy loss function is selected as the loss function for training the service recommendation probability prediction model:
[0060]
[0061] where y s represents the true value, Represents the predicted value, and the model parameters are trained through back propagation.
[0062] In a second aspect, the present invention provides a personalized recommendation device based on edge caching, comprising a processor and a storage medium;
[0063] The storage medium is used to store instructions;
[0064] The processor is configured to operate according to the instructions to execute the steps of the method according to the first aspect.
[0065] In a third aspect, the present invention provides a storage medium having a computer program stored thereon, which implements the steps of the method described in the first aspect when executed by a processor.
[0066] Beneficial effects: The present invention proposes a personalized recommendation method based on edge caching, which has the following advantages: In terms of edge caching, by deploying services on the edge side closer to the user, the service response delay and transmission consumption are reduced. At the same time, deep embedding clustering is used to classify users to better explore the common preferences of users, and services that meet the needs of most people are deployed in edge nodes, further improving the hit rate of service cache. The gated recurrent unit network used can effectively model the dynamic preferences of the group. In terms of personalized recommendation, the nonlinear social relationships between users are modeled through hypergraphs, and the graph convolutional network is used to mine the rich information in the users' social relationships to alleviate the data sparsity problem and further improve the accuracy of recommendations. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] Figure 1 is a flow chart of a method according to an embodiment of the present invention;
[0068] Figure 2 This is a model architecture diagram of an embodiment of the present invention. DETAILED DESCRIPTION
[0069] To more clearly illustrate the technical solution of the present invention, the present invention is further described below with reference to the accompanying drawings. The following description is only a portion of the implementation cases. For those skilled in the art, the technical solution of the present invention can also be applied to other similar scenarios based on these without inventive work.
[0070] In the description of the present invention, reference to terms such as "one embodiment," "some embodiments," "illustrative embodiments," "examples," "specific examples," or "some examples" means that the specific features, structures, materials, or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the exemplary expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
[0071] Example 1
[0072] A personalized recommendation method based on edge caching, including:
[0073] Step 1: Construct user embedding vector and service embedding vector based on the user's historical service call records;
[0074] Step 2: Based on the user embedding vector, the service cache probability prediction model is used to predict the service cache probability prediction value:
[0075] 201. Compressing user embedding vectors using stacked denoising encoders;
[0076] 202. Based on the compressed user embedding vector, group division is implemented using the DBSCAN clustering algorithm to obtain the group division result;
[0077] 203. Based on the group division results, the service call records of users in the same group during the same period are merged, and the service call records of users in different periods are concatenated to construct an embedding vector for the group. The embedding vector is compressed using a multi-layer perceptron network, and the dynamic changes of group preference characteristics are modeled using a gated recurrent unit to obtain the group preference feature vector. The probability of service caching is output through a fully connected layer and a sigmoid function.
[0078] Step 3: Implement edge caching using the Top-k strategy based on the service cache probability prediction value;
[0079] Step 4: Based on the service embedding vector and the obtained user social relationship features, the service recommendation probability prediction model is used to predict the service recommendation probability prediction value:
[0080] 401. Use a hypergraph to model the social relationships between users. Construct a hyperedge for each user. Each hyperedge contains all neighboring user nodes of the user. Use a graph convolutional network to mine the high-order connectivity information in the hypergraph to obtain the characteristics of user social relationships.
[0081] 402. Compress the service embedding vector using a multi-layer perceptron network, concatenate the compressed service embedding vector with the user social relationship feature, input the vector into a fully connected layer, and output the probability of the service being recommended using a sigmoid function.
[0082] Step 5: Use the Top-k strategy to sort the service recommendation probability prediction values in descending order and select the top k services to recommend to the user;
[0083] Step 6: If the recommended service is cached in the edge server, the edge server will provide the service to the user; otherwise, the cloud server will provide the service to the user.
[0084] In some embodiments, in step 1, a user embedding vector is constructed based on the user's historical service call records. in represents the number of times user i interacts with service j;
[0085] Build a service embedding vector based on the user's historical service call records in Represents the number of times service j interacts with user i.
[0086] In some embodiments, step 2 specifically includes:
[0087] 201. Compressing user embedding vectors using stacked denoising encoders includes:
[0088] The sparse user embedding vector u is transformed using a stacked denoising encoder i From high-dimensional space compression to low-dimensional latent space, for each layer of the stacked denoising encoder, the input h l-1 and output h l Expressed as:
[0089] h l =f(W l h l-1 +b l ),where h0=u i
[0090] where l∈{1,2,..,L}, W l and b l is the parameter to be learned in the lth layer. The first L / 2 layers of the stacked denoising encoder are the encoder, and the last L / 2 layers are the decoder. The objective function is defined as:
[0091] argmin||u i -h L || 2
[0092] The stacked denoising encoder model is trained by back propagation, and the output feature x of the L / 2 layer of the stacked denoising encoder is used. u As cluster samples;
[0093] 202. Based on the compressed user embedding vector, group division is achieved through the DBSCAN clustering algorithm, including:
[0094] Based on the compressed user embedding vector, calculate the Euclidean distance d between each sample point ij , when d ij When the distance is not greater than the domain threshold r, point j is considered to be included in the domain of point i;
[0095] If and only if the number of sample points contained in the domain of point i is greater than or equal to the sample threshold M in the domain, a new class with point i as the core point is created;
[0096] Repeatedly search for points that are directly density-reachable or density-reachable to the core points, add them to the corresponding classes, and merge the density-reachable classes between the core points into the same class until no new points can be added to the existing classes, thus completing the user group division.
[0097] Step 203 includes:
[0098] According to the group division results, users are divided into m groups, the behaviors of users in the same group in the same period are integrated, and the service call records in different periods are spliced to obtain the embedding vector of group i represents the number of interactions between users in group i and service j at time a;
[0099] The embedding vector of group i is input into the multi-layer perceptron network, which is compressed from the high-dimensional space to the low-dimensional hidden space. The input of each layer and output for:
[0100]
[0101] where l∈{1,2,..,L}, W (l) 、b (l) is the parameter to be learned in the lth layer, After L layers, we get a low-dimensional embedding representation As subsequent input;
[0102] The output of the multilayer perceptron network is input into the gated recurrent unit. The processing of the gated recurrent unit is expressed as:
[0103]
[0104]
[0105]
[0106]
[0107] where t∈{1,2,..,T}, z t is the update gate, which is used to control how much information the current state should retain from the history, r t Is the reset gate, used to control the current candidate state Whether it depends on the state h at the previous moment t-1 , σ is the sigmoid activation function, W z , W r and W h is the parameter matrix; b z , b r and b h for deviation; is the input at time t, h t is the state of the tth hidden node; through the gated recurrent neural network, the dynamic changes of the group preference characteristics are modeled to obtain the group preference feature vector
[0108] Based on the preference feature vector of the group Use a fully connected layer and sigmoid function to output the probability of serving the cache:
[0109]
[0110] in Service cache probability prediction value, W e is the parameter matrix, b e For deviation.
[0111] In some embodiments, a binary cross entropy loss function is selected as the loss function L for training the service cache probability prediction model. e :
[0112]
[0113] Where N represents the number of services, y e,i represents the true value, Represents the predicted value, and the model parameters are trained through back propagation.
[0114] In some embodiments, step 3, implementing edge caching using a Top-k strategy based on the service cache probability prediction value, includes:
[0115] TOP-k matching is performed for each group, and the results are integrated according to the group size. The services that meet the preferences of the majority are deployed in the edge server, realizing edge caching based on group preference perception and service representation learning.
[0116] In some embodiments, step 401 uses a hypergraph to model social relationships between users, constructs a hyperedge for each user, and each hyperedge includes all neighboring user nodes of the user. A graph convolutional network is used to mine high-order connectivity information in the hypergraph to obtain user social relationship features, including:
[0117] The hypergraph is formalized as G = (V, E), where the node set V represents user features and the hyperedge set E represents user social relationships. For the target user, all neighbor user node sets constitute the hyperedges about the user; the adjacency matrix H∈R |V|×|E| Represents the hypergraph, where each element h(v,e) in the adjacency matrix is:
[0118] Indicates whether v belongs to the hyperedge e;
[0119] Use graph convolutional networks to mine high-order connectivity information in hypergraphs:
[0120]
[0121] where l∈{1,2,..,L}, Θ (l-1)Represents the parameters to be learned in the l-1th layer, D is the degree matrix, and the values on the diagonal are the degrees of HG; G The multiplication operation represents the aggregation from vertex features to hyperedge features, which is the same as The multiplication operation represents the aggregation from the hyperedge feature to the vertex feature. After L layers, the user social relationship feature is obtained.
[0122] In some embodiments, step 402, using a multi-layer perceptron network to compress the service embedding vector, concatenating the compressed service embedding vector with the user social relationship feature, inputting the compressed vector into a fully connected layer, and outputting the probability of the service being recommended through a sigmoid function, includes:
[0123]
[0124] in, is the service cache probability prediction value, is the user's social relationship feature, x s is the service embedding vector, W s is the parameter matrix, b s It's a deviation.
[0125] In some embodiments, a cross entropy loss function is selected as the loss function for training the service recommendation probability prediction model:
[0126]
[0127] where y s represents the true value, Represents the predicted value, and the model parameters are trained through back propagation.
[0128] In some specific embodiments, this embodiment provides a personalized recommendation method based on edge caching, such as Figure 1 Method flow chart and Figure 2 As shown in the model architecture diagram, it specifically includes:
[0129] Step 1, feature engineering: Based on the user's historical service call records, construct user and service embedding vectors as input to the subsequent network.
[0130] In a certain scenario, the number of users n = 1200, the number of services m = 1920, and the user embedding vector is constructed based on the user's historical service call records. in Represents the number of times user i interacts with service j. Similarly, we get the service embedding vector in Represents the number of times service j interacts with user i.
[0131] Step 2, group division: Use stacked denoising encoder to compress user embedding vectors and implement group division through DBSCAN clustering algorithm.
[0132] The stacked denoising encoder is used to compress the sparse user embedding from the high-dimensional space to the low-dimensional latent space. For each layer of the stacked denoising encoder, the input and output can be expressed as:
[0133] h l =f(W l h l-1 +b l ),where h0=u i
[0134] where l∈{1,2,..,L}, W l and b l is the parameter to be learned in the lth layer. The first L / 2 layers of the stacked denoising encoder are the encoder, and the last L / 2 layers are the decoder. The objective function is defined as:
[0135] argmin||u i -h L || 2
[0136] The model is trained by back propagation, and the output feature x of the L / 2 layer of the stacked denoising encoder is used. u as cluster samples.
[0137] Use the DBSCAN clustering algorithm to divide users and calculate the Euclidean distance d between each sample point ij , when d ij If the distance between point j and point i is less than the domain distance threshold of 0.5, point j is considered to be within the domain of point i. A new class with point i as the core point is created if and only if the number of sample points within the domain of point i is greater than or equal to the domain sample threshold of 5. Points that are directly or density-reachable to the core point are repeatedly searched for and added to the corresponding class. Classes that are density-reachable between core points are merged into the same class. The algorithm ends when no new points can be added to the existing class.
[0138] Step 3: Edge Caching: Based on the resulting grouping results, service call records for users in the same group during the same time period are merged and service call records from different time periods are concatenated to construct an embedded representation for the group. This embedded vector is compressed using a multilayer perceptron network and fed into a gated recurrent unit to model the dynamic changes in group preference characteristics and obtain the group preference feature vector. The probability of service caching is output through a fully connected layer and a sigmoid function, implementing edge caching according to the Top-K strategy.
[0139] According to the clustering results, users are divided into m groups. By fusing the behaviors of users with similar characteristics in the same period and splicing the behaviors in different periods, the embedding vector of group i is obtained: represents the number of interactions between users in group i and service j at time a. It is input into the multi-layer perceptron network and compressed from the high-dimensional space to the low-dimensional hidden space. The input and output of each layer are:
[0140]
[0141] where l∈{1,2,..,L}, W l and b l is the parameter to be learned in the lth layer, After passing through layer l, a low-dimensional embedding representation is obtained
[0142]
[0143]
[0144]
[0145]
[0146] where t∈{1,2,..,T}, z t is the update gate, which is used to control how much information the current state should retain from the history, r t Is the reset gate, used to control the current candidate state Whether it depends on the state h at the previous moment t-1 , σ is the sigmoid activation function, W z , W r and W h is the parameter matrix; b z , b r and b h for deviation; is the input at time t, h t is the state of the tth hidden node; through the gated recurrent neural network, the dynamic changes of the group preference characteristics are modeled to obtain the group preference feature vector
[0147] Based on the preference feature vector of the group Use a fully connected layer and sigmoid function to output the probability of serving the cache:
[0148]
[0149] in Service cache probability prediction value, We is the parameter matrix, b e For deviation.
[0150] Select the binary cross entropy loss function as the loss function L for training the service cache probability prediction model e :
[0151]
[0152] Where N represents the number of services, y e,i represents the true value, Represents the predicted value, and the model parameters are trained through back propagation.
[0153] TOP-k matching is performed for each group, and the results are integrated according to the group size. The services that meet the preferences of the majority are deployed in the edge server, realizing edge caching based on group preference perception and service representation learning.
[0154] Step 4: Mining user social relationships: Use a hypergraph to model the social relationships between users, construct a hyperedge for each user, and each hyperedge contains all the neighboring user nodes of the user. Use a graph convolutional network to mine the high-order connectivity information in the hypergraph to obtain user social relationship characteristics.
[0155] The hypergraph is formalized as G = (V, E), where V is a node set representing user features and E is a hyperedge set representing user social relationships. For a target user, all its neighbor user node sets constitute hyperedges about the user. Use the adjacency matrix H∈R |V|×|E| Represents the hypergraph, where each element h(v,e) in the adjacency matrix is:
[0156] Indicates whether v belongs to the hyperedge e.
[0157] Use graph convolutional networks to mine high-order connectivity information in hypergraphs:
[0158]
[0159] where l∈{1,2,..,L}, Θ (l-1) Represents the parameters to be learned in the l-1th layer, D is the degree matrix, and the values on the diagonal are the degrees of HG; G The multiplication operation represents the aggregation from vertex features to hyperedge features, which is the same as The multiplication operation represents the aggregation from the hyperedge feature to the vertex feature. After L layers, the user social relationship feature is obtained.
[0160] Step 5: Personalized recommendation: Use a multi-layer perceptron network to compress the service embedding vector obtained in step 1 and input it into the fully connected layer together with the user social relationship features obtained in step 4. The sigmoid function is used to output the probability of the service being recommended, and personalized edge recommendations are implemented based on the Top-k strategy.
[0161] The service embedding vector obtained in step 1 is compressed using a multi-layer perceptron network, concatenated with the user's social relationship features, and then input into the fully connected layer. The sigmoid function is used to output the probability of the service being recommended:
[0162]
[0163] in, is the service cache probability prediction value, is the user's social relationship feature, x s is the service embedding vector, W s is the parameter matrix, b s It's a deviation.
[0164] Select the cross entropy loss function as the loss function for training the service recommendation probability prediction model:
[0165]
[0166] where y s represents the true value, Represents the predicted value, and the model parameters are trained through back propagation.
[0167] According to the Top-k strategy, the recommendation probabilities of each service are sorted in descending order, and the top k services are selected to be recommended to the user.
[0168] If the recommended service is cached in the edge server, the edge server will provide the service to the user; otherwise, the cloud server will provide the service to the user.
[0169] Example 2
[0170] In a second aspect, this embodiment provides a personalized recommendation device based on edge caching, including a processor and a storage medium;
[0171] The storage medium is used to store instructions;
[0172] The processor is configured to operate according to the instructions to execute the steps of the method according to embodiment 1.
[0173] Example 3
[0174] In a third aspect, this embodiment provides a storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the method described in Example 1 are implemented.
[0175] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0176] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0177] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0178] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0179] Obviously, the above embodiments are merely examples for clarity of explanation and are not intended to limit the implementation methods. It is not necessary and impossible to enumerate all implementation methods here. Obvious variations or modifications derived therefrom are still within the scope of protection of the present invention.
Claims
1. A personalized recommendation method based on edge caching, characterized in that: include: Step 1: Construct user embedding vector and service embedding vector based on the user's historical service call records; Step 2: Based on the user embedding vector, the service cache probability prediction model is used to predict the service cache probability prediction value:
201. Compressing user embedding vectors using stacked denoising encoders; 202. Based on the compressed user embedding vector, group division is implemented using the DBSCAN clustering algorithm to obtain the group division result; 203. Based on the group division results, the service call records of users in the same group during the same period are merged, and the service call records of users in different periods are concatenated to construct an embedding vector for the group. The group embedding vector is compressed using a multi-layer perceptron network, and the dynamic changes of group preference characteristics are modeled using a gated recurrent unit to obtain the group preference feature vector. The probability of service caching is output through a fully connected layer and a sigmoid function. Step 3: Implement edge caching using the Top-k strategy based on the service cache probability prediction value; Step 4: Based on the service embedding vector and the obtained user social relationship features, the service recommendation probability prediction model is used to predict the service recommendation probability prediction value:
401. Use a hypergraph to model the social relationships between users. Construct a hyperedge for each user. Each hyperedge contains all neighboring user nodes of the user. Use a graph convolutional network to mine the high-order connectivity information in the hypergraph to obtain the characteristics of user social relationships.
402. Compress the service embedding vector using a multi-layer perceptron network, concatenate the compressed service embedding vector with the user social relationship feature, input the vector into a fully connected layer, and output the probability of the service being recommended using a sigmoid function. Step 5: Use the Top-k strategy to sort the service recommendation probability prediction values in descending order and select the top k services to recommend to the user; Step 6: If the recommended service is cached in the edge server, the edge server will provide the service to the user; otherwise, the cloud server will provide the service to the user.
2. A personalized recommendation method based on edge caching according to claim 1, characterized in that: In step 1, the user embedding vector is constructed based on the user's historical service call records in represents the number of times user i interacts with service j; Build a service embedding vector based on the user's historical service call records in Represents the number of times service j interacts with user i.
3. The personalized recommendation method based on edge caching according to claim 1, characterized in that:
201. Compressing user embedding vectors using stacked denoising encoders includes: The sparse user embedding vector u is transformed using a stacked denoising encoder i From high-dimensional space compression to low-dimensional latent space, for each layer of the stacked denoising encoder, the input h l-1 and output h l Expressed as: h l =f(W l h l-1 +b l ),whereh0=u i where l∈{1,2,..,L}, W l and b l is the parameter to be learned in the lth layer. The first L / 2 layers of the stacked denoising encoder are the encoder, and the last L / 2 layers are the decoder. The objective function is defined as: argmin||u i -h L || 2 The stacked denoising encoder model is trained by back propagation, and the output feature x of the L / 2 layer of the stacked denoising encoder is used. u As cluster samples; And / or, 202. Based on the compressed user embedding vector, implementing group division by using the DBSCAN clustering algorithm includes: Based on the compressed user embedding vector, calculate the Euclidean distance d between each sample point ij , when d ij When the distance is not greater than the domain threshold r, point j is considered to be included in the domain of point i; If and only if the number of sample points contained in the domain of point i is greater than or equal to the sample threshold M in the domain, a new class with point i as the core point is created; Repeatedly search for points that are directly density-reachable or density-reachable to the core point, add them to the corresponding class, and merge the classes that are density-reachable between core points into the same class until no new points can be added to the existing class, completing the user group division; And / or, step 203 includes: According to the group division results, users are divided into m groups, the behaviors of users in the same group in the same period are integrated, and the service call records in different periods are spliced to obtain the embedding vector of group i represents the number of interactions between users in group i and service j at time a; The embedding vector of group i is input into the multi-layer perceptron network, which is compressed from the high-dimensional space to the low-dimensional hidden space. The input of each layer and output for: where l∈{1,2,..,L}, W (l) 、b (l) is the parameter to be learned in the lth layer, After L layers, we get a low-dimensional embedding representation As subsequent input; The output of the multilayer perceptron network is input into the gated recurrent unit. The processing of the gated recurrent unit is expressed as: where t∈{1,2,..,T}, z t is the update gate, which is used to control how much information the current state should retain from the history, r t Is the reset gate, used to control the current candidate state Whether it depends on the state h at the previous moment t-1 , σ is the sigmoid activation function, W z , W r and W h is the parameter matrix; b z , b r and b h for deviation; is the input at time t, h t is the state of the tth hidden node; through the gated recurrent neural network, the dynamic changes of the group preference characteristics are modeled to obtain the group preference feature vector Based on the preference feature vector of the group Use a fully connected layer and sigmoid function to output the probability of serving the cache: in Service cache probability prediction value, W e is the parameter matrix, b e For deviation.
4. The personalized recommendation method based on edge caching according to claim 1, characterized in that: Select the binary cross entropy loss function as the loss function L for training the service cache probability prediction model e : Where N represents the number of services, y e,i represents the true value, Represents the predicted value, and the model parameters are trained through back propagation.
5. The personalized recommendation method based on edge caching according to claim 1, characterized in that: Step 3: Implement edge caching using the Top-k strategy based on the service cache probability prediction value, including: TOP-k matching is performed for each group, and the results are integrated according to the group size. The services that meet the preferences of the majority are deployed in the edge server, realizing edge caching based on group preference perception and service representation learning.
6. The personalized recommendation method based on edge caching according to claim 1, characterized in that:
401. Use hypergraphs to model social relationships between users. Construct a hyperedge for each user. Each hyperedge contains all neighboring user nodes of the user. Use graph convolutional networks to mine high-order connectivity information in the hypergraph to obtain user social relationship features, including: The hypergraph is formalized as G = (V, E), where the node set V represents user features and the hyperedge set E represents user social relationships. For the target user, all neighbor user node sets constitute the hyperedges about the user; the adjacency matrix H∈R |V|×|E| Represents the hypergraph, where each element h(v,e) in the adjacency matrix is: Indicates whether v belongs to the hyperedge e; Use graph convolutional networks to mine high-order connectivity information in hypergraphs: where l∈{1,2,..,L}, Θ (l-1) Represents the parameters to be learned in the l-1th layer, D is the degree matrix, and the value on the diagonal is H G degree; and H G The multiplication operation represents the aggregation from vertex features to hyperedge features, which is the same as The multiplication operation represents the aggregation from the hyperedge feature to the vertex feature. After L layers, the user social relationship feature is obtained.
7. The personalized recommendation method based on edge caching according to claim 1, characterized in that: Step 402: Use a multi-layer perceptron network to compress the service embedding vector, concatenate the compressed service embedding vector with the user social relationship feature, input the compressed vector into a fully connected layer, and output the probability of the service being recommended through a sigmoid function, including: in, is the service cache probability prediction value, is the user's social relationship feature, x s is the service embedding vector, W s is the parameter matrix, b s It's a deviation.
8. The personalized recommendation method based on edge caching according to claim 1, characterized in that: Select the cross entropy loss function as the loss function for training the service recommendation probability prediction model: where y s represents the true value of the service cache probability, Represents the service cache probability prediction value, and the model parameters are trained through back propagation.
9. A personalized recommendation device based on edge caching, characterized in that: including processor and storage medium; The storage medium is used to store instructions; The processor is configured to operate according to the instructions to execute the steps of the method according to any one of claims 1 to 8.
10. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Education platform course recommendation method and system based on deep learning
CN113065060A
Active edge caching method based on community discovery and weighted federated learning
CN115696296A