Privacy protection-based job recommendation method and device and electronic device
By performing binary sharding on the sample data and calculating job suitability on multiple computing platforms, the risk of data leakage in job recommendation is resolved, achieving accurate job recommendation and data privacy protection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-19
- Publication Date
- 2026-03-17
AI Technical Summary
Existing technologies that use machine learning for job recommendations pose risks of data leakage and suffer from insufficient data accuracy and coverage.
By splitting the sample data into two parts, the split sample data is sent to multiple computing platforms for calculation. The computing server summarizes the results instead of directly obtaining the sample data. The model parameters are used to evaluate the fit between the sample and the job and generate job recommendation information.
It enables accurate job recommendations without disclosing sample data, improving data accuracy and coverage while protecting data privacy.
Smart Images

Figure CN116756423B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information security and other related technical fields. Specifically, it relates to a privacy-protected job recommendation method, apparatus, and electronic device. Background Technology
[0002] Machine learning is being applied in an increasing number of scenarios, from healthcare to financial services, from transportation to energy management. It has become a powerful tool for optimizing processes and improving efficiency. Machine learning not only has higher computational accuracy but also significantly improves computational efficiency compared to previous methods. More and more business operations are being transformed from manual processes to those executed through machine learning. Applying machine learning to job search scenarios allows for job recommendations to be made by calculating the fit between job seekers and positions. Machine learning can combine actual data to evaluate job suitability, providing more accurate job recommendations to job seekers without requiring manual screening, thereby increasing their interest in employment.
[0003] In related technologies, when recommending jobs by assessing the fit between positions and graduates, the evaluation mainly relies on the sample data of the universities themselves and the data of third-party companies. The accuracy and coverage of the data are insufficient, and there is a risk of data leakage when using machine learning to calculate and evaluate the fit of each job.
[0004] There is currently no effective solution to the above problems. Summary of the Invention
[0005] This invention provides a privacy-preserving job recommendation method, apparatus, and electronic device to at least address the technical problem of data leakage risk in related technologies when evaluating job suitability and recommending jobs through a computing server.
[0006] According to one aspect of the present invention, a privacy-preserving job recommendation method is provided, applied to a computing server, the computing server providing data computing services to a data provider. The job recommendation method includes: receiving a set of segmented sample data sent by the data provider, wherein the set of segmented sample data includes N segmented sample data, the segmented sample data is obtained by binary partitioning sample data, and each segmented sample data includes: M segmented feature data, where N and M are both positive integers greater than or equal to 1; configuring model parameters for the segmented feature data based on the number of jobs, and sending the model parameters to the computing platform corresponding to the segmented feature data; and based on each segmented sample data... The segmented feature data and the model parameters corresponding to each segmented feature data are used in the pre-configured computing platform to calculate a set of segmented target values for each sample; a set of target probability values for each sample is calculated based on the set of segmented target values, wherein the target probability values in the set of target probability values are used to evaluate the fit between each sample and each job; the target probability values in the set of target probability values are sorted, and the job corresponding to the maximum target probability value is marked as a recommended job, and job information is generated based on the recommended job and returned to the data provider, wherein the job information includes at least: job identifier and the mapping relationship between the recommended job and the sample.
[0007] Optionally, before receiving the fragmented sample data set sent by the data provider, the method further includes: receiving the computing resource allocation strategy of the data provider; dividing the computing resources based on the computing resource allocation strategy to obtain a first computing platform, a second computing platform, a third computing platform, and a fourth computing platform, wherein the first computing platform and the third computing platform receive the same first type of data, and the second computing platform and the fourth computing platform receive the same second type of data.
[0008] Optionally, before configuring model parameters for the feature data based on the number of jobs, it is necessary to obtain a model parameter set through iterative training. The step of obtaining the model parameter set includes: obtaining a set of sharded training data, wherein the set of sharded training data includes: P sharded training data, which are obtained by dividing the training data corresponding to each training sample into two shards; the sharded training data includes: Q sharded feature training data, K sharded job label data, and K initial model parameters corresponding to each feature training data; the job label data are obtained by matching each feature training data with each job label; and P, Q, and K are all positive integers greater than or equal to 1; calculating a set of probability values for each training sample based on the sharded training data; iteratively calculating the set of probability values, and obtaining the model parameter set based on the set of probability values obtained through iterative calculation.
[0009] Optionally, the step of calculating the probability value set for each training sample based on the segmented training data includes: receiving a first segmented target value for the job tag under each training sample calculated by a first computing platform, wherein the first segmented target value is calculated by the first computing platform on the first segmented training data; receiving a second segmented target value set for each training sample calculated by a second computing platform, wherein the second segmented target value is calculated by the second computing platform on the second segmented training data; summarizing the first segmented target value and the second segmented target value to obtain the probability value corresponding to each job tag under each training sample, and summarizing the probability values corresponding to all job tags to obtain the probability value set for each training sample.
[0010] Optionally, after summing the first segment target value and the second segment target value to obtain the probability value corresponding to each job label under each training sample, the method further includes: determining the model step size; calculating the gradient value of each training sample based on the probability value corresponding to each job label, and calculating the average gradient value of all training samples based on the gradient value of each training sample; calculating the iterative model parameters based on the initial model parameters and the average gradient value of all training samples to obtain the iterative model parameter set.
[0011] Optionally, after calculating the iterative model parameters based on the initial model parameters and the average gradient values corresponding to all the training sample data to obtain the iterative model parameter set, the method further includes: Step 1, calculating the iterative gradient value corresponding to the i-th iteration of each training sample based on the probability value corresponding to each job label calculated in the (i-1)-th iteration, and calculating the average iterative gradient value of all training samples in the i-th iteration based on the iterative gradient value of each training sample; Step 2, updating the iterative model parameters of the i-th iteration based on the model step size, the average iterative gradient value of all training samples in the i-th iteration, and the iterative model parameters of the (i-1)-th iteration; Repeating Step 1 to Step 2, iteratively calculating for each training sample until the number of iterations reaches the preset number of iterations, stopping the iteration, and obtaining the model parameter set; or, Repeating Step 1 to Step 3, iteratively calculating for the training samples, and calculating the average loss function of all training samples after each iteration calculation, stopping the iteration when the average loss function reaches the loss function threshold, and obtaining the model parameter set.
[0012] Optionally, the step of calculating the average loss function of all training samples after each iteration includes: after each iteration, inputting the probability value corresponding to each job label into the loss function calculation formula to calculate the loss function of each training sample, wherein the loss function of the training sample is calculated and summarized in the first computing platform and the second computing platform respectively; and calculating the average loss function of all training samples based on the loss function of each training sample and the number of training samples.
[0013] Optionally, the step of configuring model parameters for the segmented feature data based on the number of job positions includes: determining the number of job positions to be recommended and the number of segmented sample data; extracting a set of model parameters based on the number of job positions and the number of segmented samples; configuring model parameters for each segmented feature data and sending the model parameters to the computing platform where the segmented feature data is located.
[0014] According to another aspect of the present invention, a privacy-preserving job recommendation method is also provided, applied to a data provider, comprising: dividing each feature data in the sample data into two parts to obtain a set of sharded sample data, wherein the set of sharded sample data includes N sharded sample data, each of the sharded sample data including M sharded feature data, where M is a positive integer greater than or equal to 1; sending the set of sharded sample data to each computing platform in a computing server; and receiving job information sent by the computing server, wherein the job information is generated based on recommended jobs, and the job information includes at least: a job identifier and a mapping relationship between the recommended jobs and the samples.
[0015] Optionally, the step of dividing each feature data in the sample data into two parts includes: dividing each feature data in the sample data into a first feature data and a second feature data to obtain the fragmented feature data set, wherein the first feature data is a randomly selected value less than or equal to the feature data, the second feature data is the difference between the feature data and the first feature data, and the fragmented feature data set includes: a first feature data set and a second feature data set.
[0016] Optionally, the step of sending the fragmented sample data set to each computing platform in the computing server includes: receiving computing resource information sent by the computing server; dividing the computing platforms in the computing server based on the computing resource information to obtain a first computing platform, a second computing platform, a third computing platform, and a fourth computing platform; sending a first feature data set to the first computing platform and the third computing platform, and sending a second feature data set to the second computing platform and the fourth computing platform.
[0017] Optionally, the privacy-preserving job recommendation method further includes: receiving job tags sent by the computing server and matching each sample data with each job tag to obtain a job tag data set; obtaining a feature training data set and an initial model parameter set, wherein each feature training data in the feature training data set is generated based on multiple sample features of the training samples, and the initial model parameter set is obtained from the computing server, wherein the number of initial model parameters in the initial model parameter set is the product of the number of feature training sample data and the number of job tag data; dividing the job tag data in the job tag data into two parts to obtain segmented job tag data, and dividing the feature training data in the feature training data set into two parts to obtain segmented feature training data; generating segmented training data based on the segmented feature training data, the segmented job tag data, and the initial model parameters, and obtaining a segmented training data set; and sending the segmented training data set to each computing platform, wherein the segmented training data set is used for iterative calculation of the model parameters.
[0018] According to another aspect of the present invention, a privacy-preserving job recommendation device is also provided, applied to a computing server, wherein the computing server provides data computing services to a data provider. The job recommendation device includes: a first receiving unit, configured to receive a set of segmented sample data sent by the data provider, wherein the set of segmented sample data includes N segmented sample data, the segmented sample data is obtained by binary partitioning sample data, and each segmented sample data includes: M segmented feature data, where N and M are both positive integers greater than or equal to 1; a configuration unit, configured to configure model parameters for the segmented feature data based on the number of jobs, and send the model parameters to the computing platform corresponding to the segmented feature data; and a first computing unit, configured to calculate based on each The segmented feature data of the segmented sample data and the model parameters corresponding to each segmented feature data are used to calculate the segmented target value set for each sample in the pre-configured computing platform; the second computing unit is used to calculate the target probability value set for each sample based on the segmented target value set, wherein the target probability values in the target probability value set are used to evaluate the fit between each sample and each job; the sorting unit is used to sort the target probability values in the target probability value set, mark the job corresponding to the maximum target probability value as a recommended job, and generate job information based on the recommended job and return it to the data provider, wherein the job information includes at least: job identifier and the mapping relationship between the recommended job and the sample.
[0019] Optionally, the privacy-protected job recommendation device further includes: a first receiving subunit, configured to receive the computing resource allocation strategy of the data provider; and a first partitioning subunit, configured to partition the computing resources based on the computing resource allocation strategy to obtain a first computing platform, a second computing platform, a third computing platform, and a fourth computing platform, wherein the first computing platform and the third computing platform receive the same first type of data, and the second computing platform and the fourth computing platform receive the same second type of data.
[0020] Optionally, the privacy-preserving job recommendation device further includes: a first acquisition subunit, configured to acquire a set of segmented training data, wherein the set of segmented training data includes: P segmented training data, which are obtained by dividing the training data corresponding to each training sample into two parts; the segmented training data includes: Q segmented feature training data, K segmented job label data, and K initial model parameters corresponding to each of the feature training data; the job label data are obtained by matching each feature training data with each job label, where P, Q, and K are all positive integers greater than or equal to 1; a first calculation subunit, configured to calculate a set of probability values for each training sample based on the segmented training data; and a first iteration subunit, configured to iteratively calculate the set of probability values and acquire a set of model parameters based on the set of probability values obtained by the iterative calculation.
[0021] Optionally, the first calculation subunit includes: a first receiving module, configured to receive a first segment target value for the job tag under each training sample calculated by the first calculation platform, wherein the first segment target value is calculated by the first calculation platform on the first segment training data; a second receiving module, configured to receive a set of second segment target values for each training sample calculated by the second calculation platform, wherein the second segment target value is calculated by the second calculation platform on the second segment training data; and a first summarizing module, configured to summarize the first segment target value and the second segment target value to obtain a probability value corresponding to each job tag under each training sample, and summarize the probability values corresponding to all job tags to obtain the set of probability values for each training sample.
[0022] Optionally, the privacy-preserving job recommendation device further includes: a first determining module for determining the model step size; a first calculating module for calculating the gradient value of each training sample based on the probability value corresponding to each job label, and calculating the average gradient value of all training samples based on the gradient value of each training sample; and a second calculating module for calculating iterative model parameters based on the initial model parameters and the average gradient value of all training samples to obtain an iterative model parameter set.
[0023] Optionally, the privacy-preserving job recommendation device further includes: a third calculation module, used in step one to calculate the iterative gradient value corresponding to the i-th iteration of each training sample based on the probability value corresponding to each job tag obtained in the (i-1)-th iteration, and to calculate the average iterative gradient value of all training samples in the i-th iteration based on the iterative gradient value of each training sample; a first update module, used in step two to update the iterative model parameters of the i-th iteration based on the model step size, the average iterative gradient value of all training samples in the i-th iteration, and the iterative model parameters of the (i-1)-th iteration; a first iteration module, used to repeat steps one to two to perform iterative calculations on each training sample until the number of iterations reaches a preset number of iterations, then stop the iteration and obtain a set of model parameters; or, a second iteration module, used to repeat steps one to three to perform iterative calculations on the training samples, and to calculate the average loss function of all training samples after each iteration calculation, and to stop the iteration when the average loss function reaches a loss function threshold, thus obtaining a set of model parameters.
[0024] Optionally, the second iteration module includes: a first input submodule, used to input the probability value corresponding to each job label into the loss function calculation formula after each iteration calculation to calculate the loss function of each training sample, wherein the loss function of the training sample is calculated and summarized in the first calculation platform and the second calculation platform respectively; and a first calculation submodule, used to calculate the average loss function of all training samples based on the loss function of each training sample and the number of training samples.
[0025] Optionally, the configuration unit includes: a first determining subunit, used to determine the number of jobs to be recommended and the number of shard sample data; a first extraction subunit, used to extract a set of model parameters based on the number of jobs and the number of shard samples; and a first configuration subunit, used to configure model parameters for each shard feature data and send the model parameters to the computing platform where the shard feature data is located.
[0026] According to another aspect of the present invention, a privacy-preserving job recommendation device is also provided, applied to a data provider, comprising: a sharding unit, configured to shard each feature data in the sample data into a sharded sample data set, wherein the sharded sample data set includes N sharded sample data, and each sharded sample data includes M sharded feature data, where M is a positive integer greater than or equal to 1; a sending unit, configured to send the sharded sample data set to each computing platform in a computing server; and a second receiving unit, configured to receive job information sent by the computing server, wherein the job information is generated based on recommended jobs, and the job information includes at least: a job identifier and a mapping relationship between the recommended jobs and the samples.
[0027] Optionally, the sending unit includes: a second receiving subunit, configured to receive computing resource information sent by the computing server, and divide the computing platforms in the computing server based on the computing resource information to obtain a first computing platform, a second computing platform, a third computing platform, and a fourth computing platform; and a first sending subunit, configured to send a first feature data set to the first computing platform and the third computing platform, and send a second feature data set to the second computing platform and the fourth computing platform.
[0028] Optionally, the privacy-preserving job recommendation device further includes: a third receiving subunit, configured to receive job tags sent by the computing server and match each sample data with each job tag to obtain a job tag data set; a second obtaining subunit, configured to obtain a feature training data set and an initial model parameter set, wherein each feature training data in the feature training data set is generated based on multiple sample features of the training samples, and the initial model parameter set is obtained from the computing server, wherein the number of initial model parameters in the initial model parameter set is the product of the number of feature training sample data and the number of job tag data; a first sharding subunit, configured to shard the job tag data in the job tag data to obtain sharded job tag data, and shard the feature training data in the feature training data set to obtain sharded feature training data; a first generation subunit, configured to generate sharded training data based on the sharded feature training data, the sharded job tag data, and the initial model parameters, and obtain a sharded training data set; and a second sending subunit, configured to send the sharded training data set to each computing platform, wherein the sharded training data set is used for iterative calculation of the model parameters.
[0029] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform any of the above-described privacy-preserving job recommendation methods.
[0030] According to another aspect of the present invention, an electronic device is also provided, including one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement any of the above-described privacy-preserving job recommendation methods.
[0031] In this disclosure, the following steps are taken: First, a set of segmented sample data is received from the data provider. Then, model parameters are configured for the segmented feature data based on the number of jobs, and the model parameters are sent to the computing platform corresponding to the segmented feature data. Next, based on the segmented feature data of each segmented sample data and the model parameters corresponding to each segmented feature data, the set of segmented target values for each sample is calculated in the pre-configured computing platform. Based on the set of segmented target values, the set of target probability values for each sample is calculated. The target probability values in the set of target probability values are used to evaluate the fit between each sample and each job. Finally, the target probability values in the set of target probability values are sorted, and the job corresponding to the maximum target probability value is marked as a recommended job. Job information is generated based on the recommended job and returned to the data provider. The job information includes at least: job identifier and the mapping relationship between recommended jobs and samples.
[0032] In this disclosure, machine learning is used to calculate and evaluate various job positions to make job recommendations. By calculating the probability value of each job in each sample, the fit between the job and the sample can be evaluated. During the calculation, the data provider divides each sample data into two parts and sends them to each computing unit for calculation. The computing server receives the calculation summary results. That is, the computing server can calculate the probability value of each job in each sample without obtaining the sample data, thereby avoiding the leakage of sample data, protecting data privacy, and thus solving the technical problem of data leakage risk in related technologies when evaluating the fit of each job and making job recommendations through the computing server.
[0033] This disclosure allows for comprehensive calculations by combining job data from multiple data providers, expanding the accuracy and coverage of the data and providing more precise job recommendations for each sample. Attached Figure Description
[0034] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:
[0035] Figure 1 This is a flowchart of an optional privacy-preserving job recommendation method according to an embodiment of the present invention;
[0036] Figure 2 This is a flowchart of another optional privacy-preserving job recommendation method according to an embodiment of the present invention;
[0037] Figure 3 This is an architecture diagram of an optional privacy-preserving job recommendation system according to an embodiment of the present invention;
[0038] Figure 4 This is a schematic diagram of an optional privacy-preserving job recommendation device according to an embodiment of the present invention;
[0039] Figure 5 This is a hardware structure block diagram of an electronic device (or mobile device) based on a privacy-preserving job recommendation method according to an embodiment of the present invention. Detailed Implementation
[0040] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0041] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0042] To facilitate understanding of the present invention by those skilled in the art, some terms or nouns involved in the various embodiments of the present invention are explained below:
[0043] One-hot encoding, also known as one-bit valid encoding, uses an N-bit state register to encode N states. Each state has an independent register bit, and at any given time, only one bit is valid.
[0044] Binary encoding.
[0045] It should be noted that the privacy-protected job recommendation method and apparatus disclosed herein can be used in the field of information security when job recommendation is performed by calculating accuracy, and can also be used in any field other than information security when job recommendation is performed by calculating accuracy. This disclosure does not limit the application field of the privacy-protected job recommendation method and apparatus.
[0046] It should be noted that all information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, and displayed data) disclosed herein are information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use, and processing of such data must comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding access points are provided for users to choose to authorize or refuse. For example, this system has interfaces with relevant users or organizations. Before obtaining relevant information, a request to obtain the information must be sent to the aforementioned user or organization through the interface, and the relevant information will be obtained only after receiving consent from the aforementioned user or organization.
[0047] The following embodiments of the present invention can be applied to various job recommendation systems / applications / devices. When recommending jobs, the present invention evaluates the fit between samples and jobs by calculating the probability value between each sample and each job, thereby determining the most suitable job and making a recommendation. During the calculation, the data provider divides the data into two parts and sends them to various computing platforms of the computing server for sharding calculation and iterative sharding calculation. Finally, the sharding results are summarized to obtain the probability value. The computing server can obtain the calculation results without directly obtaining the sample data, avoiding the leakage of sample data and protecting data privacy.
[0048] The present invention will now be described in detail with reference to various embodiments.
[0049] Example 1
[0050] According to an embodiment of the present invention, an embodiment of a privacy-preserving job recommendation method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0051] The privacy-protected job recommendation method provided in this embodiment of the invention is described with a computing server as the execution subject. The method is applied to the computing server, which provides computing services to the data provider, which can be a college client, a vocational training institution client, etc.
[0052] Figure 1 This is a flowchart of an optional privacy-preserving job recommendation method according to an embodiment of the present invention, such as... Figure 1 As shown, the method includes the following steps:
[0053] Step S101: Receive the fragmented sample data set sent by the data provider. The fragmented sample data set includes N fragmented sample data. The fragmented sample data is obtained by dividing the sample data into two parts. Each fragmented sample data includes M fragmented feature data. N and M are both positive integers greater than or equal to 1.
[0054] Step S102: Configure model parameters for the segmented feature data based on the number of job positions, and send the model parameters to the computing platform corresponding to the segmented feature data;
[0055] Step S103: Calculate the set of target values for each sample in a pre-configured computing platform based on the segmentation feature data of each segmented sample data and the model parameters corresponding to each segmentation feature data.
[0056] Step S104: Calculate the target probability value set for each sample based on the segmented target value set, wherein the target probability values in the target probability value set are used to evaluate the fit between each sample and each job.
[0057] Step S105: Sort the target probability values in the target probability value set, mark the job corresponding to the maximum target probability value as the recommended job, and generate job information based on the recommended job and return it to the data provider. The job information includes at least: job identifier and the mapping relationship between the recommended job and the sample.
[0058] Through the above steps, the system first receives the sharded sample data set sent by the data provider. Then, it configures model parameters for the sharded feature data based on the number of jobs and sends the model parameters to the computing platform corresponding to the sharded feature data. Next, based on the sharded feature data and the corresponding model parameters of each sharded sample data, the system calculates the sharded target value set for each sample in the pre-configured computing platform. Based on the sharded target value set, it calculates the target probability value set for each sample. The target probability values in the target probability value set are used to evaluate the fit between each sample and each job. Finally, the target probability values in the target probability value set are sorted, and the job corresponding to the highest target probability value is marked as a recommended job. Based on the recommended job, job information is generated and returned to the data provider. The job information includes at least: job identifier and the mapping relationship between recommended jobs and samples.
[0059] In this embodiment, machine learning is used to evaluate each job position and then recommend jobs. By calculating the probability value of each job in each sample, the fit between the job and the sample can be evaluated. During the calculation, the data provider divides each sample data into two parts and then sends them to various computing platforms for calculation. The computing server receives the summary calculation results. That is, the computing server can calculate the probability value of each job in each sample without needing to obtain the sample data, thereby avoiding the leakage of sample data, protecting data privacy, and thus solving the technical problem of data leakage risk in related technologies when evaluating the fit of each job and recommending jobs through the computing server.
[0060] The embodiments of the present invention will now be described in detail with reference to the steps described above.
[0061] It should be noted that the implementing entity of this embodiment of the invention is a computing server. The computing server can communicate with the data provider. The data provider provides sample data, and after preprocessing the sample data, it sends it to the computing server. The computing server is deployed with multiple computing platforms. After each computing platform performs calculations to obtain the sharded calculation results, it sends them to the scheduling and fusion platform in the computing server for data aggregation to obtain the aggregated results.
[0062] It should be noted that the embodiments of the present invention can be applied to job recommendation scenarios, with the aim of providing accurate job recommendations for graduates or job seekers, so that users do not need to manually sift through massive amounts of recruitment data, but can accurately locate jobs that match their job search conditions and requirements through machine calculation.
[0063] It should be noted that before performing calculations, the data provider needs to prepare sample data. Each sample from the data provider corresponds to a job seeker, such as a graduate or an unemployed person. The sample data is generated based on multiple sample features, including but not limited to: graduating institution, major, education level, GPA, occupation type, interests, and job requirements. Based on preset feature data conversion rules, the sample features are transformed into feature data. For example, One-Hot encoding can be used to convert sample features into binary numbers. For instance, for education level, assuming there are four possible values, four binary numbers can be used to represent them. For a junior college degree, the binary number [1,0,0,0] is used; for a bachelor's degree, [0,1,0,0] is used. Binary encoding can also be used. Encoding is the process of encoding numerical features into binary numbers. For example, grades and GPA can be mapped to a binary number. In addition, each sample feature can be converted into feature data based on data feature rules agreed upon with the computing server. For example, data feature rules can be configured for occupation types, such as setting doctors to value 1, law to value 2, and communications engineering to value 3, etc. Each sample feature is converted into feature data based on pre-set data features.
[0064] Optionally, before receiving the fragmented sample data set sent by the data provider, the method further includes: receiving the computing resource allocation strategy of the data provider; dividing the computing resources based on the computing resource allocation strategy to obtain a first computing platform, a second computing platform, a third computing platform, and a fourth computing platform, wherein the first computing platform and the third computing platform receive the same first type of data, and the second computing platform and the fourth computing platform receive the same second type of data.
[0065] It should be noted that after preparing the sample data and job tag data, the data provider needs to shard each sample data and job tag data into two pieces, and then send the sharded data to different computing platforms for computation. The computing server provides multiple computing resources. The data provider configures the computing resource allocation strategy according to the computing resources provided by the computing server, assigns numbers to the originally indistinguishable computing platforms, and then sends the sharded data to the corresponding computing platform based on the computing platform number. In this embodiment of the invention, the computing resources are divided to obtain a first computing platform, a second computing platform, a third computing platform, and a fourth computing platform.
[0066] Step S101: Receive the set of fragmented sample data sent by the data provider.
[0067] It should be noted that, in order to ensure data privacy and security, this embodiment of the invention employs a binary sharding approach for the sample data. Each feature data is divided into a first feature data and a second feature data. The first feature data is sent to a first computing platform and a third computing platform, while the second feature data is sent to a second computing platform and a fourth computing platform. During binary sharding, the first number of each shard is randomly generated and limited to a certain range to prevent excessive overflow in subsequent exponential calculations. The second shard number equals the feature data minus the first shard number, meaning the sum of the shard numbers equals the original feature data. Job tag data is also sharded using the same binary sharding strategy and sent to different computing platforms. The computing server receives the sharded sample datasets sent by the data provider, merges them, and performs calculations. The sharded sample data sets are distributed across different computing platforms, and the calculation operations are performed separately on each computing platform.
[0068] It should be noted that in this embodiment of the invention, the suitability of the sample to each job is evaluated by calculating the target probability value. The model parameters, as an important parameter for calculating the target probability value, are stored in the computing server and obtained and updated by the computing server through iterative calculation based on historical data.
[0069] Optionally, before configuring model parameters for feature data based on the number of job positions, a model parameter set is obtained through iterative training. The steps for obtaining the model parameter set include: obtaining a set of sharded training data, wherein the set of sharded training data includes: P sharded training data, which are obtained by dividing the training data corresponding to each training sample into two shards; the sharded training data includes: Q sharded feature training data, K sharded job label data, and K initial model parameters corresponding to each feature training data; the job label data are obtained by matching each feature training data with each job label; and P, Q, and K are all positive integers greater than or equal to 1; calculating a set of probability values for each training sample based on the sharded training data; iteratively calculating the set of probability values; and obtaining the model parameter set based on the set of probability values obtained through iterative calculation.
[0070] It should be noted that the computing server iteratively calculates the model parameters based on the training data provided by the data provider within the historical time period to obtain the most suitable model parameters. When preparing the training data, the data provider quantifies the sample features of each sample to obtain feature training data, and obtains the job tags sent by the computing server. Each training data is matched with the job tags to obtain job tag data, and the initial model parameters configured for each feature training data are obtained. The number of initial model parameters for each sample is the product of the number of feature training data and the number of job tag data. Then, each feature training data and each job tag data are sharded to obtain sharded feature training data and sharded job tag data. The sharded feature training data and sharded job tag data of each training sample, along with the initial model parameters, are summarized to obtain P sharded training data. Then, the set of sharded training data composed of multiple training samples is sent to each computing platform. Based on each sharded training data, the probability value set of each training sample can be calculated, and then the final required model parameters can be calculated.
[0071] Optionally, the step of calculating the probability value set corresponding to each training sample based on the segmented training data includes: receiving the first segmented target value of the job label under each training sample calculated by the first computing platform, wherein the first segmented target value is calculated by the first computing platform on the first segmented training data; receiving the second segmented target value set of each training sample calculated by the second computing platform, wherein the second segmented target value is calculated by the second computing platform on the second segmented training data; summarizing the first segmented target value and the second segmented target value to obtain the probability value corresponding to each job label under each training sample, and summarizing the probability values corresponding to all job labels to obtain the probability value set of each training sample.
[0072] It should be noted that the probability value set for each training sample is obtained by calculating the target value for each training sample. The first computing platform and the second computing platform respectively calculate the first segment target value and the second segment target value. The first segment target value is the sum of the products of the initial model parameters of each feature data and the first segment feature training data. The second segment target value is the sum of the products of the initial model parameters of each feature data and the second segment feature training data. After obtaining the segment target values, each computing platform sends the first segment target value and the second segment target value to the computing server for aggregation to obtain the total target value. Then, the probability value set for each training sample is calculated using the total target value.
[0073] Optionally, after summing the target values of the first and second segments to obtain the probability values corresponding to each job label under each training sample, the method further includes: determining the model step size; calculating the gradient value of each training sample based on the probability value corresponding to each job label, and calculating the average gradient value of all training samples based on the gradient value of each training sample; and calculating the iterative model parameters based on the initial model parameters and the average gradient value of all training samples to obtain the iterative model parameter set.
[0074] It should be noted that after calculating the probability value set of each training sample based on the source training data, the probability value set is used to calculate the iterative model parameter set, the initial model parameter set is updated, and the iterative model parameters are iteratively calculated to obtain the optimized model parameter set.
[0075] It should be noted that in this embodiment of the invention, the model parameters are updated through iterative calculation. The number of iterations, the model step size, and the initial model parameters are preset. The initial model parameters have been pre-configured for the feature training data in each training data set. The gradient value of each sample is calculated based on the segmented feature data, the probability value of each job label, and the segmented job label data. Since the segmented feature data and the segmented job label data are distributed across various computing platforms, the calculation of the gradient value of each sample is also performed separately on multiple computing platforms. Finally, the data is sent to the computing server for aggregation. The average gradient value of all samples can be calculated based on the gradient value of each sample. Then, the model parameters can be updated and iterated based on the average gradient value, the initial model parameters, and the model step size to obtain the model parameters for the first iteration.
[0076] Optionally, after calculating the iterative model parameters based on the initial model parameters and the average gradient values corresponding to all training sample data to obtain the iterative model parameter set, the method further includes: Step 1, calculating the iterative gradient value corresponding to the i-th iteration of each training sample based on the probability value corresponding to each job label calculated in the (i-1)-th iteration, and calculating the average iterative gradient value of all training samples in the i-th iteration based on the iterative gradient value of each training sample; Step 2, updating the iterative model parameters of the i-th iteration based on the model step size, the average iterative gradient value of all training samples in the i-th iteration, and the iterative model parameters of the (i-1)-th iteration; Repeating Step 1 to Step 2, iteratively calculating for each training sample until the number of iterations reaches the preset number of iterations, stopping the iteration, and obtaining the model parameter set; or, repeating Step 1 to Step 3, iteratively calculating for the training samples, and calculating the average loss function of all training samples after each iteration calculation, stopping the iteration when the average loss function reaches the loss function threshold, and obtaining the model parameter set.
[0077] It should be noted that, based on the iteration probability value corresponding to each job label obtained from the previous iteration, as well as the feature data and job label data in each sample data, the iteration gradient value corresponding to each sample in this iteration is calculated. Then, based on the iteration gradient value corresponding to each sample, the average gradient value of all samples in this iteration is calculated. The model parameters for this iteration are then updated based on the average gradient value. The iteration is repeated until the number of iterations is reached, at which point the iteration stops, or when the average loss function reaches a preset threshold, the iteration stops, and the model parameters are obtained.
[0078] Optionally, the step of calculating the average loss function of all training samples after each iteration includes: after each iteration, inputting the probability value corresponding to each job label into the loss function calculation formula to calculate the loss function of each training sample, wherein the loss function of the training samples is obtained by summing the calculations on the first and second computing platforms respectively; and calculating the average loss function of all training samples based on the loss function of each training sample and the number of training samples.
[0079] It should be noted that the embodiments of the present invention are based on machine learning for job recommendation. In each iteration of the calculation, it is necessary to calculate the loss function of the model. After calculating the probability value of each job tag through the above steps, each computing platform calculates the segment loss function of each sample and then summarizes them to obtain the loss function. Then, based on the loss function of each sample and the total number of samples, the average loss function of all samples is calculated, which is the loss function of the model for one iteration of the calculation. The smaller the value of the loss function, the better the effect.
[0080] It should be noted that after obtaining the optimized model parameters, the model parameters need to be configured to each feature data, calculations are performed based on the feature data, the most suitable job is selected and the job information is returned for job recommendation.
[0081] Step S102: Configure model parameters for the segmented feature data based on the number of job positions, and send the model parameters to the computing platform corresponding to the segmented feature data.
[0082] Optionally, the steps of configuring model parameters for sharded feature data based on the number of job positions include: determining the number of job positions to be recommended and the number of sharded sample data; extracting a set of model parameters based on the number of job positions and the number of sharded samples; configuring model parameters for each sharded feature data and sending the model parameters to the computing platform where the sharded feature data is located.
[0083] It should be noted that the model parameters are stored in the computing server. When each computing platform receives the set of sharded sample data, the computing server distributes the model parameters to each computing platform according to the number of sharded sample data received and the number of jobs to be recommended.
[0084] Step S103: Calculate the set of target values for each sample in a pre-configured computing platform based on the segmentation feature data of each segmented sample data and the model parameters corresponding to each segmentation feature data.
[0085] It should be noted that each computing platform calculates the target value set for each sample. The target value set is the sum of the products of the segment feature data and the segment feature data for each sample, which can be used to evaluate the weight of each feature data.
[0086] Step S104: Calculate the target probability value set for each sample based on the segmented target value set, wherein the target probability values in the target probability value set are used to evaluate the fit between each sample and each job.
[0087] It should be noted that each sample data corresponds to multiple job tags, and each job tag corresponds to a probability value. After obtaining the model parameter set for each sample through iterative calculation, the target probability value needs to be calculated based on the model parameters. The target value set of each segment is received from each computing platform, the target value sets of each segment are summarized, the target value of each job tag is obtained, and the weight of the target value of each job tag relative to the target values of all job tags is calculated to obtain the target probability value. The target probability value can be used to evaluate the fit between the sample and each job.
[0088] Step S105: Sort the target probability values in the target probability value set, mark the job corresponding to the maximum target probability value as the recommended job, and generate job information based on the recommended job and return it to the data provider. The job information includes at least: job identifier and the mapping relationship between the recommended job and the sample.
[0089] It should be noted that by calculating the target probability value of each job tag under each sample and filtering the target probability values, the most suitable job for the user corresponding to the target sample can be obtained. The job tag is marked as the recommended job tag of the target sample. Job information is generated based on the recommended job tag. The job information includes: job identifier (the job identifier can be Chinese characters, numbers, characters or a combination of two of them), the mapping relationship between sample data and job tags, and the job information is sent to the data provider, who then visualizes it for relevant users based on the mapping relationship between sample data and job tags.
[0090] The following is a detailed description with reference to another embodiment.
[0091] Example 2
[0092] According to an embodiment of the present invention, another embodiment of a privacy-preserving job recommendation method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0093] The privacy-protected job recommendation method provided in this embodiment of the invention is described with the data provider as the executing entity. The data provider can be a college client, a vocational training institution client, etc. The data provider sends the data to the computing server, and the computing server provides computing services to the data provider.
[0094] Figure 2 This is a flowchart of another optional privacy-preserving job recommendation method according to an embodiment of the present invention, such as... Figure 2 As shown, the method includes the following steps:
[0095] It should be noted that the implementing entity of this embodiment of the invention is a data provider. The data provider can communicate with the computing server, provide sample data, preprocess the sample data and send it to the computing server. The computing server is deployed with multiple computing platforms. The fragmented computing results are obtained by performing calculations on each computing platform and then sent to the scheduling and fusion platform in the computing server for data aggregation to obtain the aggregated result.
[0096] It should be noted that the embodiments of the present invention are applied to job recommendation scenarios, with the aim of providing accurate job recommendations for graduates or job seekers, so that users can accurately locate jobs that match their job search conditions and requirements without having to manually sift through massive amounts of recruitment data.
[0097] It should be noted that in this embodiment of the invention, the suitability of the sample to each job is evaluated by calculating the target probability value. The model parameter is an important parameter for calculating the target probability value. The model parameter is stored in the computing server and is obtained and updated by the computing server through iterative calculation based on historical data.
[0098] Optionally, the privacy-preserving job recommendation method includes: receiving job tags sent by a computing server and matching each sample data with each job tag to obtain a job tag data set; obtaining a feature training data set and an initial model parameter set, wherein each feature training data in the feature training data set is generated based on multiple sample features of the training samples, and the initial model parameter set is obtained from the computing server, wherein the number of initial model parameters in the initial model parameter set is the product of the number of feature training sample data and the number of job tag data; dividing the job tag data in the job tag data into two parts to obtain piecewise job tag data, and dividing the feature training data in the feature training data set into two parts to obtain piecewise feature training data; generating piecewise training data based on the piecewise feature training data, piecewise job tag data, and initial model parameters, and obtaining a piecewise training data set; and sending the piecewise training data set to each computing platform, wherein the piecewise training data set is used for iterative calculation of the model parameters.
[0099] It should be noted that before conducting job suitability assessments and recommending jobs to users corresponding to each sample, the model parameters need to be determined first. The model parameters are obtained through iterative calculations based on the training data set sent by the data provider. The training data provided by the data provider within a historical time period is used to iteratively calculate the model parameters to obtain the most suitable model parameters. When preparing the training data, the data provider quantifies the sample features of each training sample to obtain feature training data, and obtains the job tags sent by the computing server. Each training data is matched with the job tags to obtain job tag data, and the initial model parameters configured for each feature training data are obtained. The number of initial model parameters for each sample is the product of the number of feature training data and the number of job tag data. Then, each feature training data and each job tag data are sharded to obtain sharded feature training data and sharded job tag data. The sharded feature training data, sharded job tag data, and initial model parameters of each training sample are summarized to obtain P sharded training data. Then, the sharded training data set composed of multiple training samples is sent to each computing platform. Based on each sharded training data, the probability value set of each training sample can be calculated, and then the final required model parameters can be calculated.
[0100] It should be noted that the specific implementation method for matching each training data with job tags to obtain job tag data is as follows: the job tag data is generated based on the job tag corresponding to each job. The data provider receives K job tags sent by the computing server, and then matches the training data with each job tag. If the feature in the training data corresponds to the feature of the job tag, then the job tag is assigned a first preset tag value. If the feature in the training data does not correspond to the feature of the job tag, then the job tag is assigned a second preset tag value, thereby obtaining the job tag data set.
[0101] It should be noted that after the data provider sends the sharded training data to each computing platform on the computing server, each computing platform iteratively calculates and updates the model parameters to finally obtain the optimized model parameters, which are used to calculate and evaluate the sample data generated by the new samples.
[0102] It should be noted that the computing server first calculates the segmentation target value based on the segmented feature training data and the segmented job label data corresponding to each feature training data. Then, based on the segmentation target value, it calculates the probability value set for each training sample. The first segmentation target value and the second segmentation target value are calculated by the first computing platform and the second computing platform, respectively. The first segmentation target value is the sum of the products of the initial model parameters of each feature data and the first segmented feature training data. The second segmentation target value is the sum of the products of the initial model parameters of each feature data and the second segmented feature training data. After obtaining the segmentation target value, each computing platform sends the first segmentation target value and the second segmentation target value to the computing server for aggregation to obtain the total target value. Then, the probability value set for each training sample is calculated based on the total target value.
[0103] It should be noted that after calculating the probability value set of each training sample based on the source training data, the probability value set is used to calculate the iterative model parameter set, the initial model parameter set is updated, and the iterative model parameters are iteratively calculated to obtain the optimized model parameter set.
[0104] It should be noted that in this embodiment of the invention, the model parameters are updated through iterative calculation. The number of iterations, the model step size, and the initial model parameters are preset. The initial model parameters have been pre-configured for the feature training data in each training data set. The gradient value of each sample is calculated based on the segmented feature data, the probability value of each job label, and the segmented job label data. Since the segmented feature data and the segmented job label data are distributed across various computing platforms, the calculation of the gradient value of each sample is also performed separately on multiple computing platforms. Finally, the data is sent to the computing server for aggregation. The average gradient value of all samples can be calculated based on the gradient value of each sample. Then, the model parameters can be updated and iterated based on the average gradient value, the initial model parameters, and the model step size to obtain the model parameters for the first iteration.
[0105] It should be noted that, based on the iteration probability value corresponding to each job label obtained from the previous iteration, as well as the feature data and job label data in each sample data, the iteration gradient value corresponding to each sample in this iteration is calculated. Then, based on the iteration gradient value corresponding to each sample, the average gradient value of all samples in this iteration is calculated. The model parameters for this iteration are then updated based on the average gradient value. The iteration is repeated until the number of iterations is reached, at which point the iteration stops, or when the average loss function reaches a preset threshold, the iteration stops, and the model parameters are obtained.
[0106] It should be noted that the model parameters obtained from iterative calculations are stored in the computing server. When new sample data is sent to the computing server, model parameters need to be assigned to each sample data.
[0107] Step S201: Divide each feature data in the sample data into two parts to obtain a set of partitioned sample data. The set of partitioned sample data includes N partitioned sample data, and each partitioned sample data includes M partitioned feature data, where M is a positive integer greater than or equal to 1.
[0108] It should be noted that before performing calculations, the data provider needs to prepare sample data. Each sample from the data provider corresponds to a job seeker, such as a graduate or an unemployed person. The sample data is generated based on multiple sample features, including but not limited to: graduating institution, major, education level, GPA, occupation type, interests, and job requirements. Based on preset feature data conversion rules, the sample features are transformed into feature data. For example, One-Hot encoding can be used to convert sample features into binary numbers. For instance, for education level, assuming there are four possible values, four binary numbers can be used to represent them. For a junior college degree, the binary number [1,0,0,0] is used; for a bachelor's degree, [0,1,0,0] is used. Binary encoding can also be used. Encoding is the process of encoding numerical features into binary numbers. For example, grades and GPA can be mapped to a binary number. In addition, each sample feature can be converted into feature data based on data feature rules agreed upon with the computing server. For example, data feature rules can be configured for occupation types, such as setting doctors to value 1, law to value 2, and communications engineering to value 3, etc. Each sample feature is converted into feature data based on pre-set data features.
[0109] Optionally, the step of dividing each feature data in the sample data into two parts includes: dividing each feature data in the sample data into a first feature data and a second feature data to obtain a set of segmented feature data, wherein the first feature data is a randomly selected value less than or equal to the feature data, the second feature data is the difference between the feature data and the first feature data, and the set of segmented feature data includes: a set of first feature data and a set of second feature data.
[0110] It should be noted that, in order to ensure data privacy and security, the sample data in this embodiment of the invention is divided into two parts, each feature data is divided into a first feature data and a second feature data, and the first feature data is sent to the first computing platform and the third computing platform, and the second feature data is sent to the second computing platform and the fourth computing platform. When performing the two-part partitioning, the first number of the partition is randomly generated and limited to a certain range to prevent the exponential operation value from overflowing. The second partition number = feature data - first partition number, that is, the sum of the partition numbers is equal to the original feature data.
[0111] Step S202: Send the fragmented sample data set to each computing platform in the computing server.
[0112] Optionally, the step of sending the fragmented sample data set to each computing platform in the computing server includes: receiving computing resource information sent by the computing server; dividing the computing platforms in the computing server based on the computing resource information to obtain a first computing platform, a second computing platform, a third computing platform, and a fourth computing platform; sending the first feature data set to the first computing platform and the third computing platform, and sending the second feature data set to the second computing platform and the fourth computing platform.
[0113] It should be noted that after preparing the sample data, the data provider needs to divide each sample data into two parts and send the divided data to different computing platforms for computation. The computing server provides multiple computing resources. The data provider configures the computing resource allocation strategy according to the computing resources provided by the computing server, assigns numbers to the originally indistinguishable computing platforms, and then sends the divided data to the corresponding computing platform based on the computing platform number. In this embodiment of the invention, the computing resources are divided to obtain a first computing platform, a second computing platform, a third computing platform, and a fourth computing platform.
[0114] It should be noted that the model parameters are stored in the computing server. When each computing platform receives the sharded sample data set, it distributes the model parameters to each computing platform according to the number of sharded sample data received and the number of jobs to be recommended.
[0115] It should be noted that each sample data corresponds to multiple job tags, and each job tag corresponds to a probability value. After obtaining the model parameter set for each sample through iterative calculation, the target probability value needs to be calculated based on the model parameters. The target value set of each segment is received from each computing platform, the target value sets of each segment are summarized, the target value of each job tag is obtained, and the weight of the target value of each job tag relative to the target values of all job tags is calculated to obtain the target probability value. The target probability value can be used to evaluate the fit between the sample and each job.
[0116] Step S203: Receive job information sent by the computing server. The job information is generated based on recommended jobs and includes at least: job identifier and mapping relationship between recommended jobs and samples.
[0117] It should be noted that by calculating the target probability value of each job tag under each sample and filtering the target probability values, the most suitable job for the user corresponding to the target sample can be obtained. The job tag is marked as the recommended job tag of the target sample. Job information is generated based on the recommended job tag. The job information includes: job identifier (the job identifier can be Chinese characters, numbers, characters or a combination of two of them), and the mapping relationship between the recommended job and the sample. The job information is sent to the data provider, who then visualizes it for relevant users based on the mapping relationship between the sample data and the job tags.
[0118] Through the above embodiments, machine learning is used to evaluate each job position and then recommend jobs. By calculating the probability value of each job in each sample, the fit between the job and the sample can be evaluated. During the calculation, the data provider divides each sample data into two parts and then sends them to various computing platforms for calculation. The computing server receives the summarized results after the calculation. That is, the computing server can calculate the probability value of each job in each sample without obtaining the sample data, thereby avoiding the leakage of sample data, protecting data privacy, and thus solving the technical problem of data leakage risk when evaluating the fit of each job and recommending jobs through the computing server in related technologies.
[0119] The following is a detailed description with reference to another embodiment.
[0120] Example 3
[0121] This embodiment provides a privacy-preserving job recommendation system, which corresponds to the implementation steps in Embodiment 1 above.
[0122] Figure 3 This is an architecture diagram of an optional privacy-preserving job recommendation system according to an embodiment of the present invention, such as... Figure 3 As shown, the privacy-preserving job recommendation system includes a computing server and data providers (the number of data providers is not limited in this embodiment of the invention). Figure 3 (Illustrated by data provider A and data provider B) The computing server comprises two main entities: an algorithm module, a scheduling and fusion platform, and multiple computing platforms. Figure 3 (The diagram illustrates computing platforms 1, 2, 3, 4...n).
[0123] The data provider communicates with the computing server, prepares sample data, and processes the data through the data service unit. The data service unit is responsible for reading the plaintext data from the data provider, processing the data provider's feature data according to the predefined feature rules, converting sensitive data from plaintext to ciphertext, receiving results, and initiating computing requests, etc.
[0124] Each computing platform is responsible for performing calculations on the fragmented data sent by the data provider;
[0125] The algorithm module is responsible for providing the computation algorithm and storing the model parameters;
[0126] The scheduling and fusion platform is responsible for initiating scheduling tasks, reading algorithms and models, allocating computing nodes, fusing computing results, and providing feedback.
[0127] The present invention will be described below with reference to specific embodiments.
[0128] The aforementioned privacy-preserving job recommendation method is applied to a privacy-preserving job recommendation system. The specific job evaluation and recommendation process is as follows:
[0129] The job evaluation and recommendation process consists of two parts: the first part is to iteratively calculate and update the model parameters based on the training data; the second part is to calculate the target probability value based on the sample data, and then recommend the job with the highest fit to the sample based on the target probability value.
[0130] The first part involves iteratively calculating and updating the model parameters based on the training data.
[0131] Step 1: When preparing training data, the data provider quantifies the sample features of each training sample to obtain feature training data. They also obtain job tags sent by the computing server, match each training data point with the job tags to obtain job tag data, and acquire the initial model parameters configured for each feature training data point. The number of initial model parameters for each sample is the product of the number of feature training data points and the number of job tag data points. Then, each feature training data point and each job tag data point is sharded to obtain sharded feature training data and sharded job tag data. The sharded feature training data, sharded job tag data, and initial model parameters for each training sample are summarized to obtain P sharded training data points. These sharded training data sets are then sent to various computing platforms. Based on each sharded training data point, the probability value set for each training sample can be calculated, thereby determining the final required model parameters.
[0132] Feature training data is obtained by numerically transforming the sample features of the training samples. Sample features include, but are not limited to, graduating institution, major, academic qualifications, GPA, occupation type, hobbies, etc. The sample features are quantified to obtain feature data. The system receives job tags sent by the computing server. Each job tag corresponds to a job (e.g., software engineer, test engineer, administrative specialist, property manager, etc.). The training data is then matched with each job tag. If the feature in the training data matches the requirements of the job tag, a first preset tag value is assigned to the job tag, such as the value 1. If the feature in the training data does not match the requirements of the job tag, a second preset tag value is assigned to the job tag, such as the value 0, thus obtaining a set of job tag data.
[0133] In addition, the data provider also needs to configure model parameters for the feature data based on the number of job tags. For example, the target training data contains two feature training data {x1, x2}, and k job tag data {y1, y2, ..., y3}. k}, Based on k job labels, configure k sets of initial model parameters {w} for each feature data. 11 w 12 ;w 21 w 22 ;......;w k1 w k2 The feature training data, initial model parameters, and K job label data are combined into training data.
[0134] Step 2: The data provider allocates computing resources to the computing server to obtain the target computing platform for this job evaluation and recommendation, resulting in computing platform 1 (corresponding to the first computing platform mentioned above), computing platform 2 (corresponding to the second computing platform mentioned above), computing platform 3 (corresponding to the third computing platform mentioned above), and computing platform 4 (corresponding to the fourth computing platform mentioned above).
[0135] Step 3: The training data is sent to the data service unit of the data provider. The data service unit then performs a binary partitioning of the training data, dividing each feature training data into two parts, for example: x1 = x 11 +x 12 x2=x 21 +x 22 , will x 11 x 21 Simultaneously sent to computing platforms 1 and 3, x 12 x 22 Simultaneously, the data is sent to computing platforms 2 and 4, and each job tag data is divided into two parts. j =y j1 +yj2 (j=1,2,...,k), let y j1 Send to computing platforms 1 and 4, and y j2 The data is sent to computing platforms 2 and 3. The first number of each shard is randomly generated and limited to a certain range to prevent excessive exponential values from overflowing. The second shard number is equal to the original number minus the first shard number.
[0136] After splitting a training dataset into pieces, it is necessary to ensure that the sum of the values in each piece equals the original data value. For example, x1 = x 11 +x 12 x 11 Let x represent the training data for the first feature. 12 This represents the training data for the second feature. Different segments need to be combined later, so it is necessary to pre-set the computing platform to which the segments belong.
[0137] Step four: Each computing platform calculates the target value for each piece of the received training data. For example, for the target training sample, the target value for each piece is calculated as follows: o j =(w j1 x 11 +w j2 x 21 )+(w j1 x 12 +w j2 x 22 ), where (w j1 x 11 +w j2 x 21 ) represents the first segment target value s of the j-th job label. j1 , (w j1 x 12 +w j2 x 22 ) represents the second segment target value s of the j-th job label. j2 w j1 w represents the model parameters of the j-th job label corresponding to the first feature data. j2 The model parameters represent the j-th group of job labels corresponding to the second feature data. The target value of the first segment is calculated in computing platform 1, and the target value of the second segment is calculated in computing platform 2. Then, s1 and s2 are sent to the scheduling and fusion platform, which calculates the probability value of each job label under each sample.
[0138] Step 5: Calculate the model loss function. The scheduling and fusion unit first calculates l. j =ln h j Then calculate the loss function for each training sample: z1 and z2 are computed on two computing platforms, 1 and 2, respectively. The calculated values of z1 and z2 are then provided to the scheduling and fusion platform. The average loss function of all samples calculated by the scheduling and fusion platform is the model loss function. The loss function is updated based on the model parameters obtained from iterative calculations, and a corresponding model loss function is obtained for each iteration;
[0139] Step six: Perform iterative calculations, set the number of iterations, update the model parameters through iterative calculations, and then update the probability value of each job label, w. g =w c -a×t,w c w represents the initial model parameters. g This represents the updated model parameters, 'a' represents the model step size, and 't' represents the iterative gradient value. The iterative gradient value is calculated based on the data slices and the calculated probability value of each job label. For example, to calculate the iterative gradient value for the target training data: t j =(x j1 +x j2 )×((y j1 +y j2 )-h j )=v1+v2+v3+v4=(x j1 y j1 -x j1 h j )+(x j2 y j2 -x j2 h j )+(x j1 y j2 )+(x j2 y j1 In this process, v1, v2, v3, and v4 are calculated on computing platforms 1, 2, 3, and 4 respectively, and then sent to the scheduling and fusion platform to calculate the average gradient value of each sample, which is the iterative gradient value. The model parameters are updated iteratively based on the iterative gradient values and model step size. The iteration continues until the number of iterations is reached, or until the average loss function reaches a preset threshold. The model parameters are then obtained and stored in the algorithm module.
[0140] The second part calculates the target probability value based on the sample data, and then recommends the job with the highest fit to the sample based on the target probability value.
[0141] Step one: The data provider prepares sample data, where each sample data includes multiple sample features (e.g., university, major, degree, GPA, occupation, hobbies, etc.). These sample features are then digitized to obtain feature data {c1, c2, ..., c...}.n};
[0142] Each sample corresponds to a job seeker, such as a graduate or an unemployed person. The sample data is generated based on multiple sample features, including but not limited to: graduating institution, major, education level, GPA, occupation type, hobbies, and job requirements. Sample features are transformed into feature data based on preset feature data conversion rules. For example, One-Hot encoding can be used to convert sample features into binary numbers. For example, for education level, assuming there are four possible values, four binary numbers can be used to represent them. For a junior college degree, the binary number [1,0,0,0] is used, and for a bachelor's degree, [0,1,0,0] is used. Binary Encoding can also be used to encode some numerical features using binary numbers. For example, GPA can be mapped to a binary number. Additionally, each sample feature can be transformed into feature data based on data feature rules agreed upon with the computing server. For example, data feature rules can be configured for occupation type, such as setting a value of 1 for doctors, 2 for law, and 3 for communications engineering. Each sample feature is transformed into feature data based on pre-set data features.
[0143] Step 2: The data provider allocates computing resources to the computing server to obtain the target computing platform for this job evaluation and recommendation, resulting in computing platform 1 (corresponding to the first computing platform mentioned above), computing platform 2 (corresponding to the second computing platform mentioned above), computing platform 3 (corresponding to the third computing platform mentioned above), and computing platform 4 (corresponding to the fourth computing platform mentioned above).
[0144] Step 3: The sample data is sent to the data service unit of the data provider. The data service unit then performs a binary partitioning of the data, dividing each feature data into two parts, for example: c1 = c 11 +c 12 c2=c 21 +c 22 ,……,c n =c n1 +c n2 , will c 11 c 21 ...c n1 Simultaneously sent to computing platforms 1 and 3, c 12 c 22 ...c n2 Simultaneously sent to computing platforms 2 and 4, the first number of the shard is randomly generated and limited to a certain range to prevent the exponential operation value from overflowing. The second shard number = the original number - the first shard number.
[0145] Step four: The server configures k sets of model parameters {w} for each feature data based on the number of job positions. 11 ,w 12 ...w 1n ;w 21 ,w 22 ...w 2n ;......;w k1 ,w k2 ...w kn Then, the model parameters are sent to each computing platform. Each computing platform calculates the target value for each segment based on the received data. For example, for the target sample, it calculates the target value for each job tag. j =(w j1 c 11 +w j2 c 21 +…+w jn c n1 )+(w j1 c 12 +w j2 c 22 +…+w jn c n2 ), where (w j1 c 11 +w j2 c 21 +…+w jn c n1 ) represents the first segment target value s of the j-th job label. j1 , (w j1 c 12 +w j2 c 22 +…+w jn c n2 ) represents the second segment target value s of the j-th job label. j2 w j1 w represents the model parameters of the j-th job label corresponding to the first feature data. j2 The model parameters represent the j-th group of job labels corresponding to the second feature data. The target value of the first segment is calculated in computing platform 1, and the target value of the second segment is calculated in computing platform 2. Then, s1 and s2 are sent to the scheduling and fusion platform, which calculates the target probability value of each job label under each sample.
[0146] Step 5: Determine the target probability value for each job tag, sort the target probability values, filter out the job tags corresponding to the highest target probability value in each sample, mark the job corresponding to the job tag as a recommended job, and generate job information. The job information includes: job identifier (the job identifier can be Chinese characters, numbers, characters, or a combination of two of them), and the mapping relationship between the sample and the job. Send the job information to the data provider, who will then visualize the data for relevant users based on the mapping relationship between the sample data and the job tags.
[0147] Through the above embodiments, when recommending jobs, the suitability between the sample and the job is evaluated by calculating the probability value between each sample and each job, thereby determining the job that best matches the sample for recommendation. During the calculation, the data provider divides the data into two parts and sends them to the computing server on each computing platform for sharding calculation and iterative sharding calculation. Finally, the sharding results are summarized to obtain the probability value. The computing server can obtain the calculation results without directly obtaining the sample data, thus avoiding the leakage of sample data and protecting data privacy.
[0148] The following is a detailed description with reference to another embodiment.
[0149] Example 4
[0150] The privacy-protected job recommendation device provided in this embodiment includes multiple implementation units, each of which corresponds to a specific implementation step in Embodiment 1 above.
[0151] Figure 4 This is a schematic diagram of an optional privacy-preserving job recommendation device according to an embodiment of the present invention, such as... Figure 4 As shown, the job recommendation device includes: a first receiving unit 41, a configuration unit 42, a first calculation unit 43, a second calculation unit 44, and a sorting unit 45, wherein,
[0152] The first receiving unit 41 is used to receive a set of fragmented sample data sent by the data provider. The set of fragmented sample data includes N fragmented sample data. The fragmented sample data is obtained by dividing the sample data into two parts. Each fragmented sample data includes M fragmented feature data, where N and M are both positive integers greater than or equal to 1.
[0153] Configuration unit 42 is used to configure model parameters for the sharded feature data based on the number of job positions, and send the model parameters to the computing platform corresponding to the sharded feature data;
[0154] The first computing unit 43 is used to calculate the set of target values for each sample in a pre-configured computing platform based on the segmentation feature data of each segmentation sample data and the model parameters corresponding to each segmentation feature data.
[0155] The second calculation unit 44 is used to calculate the target probability value set for each sample based on the segmented target value set, wherein the target probability values in the target probability value set are used to evaluate the fit between each sample and each job.
[0156] The sorting unit 45 is used to sort the target probability values in the target probability value set, mark the job corresponding to the maximum target probability value as the recommended job, and generate job information based on the recommended job and return it to the data provider. The job information includes at least: job identifier and the mapping relationship between recommended job and sample.
[0157] The aforementioned job recommendation device receives a set of segmented sample data sent by a data provider through a first receiving unit 41; configures model parameters for the segmented feature data based on the number of jobs through a configuration unit 42, and sends the model parameters to the computing platform corresponding to the segmented feature data; calculates the set of segmented target values for each sample in a pre-configured computing platform through a first calculation unit 43 based on the segmented feature data of each segmented sample data and the model parameters corresponding to each segmented feature data; calculates the set of target probability values for each sample through a second calculation unit 44 based on the set of segmented target values; and sorts the target probability values in the set of target probability values through a sorting unit 45, marks the job corresponding to the maximum target probability value as a recommended job, and generates job information based on the recommended job and returns it to the data provider. The job information includes at least: job identifier and the mapping relationship between recommended jobs and samples.
[0158] In this embodiment, machine learning is used to evaluate each job position and then recommend jobs. By calculating the probability value of each job in each sample, the fit between the job and the sample can be evaluated. During the calculation, the data provider divides each sample data into two parts and then sends them to each computing unit for calculation. The computing server receives the summarized results after the calculation. That is, the computing server can calculate the probability value of each job in each sample without obtaining the sample data, thereby avoiding the leakage of sample data, protecting data privacy, and thus solving the technical problem of data leakage risk in related technologies when evaluating the fit of each job and recommending jobs through the computing server.
[0159] Optionally, the privacy-protected job recommendation device further includes: a first receiving subunit for receiving the computing resource allocation strategy of the data provider; and a first partitioning subunit for partitioning the computing resources based on the computing resource allocation strategy to obtain a first computing platform, a second computing platform, a third computing platform, and a fourth computing platform, wherein the first computing platform and the third computing platform receive the same first type of data, and the second computing platform and the fourth computing platform receive the same second type of data.
[0160] Optionally, the privacy-preserving job recommendation device further includes: a first acquisition subunit, used to acquire a set of segmented training data, wherein the set of segmented training data includes: P segmented training data, which are obtained by dividing the training data corresponding to each training sample into two parts; the segmented training data includes: Q segmented feature training data, K segmented job label data, and K initial model parameters corresponding to each feature training data; the job label data are obtained by matching each feature training data with each job label; and P, Q, and K are all positive integers greater than or equal to 1; a first calculation subunit, used to calculate a set of probability values for each training sample based on the segmented training data; and a first iteration subunit, used to iteratively calculate the set of probability values and obtain a set of model parameters based on the set of probability values obtained by the iterative calculation.
[0161] Optionally, the first calculation subunit includes: a first receiving module, configured to receive the first segment target value of the job label under each training sample calculated by the first calculation platform, wherein the first segment target value is calculated by the first calculation platform on the first segment training data; a second receiving module, configured to receive the set of second segment target values of each training sample calculated by the second calculation platform, wherein the second segment target value is calculated by the second calculation platform on the second segment training data; and a first summarizing module, configured to summarize the first segment target value and the second segment target value to obtain the probability value corresponding to each job label under each training sample, and summarize the probability values corresponding to all job labels to obtain the set of probability values for each training sample.
[0162] Optionally, the privacy-preserving job recommendation device further includes: a first determining module for determining the model step size; a first calculation module for calculating the gradient value of each training sample based on the probability value corresponding to each job label, and calculating the average gradient value of all training samples based on the gradient value of each training sample; and a second calculation module for calculating the iterative model parameters based on the initial model parameters and the average gradient value of all training samples, to obtain the iterative model parameter set.
[0163] Optionally, the privacy-preserving job recommendation device further includes: a third calculation module, used in step one to calculate the iterative gradient value corresponding to the i-th iteration of each training sample based on the probability value corresponding to each job label obtained in the (i-1)-th iteration, and to calculate the average iterative gradient value of all training samples in the i-th iteration based on the iterative gradient value of each training sample; a first update module, used in step two to update the iterative model parameters of the i-th iteration based on the model step size, the average iterative gradient value of all training samples in the i-th iteration, and the iterative model parameters of the (i-1)-th iteration; a first iteration module, used to repeat steps one to two to perform iterative calculations on each training sample until the number of iterations reaches the preset number of iterations, then stop the iteration and obtain the model parameter set; or, a second iteration module, used to repeat steps one to three to perform iterative calculations on the training samples, and to calculate the average loss function of all training samples after each iteration calculation, and to stop the iteration when the average loss function reaches the loss function threshold, thus obtaining the model parameter set.
[0164] Optionally, the second iteration module includes: a first input submodule, used to input the probability value corresponding to each job label into the loss function calculation formula after each iteration calculation, and calculate the loss function of each training sample, wherein the loss function of the training sample is calculated and summarized in the first calculation platform and the second calculation platform respectively; and a first calculation submodule, used to calculate the average loss function of all training samples based on the loss function of each training sample and the number of training samples.
[0165] Optionally, the configuration unit includes: a first determining subunit, used to determine the number of jobs to be recommended and the number of shard sample data; a first extraction subunit, used to extract a set of model parameters based on the number of jobs and the number of shard samples; and a first configuration subunit, used to configure model parameters for each shard feature data and send the model parameters to the computing platform where the shard feature data is located.
[0166] According to another aspect of the present invention, a privacy-preserving job recommendation device is also provided, applied to a data provider, comprising: a sharding unit, used to shard each feature data in the sample data to obtain a sharded sample data set, wherein the sharded sample data set includes N sharded sample data, each sharded sample data including: M sharded feature data, where M is a positive integer greater than or equal to 1; a sending unit, used to send the sharded sample data set to each computing platform in the computing server; and a second receiving unit, used to receive job information sent by the computing server, wherein the job information is generated based on recommended jobs, and the job information includes at least: job identifier, and a mapping relationship between recommended jobs and samples.
[0167] Optionally, the sending unit includes: a second receiving subunit, configured to receive computing resource information sent by the computing server, and divide the computing platforms in the computing server based on the computing resource information to obtain a first computing platform, a second computing platform, a third computing platform, and a fourth computing platform; and a first sending subunit, configured to send a first feature data set to the first computing platform and the third computing platform, and send a second feature data set to the second computing platform and the fourth computing platform.
[0168] Optionally, the privacy-preserving job recommendation device further includes: a third receiving subunit, used to receive job tags sent by a computing server and match each sample data with each job tag to obtain a job tag data set; a second obtaining subunit, used to obtain a feature training data set and an initial model parameter set, wherein each feature training data in the feature training data set is generated based on multiple sample features of the training samples, and the initial model parameter set is obtained from the computing server, wherein the number of initial model parameters in the initial model parameter set is the product of the number of feature training sample data and the number of job tag data; a first sharding subunit, used to shard the job tag data in the job tag data to obtain sharded job tag data, and shard the feature training data in the feature training data set to obtain sharded feature training data; a first generation subunit, used to generate sharded training data based on the sharded feature training data, sharded job tag data, and initial model parameters, and obtain a sharded training data set; and a second sending subunit, used to send the sharded training data set to each computing platform, wherein the sharded training data set is used for iterative calculation of the model parameters.
[0169] The aforementioned job recommendation device may also include a processor and a memory. The first receiving unit 41, configuration unit 42, first calculation unit 43, second calculation unit 44, sorting unit 45, etc., are all stored in the memory as program units, and the processor executes the aforementioned program units stored in the memory to realize the corresponding functions.
[0170] The aforementioned processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured; by adjusting kernel parameters, the probability value of each job position is calculated, and the job with the highest probability value is selected as the recommended job and returned to the data provider.
[0171] The aforementioned memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.
[0172] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to execute any of the above-described privacy-preserving job recommendation methods.
[0173] According to another aspect of the present invention, an electronic device is also provided, including one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement any of the above-described privacy-preserving job recommendation methods.
[0174] This application also provides a computer program product, which, when executed on a data processing device, is suitable for executing a program with the following initialization steps: receiving a set of segmented sample data sent by a data provider; configuring model parameters for the segmented feature data based on the number of jobs, and sending the model parameters to the computing platform corresponding to the segmented feature data; calculating a set of segmented target values for each sample in a pre-configured computing platform based on the segmented feature data and the model parameters corresponding to each segmented feature data; calculating a set of target probability values for each sample based on the set of segmented target values; sorting the target probability values in the set of target probability values, marking the job corresponding to the maximum target probability value as a recommended job, and generating job information based on the recommended job and returning it to the data provider, wherein the job information includes at least: job identifier and a mapping relationship between recommended jobs and samples.
[0175] Figure 5 This is a hardware structure block diagram of an electronic device (or mobile device) according to an embodiment of the present invention, which provides a privacy-preserving job recommendation method. Figure 5 As shown, an electronic device may include one or more ( Figure 5 The processor 502 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 504 for storing data may also be included. In addition, it may include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the I / O interface), a network interface, a keyboard, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 5 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, the electronic device may also include components that are more... Figure 5 The more or fewer components shown, or having the same Figure 5 The different configurations shown.
[0176] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0177] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0178] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.
[0179] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0180] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0181] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0182] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A privacy protection based job recommendation method, characterized in that, The position recommendation method is applied to a computing server providing a data computing service for a data provider and comprises the following steps: Receiving a set of sharded sample data sent by the data provider, wherein the set of sharded sample data comprises N pieces of sharded sample data, the sharded sample data is obtained by bisecting sample data, and each piece of sharded sample data comprises M pieces of sharded feature data, N and M are positive integers greater than or equal to 1; Configuring model parameters for the sharded feature data based on the number of positions and sending the model parameters to a computing platform corresponding to the sharded feature data; Calculating a set of sharded target values of each sample in the pre-configured computing platform based on the sharded feature data of each sharded sample data and the model parameters corresponding to each sharded feature data; Calculating a set of target probability values of each sample based on the set of sharded target values, wherein a target probability value in the set of target probability values is used to evaluate the fitness of each sample to each position; Before the model parameters are configured for the sharded feature data based on the number of positions, a set of probability values of each training sample is calculated based on sharded training data, comprising: receiving a first sharded target value of a position label under each training sample calculated by a first computing platform, wherein the first sharded target value is calculated by the first computing platform based on first sharded training data; receiving a set of second sharded target values of each training sample calculated by a second computing platform, wherein the second sharded target value is calculated by the second computing platform based on second sharded training data; and summarizing the first sharded target value and the second sharded target value to obtain a probability value corresponding to each position label under each training sample, and summarizing the probability values corresponding to all position labels to obtain the set of probability values of each training sample; Sorting the target probability values in the set of target probability values, marking the position corresponding to the maximum target probability value as a recommended position, and generating position information based on the recommended position and returning the position information to the data provider, wherein the position information at least comprises a position identifier and a mapping relationship between the recommended position and the sample.
2. The position recommendation method according to claim 1, characterized by, Before receiving the set of sharded sample data sent by the data provider, the method further comprises the following steps: Receiving a computing resource allocation strategy of the data provider; Dividing computing resources based on the computing resource allocation strategy to obtain a first computing platform, a second computing platform, a third computing platform and a fourth computing platform, wherein the first computing platform and the third computing platform receive the same first type of data, and the second computing platform and the fourth computing platform receive the same second type of data.
3. The position recommendation method according to claim 1, characterized by, Before the model parameters are configured for the sharded feature data based on the number of positions, a set of model parameters is obtained through iterative training, and the steps of obtaining the set of model parameters comprise: obtaining a set of training data fragments, wherein the set of training data fragments comprises P training data fragments obtained by dividing each training sample data into two parts, and each training data fragment comprises Q feature training data fragments, K position label data fragments, and K initial model parameters corresponding to each feature training data fragment, wherein P, Q, and K are positive integers greater than or equal to 1; calculating a set of probability values of each training sample based on the training data fragments, and iteratively calculating the set of probability values, and obtaining the set of model parameters based on the set of probability values obtained by iteration.
4. The position recommendation method according to claim 3, characterized by, After the first fragment target value and the second fragment target value are aggregated to obtain a probability value corresponding to each position label of each training sample, the method further comprises the following steps: determining a model step length; calculating a gradient value of each training sample based on the probability value corresponding to each position label, and calculating an average gradient value of all training samples based on the gradient value of each training sample; calculating an iteration model parameter based on the initial model parameter and the average gradient value of all training samples to obtain a set of iteration model parameters.
5. The position recommendation method according to claim 4, characterized by, After the initial model parameter and the average gradient value of all training sample data are used to calculate an iteration model parameter to obtain a set of iteration model parameters, the method further comprises the following steps: Step 1: calculating an iteration gradient value corresponding to the i th iteration of each training sample based on the probability value corresponding to each position label obtained by the i-1 th iteration, and calculating an average iteration gradient value of all training samples in the i th iteration based on the iteration gradient value of each training sample; Step 2: updating the iteration model parameter in the i th iteration based on the model step length, the average iteration gradient value of all training samples in the i th iteration, and the iteration model parameter in the i-1 th iteration; repeating steps 1 and 2 to iteratively calculate each training sample until the number of iterations reaches a preset number of iterations, and stopping iteration to obtain the set of model parameters; or repeating steps 1 to 3 to iteratively calculate the training samples, and calculating an average loss function of all training samples after each iteration calculation, and stopping iteration when the average loss function reaches a loss function threshold to obtain the set of model parameters.
6. The position recommendation method according to claim 5, characterized by, The step of calculating an average loss function of all training samples after each iteration calculation comprises the following steps: after each iteration calculation, inputting the probability value corresponding to each position label into a loss function calculation formula to calculate a loss function of each training sample, wherein the loss function of each training sample is calculated by aggregating the loss functions calculated on a first calculation platform and a second calculation platform, respectively; calculating an average loss function of all training samples based on the loss function of each training sample and the number of training samples.
7. The position recommendation method according to claim 1, characterized by, The step of configuring model parameters for the feature data fragments based on the number of positions comprises the following steps: determining the number of positions to be recommended and the number of the shard sample data; extracting a model parameter set based on the number of positions and the number of shard samples; configuring a model parameter for each shard feature data and sending the model parameter to a computing platform where the shard feature data is located.
8. A privacy protection based job recommendation method, characterized by, Applied to a data provider, comprising: binning each feature data in the sample data to obtain a shard sample data set, wherein the shard sample data set includes N shard sample data, and each shard sample data includes M shard feature data, M being a positive integer greater than or equal to 1; sending the shard sample data set to each computing platform in the computing server; receiving position information sent by the computing server, wherein the position information is generated based on recommended positions, and the position information at least includes position identifier, mapping relationship between the recommended position and the sample; receiving position label data sent by the computing server and matching each sample data with each position label to obtain a position label data set; obtaining a feature training data set and an initial model parameter set, wherein each feature training data in the feature training data set is generated based on multiple sample features of a training sample, and the initial model parameter set is obtained from the computing server, and the number of initial model parameters in the initial model parameter set is the product of the number of feature training sample data and the number of position label data; binning the position label data in the position label data to obtain shard position label data, and binning the feature training data in the feature training data set to obtain shard feature training data; generating shard training data based on the shard feature training data, the shard position label data and the initial model parameter, and obtaining a shard training data set; sending the shard training data set to each computing platform, wherein the shard training data set is used for iterative calculation of model parameters.
9. The position recommendation method according to claim 8, characterized by, The step of binning each feature data in the sample data includes: dividing each feature data in the sample data into first feature data and second feature data to obtain a shard feature data set, wherein the first feature data is a value less than or equal to the feature data randomly selected, the second feature data is the difference between the feature data and the first feature data, and the shard feature data set includes a first feature data set and a second feature data set.
10. The position recommendation method according to claim 8, characterized by, The step of sending the shard sample data set to each computing platform in the computing server includes: receiving computing resource information sent by the computing server, dividing the computing platforms in the computing server based on the computing resource information to obtain a first computing platform, a second computing platform, a third computing platform and a fourth computing platform; sending the first feature data set to the first computing platform and the third computing platform, and sending the second feature data set to the second computing platform and the fourth computing platform.
11. A privacy protection based job recommendation apparatus, characterized by, The position recommendation device is applied to a computing server providing a data computing service for a data provider, and comprises: A first receiving unit is configured to receive a set of sharded sample data sent by the data provider, wherein the set of sharded sample data comprises N pieces of sharded sample data, the sharded sample data is obtained by two-sharding sample data, and each piece of sharded sample data comprises M pieces of sharded feature data, N and M are positive integers greater than or equal to 1; A configuration unit is configured to configure a model parameter for the sharded feature data based on a number of positions, and send the model parameter to a computing platform corresponding to the sharded feature data; A first computing unit is configured to calculate a set of sharded target values of each sample based on the sharded feature data of each sharded sample data and the model parameter corresponding to each sharded feature data in a pre-configured computing platform; A second computing unit is configured to calculate a set of target probability values of each sample based on the set of sharded target values, wherein a target probability value in the set of target probability values is used to evaluate the fitness of each sample and each position; A first receiving module is configured to receive a first sharded target value of a position label under each training sample calculated by a first computing platform, wherein the first sharded target value is obtained by the first computing platform performing calculation on first sharded training data; a second receiving module is configured to receive a set of second sharded target values of each training sample calculated by a second computing platform, wherein the second sharded target value is obtained by the second computing platform performing calculation on second sharded training data; a first summarizing module is configured to summarize the first sharded target value and the second sharded target value to obtain a probability value corresponding to each position label under each training sample, and summarize all probability values corresponding to the position labels to obtain the set of probability values of each training sample; An ordering unit is configured to sort the target probability values in the set of target probability values, mark the position corresponding to the maximum target probability value as a recommended position, and generate position information based on the recommended position and return the position information to the data provider, wherein the position information at least comprises a position identifier and a mapping relationship between the recommended position and the sample.
12. A privacy protection based job recommendation apparatus, characterized by, The position recommendation device is applied to a computing server providing a data computing service for a data provider, and comprises: A sharding unit is configured to perform two-sharding on each feature data in sample data to obtain a set of sharded sample data, wherein the set of sharded sample data comprises N pieces of sharded sample data, each piece of sharded sample data comprises M pieces of sharded feature data, M is a positive integer greater than or equal to 1, and M and N are positive integers greater than or equal to 1; A sending unit is configured to send the set of sharded sample data to each computing platform in a computing server; A second receiving unit is configured to receive position information sent by the computing server, wherein the position information is generated based on a recommended position, and the position information at least comprises a position identifier and a mapping relationship between the recommended position and a sample. a third receiving subunit, configured to receive the position tags sent by the computing server, and match each of the sample data with each of the position tags to obtain a position tag data set; a second obtaining subunit, configured to obtain a feature training data set and an initial model parameter set, wherein each feature training data in the feature training data set is generated based on a plurality of sample features of a training sample, and the initial model parameter set is obtained from the computing server, and the number of initial model parameters in the initial model parameter set is a product of the number of feature training sample data and the number of position tag data; a first splitting subunit, configured to split the position tag data in the position tag data set into split position tag data, and split the feature training data in the feature training data set into split feature training data; a first generating subunit, configured to generate split training data based on the split feature training data, the split position tag data and the initial model parameter, and obtain a split training data set; a second sending subunit, configured to send the split training data set to each computing platform, wherein the split training data set is used to iteratively calculate model parameters.
13. A computer-readable storage medium, characterized in that, The computer readable storage medium comprises a stored computer program, wherein the computer program controls a device where the computer readable storage medium is located to perform the privacy protection based position recommendation method in any one of claims 1 to 10 when the computer program is running.
14. An electronic device, comprising: The device comprises one or more processors and a memory, and the memory is configured to store one or more programs, wherein the one or more programs enable the one or more processors to implement the privacy protection based position recommendation method in any one of claims 1 to 10 when the one or more programs are executed by the one or more processors.
Citation Information
Patent Citations
Information recommendation method, device and apparatus and readable storage medium
CN110377627A
Recommendation method and device based on longitudinal federated learning
CN113139796A