Information recommendation method and device
By adjusting the information recommendation system on the client side using a rearrangement model and differential privacy algorithm, the risk of leakage of user privacy data during transmission is resolved, achieving accurate recommendations while protecting user privacy, and improving the personalization and security of the recommendation system.
Patent Information
- Application Number
- CN202510950712.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-10
- Publication Date
- 2025-10-31
AI Technical Summary
Existing information recommendation systems struggle to achieve accurate recommendations while protecting user privacy. User privacy data is at risk of leakage during transmission and storage, and it is difficult to fully capture users' dynamic needs and personalized preferences in different scenarios.
On the client side, user privacy data and initial recommendation results are obtained, and personalized adjustments are made through a re-ranking model. The re-ranking model combines user privacy data with the initial results of the recommendation system to perform personalized ranking, avoiding data leakage. It is trained using differential privacy algorithms and federated learning techniques to ensure the security of privacy data.
It enables the generation of recommendations that better match users' true interests without leaking users' privacy data, thereby improving the accuracy and security of recommendations and reducing the risk of data leakage.
Smart Images

Figure CN120873281A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of data processing technology, specifically relating to an information recommendation method and apparatus. Background Technology
[0002] With the rapid development of Internet and mobile terminal technologies, information recommendation systems have become a core technical means to improve user experience. Information recommendation systems rely on deep matching of user characteristics and item characteristics to achieve accurate recommendations.
[0003] However, client-side electronic devices store a large amount of high-value privacy data, covering users' browsing history, consumption records, location information, and even biometric data. Traditional recommendation systems require users to upload data to cloud servers for analysis. However, during data transmission and storage, there are risks of data leakage and malicious tampering, making users reluctant to share too much private data. Even if users are willing to share some data, traditional recommendation systems struggle to fully capture users' dynamic needs and personalized preferences in different scenarios, failing to meet users' increasingly diverse and personalized demands.
[0004] Therefore, it is difficult to achieve accurate recommendations while protecting user privacy. Summary of the Invention
[0005] The purpose of this application is to provide an information recommendation method and apparatus that can solve the problem of difficulty in achieving accurate recommendations while protecting user privacy.
[0006] In a first aspect, embodiments of this application provide an information recommendation method applied to a client, the method comprising:
[0007] The system obtains user privacy data and initial recommendation results. The user privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by a recommendation system connected to the client.
[0008] The user privacy data and the initial recommendation results are input into the re-ranking model to obtain the re-ranking results.
[0009] Secondly, embodiments of this application provide an information recommendation device applied to a server, the device comprising:
[0010] The acquisition module is used to acquire user privacy data and initial recommendation results. The user privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by the recommendation system connected to the client.
[0011] The input module is used to input the user privacy data and the initial recommendation results into the re-ranking model to obtain the re-ranking results.
[0012] Thirdly, embodiments of this application provide an electronic device including a processor and a memory, wherein the memory stores programs or instructions executable on the processor, and the programs or instructions, when executed by the processor, implement the steps of the method described in the first aspect.
[0013] Fourthly, embodiments of this application provide a readable storage medium on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect.
[0014] Fifthly, embodiments of this application provide a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run programs or instructions to implement the method as described in the first aspect.
[0015] In a sixth aspect, embodiments of this application provide a computer program product stored in a storage medium, which is executed by at least one processor to implement the method described in the first aspect.
[0016] In the embodiments of this application, user privacy data and initial recommendation results are obtained. User privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by the recommendation system accessing the client. The user privacy data and the initial recommendation results are input into the re-ranking model. By combining the user privacy data on the client side with the initial recommendation results of the recommendation system, a re-ranking result is obtained without disclosing privacy data to the outside world. This allows for personalized adjustments to the initial recommendation results, making the obtained re-ranking results more in line with the user's true interests, while ensuring the security of user privacy data. Attached Figure Description
[0017] Figure 1 This is a flowchart of an information recommendation method applied to a client, provided in an embodiment of this application;
[0018] Figure 2 This is a schematic diagram of a recommendation process based on multiple recommendation systems provided in an embodiment of this application;
[0019] Figure 3 This is a flowchart of an information recommendation method applied to a server, provided in an embodiment of this application;
[0020] Figure 4 This is a structural diagram of an information recommendation device provided in an embodiment of this application;
[0021] Figure 5This is a structural diagram of an information recommendation device provided in an embodiment of this application;
[0022] Figure 6 This is one of the hardware structure diagrams of the electronic device according to an embodiment of this application;
[0023] Figure 7 This is the second schematic diagram of the hardware structure of the electronic device according to an embodiment of this application. Detailed Implementation
[0024] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0025] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0026] In response to the problems encountered in related technologies, this application provides an information recommendation method and apparatus that can solve the problem of difficulty in achieving accurate recommendations while protecting user privacy.
[0027] The information recommendation method provided in this application will be described in detail below with reference to the accompanying drawings, through specific embodiments and application scenarios.
[0028] Figure 1 This is a flowchart illustrating an information recommendation method provided in an embodiment of this application.
[0029] like Figure 1 As shown, the information recommendation method may include steps 110-120. This method is applied to an information recommendation device, as detailed below:
[0030] Step 110: Obtain user privacy data and initial recommendation results. The user privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by the recommendation system connected to the client.
[0031] User privacy data refers to user behavior data stored locally on the client device, such as non-public information like browsing time, click preferences, and favorite content. User privacy data can be encrypted and stored through the device-side hardware storage module, allowing access only to local client applications and not being transmitted to external systems.
[0032] Initial recommendation results: The recommendation list is generated by the recommendation system of the client-side, such as the recommendation algorithm of the short video platform. It contains the basic characteristics of the recommended items, such as video tags, number of views, and publication time.
[0033] Step 120: Input the user privacy data and the initial recommendation result into the re-ranking model to obtain the re-ranking result.
[0034] Reordering Model: A machine learning model deployed on the client side to optimize the order of initial recommendation results based on user privacy data. For example, it uses neural networks to calculate the correlation between privacy data and the features of recommended items, generating a recommendation order that better reflects the user's true interests.
[0035] For example, the client first reads user privacy data from the local storage module, such as the duration and click history of a user's recent frequent viewing of "pet" videos. Simultaneously, it receives initial recommendation results from the integrated recommendation system, such as a list of 20 videos tagged with "technology," "food," and "pets." Subsequently, the client inputs the privacy data and the basic features of the initial recommendation results into a reordering model. The model calculates the matching degree between each recommendation result and the user's privacy data using pre-trained feature association rules, and finally reorders the initial list according to the matching degree from highest to lowest.
[0036] By combining edge privacy data with the basic features of the recommendation system, personalized adjustments to recommendation results can be achieved without disclosing privacy data to external parties. This makes recommended content more aligned with users' real interests, improves user click-through rates, and avoids the risk of privacy data leakage when transmitted to the server.
[0037] In one possible embodiment, the following steps may be included before step 120:
[0038] Acquire multiple sets of training data, including: sample privacy data and sample recommendation results output by the recommendation system;
[0039] The initial rearrangement model is trained using the training data until the initial rearrangement model meets the training conditions, thus obtaining the rearrangement model.
[0040] The training process of the rearrangement model is based on a training service instance created by the server for the rearrangement model, and during the training process, user privacy data in the training data is processed by a differential privacy recommendation algorithm.
[0041] Training data: The dataset used to train the reordering model consists of the client's local sample privacy data and the sample recommendation results provided by the recommendation system, such as the features of historical recommended items. The two are linked by identifiers such as timestamps and user IDs.
[0042] Initial rearrangement model: An untrained rearrangement model framework containing the basic structure of a neural network.
[0043] Training service instance: The server creates an independent training environment for each connected recommendation system, containing independent computing resources and storage areas to isolate the training data and model parameters of different recommendation systems.
[0044] Differential privacy recommendation algorithm: By adding noise of a specific distribution to the training data, it makes it impossible for third parties to infer the privacy information of individual users from the training results, while retaining the statistical features of the data for model training.
[0045] The client collects multiple sets of training data and inputs them into the initial reordering model. During training, the client calls a dedicated training service instance allocated by the server to add noise to the privacy data using a differential privacy algorithm. The processed mixed data is then input into the model to calculate the parameter gradient. The server and client collaborate through a secure channel to complete multiple rounds of iterative training until the model's recommendation accuracy on the validation set reaches a preset threshold.
[0046] By employing server-side instantiation management and differential privacy technology, secure training is achieved, ensuring that "data does not leave the client side." The server cannot access the original privacy information, and the isolation of the training environment across multiple recommendation systems prevents data contamination. The re-ranking model after training learns the correlation between privacy data and recommendation features without accessing the original user privacy information.
[0047] The training process of the rearrangement model is explained below with specific examples:
[0048] First, the server synchronizes settings to obtain the non-external data vector. The server then distributes the relevant configurations to the clients, ensuring that the non-external data used by each client maintains consistency in dimension names and lengths, thus forming a unified data vector representation. For example, m different types of data collected by the client, such as "steps, screen time, game time, number of installed apps," can be integrated into a vector X containing m data elements.
[0049] Next, the recommendation system connects to the re-ranking system and obtains a re-ranking service instance. The client-side recommendation system calls the client interface to apply for access to the re-ranking system. The interface needs to include the name of the recommendation system and the number of features n for each item in the result set to be re-ranked. Each item feature can be represented as a vector containing n elements.
[0050] The client sends a request to the server to create a rearranged instance, while recording the current attempt to join the training as 1. Upon receiving the request, the server first checks if an instance with the same name already exists. If not, it creates a new training service instance and initializes the relevant configuration.
[0051] The relevant configurations for the training service instance include: service instance name, total number of model training samples (e.g., not less than 100,000), minimum number of training samples per client (e.g., between 10 and 100), total number of training rounds (e.g., 10 rounds), maximum number of attempts to join training (e.g., 10 times), etc. At the same time, the initial state of the model is set to training round 1, the parameters are an n+m dimensional vector of all zeros, the running state is data collection, and differential privacy parameters are configured, such as a privacy budget of 0.01, differential privacy related parameters Δ such as 1e-5, and sensitivity such as 5.
[0052] After receiving the creation result, the client processes it according to the service instance status: if the service instance status is "data collection", the client notifies the recommendation system to proceed to the next step; if the service instance status is "training", the client increases the number of attempts to join the training; if the maximum number of attempts is exceeded and the attempt still fails, the client notifies the recommendation system that the service has failed to be reordered; if the status is "completed", the recommendation system can directly use the existing model.
[0053] Then, after receiving the results of the reordering service instance creation from the client, the recommendation system provides the client with training data of at least the minimum number of training samples required for a single client to participate in, and initiates model training. This data consists of the historical click data of recommended items on the client side within the recommendation system, including item feature vectors and whether a click occurred.
[0054] Finally, the model is trained using the re-ranking service instance to generate a re-ranked model. The client then uses the training data provided by the recommendation system and the current model parameters to train the re-ranked model, thus completing model optimization.
[0055] Specifically, the step of training the initial rearrangement model using the training data until the initial rearrangement model meets the training conditions to obtain the rearrangement model may include the following steps:
[0056] The initial rearrangement model is trained using the training data to determine the local training gradient corresponding to each training data point.
[0057] The total training gradient is determined based on the local training gradient corresponding to each training data point.
[0058] The number of sample recommendation results and the total training gradient are reported to the server so that the server can update the model parameters of the initial reordered model until the initial reordered model meets the training conditions, thus obtaining the reordered model.
[0059] Local training gradient: The direction and magnitude of model parameter updates calculated for a single training data sample in the initial rearranged model, reflecting the degree of contribution of that sample to model optimization.
[0060] Total training gradient: The overall update direction obtained by aggregating all local training gradients by the client. The total training gradient, when summed over local training gradients, is used to indicate the global adjustment trend of model parameters.
[0061] Model parameter update: The process by which the server adjusts the global model parameters based on the total training gradients reported by the client, such as updating the weights of the neural network using the stochastic gradient descent algorithm.
[0062] The client uses the training data to perform a single forward and backward propagation calculation on the initial rearranged model, generating a local training gradient for each sample. Subsequently, the client aggregates all local gradients into a total training gradient (e.g., summing the gradients of 1000 samples) and reports the total gradient along with the number of samples to the server. Upon receiving this, the server aggregates the total gradients from multiple clients using a federated learning algorithm, generating a global model parameter update. The updated parameters are then sent back to the clients, and this process is repeated until the model converges, i.e., the loss function value stabilizes and no longer decreases.
[0063] By using distributed gradient computation and aggregation, the amount of data transmitted between the client and server is reduced, thus mitigating the risk of privacy breaches. Simultaneously, the server coordinates the training progress of multiple clients through global parameter updates, avoiding model overfitting caused by data bias from a single client and improving the robustness and recommendation accuracy of the re-ranked model.
[0064] In one possible embodiment, the client accesses multiple recommendation systems, with each recommendation system corresponding to one reordering model. Step 120 may specifically include the following steps:
[0065] Identify the target recommendation system corresponding to the initial recommendation result;
[0066] The user privacy data and the initial recommendation result are input into the reordering model corresponding to the target recommendation system. The initial recommendation result is reordered according to the user privacy data to obtain the reordering result.
[0067] Target recommendation system: refers to the specific recommendation system instance that generates the current initial recommendation result. For example, when a client is connected to both a news recommendation system and an e-commerce recommendation system, a certain recommendation result may come from the news recommendation system.
[0068] Reordering Model: The server trains a reordering model independently for each recommendation system. For example, model A corresponds to the news recommendation system, and model B corresponds to the e-commerce recommendation system. The training data and parameters of the two are not shared.
[0069] When the client receives the initial recommendation results, it first parses the source identifier in the results, such as the "System ID" field attached to the data by the recommendation system, to identify the target recommendation system, such as "News Recommendation System". Then, the client retrieves the reordering model bound to that system, such as Model A, from its local model storage, and inputs the user's privacy data and the initial recommendation results into Model A. Model A then reorders the news list based on the news domain feature association rules learned during training.
[0070] like Figure 2 As shown, the process first determines which recommendation system generated the initial recommendation results, such as the first or second recommendation system. If the target recommendation system is the first recommendation system, the user's privacy data and the initial recommendation results are input into the corresponding first re-ranking model; if the target recommendation system is the second recommendation system, the user's privacy data and the initial recommendation results are input into the second re-ranking model, which uses the user's privacy data to re-rank the initial recommendation content, ultimately obtaining a re-ranking result that is more user-friendly and considers privacy.
[0071] Different recommendation systems can precisely adjust recommendations based on their own corresponding reordering models and privacy data to improve recommendation performance. Multiple recommendation systems can run in parallel on the client side, each using its own dedicated reordering model and leveraging user privacy data to optimize recommendations and adapt to different recommendation scenarios and needs. Different service instances on the server side can also provide support for their respective recommendation systems and reordering models.
[0072] By customizing independent reordering models for each recommendation system, fine-grained adaptation of cross-domain recommendations can be achieved. For example, news scenarios focus more on timeliness and keyword matching, while e-commerce scenarios focus more on purchase history and price preferences, thereby improving the accuracy of recommendations in different scenarios.
[0073] In one possible embodiment, step 120 may specifically include the following steps:
[0074] The user privacy data and the initial recommendation results are input into the reordering model to calculate the feature matching degree between the user privacy data and each recommendation result in the initial recommendation results, and the prediction feedback data is obtained.
[0075] The initial recommendation results are sorted based on the predicted feedback data to obtain the rearranged results.
[0076] Feature matching degree: A quantitative value of the degree of correlation between user privacy data features and recommendation result features. For example, the matching degree between the "nighttime active period" feature in user privacy and the "late-night food tutorial" tag in recommendation results can be calculated by cosine similarity.
[0077] Predictive feedback data: Intermediate results from the rearranged model output, including feature matching scores for each recommendation, indicating the degree of fit between the result and the user's privacy data.
[0078] The client inputs user privacy data and initial recommendation results into the re-ranking model. The model first extracts features from the privacy data and recommendation results, then calculates the feature matching degree between the two using an inner product or attention mechanism to generate predictive feedback data. Finally, the client sorts the initial recommendation results from highest to lowest based on the matching degree score, generating the re-ranked results.
[0079] By quantifying the matching degree between privacy data and recommendation features, the re-ranking process has a clear and interpretable basis. Compared with traditional rule-based re-ranking methods, model-based matching degree can capture more complex feature relationships, thereby achieving more accurate personalized ranking and improving user satisfaction with recommended content.
[0080] In the embodiments of this application, user privacy data and initial recommendation results are obtained. User privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by the recommendation system accessing the client. The user privacy data and the initial recommendation results are input into the re-ranking model. By combining the user privacy data on the client side with the initial recommendation results of the recommendation system, a re-ranking result is obtained without disclosing privacy data to the outside world. This allows for personalized adjustments to the initial recommendation results, making the obtained re-ranking results more in line with the user's true interests, while ensuring the security of user privacy data.
[0081] Figure 3 This is a flowchart illustrating an information recommendation method provided in an embodiment of this application.
[0082] like Figure 3 As shown, this information recommendation method may include steps 310-340. This method is applied to the server side, as detailed below:
[0083] Step 310: Send the model parameters of the initial rearranged model to the client. The initial rearranged model is used to process the training data on the client side.
[0084] Step 320: Receive the total training gradient reported by the client. The total training gradient is generated by the client after processing the training data based on the model parameters.
[0085] Step 330: Update the model parameters of the initial rearranged model based on the total training gradient to obtain the updated rearranged model;
[0086] Step 340: Feed back the updated rearranged model parameters to the client.
[0087] Model parameters: A set of numerical values that describe the relationships between features within the rearranged model, such as the connection weights of nodes in each layer of a neural network, which determine the model's processing logic for input data and its output results.
[0088] Total training gradient: The aggregated result of the direction and magnitude of model parameter updates calculated by the client based on local training data. It reflects the overall contribution of all training samples to model optimization and is usually obtained by summing or averaging the local gradients.
[0089] The server sends the initial reordering model parameters to the client. Upon receiving these parameters, the client processes its local training data, calculates the local training gradient for each sample using backpropagation, and aggregates all local gradients into a total training gradient. The server receives this total training gradient and, based on the global aggregation rules of federated learning, integrates the total gradients from multiple clients, updates the parameters of the initial reordering model, and finally feeds the updated parameters back to the client for reordering the recommendation results.
[0090] Specifically, after receiving the data reported by each client, the server aggregates and processes the data. Specifically, the server receives gradient data reported by the clients, where each client's data includes the number of samples and pruned gradient information. The server calculates the sum of all received samples. If the sum is less than the preset total number of training samples, the server continues to wait for more clients to report data; once the sum reaches or exceeds the preset value, it signifies the end of this round of data collection, and the server updates the model's running status to "training".
[0091] After data collection is complete, the server performs gradient calculation and model updates. First, the server calculates the noise count of the sum of all samples, incorporating Laplace noise to provide differential privacy. Next, the server sums the clipped gradients reported by all clients to obtain the gradient sum, and then adds noise following a specific normal distribution to further enhance privacy. Finally, the server divides the noise-added gradient sum by the noise count to obtain the average gradient.
[0092] Based on the calculated average gradient, the server updates the model parameters. The new model parameters are equal to the model parameters from the previous round minus the average gradient. After the update, the server updates the model state according to the relationship between the current training round and the preset total training rounds. If the current training round has reached the preset total number of rounds, the server updates the model state to "Completed" and saves the current model parameters as the final inference model; otherwise, the server updates the model state to "Data Collection", increments the training round by 1, and sends the updated model state to the client.
[0093] After receiving the model status notification from the server, the client will process it accordingly. If the model status is "Completed", the client will save the current model parameters as the final inference model, the training process ends here, and the client can enter the inference phase; if the model status is "Data Collection", the client will save the current model parameters and continue to participate in the next round of training.
[0094] During the inference phase, the recommendation system calls the client interface to rearrange items. First, the system provides the client with feature information of the items to be rearranged, with each item's features represented by a vector. The client then uses the previously saved final inference model to predict the click-through rate (CTR) for each item. During prediction, the client combines the item feature vectors and user privacy data vectors to calculate the predicted CTR for each item. Finally, the client sorts the items based on the predicted CTRs and returns the sorted item numbers to the recommendation system, thus completing the privacy-preserving personalized recommendation rearrangement.
[0095] By employing a collaborative training mechanism between the server and client, the goal of privacy protection is achieved. Specifically, the client only transmits aggregated training gradients to the server, while the server improves the model's generalization ability through global parameter updates. This avoids overfitting caused by bias in data from a single client, enabling the recommendation system to optimize and re-rank the model by combining privacy data from multiple clients. At the same time, it ensures that user privacy information is not leaked during training, improving recommendation accuracy while complying with data security regulations.
[0096] In one possible embodiment, step 330 may specifically include the following steps:
[0097] Add a noise vector to the total training gradient to obtain the perturbed training gradient;
[0098] The model parameters of the initial rearranged model are updated based on the perturbed training gradient.
[0099] Noise vector: A random numerical sequence generated by a differential privacy algorithm. Its distribution satisfies a specific probability density function, such as a Laplace distribution or a Gaussian distribution, and is used to mask privacy information in the real training gradient.
[0100] Perturbated training gradient: The mixed gradient obtained by adding a noise vector to the total training gradient contains the trend of the true gradient and random noise, making it impossible for third parties to infer the privacy data of a single user from the gradient.
[0101] Differential privacy protection: By adding noise to the data, it ensures that the presence or absence of a single data sample does not significantly affect the model output, thereby protecting individual privacy.
[0102] After receiving the total training gradient reported by the client, the server first generates a noise vector conforming to a specific distribution based on preset differential privacy parameters. Then, it adds this noise vector element-by-element to the total training gradient, forming the perturbed training gradient. Finally, the server uses the perturbed gradient to update the parameters of the initially rearranged model, ensuring that the model update process meets differential privacy requirements.
[0103] By introducing differential privacy noise during gradient update, the server can complete model training while protecting user privacy. Even if an attacker obtains all gradient data and model parameters from the server, they cannot infer the specific behavior or preferences of any individual user. This enhances the security of the recommendation system without significantly reducing the model training effect.
[0104] In one possible embodiment, an independent model training service instance is created for each of the client's access to the recommendation system;
[0105] Based on the running status of each model training service instance, computing resources and storage resources are allocated to each model training service instance.
[0106] Model training service example: The server creates an independent virtual training environment for each connected recommendation system, which includes independent computing units, storage modules and network interfaces to isolate the training data and model parameters of different recommendation systems.
[0107] Computing resources: Hardware resources used for model training on the server side, including CPU computing power, GPU acceleration units, memory capacity, etc., and the allocation can be dynamically adjusted according to the complexity of the training task.
[0108] Storage resources: The server-side storage space is used to store training data, model parameters, and intermediate results, such as a distributed file system or cloud database instance, supporting high-concurrency read and write operations and data backup.
[0109] When a recommendation system connects to the server, the server first creates independent model training service instances for it. For example, instance A is assigned to the news recommendation system, and instance B is assigned to the e-commerce recommendation system. Each instance is configured with independent computing resources and storage areas to ensure that training data from different systems are not mixed. During training, the server monitors the running status of each instance in real time and dynamically adjusts resource allocation according to a preset scheduling strategy to ensure that the training tasks of each instance are executed efficiently and stably.
[0110] Through multi-instance management and dynamic resource scheduling, the server achieves isolation of multiple recommendation systems. The training data and model parameters of each recommendation system are stored in an independent instance, avoiding cross-system data leakage or interference. It also dynamically allocates computing and storage resources, avoiding the waste of idle resources and reducing server hardware costs.
[0111] In the embodiments of this application, the client only transmits the aggregated training gradients to the server. The server improves the generalization ability of the model through global parameter updates, avoiding overfitting caused by the bias of data from a single client. This enables the recommendation system to combine privacy data from multiple clients to optimize and re-rank the model, while ensuring that user privacy information is not leaked during training. This improves the accuracy of recommendations while complying with data security standards. Privacy protection is achieved through the collaborative training mechanism between the server and the client.
[0112] The information recommendation method provided in this application can be executed by an information recommendation device. This application uses an information recommendation device executing the information recommendation method as an example to illustrate the information recommendation device provided in this application.
[0113] Figure 4 This is a block diagram of an information recommendation device provided in an embodiment of this application. The device 400 includes:
[0114] The acquisition module 410 is used to acquire user privacy data and initial recommendation results. The user privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by the recommendation system connected to the client.
[0115] The input module 420 is used to input the user privacy data and the initial recommendation result into the re-ranking model to obtain the re-ranking result.
[0116] In one possible embodiment, the acquisition module 410 is further configured to acquire multiple sets of training data, the training data including: sample privacy data and sample recommendation results output by the recommendation system;
[0117] The device further includes:
[0118] The training module is used to train the initial rearrangement model using the training data until the initial rearrangement model meets the training conditions, thereby obtaining the rearrangement model.
[0119] The training process of the rearrangement model is based on a training service instance created by the server for the rearrangement model, and during the training process, user privacy data in the training data is processed by a differential privacy recommendation algorithm.
[0120] In one possible embodiment, the training module is specifically used for:
[0121] The initial rearrangement model is trained using the training data to determine the local training gradient corresponding to each training data point.
[0122] The total training gradient is determined based on the local training gradient corresponding to each training data point.
[0123] The number of sample recommendation results and the total training gradient are reported to the server so that the server can update the model parameters of the initial reordered model until the initial reordered model meets the training conditions, thus obtaining the reordered model.
[0124] In one possible embodiment, the client accesses multiple recommendation systems, with each recommendation system corresponding to one reordering model. The input module 420 is specifically used for:
[0125] Identify the target recommendation system corresponding to the initial recommendation result;
[0126] The user privacy data and the initial recommendation results are input into the re-ranking model corresponding to the target recommendation system to obtain the re-ranking result.
[0127] In one possible embodiment, the input module 420 is specifically used for:
[0128] The user privacy data and the initial recommendation results are input into the reordering model to calculate the feature matching degree between the user privacy data and each recommendation result in the initial recommendation results, and the prediction feedback data is obtained.
[0129] The initial recommendation results are sorted based on the predicted feedback data to obtain the rearranged results.
[0130] In the embodiments of this application, user privacy data and initial recommendation results are obtained. User privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by the recommendation system accessing the client. The user privacy data and the initial recommendation results are input into the re-ranking model. By combining the user privacy data on the client side with the initial recommendation results of the recommendation system, a re-ranking result is obtained without disclosing privacy data to the outside world. This allows for personalized adjustments to the initial recommendation results, making the obtained re-ranking results more in line with the user's true interests, while ensuring the security of user privacy data.
[0131] Figure 5 This is a block diagram of an information recommendation device provided in an embodiment of this application. The device 500 includes:
[0132] The distribution module 510 is used to distribute the model parameters of the initial rearranged model to the client, wherein the initial rearranged model is used to process the training data on the client side.
[0133] The receiving module 520 is used to receive the total training gradient reported by the client, which is generated by the client after processing the training data based on the model parameters.
[0134] The update module 530 is used to update the model parameters of the initial rearranged model according to the total training gradient, so as to obtain the updated rearranged model.
[0135] Feedback module 540 is used to feed back the model parameters of the updated reordered model to the client for client-side recommendation result reordering.
[0136] In the embodiments of this application, the client only transmits the aggregated training gradients to the server. The server improves the generalization ability of the model through global parameter updates, avoiding overfitting caused by the bias of data from a single client. This enables the recommendation system to combine privacy data from multiple clients to optimize and re-rank the model, while ensuring that user privacy information is not leaked during training. This improves the accuracy of recommendations while complying with data security standards. Privacy protection is achieved through the collaborative training mechanism between the server and the client.
[0137] The information recommendation device in this application embodiment can be an electronic device or a component within an electronic device, such as an integrated circuit or a chip. The electronic device can be a terminal or other devices besides a terminal. For example, the electronic device can be a mobile phone, tablet computer, laptop computer, PDA, in-vehicle electronic device, mobile internet device (MID), augmented reality (AR) / virtual reality (VR) device, robot, wearable device, ultra-mobile personal computer (UMPC), netbook, or personal digital assistant (PDA), etc. It can also be a server, network attached storage (NAS), personal computer (PC), television set (TV), ATM, or self-service machine, etc. This application embodiment does not specifically limit the device.
[0138] The information recommendation device in this application embodiment can be a device with an action system. This action system can be an Android action system, an iOS action system, or other possible action systems; this application embodiment does not specifically limit it.
[0139] The information recommendation device provided in this application embodiment can implement the various processes implemented in the above method embodiments, and will not be described again here to avoid repetition.
[0140] Optionally, such as Figure 6 As shown, this application embodiment also provides an electronic device 610, including a processor 611, a memory 612, and a program or instructions stored in the memory 612 and executable on the processor 611. When the program or instructions are executed by the processor 611, they implement the various steps of any of the above-described information recommendation method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0141] It should be noted that the electronic devices in the embodiments of this application include the mobile electronic devices and non-mobile electronic devices described above.
[0142] Figure 7 A schematic diagram of the hardware structure of an electronic device to implement an embodiment of this application.
[0143] The electronic device 700 includes, but is not limited to, components such as: radio frequency unit 701, network module 702, audio output unit 703, input unit 704, sensor 705, display unit 706, user input unit 707, interface unit 708, memory 709, and processor 710.
[0144] Those skilled in the art will understand that the electronic device 700 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 710 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 7 The electronic device structure shown does not constitute a limitation on the electronic device. The electronic device may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.
[0145] Among them, the network module 702 is used to obtain user privacy data and initial recommendation results. The user privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by the recommendation system connected to the client.
[0146] The processor 710 is used to input the user privacy data and the initial recommendation result into the re-ranking model to obtain the re-ranking result.
[0147] Optionally, the network module 702 is further configured to acquire multiple sets of training data, the training data including: sample privacy data and sample recommendation results output by the recommendation system;
[0148] The processor 710 is further configured to train the initial rearrangement model using the training data until the initial rearrangement model meets the training conditions, thereby obtaining the rearrangement model;
[0149] The training process of the rearrangement model is based on a training service instance created by the server for the rearrangement model, and during the training process, user privacy data in the training data is processed by a differential privacy recommendation algorithm.
[0150] Optionally, the processor 710 is further configured to train the initial rearrangement model using the training data and determine the local training gradient corresponding to each training data.
[0151] The processor 710 is also configured to determine the total training gradient based on the local training gradient corresponding to each training data.
[0152] The processor 710 is further configured to report the number of sample recommendation results and the total training gradient to the server so that the server can update the model parameters of the initial reordered model until the initial reordered model meets the training conditions and the reordered model is obtained.
[0153] Optionally, the client connects to multiple recommendation systems, with each recommendation system corresponding to a reordering model. The processor 710 is also used to identify the target recommendation system corresponding to the initial recommendation result.
[0154] The processor 710 is also configured to input the user privacy data and the initial recommendation result into the re-ranking model corresponding to the target recommendation system to obtain the re-ranking result.
[0155] Optionally, the processor 710 is further configured to input the user privacy data and the initial recommendation result into the reordering model, calculate the feature matching degree between the user privacy data and each recommendation result in the initial recommendation result, and obtain prediction feedback data;
[0156] The processor 710 is further configured to sort the initial recommendation results based on the predicted feedback data to obtain the rearranged results.
[0157] In the embodiments of this application, user privacy data and initial recommendation results are obtained. User privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by the recommendation system accessing the client. The user privacy data and the initial recommendation results are input into the re-ranking model. By combining the user privacy data on the client side with the initial recommendation results of the recommendation system, a re-ranking result is obtained without disclosing privacy data to the outside world. This allows for personalized adjustments to the initial recommendation results, making the obtained re-ranking results more in line with the user's true interests, while ensuring the security of user privacy data.
[0158] or,
[0159] Network module 702 is used to send the model parameters of the initial reordering model to the client, wherein the initial reordering model is used to process the training data on the client side;
[0160] The processor 710 is also configured to receive the total training gradient reported by the client, which is generated by the client after processing the training data based on the model parameters;
[0161] The processor 710 is also configured to update the model parameters of the initial rearranged model according to the total training gradient, so as to obtain the updated rearranged model;
[0162] The network module 702 is also used to feed back the model parameters of the updated reordered model to the client for client-side recommendation result reordering.
[0163] In the embodiments of this application, the client only transmits the aggregated training gradients to the server. The server improves the generalization ability of the model through global parameter updates, avoiding overfitting caused by the bias of data from a single client. This enables the recommendation system to combine privacy data from multiple clients to optimize and re-rank the model, while ensuring that user privacy information is not leaked during training. This improves the accuracy of recommendations while complying with data security standards. Privacy protection is achieved through the collaborative training mechanism between the server and the client.
[0164] It should be understood that, in this embodiment, the input unit 704 may include a graphics processing unit (GPU) 7041 and a microphone 7042. The GPU 7041 processes image data of still images or video images obtained by an image capture device (such as a camera) in video image capture mode or image capture mode. The display unit 706 may include a display panel 7061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit 707 includes at least one of a touch panel 7071 and other input devices 7072. The touch panel 7071 is also called a touch screen. The touch panel 7071 may include a touch detection device and a touch controller. Other input devices 7072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here. The memory 709 can be used to store software programs and various data, including but not limited to applications and motion systems. Processor 710 can integrate an application processor and a modem processor. The application processor mainly handles the action system, user page, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into processor 710.
[0165] The memory 709 can be used to store software programs and various data. The memory 709 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 709 may include volatile memory or non-volatile memory, or it may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 709 in the embodiments of this application includes, but is not limited to, these and any other suitable types of memory.
[0166] Processor 710 may include one or more processing units; optionally, processor 710 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 710.
[0167] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described information recommendation method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0168] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.
[0169] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described information recommendation method embodiment and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0170] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0171] This application provides a computer program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above-described information recommendation method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0172] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0173] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0174] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. An information recommendation method, characterized in that, When applied to the client, the following steps are included: The system obtains user privacy data and initial recommendation results. The user privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by a recommendation system connected to the client. The user privacy data and the initial recommendation results are input into the re-ranking model to obtain the re-ranking results.
2. The method according to claim 1, characterized in that, Before inputting the user privacy data and the initial recommendation result into the re-ranking model to obtain the re-ranking result, the method further includes: Acquire multiple sets of training data, including: sample privacy data and sample recommendation results output by the recommendation system; The initial rearrangement model is trained using the training data until the initial rearrangement model meets the training conditions, thus obtaining the rearrangement model. The training process of the rearrangement model is based on a training service instance created by the server for the rearrangement model, and during the training process, user privacy data in the training data is processed by a differential privacy recommendation algorithm.
3. The method according to claim 2, characterized in that, The step of training the initial rearrangement model using the training data until the initial rearrangement model meets the training conditions to obtain the rearrangement model includes: The initial rearrangement model is trained using the training data to determine the local training gradient corresponding to each training data point. The total training gradient is determined based on the local training gradient corresponding to each training data point. The number of sample recommendation results and the total training gradient are reported to the server so that the server can update the model parameters of the initial reordered model until the initial reordered model meets the training conditions, thus obtaining the reordered model.
4. The method according to claim 1, characterized in that, The client connects to multiple recommendation systems, each recommendation system corresponding to a reordering model. The user privacy data and the initial recommendation result are input into the reordering model, and the initial recommendation result is reordered based on the user privacy data to obtain the reordering result, including: Identify the target recommendation system corresponding to the initial recommendation result; The user privacy data and the initial recommendation results are input into the re-ranking model corresponding to the target recommendation system to obtain the re-ranking result.
5. The method according to claim 1, characterized in that, The step of inputting the user privacy data and the initial recommendation result into the re-ranking model, and re-ranking the initial recommendation result according to the user privacy data to obtain the re-ranking result includes: The user privacy data and the initial recommendation results are input into the reordering model to calculate the feature matching degree between the user privacy data and each recommendation result in the initial recommendation results, and the prediction feedback data is obtained. The initial recommendation results are sorted based on the predicted feedback data to obtain the rearranged results.
6. An information recommendation method, characterized in that, Applied to the server side, including: The model parameters of the initial rearranged model are sent to the client, and the initial rearranged model is used to process the training data on the client side; The client reports the total training gradient, which is generated by the client after processing the training data based on the model parameters. The model parameters of the initial rearranged model are updated based on the total training gradient to obtain the updated rearranged model; The updated rearranged model parameters are fed back to the client.
7. An information recommendation device, characterized in that, Applied to a client, the device includes: The acquisition module is used to acquire user privacy data and initial recommendation results. The user privacy data is non-public data associated with user behavior that is only accessible within the client. The initial recommendation results are output by the recommendation system connected to the client. The input module is used to input the user privacy data and the initial recommendation results into the re-ranking model to obtain the re-ranking results.
8. The apparatus according to claim 7, characterized in that, The acquisition module is also used to acquire multiple sets of training data, including: sample privacy data and sample recommendation results output by the recommendation system; The device further includes: The training module is used to train the initial rearrangement model using the training data until the initial rearrangement model meets the training conditions, thereby obtaining the rearrangement model. The training process of the rearrangement model is based on a training service instance created by the server for the rearrangement model, and during the training process, user privacy data in the training data is processed by a differential privacy recommendation algorithm.
9. The apparatus according to claim 8, characterized in that, The training module is specifically used for: The initial rearrangement model is trained using the training data to determine the local training gradient corresponding to each training data point. The total training gradient is determined based on the local training gradient corresponding to each training data point. The number of sample recommendation results and the total training gradient are reported to the server so that the server can update the model parameters of the initial reordered model until the initial reordered model meets the training conditions, thus obtaining the reordered model.
10. The apparatus according to claim 7, characterized in that, The client connects to multiple recommendation systems, each recommendation system corresponds to one reordering model, and the input module is specifically used for: Identify the target recommendation system corresponding to the initial recommendation result; The user privacy data and the initial recommendation results are input into the re-ranking model corresponding to the target recommendation system to obtain the re-ranking result.
11. The apparatus according to claim 7, characterized in that, The input module is specifically used for: The user privacy data and the initial recommendation results are input into the reordering model to calculate the feature matching degree between the user privacy data and each recommendation result in the initial recommendation results, and the prediction feedback data is obtained. The initial recommendation results are sorted based on the predicted feedback data to obtain the rearranged results.
12. An information recommendation device, characterized in that, Applied to the server side, the device includes: The distribution module is used to distribute the model parameters of the initial rearranged model to the client. The initial rearranged model is used to process the training data on the client side. The receiving module is used to receive the total training gradient reported by the client, which is generated by the client after processing the training data based on the model parameters. The update module is used to update the model parameters of the initial rearranged model according to the total training gradient, so as to obtain the updated rearranged model. The feedback module is used to feed back the updated reordering model parameters to the client for client-side recommendation result reordering.