WO2022110716A1 - 冷启动推荐方法、装置、计算机设备及存储介质 - Google Patents

冷启动推荐方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
WO2022110716A1
WO2022110716A1 PCT/CN2021/096586 CN2021096586W WO2022110716A1 WO 2022110716 A1 WO2022110716 A1 WO 2022110716A1 CN 2021096586 W CN2021096586 W CN 2021096586W WO 2022110716 A1 WO2022110716 A1 WO 2022110716A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
similarity
item
key
encrypted
Prior art date
Application number
PCT/CN2021/096586
Other languages
English (en)
French (fr)
Inventor
王健宗
李泽远
何安珣
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2022110716A1 publication Critical patent/WO2022110716A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network

Definitions

  • the present application relates to the field of big data technologies, and in particular, to a cold start recommendation method, apparatus, computer equipment and storage medium.
  • collaborative filtering is the most famous recommendation algorithm.
  • collaborative filtering often faces the problem of cold start. When a new user joins the system, the user does not have historical rating data in the system, and the similarity between users cannot be calculated according to traditional algorithms, so it cannot be recommended.
  • the existing cold start often needs to combine data from multiple parties.
  • the purpose of the embodiments of the present application is to propose a cold start recommendation method, apparatus, computer equipment and storage medium, which are aimed at solving the technical problem of privacy leakage during the current cold start recommendation.
  • the embodiments of the present application provide a cold start recommendation method, which adopts the following technical solutions:
  • a cold start recommended method, applied to a local server includes the following steps:
  • the local server When receiving the first key sent by the first server, calculate the first scoring parameter of the local server, wherein the local server is a server that does not include the item information of the target user, and the first server is an independent third party server;
  • a first encrypted similarity is calculated according to the first scoring parameter and the first encrypted data, and the first encrypted similarity is compared according to the first key. Decrypt the degree to obtain the first decryption similarity, wherein the second server is a server including the item information of the target user;
  • the embodiments of the present application further provide a cold start recommendation system, where the cold start recommendation system includes a local server, a first server and a second server, and adopts the following technical solutions:
  • the first server configured to randomly generate a first key and a second key, send the first key to the local server, and send the second key to the second server;
  • the local server is configured to calculate a first scoring parameter when receiving the first key sent by the first server, and encrypt the first scoring parameter according to the first key to obtain second encrypted data, sending the second encrypted data to the second server;
  • the second server is configured to calculate a second scoring parameter when receiving the second key sent by the first server, and encrypt the second scoring parameter according to the second key, obtaining first encrypted data, and sending the first encrypted data to the local server;
  • the local server is configured to, when receiving the first encrypted data, calculate a first encrypted similarity according to the first encrypted data and the first scoring parameter, and pair the said first encrypted data according to the first key. Decrypting the first encrypted similarity to obtain a first decrypted similarity, and sending the first decrypted similarity to the first server;
  • the second server is configured to, when receiving the second encrypted data, calculate a second encrypted similarity according to the second encrypted data and the second scoring parameter, and calculate a second encrypted similarity according to the second key pair
  • the second encrypted similarity is decrypted to obtain a second decrypted similarity, and the second decrypted similarity is sent to the first server;
  • the first server is configured to, when receiving the first decryption similarity and the second decryption similarity, calculate a total similarity according to the first decryption similarity and the second decryption similarity, and sending the total similarity to the local server and the second server respectively;
  • the local server configured to generate an item recommendation table of the target user according to the total similarity when receiving the total similarity, and send the item recommendation table to the second server;
  • the second server is configured to recommend an item to the target user according to the item recommendation table when receiving the item recommendation table.
  • an embodiment of the present application further provides a computer device, including a memory and a processor, and computer-readable instructions stored in the memory and executable on the processor, and the processor executes
  • the computer-readable instructions also implement the following steps:
  • the local server When receiving the first key sent by the first server, calculate the first scoring parameter of the local server, wherein the local server is a server that does not include the item information of the target user, and the first server is an independent third party server;
  • a first encrypted similarity is calculated according to the first scoring parameter and the first encrypted data, and the first encrypted similarity is compared according to the first key. Decrypt the degree to obtain the first decryption similarity, wherein the second server is a server including the item information of the target user;
  • an embodiment of the present application further provides a computer-readable storage medium, where the computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the processing The device also performs the following steps:
  • the local server When receiving the first key sent by the first server, calculate the first scoring parameter of the local server, wherein the local server is a server that does not include the item information of the target user, and the first server is an independent third party server;
  • a first encrypted similarity is calculated according to the first scoring parameter and the first encrypted data, and the first encrypted similarity is compared according to the first key. Decrypt the degree to obtain the first decryption similarity, wherein the second server is a server including the item information of the target user;
  • the local server calculates the first scoring parameter of the local server when receiving the first key sent by the first server, wherein the local server is a server that does not include the item information of the target user, and the first server is An independent third-party server, the second server is a server that includes the target user's item information; the local server and the second server can encrypt the scoring parameters generated by the local server and the second server through the key, and the key is used by the third-party server (that is, the first A server) is generated, the local server and the second server do not know each other's encryption and decryption methods, which ensures the security of the user's private information.
  • the local server When the local server receives the first encrypted data sent by the second server, it calculates the first encrypted similarity according to the first scoring parameter and the first encrypted data, and decrypts the first encrypted similarity according to the first key to obtain the first encrypted similarity. A decryption similarity.
  • the local server decrypts the first encrypted similarity using the first key, so that the first decrypted similarity between the two servers can be obtained by calculation without obtaining the scoring parameter of the second server. Then, the local server sends the first decrypted similarity to the first server, so that the first server calculates the total similarity according to the first decrypted similarity, and the first server calculates the total similarity, which further ensures that the local server and the second There will be no leakage of messages between servers.
  • the local server When the local server receives the total similarity sent by the first server, it generates an item recommendation table of the target user according to the total similarity, and sends the item recommendation table to the second server, so that the second server can perform a recommendation on the target user according to the item recommendation table. Item recommendation.
  • the cold-start user's item recommendation without revealing private information is realized, the leakage of private information is avoided, and the confidentiality of user recommendation is improved. It greatly improves the accuracy of user item recommendation without revealing user privacy.
  • FIG. 1 is an exemplary system architecture diagram to which the present application can be applied;
  • FIG. 2 is a schematic flowchart of an embodiment in which a cold start recommendation method is applied to a local server
  • FIG. 3 is a schematic structural diagram of an embodiment of a cold start recommendation system according to the present application.
  • FIG. 4 is a schematic structural diagram of an embodiment of a computer device according to the present application.
  • first calculation module 401 first decryption module 402, first transmission module 403, first recommendation module 404, second calculation module 501, second decryption module 502, second transmission module 503 and second recommendation module 504.
  • the cold-start recommendation method of the embodiment of the present application is applied to a cold-start recommendation system.
  • the system architecture includes a first server, a second server and a local server.
  • the first server and the second server, between the first server and the local server, and between the local server and the second server are all connected through a network, and the network can include various connection types, such as wired, wireless communication links or optical fibers cables, etc.
  • first server the second server and the local server in FIG. 1 are merely illustrative. There may be any number of first servers, second servers, and local servers as required by the implementation.
  • the cold start recommended method includes the following steps:
  • Step S201 when receiving the first key sent by the first server, calculate the first scoring parameter of the local server, wherein the local server is a server that does not include the item information of the target user, and the first server is an independent server third-party servers;
  • the first server is an independent third-party server, which is trusted by the local server and the second server
  • the second server is a server that includes the item information of the target user
  • the local server does not include the item information of the target user.
  • the server, the target user is a new user relative to the second server, and the local server and the second server have the same user and different items.
  • the first key is key data sent by the first server, and the first key includes a first random vector and a random key value.
  • the first server when randomly generating the first random vector, the second random vector and the random number, calculates and obtains a random key value according to the first random vector, the second random vector and the random number, and uses the random key value to calculate the random key value.
  • the key value and the first key generated by the first random vector are sent to the local server.
  • the first server will also send the second key generated by the second random vector and the random number to the second server.
  • the local server receives the first key sent by the first server, it calculates the first scoring parameter of the local server, where the first scoring parameter is the user item recommendation scoring parameter of the local server, and the first scoring parameter can be passed through User item ratings and rating averages stored on the local server are calculated.
  • Step S202 when receiving the first encrypted data sent by the second server, calculate a first encrypted similarity according to the first scoring parameter and the first encrypted data, and pair the first encrypted data according to the first key. Decrypt with an encrypted similarity to obtain a first decrypted similarity, wherein the second server is a server that includes item information of the target user;
  • the local server when the local server calculates and obtains the first scoring parameter, it also encrypts the first scoring parameter according to the received first key to obtain second encrypted data, and sends the second encrypted data to the second server.
  • the second server calculates and obtains the second scoring parameter, it also encrypts the second scoring parameter according to the second key, that is, obtains the first encrypted data, and sends the first encrypted data to the local server.
  • the local server when the local server receives the first encrypted data sent by the second server, it calculates the first encrypted similarity according to the first scoring parameter of the local server and the first encrypted data. Specifically, the vector angle between the first encrypted number and the first scoring parameter is calculated to obtain the first encrypted similarity.
  • the local server subtracts the first encryption similarity and the random key value, that is, the first decryption similarity of the local server is obtained.
  • Step S203 sending the first decrypted similarity to the first server, so that the first server calculates the total similarity according to the first decrypted similarity
  • the local server when it obtains the first decrypted similarity, it sends the first decrypted similarity to the first server, and at the same time, the second server also sends the calculated second decrypted similarity to the first server.
  • the first server adds the first decrypted similarity and the second decrypted similarity to obtain the total similarity; when obtaining the total similarity, the first decrypted similarity
  • a server also constructs a corresponding similarity matrix according to the total similarity, and sends the total similarity and the similarity matrix to the local server and the second server at the same time.
  • Step S204 when receiving the total similarity sent by the first server, generate an item recommendation table of the target user according to the total similarity, and send the item recommendation table to the second server, so that the second server recommends items to the target user according to the item recommendation table.
  • the local server when receiving the total similarity sent by the first server, the local server generates an item recommendation table of the target user according to the total similarity, and sends the item recommendation table to the second server.
  • the second server can determine the recommended item corresponding to the target user according to the item recommendation table, thereby implementing the item recommendation for the target user by the second server.
  • the above-mentioned item recommendation table may also be stored in a node of a blockchain.
  • the blockchain referred to in this application is a new application mode of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm.
  • Blockchain essentially a decentralized database, is a series of data blocks associated with cryptographic methods. Each data block contains a batch of network transaction information to verify its Validity of information (anti-counterfeiting) and generation of the next block.
  • the blockchain can include the underlying platform of the blockchain, the platform product service layer, and the application service layer.
  • This embodiment realizes the cold-start user's item recommendation without revealing private information, avoids the leakage of private information, improves the confidentiality of user recommendation, and performs joint calculation through the scoring matrix with a small degree of privacy, extremely It greatly improves the accuracy of user item recommendation without revealing user privacy.
  • the method after calculating the first scoring parameter of the local server, the method includes:
  • the first key includes a first random vector, and the first scoring parameter is encrypted according to the first random vector in the first key to obtain second encrypted data;
  • the first key when the local server receives the first key, the first key includes a first random vector, and the first scoring parameter is encrypted according to the first random vector in the first key.
  • the calculated first scoring parameter is subtracted from the first random vector, and the obtained result is the encrypted data of the first scoring parameter, that is, the second encrypted data.
  • the first scoring parameter of the local server is represented by C u,j
  • the second encrypted data of the local server is calculated as When the local server obtains the second encrypted data, it sends the second encrypted data to the second server; when the second server receives the second encrypted data, it can compare the second encrypted data with the second encrypted data of the second server according to the second encrypted data.
  • the scoring parameter is calculated to obtain the second encrypted similarity.
  • the second server directly obtains the item scoring information of the local server, and the security of the user's private information is ensured.
  • the above calculation of the first scoring parameter of the local server includes:
  • the first scoring parameter is calculated according to the user item score and the average score.
  • the first scoring parameter is the user item recommendation scoring parameter of the local server, the user item rating and the average rating stored in the local server are obtained, and the first scoring parameter is calculated according to the user item rating and the rating average.
  • the second scoring parameter is the user item recommendation scoring parameter of the second server, and the second scoring parameter can also be calculated according to the user item score stored in the second server and the corresponding average score.
  • the calculation formulas of the first scoring parameter and the second scoring parameter are as follows:
  • C u,j denotes the first scoring parameter
  • C u,i denotes the second service parameter
  • v u,j denotes the user item rating of the local server
  • v u,i denotes the user item rating of the second server
  • i represents the item in the second server
  • j represents the item in the local server.
  • the similarity between the first scoring parameter and the scoring parameter of the second server can be accurately calculated, thereby further realizing accurate recommendation to the target user.
  • generating the item recommendation table of the target user according to the total similarity includes:
  • All items stored in the local server are sorted according to the predicted scores from high to low, and an item recommendation table corresponding to the target user is obtained.
  • the local server when receiving the total similarity sent by the first server, obtains the item rating information of the target user in the local server, that is, the target user's rating information for the item in the local server.
  • the local server calculates the predicted rating of the target user in the second server according to the item rating information and the total similarity.
  • the local server arranges all the items in the local server from high to low according to the predicted score, and obtains an item recommendation table corresponding to the target user.
  • the item recommendation table is sent to the second server, and when the second server receives the item recommendation table, it can recommend items to the target user according to the item recommendation table.
  • the local server calculates the item prediction score of the target user, so as to realize the accurate recommendation to the target user without revealing private information.
  • the above-mentioned calculation to obtain the predicted score of the target user according to the total similarity and the item score information includes:
  • the total similarity is used as the weight of the item rating information, and the item rating information is weighted and summed according to the weight to obtain the predicted rating of the target user.
  • the total similarity and item rating information are obtained, the total similarity is used as the weight of the item rating information, and the item rating information is weighted and summed according to the weight, and then the item rating information can be calculated.
  • the predicted rating of the target user's item in the second server is as follows:
  • pred t, i represents the predicted score
  • t represents the new user in the second server, that is, the target user
  • i, j represent the items in the second server and the local server, respectively
  • sim i, j represents the total similarity
  • v t , j is the item rating information of the target user in the local server.
  • the predicted score of the target user is calculated by the total similarity, so that the target user can be accurately recommended through the predicted score, and the accuracy of user recommendation is improved.
  • calculating the first encrypted similarity according to the first scoring parameter and the first encrypted data includes:
  • the vector angle between the first scoring parameter and the first encrypted data is calculated, and the vector angle is used as the first encrypted similarity of the local server.
  • the first encrypted similarity is available means, of which, is the first encrypted data, C u,j is the first scoring parameter of the local server, C u,i is the second scoring parameter of the second server, A second random vector generated for the first server.
  • the above-mentioned decrypting the first encrypted similarity according to the first key to obtain the first decrypted similarity includes:
  • the first key includes a random key value, a difference between the first encryption similarity and the random key value is calculated, and the difference is used as the first decryption similarity.
  • the first key includes a random key value
  • the difference between the first encryption similarity and the random key value is calculated, and the difference is the first decryption similarity.
  • the first decryption similarity is The random key value is calculated by the first server according to the first random vector, the second random vector and the random number, in, is the second random vector, is the first random vector, and r is a random number.
  • the first encrypted similarity is decrypted by using a random key value, which realizes a decryption method different from that of the second server, avoids that the local server and the second server can directly obtain the scoring information through key decryption, and further realizes the protection of user privacy information.
  • the aforementioned storage medium may be a non-volatile storage medium such as a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM), or a random access memory (Random Access Memory, RAM) or the like.
  • the present application provides an embodiment of a cold start recommendation system, which can be specifically applied to various electronic devices.
  • the cold start recommendation system in this embodiment includes a local server, a first server, and a second server
  • the local server includes: a first computing module 401 , a first decryption module 402 , and a first sending module 403 and a first recommendation module 404
  • the second server includes: a second calculation module 501 , a second decryption module 502 , a second sending module 503 and a second recommendation module 504 .
  • the first server configured to randomly generate a first key and a second key, send the first key to the local server, and send the second key to the second server;
  • the local server is configured to calculate a first scoring parameter when receiving the first key sent by the first server, and encrypt the first scoring parameter according to the first key to obtain second encrypted data, sending the second encrypted data to the second server;
  • the second server is configured to calculate a second scoring parameter when receiving the second key sent by the first server, and encrypt the second scoring parameter according to the second key, obtaining first encrypted data, and sending the first encrypted data to the local server;
  • the local server is configured to, when receiving the first encrypted data, calculate a first encrypted similarity according to the first encrypted data and the first scoring parameter, and pair the said first encrypted data according to the first key. Decrypting the first encrypted similarity to obtain a first decrypted similarity, and sending the first decrypted similarity to the first server;
  • the second server is configured to, when receiving the second encrypted data, calculate a second encrypted similarity according to the second encrypted data and the second scoring parameter, and calculate a second encrypted similarity according to the second key pair
  • the second encrypted similarity is decrypted to obtain a second decrypted similarity, and the second decrypted similarity is sent to the first server;
  • the first server is configured to, when receiving the first decryption similarity and the second decryption similarity, calculate a total similarity according to the first decryption similarity and the second decryption similarity, and sending the total similarity to the local server and the second server respectively;
  • the local server configured to generate an item recommendation table of the target user according to the total similarity when receiving the total similarity, and send the item recommendation table to the second server;
  • the second server is configured to recommend an item to the target user according to the item recommendation table when receiving the item recommendation table.
  • the first server is an independent third-party server, and the first server randomly generates the first random vector, the second random vector and the random number, and generates the first random vector, the second random vector and the random number according to the first random vector, the second random vector and the random number.
  • Random key value send the first random vector and random key value to the local server as the first key, and send the second random vector and random number to the second server as the second random key.
  • the local server receives the first key, it calculates the first scoring parameter, encrypts the first scoring parameter according to the first random vector in the first key, obtains second encrypted data, and stores the first scoring parameter. 2.
  • the encrypted data is sent to the second server.
  • the second server when it receives the second key, it calculates the second scoring parameter, and the calculation method of the second scoring parameter is the same as that of the first scoring parameter, but the parameter values used are different.
  • the parameter data used by the second scoring parameter is the local user item score and the average score on the second server
  • the parameter data used by the first scoring parameter is the local user item score and the average score on the local server.
  • the second server encrypts the second scoring parameter according to the second random vector in the second key to obtain first encrypted data.
  • a second random vector in the second key is obtained, where the second random vector is randomly generated by the first server and is different from the first random vector, and the first random vector is sent to the local by the first server In the server, the second random vector is sent to the second server through the first server.
  • the second server adds the second random vector and the second scoring parameter, that is, obtains the first encrypted data corresponding to the second server.
  • the second scoring parameter of the second server is represented by C u,i , then the first encrypted data of the second server is calculated as
  • the second server sends the first encrypted data to the local server, and when the local server receives the first encrypted data, the local server can calculate the corresponding first encrypted similarity according to the first encrypted data.
  • the local server calculates the first encrypted similarity according to the first scoring parameter and the first encrypted data, and calculates the first encrypted similarity according to the random key value in the first key.
  • the first encrypted similarity is decrypted, that is, the first decrypted similarity is obtained.
  • the first decrypted similarity is sent to the first server.
  • the vector angle between the second encrypted data and the second scoring parameter is calculated to obtain the second encrypted similarity corresponding to the second server.
  • This second encrypted similarity is available represents, where C u,i is the second scoring parameter of the second server, The second encrypted data sent by the local server.
  • the second encryption similarity is obtained, the second encryption similarity is subtracted from the random number in the second key, that is, the second decryption similarity corresponding to the second server is obtained.
  • the second decryption similarity is Send the second decrypted similarity to the first server.
  • the first server When receiving the second decryption similarity sent by the second server and the first decryption similarity sent by the local server, the first server sums the first decryption similarity and the second decryption similarity, and calculates the total similarity. Spend. The total similarity is sent to the second server and the local server, respectively.
  • the local server When receiving the total similarity, the local server generates an item recommendation table of the target user according to the total similarity, and sends the item recommendation table to the second server.
  • the second server may recommend items to the target user according to the item recommendation table.
  • Local servers in this application include:
  • the first calculation module 401 is configured to calculate the first scoring parameter of the local server when receiving the first key sent by the first server, wherein the local server is a server that does not include the item information of the target user, and the The first server is an independent third-party server;
  • the first key includes a first random vector
  • the first calculation module 401 includes:
  • a first encryption unit configured to encrypt the first scoring parameter according to the first random vector in the first key to obtain second encrypted data
  • a first sending unit configured to send the second encrypted data to the second server, so that the second server calculates a second encrypted similarity corresponding to the second server according to the second encrypted data.
  • a first obtaining unit configured to obtain the user item rating and the rating mean value stored by the local server
  • a first calculation unit configured to calculate the first scoring parameter according to the user item score and the average score.
  • the first server is an independent third-party server, which is trusted by the local server and the second server
  • the second server is a server that includes the item information of the target user
  • the local server does not include the item information of the target user.
  • the server, the target user is a new user relative to the second server, and the local server and the second server have the same user and different items.
  • the first key is key data sent by the first server, and the first key includes a first random vector and a random key value.
  • the first server when randomly generating the first random vector, the second random vector and the random number, calculates and obtains a random key value according to the first random vector, the second random vector and the random number, and uses the random key value to calculate the random key value.
  • the key value and the first key generated by the first random vector are sent to the local server.
  • the first server will also send the second key generated by the second random vector and the random number to the second server.
  • the local server receives the first key sent by the first server, it calculates the first scoring parameter of the local server, where the first scoring parameter is the user item recommendation scoring parameter of the local server, and the first scoring parameter can be passed through User item ratings and rating averages stored on the local server are calculated.
  • the first decryption module 402 is configured to, when receiving the first encrypted data sent by the second server, calculate a first encrypted similarity according to the first scoring parameter and the first encrypted data, and calculate a first encrypted similarity according to the first encrypted data. decrypting the first encrypted similarity with the key to obtain the first decrypted similarity, wherein the second server is a server including the item information of the target user;
  • the first decryption module includes:
  • a first confirmation unit configured to calculate a vector angle between the first scoring parameter and the first encrypted data, and use the vector angle as the first encrypted similarity.
  • the second confirmation unit is used for the first key to include a random key value, calculating the difference between the first encryption similarity and the random key value, and using the difference as the first decryption similarity Spend.
  • the local server when the local server calculates and obtains the first scoring parameter, it also encrypts the first scoring parameter according to the received first key to obtain second encrypted data, and sends the second encrypted data to the second server.
  • the second server calculates and obtains the second scoring parameter, it also encrypts the second scoring parameter according to the second key, that is, obtains the first encrypted data, and sends the first encrypted data to the local server.
  • the local server when the local server receives the first encrypted data sent by the second server, it calculates the first encrypted similarity according to the first scoring parameter of the local server and the first encrypted data. Specifically, the vector angle between the first encrypted number and the first scoring parameter is calculated to obtain the first encrypted similarity.
  • the local server subtracts the first encryption similarity and the random key value, that is, the first decryption similarity of the local server is obtained.
  • a first sending module 403 configured to send the first decrypted similarity to the first server, so that the first server calculates the total similarity according to the first decrypted similarity
  • the local server when it obtains the first decrypted similarity, it sends the first decrypted similarity to the first server, and at the same time, the second server also sends the calculated second decrypted similarity to the first server.
  • the first server adds the first decrypted similarity and the second decrypted similarity to obtain the total similarity; when obtaining the total similarity, the first decrypted similarity
  • a server also constructs a corresponding similarity matrix according to the total similarity, and sends the total similarity and the similarity matrix to the local server and the second server at the same time.
  • the first recommendation module 404 is configured to generate an item recommendation table of the target user according to the total similarity when receiving the total similarity sent by the first server, and send the item recommendation table to the and the second server, so that the second server recommends items to the target user according to the item recommendation table.
  • the first recommendation module 404 includes:
  • a second obtaining unit configured to obtain the item rating information of the target user on the local server when receiving the total similarity sent by the first server
  • a second calculation unit configured to calculate the predicted score of the target user according to the total similarity and the item score information
  • a sorting unit configured to sort all items stored in the local server according to the predicted scores from high to low, and obtain an item recommendation table corresponding to the target user.
  • the second computing unit includes:
  • the calculation subunit is configured to use the total similarity as a weight of the item rating information, perform weighted summation on the item rating information according to the weight, and calculate the predicted rating of the target user.
  • the local server when receiving the total similarity sent by the first server, the local server generates an item recommendation table of the target user according to the total similarity, and sends the item recommendation table to the second server.
  • the second server receives the item recommendation table, the recommended item corresponding to the target user can be determined according to the item recommendation table, thereby realizing the item recommendation for the target user by the second server.
  • the above-mentioned item recommendation table may also be stored in a node of a blockchain.
  • the blockchain referred to in this application is a new application mode of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm.
  • Blockchain essentially a decentralized database, is a series of data blocks associated with cryptographic methods. Each data block contains a batch of network transaction information to verify its Validity of information (anti-counterfeiting) and generation of the next block.
  • the blockchain can include the underlying platform of the blockchain, the platform product service layer, and the application service layer.
  • the second server in this application includes:
  • the second calculation module 501 is configured to calculate the second scoring parameter of the second server when receiving the second key sent by the first server, wherein the second key includes a second random vector and a random number;
  • the second decryption module 502 is configured to, when receiving the second encrypted data sent by the local server, calculate a second encrypted similarity according to the second scoring parameter and the second encrypted data, and perform a pairing of all encrypted data according to the random number. Decrypting the second encryption similarity to obtain the second decryption similarity;
  • a second sending module 503, configured to send the second decrypted similarity to the first server, so that the first server calculates the total similarity according to the second decrypted similarity
  • the second recommendation module 504 is configured to recommend an item to a target user according to the item recommendation table when receiving the item recommendation table generated by the local server according to the total similarity.
  • the second calculation module 501 includes:
  • a second encryption unit configured to encrypt the second scoring parameter according to the second random vector in the second key to obtain first encrypted data
  • the second sending unit is configured to send the first encrypted data to the local server, so that the local server calculates the first encrypted similarity corresponding to the local server according to the first encrypted data.
  • the second server when the second server receives the second key sent by the first server, it calculates the corresponding second scoring parameter, and the calculation method of the second scoring parameter is the same as that of the first scoring parameter, But the parameter values used are different.
  • the parameter data used by the second scoring parameter is the local user item score and the average score on the second server
  • the parameter data used by the first scoring parameter is the local user item score and the average score on the local server.
  • the second server receives the second encrypted data sent by the local server, the vector angle between the second encrypted data and the second scoring parameter is calculated to obtain the second encrypted similarity corresponding to the second server.
  • This second encrypted similarity is available represents, where C u,i is the second scoring parameter of the second server, The second encrypted data sent by the local server.
  • the second encryption similarity is obtained, the second encryption similarity is subtracted from the random number in the second key, that is, the second decryption similarity corresponding to the second server is obtained.
  • the second decryption similarity is The second decrypted similarity is sent to the first server, and the first server can calculate the total similarity according to the second decrypted similarity and the first decrypted similarity sent by the local server.
  • the second server may recommend items to the target user according to the item recommendation table.
  • the cold-start recommendation system proposed in this embodiment realizes the cold-start user's item recommendation without revealing private information, avoids the leakage of private information, improves the confidentiality of the user's recommendation, and improves the confidentiality of user recommendations.
  • the scoring matrix is jointly calculated, which greatly improves the accuracy of user item recommendation without revealing user privacy.
  • FIG. 4 is a block diagram of a basic structure of a computer device according to this embodiment.
  • the computer device 6 includes a memory 61 , a processor 62 , and a network interface 63 that communicate with each other through a system bus. It should be pointed out that only the computer device 6 with components 61-63 is shown in the figure, but it should be understood that it is not required to implement all of the shown components, and more or less components may be implemented instead.
  • the computer device here is a device that can automatically perform numerical calculation and/or information processing according to pre-set or stored instructions, and its hardware includes but is not limited to microprocessors, special-purpose Integrated circuit (Application Specific Integrated Circuit, ASIC), programmable gate array (Field-Programmable Gate Array, FPGA), digital processor (Digital Signal Processor, DSP), embedded devices, etc.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • DSP Digital Signal Processor
  • the computer equipment may be a desktop computer, a notebook computer, a palmtop computer, a cloud server and other computing equipment.
  • the computer device can perform human-computer interaction with the user through a keyboard, a mouse, a remote control, a touch pad or a voice control device.
  • the memory 61 includes at least one type of readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static Random Access Memory (SRAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Programmable Read Only Memory (PROM), Magnetic Memory, Magnetic Disk, Optical Disk, etc.
  • the computer-readable storage medium may be non-volatile or volatile.
  • the memory 61 may be an internal storage unit of the computer device 6 , such as a hard disk or a memory of the computer device 6 .
  • the memory 61 may also be an external storage device of the computer device 6, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, flash memory card (Flash Card), etc.
  • the memory 61 may also include both the internal storage unit of the computer device 6 and its external storage device.
  • the memory 61 is generally used to store the operating system and various application software installed on the computer device 6 , such as computer-readable instructions for a cold boot recommendation method, and the like.
  • the memory 61 can also be used to temporarily store various types of data that have been output or will be output.
  • the processor 62 may be a central processing unit (Central Processing Unit, CPU), a controller, a microcontroller, a microprocessor, or other data processing chips. This processor 62 is typically used to control the overall operation of the computer device 6 . In this embodiment, the processor 62 is configured to execute computer-readable instructions stored in the memory 61 or process data, for example, computer-readable instructions for executing the cold start recommendation method.
  • CPU Central Processing Unit
  • controller a microcontroller
  • microprocessor microprocessor
  • This processor 62 is typically used to control the overall operation of the computer device 6 .
  • the processor 62 is configured to execute computer-readable instructions stored in the memory 61 or process data, for example, computer-readable instructions for executing the cold start recommendation method.
  • the network interface 63 may include a wireless network interface or a wired network interface, and the network interface 63 is generally used to establish a communication connection between the computer device 6 and other electronic devices.
  • the computer device proposed in this embodiment realizes the cold-start user's item recommendation without revealing private information, avoids the leakage of private information, improves the confidentiality of user recommendation, and passes the rating matrix with less privacy degree.
  • the joint calculation greatly improves the accuracy of user item recommendation without revealing user privacy.
  • the present application also provides another embodiment, that is, to provide a computer-readable storage medium, where the computer-readable storage medium stores computer-readable instructions for cold start recommendation, and the computer-readable instructions for cold start recommendation can be Executed by at least one processor to cause the at least one processor to perform the steps recommended for a cold start as described above.
  • the computer-readable storage medium proposed in this embodiment realizes cold-start user item recommendation without revealing private information, avoids the leakage of private information, improves the confidentiality of user recommendation, and reduces the degree of privacy through
  • the scoring matrix is jointly calculated, which greatly improves the accuracy of user item recommendation without revealing user privacy.
  • the method of the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is better implementation.
  • the technical solution of the present application can be embodied in the form of a software product in essence or in a part that contributes to the prior art, and the computer software product is stored in a storage medium (such as ROM/RAM, magnetic disk, CD-ROM), including several instructions to make a terminal device (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) execute the methods described in the various embodiments of this application.
  • a storage medium such as ROM/RAM, magnetic disk, CD-ROM
  • the blockchain referred to in this application is a new application mode of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm.
  • Blockchain essentially a decentralized database, is a series of data blocks associated with cryptographic methods. Each data block contains a batch of network transaction information to verify its Validity of information (anti-counterfeiting) and generation of the next block.
  • the blockchain can include the underlying platform of the blockchain, the platform product service layer, and the application service layer.

Abstract

本申请实施例属于大数据技术领域,涉及一种冷启动推荐方法及相关设备,可应用于智慧安防领域,包括:在接收到第一服务器发送的第一密钥时,计算本地服务器的第一评分参数;在接收到第二服务器发送的第一加密数据时,根据第一评分参数和第一加密数据计算第一加密相似度,并根据第一密钥对第一加密相似度进行解密,得到第一解密相似度;发送第一解密相似度至第一服务器;在接收到第一服务器发送的总相似度时,根据总相似度生成目标用户的物品推荐表。此外,本申请还涉及区块链技术,所述物品推荐表可存储于区块链中。本申请实现了在冷启动推荐时用户隐私信息的保护。

Description

冷启动推荐方法、装置、计算机设备及存储介质
本申请要求于 20201127日提交中国专利局、申请号为 202011367515.7,发明名称为“ 冷启动推荐方法、装置、计算机设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及大数据技术领域,尤其涉及一种冷启动推荐方法、装置、计算机设备及存储介质。
背景技术
随着互联网和电子商务的迅猛发展,推荐系统成为企业提高市场竞争力的重要工具。其中,协同过滤是最著名的一种推荐算法。但协同过滤往往面临冷启动问题,当系统中有新用户加入时,该用户在系统中不存在历史评分数据,不能根据传统算法计算用户间的相似度,也就无法为其进行推荐。
现有的冷启动往往需要联合多方数据,发明人意识到,即利用用户在别的场景下的历史信息来解决冷启动问题,但这会涉及到隐私性问题,同时不同的公司之间也无法简单地共享或允许彼此完全访问其数据库,否则将会导致客户隐私信息的泄露。因此,如何在不泄露用户隐私的情况下实现用户物品的冷启动推荐是当前需要解决的技术问题。
发明内容
本申请实施例的目的在于提出一种冷启动推荐方法、装置、计算机设备及存储介质,旨在解决当前冷启动推荐时隐私泄露的技术问题。
为了解决上述技术问题,本申请实施例提供一种冷启动推荐方法,采用了如下所述的技术方案:
一种冷启动推荐方法,应用于本地服务器,包括以下步骤:
在接收到第一服务器发送的第一密钥时,计算本地服务器的第一评分参数,其中,所述本地服务器为不包括目标用户的物品信息的服务器,所述第一服务器为独立的第三方服务器;
在接收到第二服务器发送的第一加密数据时,根据所述第一评分参数和所述第一加密数据计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,其中,所述第二服务器为包括所述目标用户的物品信息的服务器;
发送所述第一解密相似度至所述第一服务器,以使所述第一服务器根据所述第一解密相似度计算总相似度;
在接收到所述第一服务器发送的所述总相似度时,根据所述总相似度生成所述目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器,以使所述第二服务器根据所述物品推荐表对所述目标用户进行物品推荐。
为了解决上述技术问题,本申请实施例还提供一种冷启动推荐系统,所述冷启动推荐系统包括本地服务器、第一服务器和第二服务器,采用了如下所述的技术方案:
所述第一服务器,用于随机生成第一密钥和第二密钥,将所述第一密钥发送至所述本地服务器,将所述第二密钥发送至所述第二服务器;
所述本地服务器,用于在接收到所述第一服务器发送的所述第一密钥时,计算第一评分参数,并根据所述第一密钥对所述第一评分参数进行加密,得到第二加密数据,将所述第二加密数据发送至所述第二服务器;
所述第二服务器,用于在接收到所述第一服务器发送的所述第二密钥时,计算第二评分参数,并根据所述第二密钥对所述第二评分参数进行加密,得到第一加密数据,并将所述第一加密数据发送至所述本地服务器;
所述本地服务器,用于在接收到所述第一加密数据时,根据所述第一加密数据和所述第一评分参数计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,将所述第一解密相似度发送至所述第一服务器;
所述第二服务器,用于在接收到所述第二加密数据时,根据所述第二加密数据和所述第二评分参数,计算第二加密相似度,并根据所述第二密钥对所述第二加密相似度进行解密,得到第二解密相似度,将所述第二解密相似度发送至所述第一服务器;
所述第一服务器,用于在接收到所述第一解密相似度和所述第二解密相似度时,根据所述第一解密相似度和所述第二解密相似度计算总相似度,并将所述总相似度分别发送至所述本地服务器和所述第二服务器;
所述本地服务器,用于在接收到所述总相似度时,根据所述总相似度生成目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器;
所述第二服务器,用于在接收到所述物品推荐表时,根据所述物品推荐表对所述目标用户进行物品推荐。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时还实现如下步骤:
在接收到第一服务器发送的第一密钥时,计算本地服务器的第一评分参数,其中,所述本地服务器为不包括目标用户的物品信息的服务器,所述第一服务器为独立的第三方服务器;
在接收到第二服务器发送的第一加密数据时,根据所述第一评分参数和所述第一加密数据计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,其中,所述第二服务器为包括所述目标用户的物品信息的服务器;
发送所述第一解密相似度至所述第一服务器,以使所述第一服务器根据所述第一解密相似度计算总相似度;
在接收到所述第一服务器发送的所述总相似度时,根据所述总相似度生成所述目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器,以使所述第二服务器根据所述物品推荐表对所述目标用户进行物品推荐。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得所述处理器还执行如下步骤:
在接收到第一服务器发送的第一密钥时,计算本地服务器的第一评分参数,其中,所述本地服务器为不包括目标用户的物品信息的服务器,所述第一服务器为独立的第三方服务器;
在接收到第二服务器发送的第一加密数据时,根据所述第一评分参数和所述第一加密数据计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,其中,所述第二服务器为包括所述目标用户的物品信息的服务器;
发送所述第一解密相似度至所述第一服务器,以使所述第一服务器根据所述第一解密相似度计算总相似度;
在接收到所述第一服务器发送的所述总相似度时,根据所述总相似度生成所述目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器,以使所述第二服务器根据所述物品推荐表对所述目标用户进行物品推荐。
上述冷启动推荐方法,本地服务器在接收到第一服务器发送的第一密钥时,计算本地服务器的第一评分参数,其中,本地服务器为不包括目标用户的物品信息的服务器,第一服务器为独立的第三方服务器,第二服务器为包括目标用户的物品信息的服务器;通过密钥可以实现本地服务器和第二服务器对各自生成的评分参数进行加密,并且该密钥由第三方服务器(即第一服务器)产生,本地服务器和第二服务器之间并不会知道彼此的加密和 解密方式,确保了用户隐私信息的安全。在本地服务器接收到第二服务器发送的第一加密数据时,根据第一评分参数和第一加密数据计算第一加密相似度,并根据第一密钥对第一加密相似度进行解密,得到第一解密相似度。本地服务器通过第一密钥对第一加密相似度进行解密,可以使得在不需要得到第二服务器的评分参数的情况下,计算得到两个服务器之间的第一解密相似度。而后,本地服务器发送第一解密相似度至第一服务器,以使第一服务器根据第一解密相似度计算总相似度,通过第一服务器对总相似度进行计算,进一步确保了本地服务器和第二服务器之间不会存在消息的泄露的情况。在本地服务器接收到第一服务器发送的总相似度时,根据总相似度生成目标用户的物品推荐表,并发送物品推荐表至第二服务器,以使第二服务器根据物品推荐表对目标用户进行物品推荐。由此,实现了在不泄露隐私信息的情况下的冷启动用户的物品推荐,避免了隐私信息的泄露,提高了用户推荐的保密性,并且通过隐私程度较小的评分矩阵进行联合计算,极大地提高了在不泄露用户隐私的前提下用户物品推荐的准确率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是冷启动推荐方法应用于本地服务器的一个实施例的流程示意图;
图3是根据本申请的冷启动推荐系统的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
附图标记:第一计算模块401、第一解密模块402、第一发送模块403、第一推荐模块404、第二计算模块501、第二解密模块502、第二发送模块503和第二推荐模块504。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的冷启动推荐方法应用于冷启动推荐系统中。如图1所示,系统架构包括第一服务器、第二服务器和本地服务器。第一服务器和第二服务器之间、第一服务器和本地服务器之间、本地服务器和第二服务器之间均通过网络进行连接,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,图1中的第一服务器、第二服务器和本地服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的第一服务器、第二服务器和本地服务器。
继续参考图2,示出了根据本申请的冷启动推荐方法的一个实施例的流程图。所述冷 启动推荐方法,包括以下步骤:
步骤S201,在接收到第一服务器发送的第一密钥时,计算本地服务器的第一评分参数,其中,所述本地服务器为不包括目标用户的物品信息的服务器,所述第一服务器为独立的第三方服务器;
在本实施例中,第一服务器为独立的第三方服务器,受本地服务器和第二服务器的信任,第二服务器为包括目标用户的物品信息的服务器,本地服务器为不包括目标用户的物品信息的服务器,该目标用户相对于第二服务器即为新用户,本地服务器和第二服务器拥有相同的用户和不同的物品。第一密钥则为第一服务器发送的密钥数据,该第一密钥包括第一随机向量和随机密钥值。
具体地,第一服务器在随机生成第一随机向量、第二随机向量和随机数时,根据该第一随机向量、第二随机向量和随机数计算得到一个随机密钥值,并将该随机密钥值和第一随机向量生成的第一密钥发送至本地服务器。同时,第一服务器还会将由该第二随机向量和随机数生成的第二密钥发送至第二服务器。在本地服务器接收到第一服务器发送的第一密钥时,则计算本地服务器的第一评分参数,其中,该第一评分参数则为本地服务器用户物品推荐评分参数,该第一评分参数可通过本地服务器存储的用户物品评分和评分均值计算得到。
步骤S202,在接收到第二服务器发送的第一加密数据时,根据所述第一评分参数和所述第一加密数据计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,其中,所述第二服务器为包括所述目标用户的物品信息的服务器;
在本实施例中,本地服务器在计算得到第一评分参数时,还会根据接收到的第一密钥对该第一评分参数进行加密,得到第二加密数据,并将该第二加密数据发送至第二服务器。第二服务器在计算得到第二评分参数时,亦会根据该第二密钥对第二评分参数进行加密,即得到第一加密数据,并将该第一加密数据发送至本地服务器。
因此,本地服务器在接收到第二服务器发送的第一加密数据时,则根据本地服务器的第一评分参数和该第一加密数据,计算第一加密相似度。具体地,计算该第一加密数和第一评分参数的向量夹角,即得到该第一加密相似度。在得到该第一加密相似度时,本地服务器将该第一加密相似度与随机密钥值相减,即得到本地服务器的第一解密相似度。
步骤S203,发送所述第一解密相似度至所述第一服务器,以使所述第一服务器根据所述第一解密相似度计算总相似度;
在本实施例中,本地服务器在得到第一解密相似度时,发送该第一解密相似度至第一服务器,与此同时,第二服务器亦会发送计算得到的第二解密相似度至第一服务器。第一服务器在接收到该第一解密相似度和第二解密相似度时,则将该第一解密相似和第二解密相似度相加,得到总相似度;在得到该总相似度时,第一服务器还会根据该总相似度构建对应的相似度矩阵,将该总相似度与该相似度矩阵同时发送给本地服务器和第二服务器。
步骤S204,在接收到所述第一服务器发送的所述总相似度时,根据所述总相似度生成所述目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器,以使所述第二服务器根据所述物品推荐表对所述目标用户进行物品推荐。
在本实施例中,本地服务器在接收到第一服务器发送的总相似度时,则根据该总相似度生成目标用户的物品推荐表,并将该物品推荐表发送至第二服务器。第二服务器在接收到该物品推荐表时,根据该物品推荐表即可确定目标用户对应的推荐物品,由此实现第二服务器对目标用户的物品推荐。
需要强调的是,为进一步保证上述物品推荐表的私密和安全性,上述物品推荐表还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密 码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本实施例实现了在不泄露隐私信息的情况下的冷启动用户的物品推荐,避免了隐私信息的泄露,提高了用户推荐的保密性,并且通过隐私程度较小的评分矩阵进行联合计算,极大地提高了在不泄露用户隐私的前提下用户物品推荐的准确率。
在本申请的一些实施例中,在上述计算本地服务器的第一评分参数之后,包括:
所述第一密钥包括第一随机向量,根据所述第一密钥中的所述第一随机向量对所述第一评分参数进行加密,得到第二加密数据;
发送所述第二加密数据至所述第二服务器,以使所述第二服务器根据所述第二加密数据计算所述第二服务器对应的第二加密相似度。
在本实施例中,本地服务器在接收到第一密钥时,第一密钥包括第一随机向量,根据第一密钥中的第一随机向量对第一评分参数进行加密,具体地,将计算得到的第一评分参数与该第一随机向量相减,得到的结果即为第一评分参数加密后的数据,即第二加密数据。以第一服务器生成的第一随机向量取
Figure PCTCN2021096586-appb-000001
为例,本地服务器的第一评分参数用C u,j表示,则计算得到本地服务器的第二加密数据为
Figure PCTCN2021096586-appb-000002
本地服务器在得到该第二加密数据时,发送该第二加密数据至第二服务器;第二服务器在接收到该第二加密数据时,则可根据该第二加密数据与第二服务器的第二评分参数,计算得到第二加密相似度。
本实施例通过将本地服务器的第一评分参数进行加密,避免了第二服务器直接获取到本地服务器的物品评分信息,确保了用户隐私信息的安全。
在本申请的一些实施例中,上述计算本地服务器的第一评分参数包括:
获取所述本地服务器存储的用户物品评分和评分均值;
根据所述用户物品评分和所述评分均值,计算所述第一评分参数。
在本实施例中,第一评分参数为本地服务器的用户物品推荐评分参数,获取本地服务器中存储的用户物品评分和评分均值,根据该用户物品评分和评分均值计算得到该第一评分参数。第二评分参数为第二服务器的用户物品推荐评分参数,根据第二服务器中存储的用户物品评分和对应的评分均值,同样可以计算得到该第二评分参数。该第一评分参数和第二评分参数的计算公式如下所示:
Figure PCTCN2021096586-appb-000003
其中,C u,j表示第一评分参数,C u,i表示第二服务参数,v u,j表示本地服务器的用户物品评分,v u,i表示第二服务器的用户物品评分用,
Figure PCTCN2021096586-appb-000004
表示本地服务器的评分均值,
Figure PCTCN2021096586-appb-000005
表示第二服务器的评分均值,i表示第二服务器中的物品,j表示本地服务器中的物品。
本实施例通过计算本地服务器的第一评分参数,使得通过该第一评分参数能够与第二服务器的评分参数的相似度进行精确计算,进一步实现对目标用户的精确推荐。
在本申请的一些实施例中,上述根据所述总相似度生成所述目标用户的物品推荐表包括:
在接收到所述第一服务器发送的所述总相似度时,获取所述目标用户在所述本地服务器的物品评分信息;
根据所述总相似度和所述物品评分信息,计算得到所述目标用户的预测评分;
按照所述预测评分从高到低对所述本地服务器中存储的所有物品进行排序,得到所述目标用户对应的物品推荐表。
在本实施例中,本地服务器在接收到第一服务器发送的总相似度时,则获取目标用户在本地服务器中的物品评分信息,即目标用户对本地服务器中的物品的评分信息。在得到 该物品评分信息时,本地服务器根据该物品评分信息和该总相似度,计算目标用户在第二服务器中的预测评分。在计算得到该预测评分时,本地服务器则根据该预测评分从高到低对本地服务器中的所有物品进行排列,得到目标用户对应的物品推荐表。发送该物品推荐表至第二服务器,第二服务器在接收到该物品推荐表时,则可根据该物品推荐表对目标用户进行物品推荐。
本实施例通过本地服务器对目标用户的物品预测评分进行计算,实现了在不泄露隐私信息的情况下,对目标用户的精确推荐。
在本申请的一些实施例中,上述根据所述总相似度和所述物品评分信息,计算得到所述目标用户的预测评分包括:
将所述总相似度作为所述物品评分信息的权值,根据所述权值对所述物品评分信息进行加权求和,计算得到所述目标用户的预测评分。
在本实施例中,在得到总相似度和物品评分信息时,则将该总相似度作为物品评分信息的权值,根据该权值对该物品评分信息进行加权求和,即可计算得到该目标用户在第二服务器中的物品的预测评分。该预测评分的计算公式如下所示:
Figure PCTCN2021096586-appb-000006
其中,pred t,i表示预测评分,t表示第二服务器中的新用户,即目标用户,i,j分别为第二服务器和本地服务器中的物品,sim i,j表示总相似度,v t,j为本地服务器中目标用户的物品评分信息。
本实施例通过总相似度对目标用户的预测评分进行计算,使得通过该预测评分能够对目标用户进行精确推荐,提高了用户推荐的准确度。
在本申请的一些实施例中,上述根据所述第一评分参数和所述第一加密数据计算第一加密相似度包括:
计算所述第一评分参数和所述第一加密数据的向量夹角,将所述向量夹角作为所述第一加密相似度。
在本实施例中,在计算第一加密相似度时,计算第一评分参数和第一加密数据的向量夹角,将该向量夹角作为本地服务器的第一加密相似度。具体地,该第一加密相似度可用
Figure PCTCN2021096586-appb-000007
表示,其中,
Figure PCTCN2021096586-appb-000008
为第一加密数据,C u,j为本地服务器的第一评分参数,C u,i为第二服务器的第二评分参数,
Figure PCTCN2021096586-appb-000009
为第一服务器生成的第二随机向量。
本实施例通过将第一评分参数和第一加密数据的向量夹角作为第一加密相似度,实现了在不需要直接获取到第二服务器的评分信息的情况下对服务器之间物品相似度的计算,确保了用户隐私信息的安全。
在本申请的一些实施例中,上述根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度包括:
所述第一密钥包括随机密钥值,计算所述第一加密相似度与所述随机密钥值的差值,将所述差值作为所述第一解密相似度。
在本实施例中,第一密钥包括随机密钥值,计算第一加密相似度和该随机密钥值的差值,该差值即为第一解密相似度。以第一服务器生成的随机密钥值取z为例,该第一解密相似度则为
Figure PCTCN2021096586-appb-000010
该随机密钥值为第一服务器根据第一随机向量、第二随机向量和随机数计算得到,
Figure PCTCN2021096586-appb-000011
其中,
Figure PCTCN2021096586-appb-000012
为第二随机向量,
Figure PCTCN2021096586-appb-000013
为第一随机向量,r为随机数。
本实施例通过随机密钥值对第一加密相似度进行解密,实现了与第二服务器不同的解密方式,避免了本地服务器和第二服务器之间能够直接通过密钥解密得到评分信息,进一 步实现了用户隐私信息的保护。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述方法的实现,本申请提供了一种冷启动推荐系统的一个实施例,该系统具体可以应用于各种电子设备中。
如图3所示,本实施例所述的冷启动推荐系统包括本地服务器、第一服务器和第二服务器,所述本地服务器包括:第一计算模块401、第一解密模块402、第一发送模块403和第一推荐模块404,所述第二服务器包括:第二计算模块501、第二解密模块502、第二发送模块503和第二推荐模块504。
其中,
所述第一服务器,用于随机生成第一密钥和第二密钥,将所述第一密钥发送至所述本地服务器,将所述第二密钥发送至所述第二服务器;
所述本地服务器,用于在接收到所述第一服务器发送的所述第一密钥时,计算第一评分参数,并根据所述第一密钥对所述第一评分参数进行加密,得到第二加密数据,将所述第二加密数据发送至所述第二服务器;
所述第二服务器,用于在接收到所述第一服务器发送的所述第二密钥时,计算第二评分参数,并根据所述第二密钥对所述第二评分参数进行加密,得到第一加密数据,并将所述第一加密数据发送至所述本地服务器;
所述本地服务器,用于在接收到所述第一加密数据时,根据所述第一加密数据和所述第一评分参数计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,将所述第一解密相似度发送至所述第一服务器;
所述第二服务器,用于在接收到所述第二加密数据时,根据所述第二加密数据和所述第二评分参数,计算第二加密相似度,并根据所述第二密钥对所述第二加密相似度进行解密,得到第二解密相似度,将所述第二解密相似度发送至所述第一服务器;
所述第一服务器,用于在接收到所述第一解密相似度和所述第二解密相似度时,根据所述第一解密相似度和所述第二解密相似度计算总相似度,并将所述总相似度分别发送至所述本地服务器和所述第二服务器;
所述本地服务器,用于在接收到所述总相似度时,根据所述总相似度生成目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器;
所述第二服务器,用于在接收到所述物品推荐表时,根据所述物品推荐表对所述目标用户进行物品推荐。
在本实施例中,第一服务器为独立的第三方服务器,第一服务器随机生成第一随机向量、第二随机向量和随机数,并根据该第一随机向量、第二随机向量和随机数生成随机密钥值;将该第一随机向量和随机密钥值作为第一密钥发送至本地服务器,将该第二随机向量和随机数作为第二随机密钥发送至第二服务器。本地服务器在接收到该第一密钥时,则计算第一评分参数,并根据该第一密钥中的第一随机向量对第一评分参数进行加密,得到第二加密数据,并将该第二加密数据发送至第二服务器。
同时,第二服务器在接收到第二密钥时,则计算第二评分参数,该第二评分参数的计算方式与第一评分参数的计算方式相同,但所使用的参数数值不同。第二评分参数所使用的参数数据为第二服务器本地的用户物品评分和评分均值,第一评分参数所使用的参数数据则为本地服务器本地的用户物品评分和评分均值。在得到该第二评分参数时,该第二服务器则根据该第二密钥中的第二随机向量对该第二评分参数进行加密,得到第一加密数据。具体地,获取第二密钥中的第二随机向量,其中,该第二随机向量由第一服务器随机生成的区别于第一随机向量的随机向量,第一随机向量通过第一服务器发送至本地服务器中,第二随机向量则通过第一服务器发送至第二服务器中。在得到该第二随机向量时,第二服务器则将该第二随机向量与第二评分参数进行相加,即得到第二服务器对应的第一加密数据。以第一服务器生成的第二随机向量取
Figure PCTCN2021096586-appb-000014
为例,第二服务器的第二评分参数用C u,i表示,则计算得到第二服务器的第一加密数据为
Figure PCTCN2021096586-appb-000015
第二服务器发送该第一加密数据至本地服务器,本地服务器在接收到该第一加密数据时,则可根据该第一加密数据计算得到对应的第一加密相似度。
本地服务器在接收到第二服务器发送的第一加密数据时,则根据该第一评分参数和该第一加密数据计算第一加密相似度,并根据第一密钥中的随机密钥值对该第一加密相似度进行解密,即得到第一解密相似度。将该第一解密相似度发送至第一服务器。
与此同时,当该第二服务器接收到本地服务器发送的第二加密数据时,则计算该第二加密数据和第二评分参数的向量夹角,得到第二服务器对应的第二加密相似度。该第二加密相似度可用
Figure PCTCN2021096586-appb-000016
表示,其中,C u,i为第二服务器的第二评分参数,
Figure PCTCN2021096586-appb-000017
为本地服务器发送的第二加密数据。在得到该第二加密相似度时,则将该第二加密相似度与第二密钥中的随机数进行相减,即得到第二服务器对应的第二解密相似度。以第一服务器产生的随机数取r为例,该第二解密相似度则为
Figure PCTCN2021096586-appb-000018
发送该第二解密相似度至第一服务器中。
第一服务器在接收到由第二服务器发送的第二解密相似度和本地服务器发送的第一解密相似度时,对该第一解密相似度和第二解密相似度进行求和,计算得到总相似度。分别发送该总相似度至第二服务器和本地服务器。本地服务器在接收到该总相似度时,则根据该总相似度生成目标用户的物品推荐表,并将该物品推荐表发送至第二服务器。第二服务器在接收到该物品推荐表时,则可根据该物品推荐表对目标用户进行物品推荐。
本申请中的本地服务器包括:
第一计算模块401,用于在接收到第一服务器发送的第一密钥时,计算本地服务器的第一评分参数,其中,所述本地服务器为不包括目标用户的物品信息的服务器,所述第一服务器为独立的第三方服务器;
其中,所述第一密钥包括第一随机向量,所述第一计算模块401包括:
第一加密单元,用于根据所述第一密钥中的所述第一随机向量对所述第一评分参数进行加密,得到第二加密数据;
第一发送单元,用于发送所述第二加密数据至所述第二服务器,以使所述第二服务器根据所述第二加密数据计算所述第二服务器对应的第二加密相似度。
第一获取单元,用于获取所述本地服务器存储的用户物品评分和评分均值;
第一计算单元,用于根据所述用户物品评分和所述评分均值,计算所述第一评分参数。
在本实施例中,第一服务器为独立的第三方服务器,受本地服务器和第二服务器的信任,第二服务器为包括目标用户的物品信息的服务器,本地服务器为不包括目标用户的物品信息的服务器,该目标用户相对于第二服务器即为新用户,本地服务器和第二服务器拥有相同的用户和不同的物品。第一密钥则为第一服务器发送的密钥数据,该第一密钥包括第一随机向量和随机密钥值。
具体地,第一服务器在随机生成第一随机向量、第二随机向量和随机数时,根据该第 一随机向量、第二随机向量和随机数计算得到一个随机密钥值,并将该随机密钥值和第一随机向量生成的第一密钥发送至本地服务器。同时,第一服务器还会将由该第二随机向量和随机数生成的第二密钥发送至第二服务器。在本地服务器接收到第一服务器发送的第一密钥时,则计算本地服务器的第一评分参数,其中,该第一评分参数则为本地服务器用户物品推荐评分参数,该第一评分参数可通过本地服务器存储的用户物品评分和评分均值计算得到。
第一解密模块402,用于在接收到第二服务器发送的第一加密数据时,根据所述第一评分参数和所述第一加密数据计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,其中,所述第二服务器为包括所述目标用户的物品信息的服务器;
其中,所述第一解密模块包括:
第一确认单元,用于计算所述第一评分参数和所述第一加密数据的向量夹角,将所述向量夹角作为所述第一加密相似度。
第二确认单元,用于所述第一密钥包括随机密钥值,计算所述第一加密相似度与所述随机密钥值的差值,将所述差值作为所述第一解密相似度。
在本实施例中,本地服务器在计算得到第一评分参数时,还会根据接收到的第一密钥对该第一评分参数进行加密,得到第二加密数据,并将该第二加密数据发送至第二服务器。第二服务器在计算得到第二评分参数时,亦会根据该第二密钥对第二评分参数进行加密,即得到第一加密数据,并将该第一加密数据发送至本地服务器。
因此,本地服务器在接收到第二服务器发送的第一加密数据时,则根据本地服务器的第一评分参数和该第一加密数据,计算第一加密相似度。具体地,计算该第一加密数和第一评分参数的向量夹角,即得到该第一加密相似度。在得到该第一加密相似度时,本地服务器将该第一加密相似度与随机密钥值相减,即得到本地服务器的第一解密相似度。
第一发送模块403,用于发送所述第一解密相似度至所述第一服务器,以使所述第一服务器根据所述第一解密相似度计算总相似度;
在本实施例中,本地服务器在得到第一解密相似度时,发送该第一解密相似度至第一服务器,与此同时,第二服务器亦会发送计算得到的第二解密相似度至第一服务器。第一服务器在接收到该第一解密相似度和第二解密相似度时,则将该第一解密相似和第二解密相似度相加,得到总相似度;在得到该总相似度时,第一服务器还会根据该总相似度构建对应的相似度矩阵,将该总相似度与该相似度矩阵同时发送给本地服务器和第二服务器。
第一推荐模块404,用于在接收到所述第一服务器发送的所述总相似度时,根据所述总相似度生成所述目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器,以使所述第二服务器根据所述物品推荐表对所述目标用户进行物品推荐。
其中,所述第一推荐模块404包括:
第二获取单元,用于在接收到所述第一服务器发送的所述总相似度时,获取所述目标用户在所述本地服务器的物品评分信息;
第二计算单元,用于根据所述总相似度和所述物品评分信息,计算得到所述目标用户的预测评分;
排序单元,用于按照所述预测评分从高到低对所述本地服务器中存储的所有物品进行排序,得到所述目标用户对应的物品推荐表。
其中,所述第二计算单元包括:
计算子单元,用于将所述总相似度作为所述物品评分信息的权值,根据所述权值对所述物品评分信息进行加权求和,计算得到所述目标用户的预测评分。
在本实施例中,本地服务器在接收到第一服务器发送的总相似度时,则根据该总相似度生成目标用户的物品推荐表,并将该物品推荐表发送至第二服务器。第二服务器在接收到该物品推荐表时,根据该物品推荐表即可确定目标用户对应的推荐物品,由此实现第二 服务器对目标用户的物品推荐。
需要强调的是,为进一步保证上述物品推荐表的私密和安全性,上述物品推荐表还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请中的第二服务器包括:
第二计算模块501,用于在接收到第一服务器发送的第二密钥时,计算第二服务器的第二评分参数,其中,所述第二密钥包括第二随机向量和随机数;
第二解密模块502,用于在接收到本地服务器发送的第二加密数据时,根据所述第二评分参数和所述第二加密数据计算第二加密相似度,并根据所述随机数对所述第二加密相似度进行解密,得到第二解密相似度;
第二发送模块503,用于发送所述第二解密相似度至所述第一服务器,以使所述第一服务器根据所述第二解密相似度计算总相似度;
第二推荐模块504,用于在接收到所述本地服务器根据所述总相似度生成的物品推荐表时,根据所述物品推荐表对目标用户进行物品推荐。
其中,第二计算模块501包括:
第二加密单元,用于根据所述第二密钥中的所述第二随机向量对所述第二评分参数进行加密,得到第一加密数据;
第二发送单元,用于发送所述第一加密数据至所述本地服务器,以使所述本地服务器根据所述第一加密数据计算所述本地服务器对应的第一加密相似度。
在本实施例中,第二服务器在接收到第一服务器发送的第二密钥时,则计算对应的第二评分参数,该第二评分参数的计算方式与第一评分参数的计算方式相同,但所使用的参数数值不同。第二评分参数所使用的参数数据为第二服务器本地的用户物品评分和评分均值,第一评分参数所使用的参数数据则为本地服务器本地的用户物品评分和评分均值。当该第二服务器接收到本地服务器发送的第二加密数据时,则计算该第二加密数据和第二评分参数的向量夹角,得到第二服务器对应的第二加密相似度。该第二加密相似度可用
Figure PCTCN2021096586-appb-000019
表示,其中,C u,i为第二服务器的第二评分参数,
Figure PCTCN2021096586-appb-000020
为本地服务器发送的第二加密数据。在得到该第二加密相似度时,则将该第二加密相似度与第二密钥中的随机数进行相减,即得到第二服务器对应的第二解密相似度。以第一服务器产生的随机数取r为例,该第二解密相似度则为
Figure PCTCN2021096586-appb-000021
发送该第二解密相似度至第一服务器中,第一服务器根据该第二解密相似度和本地服务器发送的第一解密相似度即可计算得到总相似度。第二服务器在接收到由本地服务器根据第一服务器发送的总相似度生成的物品推荐表时,则可根据该物品推荐表对目标用户进行物品推荐。
本实施例提出的冷启动推荐系统,实现了在不泄露隐私信息的情况下的冷启动用户的物品推荐,避免了隐私信息的泄露,提高了用户推荐的保密性,并且通过隐私程度较小的评分矩阵进行联合计算,极大地提高了在不泄露用户隐私的前提下用户物品推荐的准确率。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application  Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。所述计算机可读存储介质可以是非易失性,也可以是易失性。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如冷启动推荐方法的计算机可读指令等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的计算机可读指令或者处理数据,例如运行所述冷启动推荐方法的计算机可读指令。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
本实施例提出的计算机设备,实现了在不泄露隐私信息的情况下的冷启动用户的物品推荐,避免了隐私信息的泄露,提高了用户推荐的保密性,并且通过隐私程度较小的评分矩阵进行联合计算,极大地提高了在不泄露用户隐私的前提下用户物品推荐的准确率。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有冷启动推荐的计算机可读指令,所述冷启动推荐的计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的冷启动推荐的步骤。
本实施例提出的计算机可读存储介质,实现了在不泄露隐私信息的情况下的冷启动用户的物品推荐,避免了隐私信息的泄露,提高了用户推荐的保密性,并且通过隐私程度较小的评分矩阵进行联合计算,极大地提高了在不泄露用户隐私的前提下用户物品推荐的准确率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的 形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (20)

  1. 一种冷启动推荐方法,应用于本地服务器,包括下述步骤:
    在接收到第一服务器发送的第一密钥时,计算本地服务器的第一评分参数,其中,所述本地服务器为不包括目标用户的物品信息的服务器,所述第一服务器为独立的第三方服务器;
    在接收到第二服务器发送的第一加密数据时,根据所述第一评分参数和所述第一加密数据计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,其中,所述第二服务器为包括所述目标用户的物品信息的服务器;
    发送所述第一解密相似度至所述第一服务器,以使所述第一服务器根据所述第一解密相似度计算总相似度;
    在接收到所述第一服务器发送的所述总相似度时,根据所述总相似度生成所述目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器,以使所述第二服务器根据所述物品推荐表对所述目标用户进行物品推荐。
  2. 根据权利要求1所述的冷启动推荐方法,其中,在所述计算本地服务器的第一评分参数的步骤之后,包括:
    所述第一密钥包括第一随机向量,根据所述第一密钥中的所述第一随机向量对所述第一评分参数进行加密,得到第二加密数据;
    发送所述第二加密数据至所述第二服务器,以使所述第二服务器根据所述第二加密数据计算所述第二服务器对应的第二加密相似度。
  3. 根据权利要求1所述的冷启动推荐方法,其中,所述计算本地服务器的第一评分参数的步骤包括:
    获取所述本地服务器存储的用户物品评分和评分均值;
    根据所述用户物品评分和所述评分均值,计算所述第一评分参数。
  4. 根据权利要求1所述的冷启动推荐方法,其中,所述根据所述总相似度生成所述目标用户的物品推荐表的步骤包括:
    在接收到所述第一服务器发送的所述总相似度时,获取所述目标用户在所述本地服务器的物品评分信息;
    根据所述总相似度和所述物品评分信息,计算得到所述目标用户的预测评分;
    按照所述预测评分从高到低对所述本地服务器中存储的所有物品进行排序,得到所述目标用户对应的物品推荐表。
  5. 根据权利要求4所述的冷启动推荐方法,其中,所述根据所述总相似度和所述物品评分信息,计算得到所述目标用户的预测评分的步骤包括:
    将所述总相似度作为所述物品评分信息的权值,根据所述权值对所述物品评分信息进行加权求和,计算得到所述目标用户的预测评分。
  6. 根据权利要求1所述的冷启动推荐方法,其中,所述根据所述第一评分参数和所述第一加密数据计算第一加密相似度的步骤包括:
    计算所述第一评分参数和所述第一加密数据的向量夹角,将所述向量夹角作为所述第一加密相似度。
  7. 根据权利要求1所述的冷启动推荐方法,其中,所述根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度的步骤包括:
    所述第一密钥包括随机密钥值,计算所述第一加密相似度与所述随机密钥值的差值,将所述差值作为所述第一解密相似度。
  8. 一种冷启动推荐系统,所述冷启动推荐系统包括本地服务器、第一服务器和第二服务器,其中:
    所述第一服务器,用于随机生成第一密钥和第二密钥,将所述第一密钥发送至所述本地服务器,将所述第二密钥发送至所述第二服务器;
    所述本地服务器,用于在接收到所述第一服务器发送的所述第一密钥时,计算第一评分参数,并根据所述第一密钥对所述第一评分参数进行加密,得到第二加密数据,将所述第二加密数据发送至所述第二服务器;
    所述第二服务器,用于在接收到所述第一服务器发送的所述第二密钥时,计算第二评分参数,并根据所述第二密钥对所述第二评分参数进行加密,得到第一加密数据,并将所述第一加密数据发送至所述本地服务器;
    所述本地服务器,用于在接收到所述第一加密数据时,根据所述第一加密数据和所述第一评分参数计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,将所述第一解密相似度发送至所述第一服务器;
    所述第二服务器,用于在接收到所述第二加密数据时,根据所述第二加密数据和所述第二评分参数,计算第二加密相似度,并根据所述第二密钥对所述第二加密相似度进行解密,得到第二解密相似度,将所述第二解密相似度发送至所述第一服务器;
    所述第一服务器,用于在接收到所述第一解密相似度和所述第二解密相似度时,根据所述第一解密相似度和所述第二解密相似度计算总相似度,并将所述总相似度分别发送至所述本地服务器和所述第二服务器;
    所述本地服务器,用于在接收到所述总相似度时,根据所述总相似度生成目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器;
    所述第二服务器,用于在接收到所述物品推荐表时,根据所述物品推荐表对所述目标用户进行物品推荐。
  9. 一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时还实现如下步骤:
    在接收到第一服务器发送的第一密钥时,计算本地服务器的第一评分参数,其中,所述本地服务器为不包括目标用户的物品信息的服务器,所述第一服务器为独立的第三方服务器;
    在接收到第二服务器发送的第一加密数据时,根据所述第一评分参数和所述第一加密数据计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,其中,所述第二服务器为包括所述目标用户的物品信息的服务器;
    发送所述第一解密相似度至所述第一服务器,以使所述第一服务器根据所述第一解密相似度计算总相似度;
    在接收到所述第一服务器发送的所述总相似度时,根据所述总相似度生成所述目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器,以使所述第二服务器根据所述物品推荐表对所述目标用户进行物品推荐。
  10. 根据权利要求9所述的计算机设备,其中,在所述计算本地服务器的第一评分参数的步骤之后,包括:
    所述第一密钥包括第一随机向量,根据所述第一密钥中的所述第一随机向量对所述第一评分参数进行加密,得到第二加密数据;
    发送所述第二加密数据至所述第二服务器,以使所述第二服务器根据所述第二加密数据计算所述第二服务器对应的第二加密相似度。
  11. 根据权利要求9所述的计算机设备,其中,所述计算本地服务器的第一评分参数的步骤包括:
    获取所述本地服务器存储的用户物品评分和评分均值;
    根据所述用户物品评分和所述评分均值,计算所述第一评分参数。
  12. 根据权利要求9所述的计算机设备,其中,所述根据所述总相似度生成所述目标用户的物品推荐表的步骤包括:
    在接收到所述第一服务器发送的所述总相似度时,获取所述目标用户在所述本地服务器的物品评分信息;
    根据所述总相似度和所述物品评分信息,计算得到所述目标用户的预测评分;
    按照所述预测评分从高到低对所述本地服务器中存储的所有物品进行排序,得到所述目标用户对应的物品推荐表。
  13. 根据权利要求12所述的计算机设备,其中,所述根据所述总相似度和所述物品评分信息,计算得到所述目标用户的预测评分的步骤包括:
    将所述总相似度作为所述物品评分信息的权值,根据所述权值对所述物品评分信息进行加权求和,计算得到所述目标用户的预测评分。
  14. 根据权利要求9所述的计算机设备,其中,所述根据所述第一评分参数和所述第一加密数据计算第一加密相似度的步骤包括:
    计算所述第一评分参数和所述第一加密数据的向量夹角,将所述向量夹角作为所述第一加密相似度。
  15. 根据权利要求9所述的计算机设备,其中,所述根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度的步骤包括:
    所述第一密钥包括随机密钥值,计算所述第一加密相似度与所述随机密钥值的差值,将所述差值作为所述第一解密相似度。
  16. 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得所述处理器还执行如下步骤:
    在接收到第一服务器发送的第一密钥时,计算本地服务器的第一评分参数,其中,所述本地服务器为不包括目标用户的物品信息的服务器,所述第一服务器为独立的第三方服务器;
    在接收到第二服务器发送的第一加密数据时,根据所述第一评分参数和所述第一加密数据计算第一加密相似度,并根据所述第一密钥对所述第一加密相似度进行解密,得到第一解密相似度,其中,所述第二服务器为包括所述目标用户的物品信息的服务器;
    发送所述第一解密相似度至所述第一服务器,以使所述第一服务器根据所述第一解密相似度计算总相似度;
    在接收到所述第一服务器发送的所述总相似度时,根据所述总相似度生成所述目标用户的物品推荐表,并发送所述物品推荐表至所述第二服务器,以使所述第二服务器根据所述物品推荐表对所述目标用户进行物品推荐。
  17. 根据权利要求16所述的计算机可读存储介质,其中,在所述计算本地服务器的第一评分参数的步骤之后,包括:
    所述第一密钥包括第一随机向量,根据所述第一密钥中的所述第一随机向量对所述第一评分参数进行加密,得到第二加密数据;
    发送所述第二加密数据至所述第二服务器,以使所述第二服务器根据所述第二加密数据计算所述第二服务器对应的第二加密相似度。
  18. 根据权利要求16所述的计算机可读存储介质,其中,所述计算本地服务器的第一评分参数的步骤包括:
    获取所述本地服务器存储的用户物品评分和评分均值;
    根据所述用户物品评分和所述评分均值,计算所述第一评分参数。
  19. 根据权利要求16所述的计算机可读存储介质,其中,所述根据所述总相似度生成所述目标用户的物品推荐表的步骤包括:
    在接收到所述第一服务器发送的所述总相似度时,获取所述目标用户在所述本地服务器的物品评分信息;
    根据所述总相似度和所述物品评分信息,计算得到所述目标用户的预测评分;
    按照所述预测评分从高到低对所述本地服务器中存储的所有物品进行排序,得到所述目标用户对应的物品推荐表。
  20. 根据权利要求19所述的计算机可读存储介质,其中,所述根据所述总相似度和所 述物品评分信息,计算得到所述目标用户的预测评分的步骤包括:
    将所述总相似度作为所述物品评分信息的权值,根据所述权值对所述物品评分信息进行加权求和,计算得到所述目标用户的预测评分。
PCT/CN2021/096586 2020-11-27 2021-05-28 冷启动推荐方法、装置、计算机设备及存储介质 WO2022110716A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011367515.7A CN112532627B (zh) 2020-11-27 2020-11-27 冷启动推荐方法、装置、计算机设备及存储介质
CN202011367515.7 2020-11-27

Publications (1)

Publication Number Publication Date
WO2022110716A1 true WO2022110716A1 (zh) 2022-06-02

Family

ID=74995013

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/096586 WO2022110716A1 (zh) 2020-11-27 2021-05-28 冷启动推荐方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN112532627B (zh)
WO (1) WO2022110716A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532627B (zh) * 2020-11-27 2022-03-29 平安科技(深圳)有限公司 冷启动推荐方法、装置、计算机设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012142751A1 (en) * 2011-04-19 2012-10-26 Nokia Corporation Method and apparatus for flexible diversification of recommendation results
CN104796475A (zh) * 2015-04-24 2015-07-22 苏州大学 一种基于同态加密的社会化推荐方法
CN106202331A (zh) * 2016-07-01 2016-12-07 中国传媒大学 分层次隐私保护的推荐系统及基于该推荐系统的作业方法
CN110413868A (zh) * 2018-11-06 2019-11-05 腾讯科技(深圳)有限公司 信息推荐方法、装置、系统及存储介质
WO2020007308A1 (zh) * 2018-07-04 2020-01-09 华为技术有限公司 报文处理方法以及接收端服务器
CN111104434A (zh) * 2019-11-25 2020-05-05 北京理工大学 一种基于隐私保护多级属性相似度的电子医疗推荐方法
CN112532627A (zh) * 2020-11-27 2021-03-19 平安科技(深圳)有限公司 冷启动推荐方法、装置、计算机设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3014587A1 (fr) * 2013-12-10 2015-06-12 Nuukik Systeme et procede informatise de recommandation d'un produit a un utilisateur
CN106021298B (zh) * 2016-05-03 2019-05-28 广东工业大学 一种基于非对称加权相似度的协同过滤推荐方法及系统
CN108269172B (zh) * 2018-01-18 2020-02-18 四川大学 基于综合相似度迁移的协同过滤方法
CN110189192B (zh) * 2019-05-10 2021-04-13 深圳前海微众银行股份有限公司 一种信息推荐模型的生成方法及装置
CN111291273A (zh) * 2020-02-20 2020-06-16 深圳前海微众银行股份有限公司 推荐系统优化方法、装置、设备及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012142751A1 (en) * 2011-04-19 2012-10-26 Nokia Corporation Method and apparatus for flexible diversification of recommendation results
CN104796475A (zh) * 2015-04-24 2015-07-22 苏州大学 一种基于同态加密的社会化推荐方法
CN106202331A (zh) * 2016-07-01 2016-12-07 中国传媒大学 分层次隐私保护的推荐系统及基于该推荐系统的作业方法
WO2020007308A1 (zh) * 2018-07-04 2020-01-09 华为技术有限公司 报文处理方法以及接收端服务器
CN110413868A (zh) * 2018-11-06 2019-11-05 腾讯科技(深圳)有限公司 信息推荐方法、装置、系统及存储介质
CN111104434A (zh) * 2019-11-25 2020-05-05 北京理工大学 一种基于隐私保护多级属性相似度的电子医疗推荐方法
CN112532627A (zh) * 2020-11-27 2021-03-19 平安科技(深圳)有限公司 冷启动推荐方法、装置、计算机设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BADSHA SHAHRIAR; YI XUN; KHALIL IBRAHIM; BERTINO ELISA: "Privacy Preserving User-Based Recommender System", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, 5 June 2017 (2017-06-05), US , pages 1074 - 1083, XP033123014, ISSN: 1063-6927, DOI: 10.1109/ICDCS.2017.248 *
ZHOU JUN;DONG XIAOLEI;CAO ZHENFU: "Research Advances on Privacy Preserving in Recommender Systems", JOURNAL OF COMPUTER RESEARCH AND DEVELOPMENT, vol. 56, no. 10, 28 October 2019 (2019-10-28), pages 2033 - 2048, XP055935663, ISSN: 1000-1239, DOI: 10.7544/issn1000-1239.2019.20190541 *

Also Published As

Publication number Publication date
CN112532627B (zh) 2022-03-29
CN112532627A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
US9667599B2 (en) Cloud key escrow system
CN111566649A (zh) 使用公有侧链验证存储在联盟区块链中的数据的完整性
US10609010B2 (en) System, methods and software application for sending secured messages on decentralized networks
EP2602755A1 (en) Privacy-preserving collaborative filtering
WO2022001526A1 (zh) 基于区块链的贸易数据处理方法及其相关设备
US11265153B2 (en) Verifying a result using encrypted data provider data on a public storage medium
US11411742B2 (en) Private set calculation using private intersection and calculation, and applications thereof
US11575501B2 (en) Preserving aggregation using homomorphic encryption and trusted execution environment, secure against malicious aggregator
WO2022068355A1 (zh) 基于信息的特征的加密方法、装置、设备及储存介质
US8117456B2 (en) Network system, server and information terminal for list matching
CN111291122B (zh) 基于区块链的竞标方法及装置
CN113434906B (zh) 数据查询方法、装置、计算机设备及存储介质
CN115203749A (zh) 一种基于区块链的数据交易方法和系统
WO2022110716A1 (zh) 冷启动推荐方法、装置、计算机设备及存储介质
Shahariar et al. A Secure Land Record Management System using Blockchain Technology
US20230316241A1 (en) Partitioning a request into transactions for a blockchain
CN117371010A (zh) 数据匿踪查询方法、电子设备和可读存储介质
US11496316B1 (en) System and method for identity verification for online dating
CN115599959A (zh) 数据共享方法、装置、设备及存储介质
US20230245111A1 (en) Systems and methods for requesting secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
US20230246822A1 (en) Systems and methods for providing secure, encrypted communications across distributed computer networks by coordinating cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
US20230246817A1 (en) Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
CN113746621B (zh) 一种基于区块链技术的多链架构信息共享系统
US10972349B1 (en) Cryptographic verification of data inputs for executables on a network
CN113205378A (zh) 基于区块链的电能交易系统

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 18/07/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 21896226

Country of ref document: EP

Kind code of ref document: A1