Prediction method and information mining method, device, electronic equipment and storage medium
By homomorphically encrypting the user rating matrix and running the product recommendation algorithm on the encrypted matrix, the problem of providing accurate data analysis services while protecting user data is solved, and highly secure product evaluation prediction and recommendation are achieved.
Patent Information
- Application Number
- CN202010747026.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-29
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2040-07-29
AI Technical Summary
Users want to use recommendation systems for personalized recommendations but want to protect their user data from being obtained by service providers. Existing technologies make it difficult to provide accurate data analysis services while protecting user data.
The user rating matrix is encrypted using a homomorphic encryption algorithm, and the product recommendation algorithm is run on the encrypted matrix. Predictions are made by merging the matrices to ensure that user data is encrypted for data analysis.
It achieves the goal of providing users with accurate product evaluation prediction and recommendation services while protecting user data, improving data security and ensuring that user data is not leaked.
Smart Images

Figure CN114066492B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to computer technology, and more particularly, to a product evaluation prediction method, an information mining method, a prediction method, a product evaluation prediction device, an electronic device, and a computer readable storage medium. BACKGROUND
[0002] At present, more and more users hope to use the data analysis system of a service provider to provide them with relevant services of data analysis, but the service demander often hopes to protect his own data as much as possible and does not want the service provider to obtain his own data.
[0003] For example, an enterprise user hopes to use a recommendation system to recommend goods or services to his own users in order to achieve the purpose of accurate marketing and promotion. In order to achieve accurate recommendation effect, the recommendation system needs to obtain a large amount of user data. For the enterprise, it hopes to achieve personalized recommendation by means of the recommendation system, but wants to protect its own user data as much as possible.
[0004] Therefore, it is necessary to propose a method which can provide data analysis services while protecting user data. SUMMARY
[0005] Embodiments of the present disclosure provide a product evaluation prediction method, an information mining method, a prediction method, a product evaluation prediction device, and a computer readable storage medium, which can provide data analysis services for users while protecting user data.
[0006] According to a first aspect disclosed by the present specification, a product evaluation prediction method is provided, comprising:
[0007] obtaining a first encrypted matrix provided by a service object, the first encrypted matrix being a matrix obtained by encrypting a first rating matrix using a homomorphic encryption algorithm, the first rating matrix being a user rating matrix of a product, the first rating matrix containing a blank item;
[0008] obtaining a second encrypted matrix provided by a data platform, the second encrypted matrix being a matrix obtained by encrypting a second rating matrix using the homomorphic encryption algorithm, the second rating matrix being a user rating matrix of a product;
[0009] running a product recommendation algorithm on a merged matrix of the first encrypted matrix and the second encrypted matrix to predict the blank item, to obtain an updated first encrypted matrix;
[0010] sending the updated first encrypted matrix to the service object, so that the service object decrypts the updated first encrypted matrix to obtain an updated first rating matrix.
[0011] Optionally, before obtaining the first encryption matrix and the second encryption matrix, the method further includes:
[0012] Obtaining a first user list provided by the service object;
[0013] Obtaining a second user list provided by the data platform;
[0014] Common users are screened out from the first user list and the second user list, so that the service object determines the first scoring matrix based on the common users, and the data platform determines the second scoring matrix based on the common users.
[0015] Optionally, before obtaining the first encryption matrix and the second encryption matrix, the method further includes:
[0016] Obtaining a first product list provided by the service object;
[0017] Obtaining a second product list provided by the data platform;
[0018] Common products are screened out from the first product list and the second product list, so that the service object determines the first scoring matrix based on the common products, and the data platform determines the second scoring matrix based on the common products.
[0019] Optionally, the homomorphic encryption algorithm is a fully homomorphic encryption algorithm or a semi-homomorphic encryption algorithm.
[0020] Optionally, the product recommendation algorithm includes any of the following algorithms:
[0021] User-based collaborative filtering algorithm;
[0022] Product-based collaborative filtering algorithm;
[0023] Collaborative filtering algorithm based on matrix decomposition.
[0024] Optionally, the method further includes:
[0025] The service object generates a key pair including a public key and a private key;
[0026] The public key is used to encrypt to obtain the first encryption matrix and the second encryption matrix;
[0027] The private key is used to decrypt and obtain the updated first scoring matrix.
[0028] Optionally, the method further includes:
[0029] The service object uses the updated first rating matrix to recommend products to the user.
[0030] According to a second aspect disclosed in the specification, there is provided an information mining method, comprising:
[0031] obtaining encrypted data provided by a service object, the encrypted data provided by the service object being data obtained by encrypting original data of the service object,
[0032] obtaining encrypted data provided by a data platform, the encrypted data provided by the data platform being data obtained by encrypting original data of the data platform;
[0033] performing information mining processing on an encrypted data set composed of the encrypted data provided by the service object and the encrypted data provided by the data platform, to mine out encrypted data having a correlation relationship with the encrypted data provided by the service object;
[0034] sending the encrypted data having the correlation relationship with the encrypted data provided by the service object to the service object, so as to obtain original data having a correlation relationship with the original data of the service object by decryption.
[0035] Optionally, before obtaining the encrypted data provided by the service object and the encrypted data provided by the data platform, the method further comprises:
[0036] the service object generates a key pair comprising a public key and a private key, and provides the public key to the data platform;
[0037] the service object encrypts the original data of the service object using the public key;
[0038] the data platform encrypts the original data of the data platform using the public key;
[0039] the service object comprises using the private key for the decryption.
[0040] Optionally, the information mining processing is performed in a trusted execution environment.
[0041] According to a third aspect disclosed in the specification, there is provided a prediction method, comprising:
[0042] obtaining encrypted data provided by a service object, the encrypted data provided by the service object being data obtained by encrypting original data of the service object,
[0043] obtaining encrypted data provided by a data platform, the encrypted data provided by the data platform being data obtained by encrypting original data of the data platform;
[0044] performing prediction processing on an encrypted data set composed of the encrypted data provided by the service object and the encrypted data provided by the data platform, to generate encrypted prediction data;
[0045] sending the encrypted prediction data to the service object for the service object to decrypt to obtain prediction data.
[0046] Optionally, before obtaining the encrypted data provided by the service object and the encrypted data provided by the data platform, the method further comprises:
[0047] The service object generates a key pair comprising a public key and a private key, and provides the public key to the data platform.
[0048] The service object encrypts original data of the service object using the public key.
[0049] The data platform encrypts original data of the data platform using the public key.
[0050] The service object comprises decrypting using the private key.
[0051] Optionally, before the prediction processing, the method further comprises:
[0052] Setting a weight of the encrypted data provided by the service object and a weight of the encrypted data provided by the data platform, wherein the weight of the encrypted data provided by the service object is greater than the weight of the encrypted data provided by the data platform.
[0053] Optionally, the prediction processing is performed in a trusted execution environment.
[0054] According to a fourth aspect disclosed in the specification, a product evaluation prediction device is provided, comprising:
[0055] A first obtaining module is configured to obtain a first encrypted matrix provided by a service object, the first encrypted matrix being a matrix obtained by encrypting a first rating matrix using a homomorphic encryption algorithm, the first rating matrix being a rating matrix of a product by a user, and the first rating matrix comprising a blank item.
[0056] A second obtaining module is configured to obtain a second encrypted matrix provided by a data platform, the second encrypted matrix being a matrix obtained by encrypting a second rating matrix using the homomorphic encryption algorithm, the second rating matrix being a rating matrix of a product by a user.
[0057] A recommendation processing module is configured to run a product recommendation algorithm on a merged matrix of the first encrypted matrix and the second encrypted matrix to predict the blank item, to obtain an updated first encrypted matrix.
[0058] A sending module is configured to send the updated first encrypted matrix to the service object, for the service object to decrypt the updated first encrypted matrix to obtain an updated first rating matrix.
[0059] According to a fifth aspect disclosed in the specification, an electronic device is provided, comprising a processor and a memory, wherein the memory stores computer readable instructions, and the computer readable instructions are executed by the processor to implement the method of the first aspect, the second aspect, or the third aspect.
[0060] According to a sixth aspect disclosed in the specification, a computer readable storage medium is provided, which stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the method of the first aspect, the second aspect, or the third aspect.
[0061] The product evaluation prediction method, the information mining method, the prediction method, the product evaluation prediction device, and the computer readable storage medium provided by the embodiments of the present disclosure can provide data analysis services for users while protecting user data.
[0062] The product evaluation prediction method provided by the embodiments of the present disclosure can predict the scores of users on products while protecting user data by homomorphic encryption of the score matrix of users on products and running a product recommendation algorithm on the encrypted score matrix.
[0063] The features and advantages of the embodiments of the present disclosure will become apparent from the following detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS
[0064] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the embodiments of the present disclosure.
[0065] Figure 1 is a schematic diagram of the hardware configuration of an electronic device provided by an embodiment of the present disclosure;
[0066] Figure 2 is a flowchart of a product evaluation prediction method provided by an embodiment of the present disclosure;
[0067] Figure 3 is a schematic diagram of a product evaluation prediction method provided by an embodiment of the present disclosure;
[0068] Figure 4 is a schematic diagram of a product evaluation prediction device provided by an embodiment of the present disclosure;
[0069] Figure 5 is a schematic diagram of a product evaluation prediction device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0070] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings.
[0071] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the embodiments of the present specification or its application or uses.
[0072] It is noted that like numerals and letters refer to like items throughout the drawings, as such, once an item is defined in one drawing, it need not be discussed further in subsequent drawings.
[0073] <Hardware configuration>
[0074] Figure 1 is a schematic diagram of a hardware configuration of an electronic device provided by embodiments of the present specification.
[0075] The hardware configuration of the electronic device can include, but is not limited to, a processor 1011, a memory 1012, an interface device 1013, a communication device 1014, an input device 1015, and an output device 1016. The processor 1011 can include, but is not limited to, a central processing unit (CPU), a microprocessor (MCU), and the like. The memory 1012 can include, but is not limited to, a ROM (Read Only Memory), a RAM (Random Access Memory), a non-volatile memory such as a hard disk, and the like. The interface device 1013 can include, but is not limited to, a USB interface, a serial interface, a parallel interface, and the like. The communication device 1014 can be capable of wired or wireless communication, and can include, but is not limited to, a WiFi communication module, a Bluetooth communication module, a 2G / 3G / 4G / 5G communication module, and the like. The input device 1015 can include, but is not limited to, a keyboard, a mouse, a touch screen, a microphone, and the like. The output device 1016 can include, but is not limited to, a display screen, a speaker, and the like. The hardware configuration of the electronic device can also include only part of the above devices.
[0076] The electronic device can be installed with a smart operating system (such as Windows, Linux, Android, IOS, and the like) and application software. The electronic device can be a server, a desktop computer, a laptop computer, a mobile phone, a tablet computer, and the like.
[0077] <Method for product evaluation prediction>
[0078] In order to achieve accurate recommendation effect, the service provider (hereinafter referred to as "recommendation service provider") providing the recommendation service needs to obtain a large amount of user data. However, for the service object of the recommendation service provider, the service object hopes to protect his own privacy as much as possible and is unwilling to disclose his user data to the recommendation service provider. Therefore, it is necessary to propose a method for providing a recommendation service, i.e., a product evaluation prediction service, to the service object while protecting the user data of the service object.
[0079] In addition, the recommendation service is a service based on big data analysis, and if the service object is a small and micro enterprise, the user data that can be provided is less, and the recommendation service provider also faces the challenge of being unable to accurately provide the recommendation service.
[0080] The product evaluation prediction method provided by one embodiment of the present disclosure can provide a product evaluation prediction service for a service object while protecting the user data of the service object. The product evaluation prediction method provided by one embodiment of the present disclosure can provide a more accurate product evaluation prediction service for a service object when the user data of the service object is less.
[0081] Before describing the product evaluation prediction method provided by the embodiments of the present disclosure, the scoring and the scoring matrix related to the embodiments of the present disclosure are described with reference to the specific example shown in FIG. 1. Figure 3
[0082] In the embodiments of the present disclosure, the user data refers to the behavior data of a user on a product, and the score of the user on the product can be determined according to the behavior data of the user on the product. The score of the user on the product can reflect the degree of like / dislike of the user on the product. The behavior data of the user on the product can include but is not limited to the behavior data of the user on the product, such as purchasing the product, browsing the product introduction, browsing the product advertisement, evaluating the product, collecting the product, and adding the product to the shopping cart. Figure 3 The scoring matrix in FIG. 1 only schematically shows a small number of users and a small number of products, and is used to describe the product evaluation prediction method of the present disclosure rather than limit the product evaluation prediction method of the present disclosure.
[0083] The scoring matrix is formed based on the score of the user on the product. The scoring matrix is a two-dimensional matrix, each horizontal axis represents a user, and each vertical axis represents a product. Of course, each vertical axis can represent a user, and each horizontal axis can represent a product. The element in the matrix represents the score of a specific user on a specific product, such as from 1 point to 5 points. The higher the score, the more the user likes the product. In the embodiments of the present disclosure, the product can be a tangible product or an intangible product, such as an intangible product, for example, an e-book and a video product.
[0084] The product evaluation prediction method provided by the embodiments of the present disclosure is described below. The product evaluation prediction method involves a recommendation service provider, a service object, and a data platform. In one specific example, the recommendation service provider and the data platform can be the same party.
[0085] In the product evaluation prediction method provided in the embodiments of the present disclosure, the service object and the data platform each have user data of different dimensions. When providing recommendation services for the service object, the user data of the data platform is used. For example, the service object is a brand owner, and has user consumption data of purchasing brand products in offline stores. The quality of the consumption data is high, but the quantity is often small, which is insufficient for accurate recommendation. For example, the data platform is a comprehensive shopping website, and has a large amount of user behavior data of multiple brands and multiple product categories on the website. The service object hopes to use the big data of the data platform to provide more accurate product recommendations for its users, while hoping to protect its privacy as much as possible and not disclose its own user data.
[0086] The product evaluation prediction method provided in the embodiments of the present disclosure can be implemented by a recommendation system of a recommendation service provider. The recommendation system can be loaded on a server of the recommendation service provider, and the server has a hardware configuration similar to that shown in FIG. 1. Figure 1
[0087] First, the service object generates a first rating matrix according to the user data owned by the service object, and the data platform generates a second rating matrix according to the user data owned by the data platform. In order to improve the accuracy of the recommendation service, the service object and the data platform need to align the data, that is, the first rating matrix and the second rating matrix need to contain common users or common products.
[0088] The first example of generating the first rating matrix and the second rating matrix is described below, including steps S1012-S1014.
[0089] S1012, the recommendation system acquires a first user list provided by the service object, and acquires a second user list provided by the data platform.
[0090] S1014, the recommendation system filters out common users from the first user list and the second user list to obtain a common user list. The recommendation system provides the common user list to the service object and the data platform, so that the service object determines the first rating matrix according to the common user list, and the data platform determines the second rating matrix according to the common user list. The users in the first rating matrix include the common users, and the users in the second rating matrix list include the common users.
[0091] The second example of generating the first rating matrix and the second rating matrix is described below, including steps S1022-S1024.
[0092] S1022, a first product list provided by the service object is acquired, and a second product list provided by the data platform is acquired.
[0093] S1024, filtering out common products from the first product list and the second product list to obtain a common product list. The recommendation system provides the common product list to the service object and the data platform, so that the service object determines a first scoring matrix according to the common product list, and the data platform determines a second scoring matrix according to the common product list. The products in the first scoring matrix include the common products, and the products in the second scoring matrix list include the common products.
[0094] Then, the service object encrypts the first scoring matrix into a first encrypted matrix, and provides the first encrypted matrix to the recommendation system. The data platform encrypts the second scoring matrix into a second encrypted matrix, and provides the second encrypted matrix to the recommendation system. The recommendation system performs product evaluation prediction by using the first encrypted matrix and the second encrypted matrix.
[0095] Referring to Figure 2 As shown in the figure, the process of product evaluation prediction includes steps S202-S208.
[0096] S202, obtaining the first encrypted matrix provided by the service object. The first encrypted matrix is a matrix obtained by encrypting the first scoring matrix using a homomorphic encryption algorithm, and the first scoring matrix is a user scoring matrix of products, and the first scoring matrix contains blank items.
[0097] The homomorphic encryption is a kind of cryptography technology, which supports performing calculation on encrypted data without decryption, and the result of calculation after decryption is exactly the calculation result of the corresponding plaintext. That is to say, the output obtained by processing the data subjected to homomorphic encryption is decrypted, and the result is the same as the output result obtained by processing the original data without encryption by using the same processing method. In a specific example, the homomorphic encryption algorithm used can be a full homomorphic encryption algorithm or a semi-homomorphic encryption algorithm. The full homomorphic encryption refers to an encryption function that satisfies both additive homomorphism and multiplicative homomorphism, and can perform arbitrary multiple addition and multiplication operations. The semi-homomorphic encryption refers to an encryption function that only satisfies additive homomorphism or multiplicative homomorphism.
[0098] Before step S202, the service object generates the first scoring matrix according to the user data owned by the service object. In a specific example, referring to Figure 3 As shown in the figure, when the user data owned by the service object is relatively small, the first scoring matrix generated by the service object is relatively sparse. "Sparse" means that there are many blank items in the matrix, i.e. many scores do not exist, and these blank items belong to the objects to be predicted by the recommendation system.
[0099] In a specific example, the service object generates a key pair including a public key and a private key in advance. After generating the first scoring matrix, the service object uses the public key to encrypt the first scoring matrix by using the homomorphic encryption algorithm to obtain the first encrypted matrix. From Figure 3As can be seen from the figure, the values of each element in the first encryption matrix have been converted into ciphertext. The service object provides the first encryption matrix to the recommendation system, and the recommendation system obtains the first encryption matrix provided by the service object.
[0100] S204: Obtain a second encryption matrix provided by the data platform. The second encryption matrix is a matrix obtained by encrypting the second rating matrix using the same homomorphic encryption algorithm. The second rating matrix is a user rating matrix for the product.
[0101] Before step S204, the data platform generates a second scoring matrix based on the user data it has. In a specific example, see Figure 3 As shown in Figure 2, for a data platform, it has a large amount of user data, and the second rating matrix it generates is relatively large and dense. In the second rating matrix, there may also be blank items, which are the objects predicted by the recommendation system.
[0102] In a specific example, the service object provides the public key generated by itself to the data platform. For example, the service object can provide the public key to the data platform through the recommendation system. After generating the second rating matrix, the data platform uses the public key to encrypt the second rating matrix using the same homomorphic encryption algorithm to obtain the second encrypted matrix. Figure 3 As can be seen from the figure, the values of each element in the second encryption matrix have been converted into ciphertext. The data platform provides the second encryption matrix to the recommendation system, and the recommendation system obtains the second encryption matrix provided by the data.
[0103] S206 , running a product recommendation algorithm on the combined matrix of the first encryption matrix and the second encryption matrix to predict blank items, and obtaining an updated first encryption matrix.
[0104] In the disclosed embodiments, the prediction can be performed in a trusted execution environment (TEE). A TEE can be an execution environment based on chip isolation, allowing operations to run in an independent environment in parallel with the operating system, ensuring that the confidentiality and integrity of code and data loaded in the environment are protected.
[0105] In this disclosed embodiment, the rating matrix is encrypted using a homomorphic encryption algorithm beforehand. Recommendation operations are performed on the encrypted rating matrix to predict product ratings. The updated rating matrix is then decrypted, yielding the same result as directly using the rating matrix for recommendation prediction.
[0106] See also Figure 3As shown, after obtaining the first encrypted matrix and the second encrypted matrix, the recommendation system merges the two matrices to obtain a merged encrypted matrix. The recommendation system runs a product recommendation algorithm on the merged encrypted matrix to update the merged encrypted matrix. After the update, the elements in the merged encrypted matrix are still ciphertexts, and the original blank items are completed. Depending on the product recommendation algorithm, the original non-blank items in the merged encrypted matrix may be slightly adjusted.
[0107] The recommendation system disassembles the updated first encrypted matrix from the updated merged encrypted matrix, as shown in FIG. 8B. Figure 3 As shown, the recommendation system disassembles the part in the dashed box.
[0108] In the embodiments of the present disclosure, the recommendation system can use a collaborative filtering algorithm for rating prediction. The basic principle of the collaborative filtering algorithm is that "a user with similar behavior to the current user likes an item, and the current user also likes the item".
[0109] In a specific example, the recommendation system can use a collaborative filtering algorithm based on matrix decomposition for rating prediction. For example, a collaborative filtering algorithm based on matrix singular value decomposition is used for rating prediction.
[0110] In a specific example, the collaborative filtering algorithm can be a user-based collaborative filtering algorithm or a product-based collaborative filtering algorithm.
[0111] In the embodiments of the present disclosure, if the first encrypted matrix and the second encrypted matrix are generated using a semi-homomorphic encryption algorithm that only supports additive homomorphism, the product recommendation algorithm used by the recommendation system should only use addition operations. If the first encrypted matrix and the second encrypted matrix are generated using a semi-homomorphic encryption algorithm that only supports multiplicative homomorphism, the product recommendation algorithm used by the recommendation system should only use multiplication operations. If the first encrypted matrix and the second encrypted matrix are generated using a fully homomorphic encryption algorithm, the product recommendation algorithm used by the recommendation system can only use addition operations, can only use multiplication operations, or can use both addition operations and multiplication operations.
[0112] S208, sending the updated first encrypted matrix to the service object, so that the service object decrypts the updated first encrypted matrix to obtain an updated first rating matrix.
[0113] The recommendation system sends the updated first encrypted matrix to the service object. After receiving the updated first encrypted matrix from the recommendation system, the service object decrypts the updated first encrypted matrix using the private key to obtain an updated first rating matrix.
[0114] That is, in the key pair generated by the service object, the public key is used to encrypt the first rating matrix to obtain a first encrypted matrix, and encrypt the second rating matrix to obtain a second encrypted matrix. The private key is used to decrypt the updated first encrypted matrix to obtain the updated first rating matrix.
[0115] Referring to Figure 3 As shown in the figure, the original blank item in the updated first rating matrix has been replaced by a specific rating value, and the original non-blank item has been slightly adjusted.
[0116] In a specific example, the service object uses the updated first rating matrix to recommend products to the user. For example, if user A rates product 1 as 4.0 and product 2 as 1.9, the service object pushes promotion information for product 1 to user A.
[0117] As can be seen, in the product evaluation prediction method provided by the embodiments of the present disclosure, the user data of the service object and the data platform is always in an encrypted state, and the two parties cannot access each other's data, so the security is very high. Moreover, the recommendation system does not need to leak intermediate calculation results to the outside during the prediction process, further improving the data security.
[0118] The product evaluation prediction method provided by one embodiment of the present disclosure can provide recommendation services to the service object while protecting the user data of the service object.
[0119] The product evaluation prediction method provided by one embodiment of the present disclosure can provide more accurate recommendation services to the service object when the user data of the service object is relatively small.
[0120] The product evaluation prediction method provided by one embodiment of the present disclosure can provide product evaluation services to the service object platform without contacting the plaintext user data of the service object and the data platform.
[0121] The product evaluation prediction method provided by one embodiment of the present disclosure allows the data platform and the recommendation service provider to be the same party, allowing the data platform to provide product evaluation prediction services to the service object without contacting the plaintext user data of the service object.
[0122] <Embodiment of product evaluation prediction device>
[0123] Referring to Figure 4 The product evaluation prediction device 10 provided by the embodiments of the present disclosure includes the following modules:
[0124] The first obtaining module 11 is configured to obtain a first encrypted matrix provided by the service object, the first encrypted matrix being a matrix obtained by encrypting a first rating matrix using a homomorphic encryption algorithm, the first rating matrix being a rating matrix of the user on the product, and the first rating matrix containing blank items.
[0125] The second obtaining module 12 is configured to obtain a second encrypted matrix provided by the data platform, the second encrypted matrix being a matrix obtained by encrypting a second rating matrix using the homomorphic encryption algorithm, the second rating matrix being a rating matrix of the user on the product.
[0126] The recommendation processing module 13 is configured to run a product recommendation algorithm on a merged matrix of the first encrypted matrix and the second encrypted matrix to predict the blank items, and obtain an updated first encrypted matrix.
[0127] The sending module 14 is configured to send the updated first encrypted matrix to the service object, so that the service object decrypts the updated first encrypted matrix to obtain an updated first rating matrix.
[0128] In a specific example, the product evaluation prediction apparatus 10 can further include the following modules:
[0129] The common user determining module is configured to: obtain a first user list provided by the service object; obtain a second user list provided by the data platform; and filter out common users from the first user list and the second user list, so that the service object determines the first rating matrix according to the common users, and the data platform determines the second rating matrix according to the common users.
[0130] In another specific example, the product evaluation prediction apparatus 10 can further include the following modules:
[0131] The common product determining module is configured to: obtain a first product list provided by the service object; obtain a second product list provided by the data platform; and filter out common products from the first product list and the second product list, so that the service object determines the first rating matrix according to the common products, and the data platform determines the second rating matrix according to the common products.
[0132] In a specific example, the homomorphic encryption algorithm is a fully homomorphic encryption algorithm or a semi-homomorphic encryption algorithm.
[0133] In a specific example, the product recommendation algorithm includes any one of the following algorithms: a user-based collaborative filtering algorithm; a product-based collaborative filtering algorithm; and a matrix decomposition-based collaborative filtering algorithm.
[0134] Reference is made to Figure 5As shown, the product evaluation prediction device 20 is provided. The product evaluation prediction device 20 comprises a processor 21 and a memory 22, and the memory 22 stores computer readable instructions, which are executed by the processor 21 to implement the product evaluation prediction method of any of the foregoing embodiments.
[0135] The product evaluation prediction device provided by the embodiments of the present disclosure has high data security, and can provide the prediction service to the service object without contacting the plaintext user data of the service object throughout. The product evaluation prediction device provided by the embodiments of the present disclosure can provide more accurate prediction service to the service object when the user data of the service object is less.
[0136] <Embodiment of product recommendation method and device>
[0137] The embodiments of the present disclosure further provide a product recommendation method, which can be implemented by the system of the foregoing service object. Specifically, the system can be loaded on the server of the service object, and the server has a hardware configuration similar to that shown. Figure 1 The product recommendation method comprises the following steps:
[0138] S302, encrypting the first score matrix to obtain a first encrypted matrix using a homomorphic encryption algorithm. The first score matrix is a user score matrix of a product, and the first score matrix contains blank items.
[0139] S304, sending the first encrypted matrix to the product evaluation prediction device.
[0140] S306, receiving the updated first encrypted matrix sent by the product evaluation prediction device.
[0141] The product evaluation prediction device uses the product evaluation prediction method provided by any of the foregoing embodiments to obtain the updated first encrypted matrix, and sends the updated first encrypted matrix to the service object.
[0142] S308, decrypting the updated first encrypted matrix to obtain an updated first score matrix.
[0143] S310, recommending the product to the user using the updated first score matrix.
[0144] The product recommendation method provided by the embodiments of the present disclosure can further comprise other steps performed by the service object in the product evaluation prediction method embodiments.
[0145] The product recommendation method provided by the embodiments of the present disclosure, and specific details can be referred to the related content in the foregoing product evaluation prediction method embodiments, which will not be repeated here.
[0146] The product recommendation method provided by the embodiments of the present disclosure has high data security, and can use the prediction service provided by the product evaluation prediction device without providing the user data in plaintext to the product evaluation prediction device.
[0147] The embodiments of the present disclosure provide a product recommendation device. The product recommendation device comprises a processor and a memory, and the processor stores computer readable instructions. When the computer readable instructions are executed by the processor, the product recommendation method of any of the preceding embodiments is implemented.
[0148] <Information mining method>
[0149] The embodiments of the present disclosure also provide an information mining method, comprising steps S502-S506.
[0150] S502, obtain the encrypted data provided by the service object, the encrypted data provided by the service object being data obtained by encrypting the original data of the service object. Obtain the encrypted data provided by the data platform, the encrypted data provided by the data platform being data obtained by encrypting the original data of the data platform.
[0151] In one specific example, before obtaining the encrypted data provided by the service object and the encrypted data provided by the data platform, the method can further comprise: the service object generates a key pair comprising a public key and a private key, and provides the public key to the data platform. The service object encrypts the original data of the service object using the public key to obtain the encrypted data provided by the service object. The data platform encrypts the original data of the data platform using the public key to obtain the encrypted data provided by the data platform.
[0152] In one specific example, the amount of original data of the service object can be relatively small, and only using the original data of the service object is insufficient for data mining or the effect of data mining is not ideal. In this case, the service object can use the data of the data platform to achieve its mining needs. Compared with the service object, the data of the data platform is less sensitive and can be provided to the service object. Alternatively, the service object is an administrative department, a law enforcement department or other user with statutory functional rights, and has the right to know the data of the data platform.
[0153] In one specific example, the service object itself does not have data mining capability and hopes to use the data analysis system of the service provider for data mining while protecting its own data.
[0154] For example, the service object is a law enforcement department, and the service object wants to obtain the whereabouts data of a specific person. The original data possessed by the service object can only include the name, ID number, bank card number, and relative relationship of the specific person, and the big data possessed by the data platform includes a large amount of consumption records, ticket records, mobile positioning data, and social records of a large number of people.
[0155] S504, performing information mining processing on the encrypted data set composed of the encrypted data provided by the service object and the encrypted data provided by the data platform, to mine out the encrypted data having an association relationship with the encrypted data provided by the service object.
[0156] In a specific example, the information mining processing is performed in a trusted execution environment, further protecting the security of the data.
[0157] In the data mining process, the encrypted data having an association relationship with the encrypted data provided by the service object is mined out using the encrypted data provided by the service object and the encrypted data provided by the data platform.
[0158] For example, the service object provides 20 pieces of encrypted data, and after the mining processing, 100 pieces of encrypted data related to the 20 pieces of encrypted data of the service object are mined out from the encrypted data provided by the data platform.
[0159] For example, after the mining processing, the consumption records, ticket records, mobile positioning data, and social records related to the specific person are obtained from the big data of the data platform, and in step S506, the encrypted data associated with the specific person that is mined out is sent to the service object.
[0160] S506, sending the encrypted data having an association relationship with the encrypted data provided by the service object to the service object, so that the service object decrypts to obtain the original data having an association relationship with the original data of the service object.
[0161] In step S506, after the encrypted data having an association relationship with the encrypted data provided by the service object is sent to the service object, the service object can use the private key in the key pair to decrypt it, thereby obtaining the original data having an association relationship with the original data of the service object.
[0162] For example, after the service object decrypts the encrypted data associated with the specific person that is mined out, the plaintext data of the consumption records, ticket records, mobile positioning data, and social records related to the specific person is obtained. The service object can better determine the whereabouts of the specific person by using the name, ID number, bank card number, and relative relationship data of the specific person that the service object itself has, and combining the data associated with the consumption records, ticket records, mobile positioning data, and social records related to the specific person.
[0163] In this embodiment, the service object can be an administrative department, a law enforcement department, or an enterprise, and the like, which wants to protect sensitive data. In the process of information mining processing, the data of the service object is always in an encrypted state, thereby ensuring the security of the data of the service object. The information mining method provided by the embodiment of the disclosure has high data security, and can provide the service object with information mining services without contacting the plaintext data of the service object throughout the whole process.
[0164] <Method for prediction>
[0165] The embodiment of the disclosure further provides a prediction method, including steps S602-S606.
[0166] S602, obtaining encrypted data provided by a service object, the encrypted data provided by the service object being data obtained by encrypting original data of the service object. Obtaining encrypted data provided by a data platform, the encrypted data provided by the data platform being data obtained by encrypting original data of the data platform.
[0167] In a specific example, before obtaining the encrypted data provided by the service object and the encrypted data provided by the data platform, the method can further include: the service object generating a key pair including a public key and a private key, and providing the public key to the data platform. The service object encrypts the original data of the service object using the public key to obtain the encrypted data provided by the service object. The data platform encrypts the original data of the data platform using the public key to obtain the encrypted data provided by the data platform.
[0168] In a specific example, the amount of original data of the service object can be relatively small, and it is insufficient to use only the original data of the service object to perform data prediction or the effect of using only the original data of the service object to perform data prediction is not ideal. In this case, the service object can use the data of the data platform to achieve its prediction needs. Compared with the service object, the data of the data platform is less sensitive and can be provided to the service object. Alternatively, the service object is an administrative department, a law enforcement department, or the like, which has a legal function right and has the right to know the data of the data platform.
[0169] For example, the service object is a hydrogeological management department, which has detailed geological and hydrological data within its jurisdiction, and wants to predict natural disasters, natural resources (such as underground water), and the like within its jurisdiction. The service object itself does not have the ability to perform prediction and analysis, and wants to use the data analysis system of the service provider to perform prediction, while protecting its own geological and hydrological data. The data platform collects publicly available geological and hydrological data worldwide.
[0170] S604, performing prediction processing on the encrypted data set composed of the encrypted data provided by the service object and the encrypted data provided by the data platform, to generate encrypted prediction data.
[0171] In one specific example, before the prediction processing, further comprising: setting a weight of the encrypted data provided by the service object and a weight of the encrypted data provided by the data platform, wherein the weight of the encrypted data provided by the service object is greater than the weight of the encrypted data provided by the data platform. In this way, the prediction result can be more consistent with the original data of the service object.
[0172] In one specific example, the prediction processing is performed in a trusted execution environment, further protecting the security of the data.
[0173] For example, after the prediction processing, the geographical location data of the suspected resource distribution is obtained, and the geographical location data of the suspected resource distribution is encrypted, i.e., the encrypted prediction data.
[0174] S606, sending the encrypted prediction data to the service object, so that the service object decrypts the prediction data.
[0175] In step S606, after the encrypted prediction data is sent to the service object, the service object can use the private key in the key pair to decrypt it, so as to obtain the plaintext of the prediction data.
[0176] In this embodiment, the service object can be an administrative department, a law enforcement department, or a user who wants to protect sensitive data such as an enterprise. In the process of prediction processing, the data of the service object is always in an encrypted state, thereby ensuring the security of the data of the service object. The prediction method provided by the embodiment of the disclosure has high data security, and can provide prediction services to the service object without contacting the plaintext data of the service object throughout the process.
[0177] <Electronic device>
[0178] The embodiment of the present specification also provides an electronic device comprising a processor and a memory, wherein the memory stores computer readable instructions, and the computer readable instructions are executed by the processor to implement the product evaluation prediction method of any one of the preceding embodiments.
[0179] The embodiment of the present specification also provides an electronic device comprising a processor and a memory, wherein the memory stores computer readable instructions, and the computer readable instructions are executed by the processor to implement the product recommendation method of any one of the preceding embodiments.
[0180] The embodiments of the present specification also provide an electronic device, comprising a processor and a memory, wherein the memory stores computer readable instructions, and the computer readable instructions are executed by the processor to implement the information mining method of any one of the preceding embodiments.
[0181] The embodiments of the present specification also provide an electronic device, comprising a processor and a memory, wherein the memory stores computer readable instructions, and the computer readable instructions are executed by the processor to implement the prediction method of any one of the preceding embodiments.
[0182] <Computer readable medium embodiment>
[0183] The embodiments of the present specification also provide a computer readable medium. The computer readable medium stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the product evaluation prediction method of any one of the preceding embodiments.
[0184] The embodiments of the present specification also provide a computer readable medium. The computer readable medium stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the product recommendation method of any one of the preceding embodiments.
[0185] The embodiments of the present specification also provide a computer readable medium. The computer readable medium stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the information mining method of any one of the preceding embodiments.
[0186] The embodiments of the present specification also provide a computer readable medium. The computer readable medium stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the prediction method of any one of the preceding embodiments.
[0187] Each of the embodiments in the present specification is described in a progressive manner, and the same parts between each of the embodiments can be referred to each other. Each of the embodiments focuses on the difference from other embodiments. In particular, for the device and equipment embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the part of the method embodiment.
[0188] The above describes specific embodiments of the present specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in a different order than the order in which they are recited and still achieve desirable results. In addition, the processes depicted in the figures do not necessarily require the particular order shown, or sequential order, to achieve the desired results. In some implementations, multitasking and parallel processing can be advantageous.
[0189] The embodiments of the present specification can be a system, a method, and / or a computer program product. The computer program product can include a computer readable storage medium (or media) having computer readable program instructions stored therein to implement various aspects of the embodiments of the present specification.
[0190] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or punched tape, a magnetically encoded device such as magnetic strip(s), an optically encoded device such as optical fiber, and / or any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
[0191] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0192] Computer readable program instructions for carrying out operations of embodiments of the present specification can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or source or object code, in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on a user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of embodiments of the present specification.
[0193] Various aspects of embodiments of the present specification are described herein with reference to flow diagrams and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present specification. It will be understood that each block of the flow diagrams and / or block diagrams, and combinations of blocks in the flow diagrams and / or block diagrams, can be implemented by computer readable program instructions.
[0194] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flow diagrams and / or block diagrams. These computer readable program instructions can also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flow diagrams and / or block diagrams.
[0195] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0196] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0197] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
Claims
1. A product evaluation prediction method characterized by, The method comprises the following steps: obtaining a first encrypted matrix provided by a service object, the first encrypted matrix being a matrix obtained by encrypting a first rating matrix, the first rating matrix being a rating matrix of a product by a user, the first rating matrix containing blank items; obtaining a second encrypted matrix provided by a data platform, the second encrypted matrix being a matrix obtained by encrypting a second rating matrix, the second rating matrix being a rating matrix of a product by a user; running a product recommendation algorithm on a merged matrix of the first encrypted matrix and the second encrypted matrix to predict the blank items, to obtain an updated first encrypted matrix; sending the updated first encrypted matrix to the service object, so that the service object decrypts the updated first encrypted matrix to obtain an updated first rating matrix; wherein the updated first rating matrix does not contain blank items.
2. The method of claim 1, wherein, Before obtaining the first encrypted matrix and the second encrypted matrix, the method further comprises the following steps: obtaining a first user list provided by the service object; obtaining a second user list provided by the data platform; filtering out common users from the first user list and the second user list, so that the service object determines the first rating matrix according to the common users, and the data platform determines the second rating matrix according to the common users.
3. The method of claim 1, wherein, Before obtaining the first encrypted matrix and the second encrypted matrix, the method further comprises the following steps: obtaining a first product list provided by the service object; obtaining a second product list provided by the data platform; filtering out common products from the first product list and the second product list, so that the service object determines the first rating matrix according to the common products, and the data platform determines the second rating matrix according to the common products.
4. The method of claim 1, wherein, The product recommendation algorithm comprises any one of the following algorithms: a user-based collaborative filtering algorithm; a product-based collaborative filtering algorithm; a matrix decomposition-based collaborative filtering algorithm.
5. The method of claim 1, wherein, The method further comprises the following steps: the service object generates a key pair comprising a public key and a private key; the public key is used to encrypt the first encrypted matrix and the second encrypted matrix; the private key is used to decrypt the updated first rating matrix.
6. The method of claim 1, wherein, The method further comprises the following steps: the service object uses the updated first rating matrix to recommend products to the user.
7. An information mining method characterized by comprising: The method comprises the following steps: obtaining encrypted data provided by a service object, the encrypted data provided by the service object being data obtained by encrypting original data of the service object, obtaining encrypted data provided by a data platform, the encrypted data provided by the data platform being data obtained by encrypting original data of the data platform; performing information mining processing on an encrypted data set formed by the encrypted data provided by the service object and the encrypted data provided by the data platform, to mine out encrypted data having an association relationship with the encrypted data provided by the service object; The encrypted data associated with the encrypted data provided by the service object is sent to the service object for decryption to obtain original data associated with the original data of the service object; wherein the amount of original data associated with the original data of the service object is greater than the amount of original data of the service object.
8. The method of claim 7, wherein, Before obtaining the encrypted data provided by the service object and the encrypted data provided by the data platform, the method further comprises: The service object generates a key pair comprising a public key and a private key, and provides the public key to the data platform; The service object encrypts the original data of the service object using the public key; The data platform encrypts the original data of the data platform using the public key; The service object includes using the private key to perform the decryption.
9. The method of claim 7, wherein, The information mining processing is performed in a trusted execution environment.
10. A method of prediction, characterized by, Comprise: Obtain encrypted data provided by a service object, the encrypted data provided by the service object being data obtained by encrypting original data of the service object, Obtain encrypted data provided by a data platform, the encrypted data provided by the data platform being data obtained by encrypting original data of the data platform; Perform prediction processing using an encrypted data set formed by the encrypted data provided by the service object and the encrypted data provided by the data platform to generate encrypted prediction data; The encrypted prediction data is sent to the service object for decryption to obtain prediction data; wherein the amount of prediction data is greater than the amount of original data of the service object.
11. The method of claim 10, wherein, Before obtaining the encrypted data provided by the service object and the encrypted data provided by the data platform, the method further comprises: The service object generates a key pair comprising a public key and a private key, and provides the public key to the data platform; The service object encrypts the original data of the service object using the public key; The data platform encrypts the original data of the data platform using the public key; The service object includes using the private key to perform the decryption.
12. The method of claim 10, wherein, Before performing the prediction processing, further comprising: Set the weight of the encrypted data provided by the service object and the weight of the encrypted data provided by the data platform, wherein the weight of the encrypted data provided by the service object is greater than the weight of the encrypted data provided by the data platform.
13. The method of claim 10, wherein the prediction processing is performed in a trusted execution environment.
14. A product evaluation prediction device, comprising: A first obtaining module for obtaining first encrypted data provided by a service object, the first encrypted data being a matrix obtained by encrypting a first rating matrix, the first rating matrix being a user rating matrix for a product, the first rating matrix containing blank items; A second obtaining module for obtaining second encrypted data provided by a data platform, the second encrypted data being a matrix obtained by encrypting a second rating matrix, the second rating matrix being a user rating matrix for a product; A recommendation processing module for running a product recommendation algorithm on a merged matrix of the first encrypted data and the second encrypted data to predict the blank items, obtaining an updated first encrypted data. The sending module is configured to send the updated first encryption matrix to the service object, so that the service object decrypts the updated first encryption matrix to obtain the updated first score matrix; and the updated first score matrix does not include a blank item. 15.An electronic device comprising a processor and a memory, wherein the memory stores computer readable instructions, and the computer readable instructions, when executed by the processor, implement the method of any one of claims 1-13. 16.A computer readable storage medium having stored thereon computer readable instructions, and the computer readable instructions, when executed by a processor, implement the method of any one of claims 1-13.
Citation Information
Patent Citations
Target object determination method, apparatus and device, and computer storage medium
CN111428040A
Electronic apparatus and control method thereof
WO2017023065A1