WO2018095049A1 - 生成推荐结果的方法和装置 - Google Patents

生成推荐结果的方法和装置 Download PDF

Info

Publication number
WO2018095049A1
WO2018095049A1 PCT/CN2017/092828 CN2017092828W WO2018095049A1 WO 2018095049 A1 WO2018095049 A1 WO 2018095049A1 CN 2017092828 W CN2017092828 W CN 2017092828W WO 2018095049 A1 WO2018095049 A1 WO 2018095049A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
item
neural network
hidden vector
layer
Prior art date
Application number
PCT/CN2017/092828
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 华为技术有限公司
Priority to US15/993,288 priority Critical patent/US20180276542A1/en
Publication of WO2018095049A1 publication Critical patent/WO2018095049A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement

Definitions

  • Embodiments of the present application relate to the field of electronic services, and more particularly, to a method and apparatus for generating a recommendation result.
  • the methods for generating recommendation results mainly include content-based recommendations, collaborative filtering-based recommendations, and hybrid recommendations.
  • Content-based recommendation mainly relies on the feature representation of the content, and generates the recommendation list in descending order according to the feature similarity. Based on this approach, there is also some work to improve the accuracy of recommendations by adding supplemental information such as user metadata.
  • recommendations based on collaborative filtering take advantage of the interaction between users and items.
  • a commonly used collaborative filtering method is to obtain the implicit information of users and items simultaneously by matrix decomposition, and calculate the matching degree of the two by their point multiplication. Studies have shown that recommendations based on collaborative filtering tend to be more accurate than content-based recommendations because the former directly targets recommended tasks. However, this method is often limited by the cold start problem in practice. In the absence of sufficient user history information, it is difficult to accurately recommend items.
  • Collaborative deep learning is a representative method in the existing method of mixing and generating recommendation results.
  • the method encodes the item content information by stacked denoising autoencoders (SDAE).
  • SDAE stacked denoising autoencoders
  • the initial item hidden vector is combined with the scoring matrix and the final item hidden vector and user hidden vector are obtained through optimization.
  • the user representation is still obtained by matrix decomposition, resulting in insufficient user's implicit vector expression ability, and the final recommendation result is not accurate.
  • the embodiment of the present application provides a method and apparatus for generating a recommendation result, which can improve the accuracy of the recommendation result.
  • a method for generating a recommendation result includes: acquiring item content information of at least one item and user scoring information of at least one user, wherein user scoring information of the first user of the at least one user includes the a user scoring a history of the at least one item; encoding the item content information and the user scoring information by using an item neural network and a user neural network, respectively, to obtain a target item of each item in the at least one item And a target user hidden vector of each of the at least one user; calculating a recommendation result for each of the users according to the target item hidden vector and the target user hidden vector.
  • the item content information of the at least one item and the scoring information of the at least one item of the at least one item may be acquired first.
  • the scoring information may be in the form of a matrix, and then the item neural network and the user neural network pair are used.
  • the item content information and the user scoring information are respectively encoded, obtaining a target item hidden vector corresponding to the at least one item and a target user hidden vector corresponding to the at least one user, and finally calculating a recommendation according to the target item hidden vector and the target user hidden vector. result.
  • calculating the recommendation result according to the target item hidden vector and the target user hidden vector comprising: calculating a dot multiplication of the target item hidden vector and the target user hidden vector.
  • the user's hidden vector and all the item hidden vectors are respectively calculated by the point multiplication, and the calculation results are sorted from the largest to the smallest, and the items in the preceding order are recommended to the user. This is not limited.
  • CNN collaborative deep embedding
  • the method for generating a recommendation result in the embodiment of the present application encodes the item content information and the user scoring information by using the item neural network and the user neural network to obtain the target item hidden vector and the target user hidden vector, thereby calculating the recommendation result, so that the recommendation result is calculated.
  • the user content information and the user's scoring information can be fully utilized to improve the accuracy of the recommendation result, thereby improving the user experience.
  • the item neural network and the user neural network are based on an N layer perceptron, and the item neural network and the user neural network are both N layers.
  • the article neural network and the user neural network respectively encode the item content information and the user scoring information, and obtain a target item hidden vector of each item of the at least one item and each of the at least one user a target user hidden vector of the user, comprising: encoding the item content information and the user scoring information on a first layer of the item neural network and a first layer of the user neural network to obtain a first item hidden a vector and a first user hidden vector; respectively transmitting the first item hidden vector and the first user hidden vector to a second layer of the article neural network and a second layer of the user neural network;
  • the kth layer of the article neural network and the kth layer of the user neural network encode the k-1th item hidden vector and the k-1th user hidden vector to obtain the kth object a hidden vector and a kth user hidden vector; respectively transmit
  • the high-level neural network can refine the previous information, it can generate more effective information and improve the accuracy of the recommendation results.
  • the first layer of the item neural network and the first layer of the user neural network are Encoding the item content information and the user scoring information to obtain a first item hidden vector and a first user hidden vector, comprising: at a first layer of the item neural network and a first layer of the user neural network, respectively Performing linear conversion between the item content information and the user scoring information; respectively performing nonlinear conversion on the linearly converted item content information and the user scoring information to obtain the first item hidden vector and the first User hidden vector.
  • the processing of the item content information and the user scoring information can be divided into two steps: first, linearly converting the item content information and the user scoring information, and then respectively performing linear conversion.
  • the subsequent item content information and the user scoring information are nonlinearly converted to obtain a first item hidden vector and a first user hidden vector.
  • the user scoring information is generally a high-dimensional sparse vector, and the high-dimensional sparse vector needs to be converted into a low-dimensional dense vector by performing linear transformation on the first layer of the user neural network.
  • the input information can be linearly converted and then nonlinearly converted in each layer of the multi-layer perceptron, which is not limited in this embodiment of the present application.
  • each layer of the item neural network and each layer of the user neural network adopt a tanh function as a nonlinear Activate the function.
  • the method further includes: acquiring new user scoring information of the second user of the at least one user, where The newly added user scoring information is a new scoring of the first item of the at least one item by the second user; and the user scoring information of the second user is updated according to the newly added user scoring information;
  • the user neural network re-encodes the updated user scoring information of the second user to obtain a new target user hidden vector; and calculates each of the target vectors according to the target item hidden vector and the new target user hidden vector New recommendation results for users.
  • the method further includes: acquiring item content information of the newly added item; using the item neural network to the new Encoding the item content information of the item to obtain a target item hidden vector of the added item; calculating a recommendation result for each user according to the target item hidden vector of the added item and the target user hidden vector .
  • the method further includes: acquiring new user scoring information of the third user of the at least one user, where Adding new user scoring information to the third user for scoring information of the newly added item; updating the third user's user scoring information for the second item of the at least one item, the second item and the The target item of the newly added item has the greatest hidden vector similarity; the user neural network is used to re-encode the updated user score information of the third user to obtain a new target user hidden vector; according to the target item hidden vector And the new target user hidden vector, calculating a new recommendation result for each of the users.
  • the dual network can use the newly added information to make a corresponding recommendation result.
  • the specific situation can be divided into the above three types:
  • the method before the acquiring the item content information of the at least one item and the user scoring information of the at least one user, the method further The method comprises: pre-training the item neural network by using a coding result of the stacked self-encoder SDAE; pre-training the user neural network by using random parameters.
  • the method before the acquiring the item content information of the at least one item and the user scoring information of the at least one user, the method further Including: adopting a dual small batch gradient descent method to optimize training of the item neural network and the user neural network.
  • the foregoing item neural network and the user neural network may be trained.
  • the embodiment of the present application adopts a collaborative training method, and is divided into two steps of pre-training and optimization.
  • the pre-training process the article neural network is pre-trained by using the coding result of the stacked self-encoder SDAE; the user neural network is pre-trained by using random parameters.
  • the method of dual small batch gradient descent is used to optimize the training of the article neural network and the user neural network.
  • the loss value obtained by the objective function will obtain two sets of gradients for the item and the user respectively, and the two sets of gradients will be respectively transmitted back to the corresponding network.
  • the multi-layer interaction design of the network enables each network training to affect another network, so that the two neural networks can be trained simultaneously through the cooperative network training algorithm to improve the optimization efficiency.
  • the method for performing dual-batch gradient descent is used to optimize training of the item neural network and the user neural network.
  • the method includes: calculating a dot multiplication of the p-th item hidden vector and the p-th user hidden vector as an output result of the p-th layer perceptron in the N-layer perceptron, where p is greater than or equal to 1 and less than or An integer equal to N; integrating an output result of each layer of the N-layer perceptron; comparing the output with the user scoring information to optimize a network of the item neural network and the user neural network parameter.
  • an output result can be generated for each layer of the multi-layer perceptron. For example, for the p-th layer, the dot multiplication of the p-th item hidden vector and the p-th user hidden vector is calculated as the p-th layer. Output the result. In this way, the output of each layer can be integrated to optimize the network parameters.
  • the integrating the output result of each layer of the N-layer perceptron includes: adding the output results of each layer perceptron.
  • the scoring matrix R m ⁇ n contains historical information that all known users scored the item.
  • R ij is 1 for a positive relationship between user i and item j;
  • R ij is 0 for a negative relationship between user i and item j, or the relationship is unknown.
  • an apparatus for generating a recommendation result for performing the method of any of the above-described first aspect or any of the possible implementations of the first aspect.
  • the apparatus comprises means for performing the method of any of the above-described first aspect or any of the possible implementations of the first aspect.
  • an apparatus for generating a recommendation result comprising: at least one processor, a memory, and a communication interface.
  • the at least one processor, the memory and the communication interface are each connected by a bus for storing computer execution instructions
  • the at least one processor is configured to execute the computer-executed instructions stored by the memory, such that the device can pass the communication
  • the interface interacts with other devices to perform the method of the first aspect or any of the possible implementations of the first aspect.
  • a computer readable medium for storing a computer program comprising instructions for performing the method of the first aspect or any of the possible implementations of the first aspect.
  • FIG. 1 is a schematic flowchart of a method for generating a recommendation result according to an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of another method for generating a recommendation result according to an embodiment of the present application.
  • FIG. 3 is a schematic block diagram of an apparatus for generating a recommendation result according to an embodiment of the present application.
  • FIG. 4 is a schematic block diagram of an apparatus for generating a recommendation result according to an embodiment of the present application.
  • FIG. 1 is a schematic flowchart of a method 100 for generating a recommendation result provided by an embodiment of the present application.
  • the method 100 of the embodiment of the present application may be implemented by using any computing node, which is not limited in this embodiment of the present application.
  • S120 Encode the item content information and the user scoring information by using an item neural network and a user neural network, respectively, to obtain a target item hidden vector of each item in the at least one item and each of the at least one user.
  • the item content information of the at least one item and the scoring information of the at least one item of the at least one item may be acquired first.
  • the scoring information may be in the form of a matrix, and then the item neural network and the user neural network pair are used.
  • the item content information and the user scoring information are respectively encoded, obtaining a target item hidden vector corresponding to the at least one item and a target user hidden vector corresponding to the at least one user, and finally calculating a recommendation according to the target item hidden vector and the target user hidden vector. result.
  • calculating the recommendation result according to the target item hidden vector and the target user hidden vector including: calculating the The point product of the target item hidden vector and the target user hidden vector.
  • the user's hidden vector and all the item hidden vectors are respectively calculated by the point multiplication, and the calculation results are sorted from the largest to the smallest, and the items in the preceding order are recommended to the user. This is not limited.
  • the object neural network and the user neural network may be referred to as a dual network based on collaborative deep embedding (CDE), but the embodiment of the present application does not limit this.
  • CDE collaborative deep embedding
  • the above method adopts a dual network of dual embedding and non-linearity, and uses the content information of the item and the user scoring information to respectively encode, and obtain the target item hidden vector and the target user hidden vector.
  • Collaborative deep learning (CDL) method encodes the content information of the article by stacked denoising autoencoders (SDAE) to obtain the initial item hidden vector, and then combines the hidden vector of the item with the scoring matrix to obtain the optimization. The final item hidden vector and user hidden vector.
  • SDAE stacked denoising autoencoders
  • the user representation is still obtained by matrix decomposition, resulting in insufficient user's implicit vector expression ability, and the final recommendation result is not accurate.
  • the item content information and the user scoring information are respectively encoded by using the item neural network and the user neural network to obtain the target item hidden vector and the target user hidden vector, and then the recommended result is calculated, so that the item can be fully utilized.
  • the content information of the item and the user's scoring information improve the accuracy of the recommendation result, thereby improving the user experience.
  • the item neural network and the user neural network are based on an N-layer perceptron, and the item neural network and the user neural network are both N layers.
  • the article neural network and the user neural network respectively encode the item content information and the user scoring information to obtain a target item hidden vector of each item of the at least one item and each of the at least one user
  • the user's target user hidden vector including:
  • N is an integer greater than or equal to 1
  • k is an integer that is greater than 1 and less than N.
  • the above dual network may use a multi-layer perceptron as an infrastructure to encode the transmitted information at each layer of the item neural network and each layer of the user neural network.
  • the item neural network and the user neural network are both N layers, and then the acquired item content information and the user scoring information are respectively encoded in the first layer of the item neural network and the first layer of the user neural network, Obtaining a first item hidden vector and a first user hidden vector; and then transmitting the encoded result, that is, the first item hidden vector and the first user hidden vector, to the second layer of the item neural network and the user neural network respectively Second floor; the second layer of the item neural network and the user god
  • the second layer of the network respectively encodes the first item hidden vector and the first user hidden vector to obtain a second item hidden vector and a second user hidden vector, and then the second item hidden vector and the second user
  • the hidden vector is respectively transmitted to the third layer of the article neural network and the third layer of the user neural network, and so on, in the Nth layer of the article neural network and the
  • the high-level neural network can refine the previous information, it can generate more effective information and improve the accuracy of the recommendation results.
  • the first layer of the item neural network and the first layer of the user neural network encode the item content information and the user scoring information to obtain a first item hidden Vector and first user hidden vector, including:
  • the processing of the item content information and the user scoring information can be divided into two steps: first, linearly converting the item content information and the user scoring information, and then respectively performing linear conversion.
  • the subsequent item content information and the user scoring information are nonlinearly converted to obtain a first item hidden vector and a first user hidden vector.
  • the user scoring information is generally a high-dimensional sparse vector, and the high-dimensional sparse vector needs to be converted into a low-dimensional dense vector by performing linear transformation on the first layer of the user neural network.
  • the input information can be linearly converted and then nonlinearly converted in each layer of the multi-layer perceptron, which is not limited in this embodiment of the present application.
  • each layer of the article neural network and each layer of the user neural network employs a tanh function as a nonlinear activation function.
  • tanh function is only a preferred embodiment. In the embodiment of the present application, other functions may be used as the non-linear activation function, which is not limited in this embodiment of the present application.
  • the method further includes:
  • new user scoring information of the second user of the at least one user where the new user scoring information is a new scoring of the first item of the at least one item by the second user;
  • a new recommendation result for each of the users is calculated based on the target item hidden vector and the new target user hidden vector.
  • the method further includes:
  • the method further includes:
  • a new recommendation result for each of the users is calculated based on the target item hidden vector and the new target user hidden vector.
  • the dual network can use the newly added information to make a corresponding recommendation result.
  • the specific situation can be divided into the above three types:
  • the scoring information R ik of the kth item can be updated to R ik +1, and then the new scoring information of the i th user is obtained, and then The user is re-encoded using the user neural network to derive new recommendations.
  • the method before the obtaining the item content information of the at least one item and the user scoring information of the at least one user, the method further includes:
  • the user neural network is pre-trained with random parameters.
  • the method before the obtaining the item content information of the at least one item and the user scoring information of the at least one user, the method further includes:
  • the item neural network and the user neural network are optimally trained by adopting a dual small batch gradient descent method.
  • the foregoing item neural network and the user neural network may be trained.
  • the embodiment of the present application adopts a collaborative training method, and is divided into two steps of pre-training and optimization.
  • the pre-training process the article neural network is pre-trained by using the coding result of the stacked self-encoder SDAE; the user neural network is pre-trained by using random parameters.
  • the method of dual small batch gradient descent is used to optimize the training of the article neural network and the user neural network.
  • the loss value obtained by the objective function will obtain two sets of gradients for the item and the user respectively, and the two sets of gradients will be respectively transmitted back to the corresponding network.
  • the multi-layer interaction design of the network makes the training of each network affect Another network, so that the two neural networks are trained simultaneously through the cooperative network training algorithm to improve the optimization efficiency.
  • the system needs to update the neural network of the above item and the network parameters of the user neural network in order to make a more accurate prediction.
  • a training method for dual small batch gradient descent can be used, which can shorten the network parameter update time.
  • the method for performing dual-batch gradient descent is used to optimize training of the item neural network and the user neural network, including:
  • an output result can be generated for each layer of the multi-layer perceptron. For example, for the p-th layer, the dot multiplication of the p-th item hidden vector and the p-th user hidden vector is calculated as the p-th layer. Output the result. In this way, the output of each layer can be integrated to optimize the network parameters.
  • the integrating the output result of each layer of the N-layer perceptron includes: adding the output results of each layer perceptron.
  • the objective function of the optimization training is:
  • the scoring matrix R m ⁇ n contains historical information that all known users scored the item.
  • R ij is 1 for a positive relationship between user i and item j;
  • R ij is 0 for a negative relationship between user i and item j, or the relationship is unknown.
  • the method for generating a recommendation result in the embodiment of the present application utilizes the item content information and the user scoring matrix to focus on improving the prediction accuracy of the scoring matrix and simplify the objective function into an expression, which utilizes the synergy.
  • the two deep networks trained by the network training algorithm can use the item hidden vector for new and existing items, calculate the recommendation score of any user for any item, and improve the user experience.
  • FIG. 2 is a schematic flowchart of another method 200 for generating a recommendation result provided by an embodiment of the present application.
  • the method 200 of the embodiment of the present application may be implemented by using any computing node, which is not limited in this embodiment.
  • the item content information of the at least one item and the user scoring information of the at least one item to the at least one item are respectively input as the item neural network and the user neural network;
  • the item content information and the user scoring information are respectively converted into a vector form in the item neural network and the user neural network;
  • the first layer of the item neural network and the first layer of the user neural network respectively perform linear conversion on the item content information and the user scoring information in a vector form;
  • the linearly converted item content information and the linearly converted user scoring information are nonlinearly converted in the first layer of the item neural network and the first layer of the user neural network, respectively, to obtain the first item hidden vector. And the first user hidden vector;
  • the first item hidden vector and the first user hidden vector are linearly converted respectively in the second layer of the item neural network and the second layer of the user neural network;
  • the second layer of the item neural network and the second layer of the user neural network respectively perform nonlinear transformation of the linearly transformed first item hidden vector and the linearly converted first user hidden vector to obtain the first Two item hidden vectors and a second user hidden vector;
  • the second item hidden vector and the second user hidden vector are linearly converted respectively in the third layer of the item neural network and the third layer of the user neural network;
  • the third layer of the item neural network and the third layer of the user neural network respectively perform nonlinear transformation on the linearly transformed second item hidden vector and the linearly converted second user hidden vector to obtain the first Three item hidden vector and third user hidden vector;
  • R m ⁇ n is a scoring matrix generated according to the user scoring information, and is used to represent each user of the m users scoring each item in the n items
  • R ij is The i-th user's scoring information for the j-th item
  • x j is the content information of the j-th item
  • f is the item neural network
  • g is the user neural network
  • W v is the item neural network a parameter
  • the Wu is a parameter of the user neural network
  • r i is the column vector generated by the i-th row of R m ⁇
  • the method 200 may include various steps and processes in the foregoing method 100 to obtain a recommendation result, and details are not described herein again.
  • the method for generating a recommendation result in the embodiment of the present application encodes the item content information and the user scoring information by using the item neural network and the user neural network to obtain the target item hidden vector and the target user hidden vector, thereby calculating the recommendation result, so that the recommendation result is calculated.
  • the user content information and the user's scoring information can be fully utilized to improve the accuracy of the recommendation result, thereby improving the user experience.
  • FIG. 3 shows an apparatus 300 for generating a recommendation result provided by an embodiment of the present application.
  • the apparatus 300 includes:
  • the obtaining unit 310 is configured to acquire item content information of the at least one item and user scoring information of the at least one user, wherein the user scoring information of the first user of the at least one user includes a history of the at least one item by the first user Score
  • the encoding unit 320 is configured to encode the item content information and the user scoring information by using an item neural network and a user neural network, respectively, to obtain a target item hidden vector of each item in the at least one item and the at least one The target user hidden vector for each user in the user;
  • the calculating unit 330 is configured to calculate a recommendation result for each user according to the target item hidden vector and the target user hidden vector.
  • the apparatus for generating a recommendation result in the embodiment of the present application encodes the item content information and the user scoring information by using the item neural network and the user neural network to obtain the target item hidden vector and the target user hidden vector, thereby calculating the recommendation result, so that the recommendation result is calculated.
  • the user content information and the user's scoring information can be fully utilized to improve the accuracy of the recommendation result, thereby improving the user experience.
  • the item neural network and the user neural network are based on an N-layer perceptron, and the item neural network and the user neural network are both N layers, and the coding unit 320 is specifically configured to: Encoding the item content information and the user scoring information at a first layer of the item neural network and a first layer of the user neural network to obtain a first item hidden vector and a first user hidden vector; The first item hidden vector and the first user hidden vector are respectively transmitted to the second layer of the article neural network and the second layer of the user neural network for encoding; at the kth layer of the article neural network and The kth layer of the user neural network encodes the k-1th item hidden vector and the k-1th user hidden vector to obtain a kth item hidden vector and a kth user hidden vector; and the kth item hidden vector sum The kth user hidden vector is respectively transmitted to the k+1th layer of the article neural network and the k+1th layer of the user neural network for encoding; the Nth layer of the article neural network and
  • the encoding unit 320 is specifically configured to: linearly convert the item content information and the user scoring information on a first layer of the item neural network and a first layer of the user neural network, respectively And linearly converting the linearly converted item content information and the user scoring information to obtain the first item hidden vector and the first user hidden vector.
  • each layer of the article neural network and each layer of the user neural network employs a tanh function as a nonlinear activation function.
  • the obtaining unit 310 is further configured to: acquire new user scoring information of the second user of the at least one user, where the newly added user scoring information is that the second user pairs the at least one item
  • the device further includes: a first update unit, configured to update the user scoring information of the second user according to the newly added user scoring information;
  • the encoding unit 320 further uses And: re-encoding the updated user scoring information of the second user by using the user neural network to obtain a new target user hidden vector;
  • the calculating unit 330 is further configured to: according to the target item hidden vector and A new target user hidden vector is described, and a new recommendation result for each user is calculated.
  • the obtaining unit 310 is further configured to: obtain the item content information of the newly added item; the encoding unit 320 is further configured to: use the item neural network to encode the item content information of the added item, Obtaining a target item hidden vector of the newly added item; the calculating unit 330 is further configured to: calculate a recommendation result for each user according to the target item hidden vector of the newly added item and the target user hidden vector .
  • the acquiring unit 310 is further configured to: acquire new user scoring information of the third user of the at least one user, where the newly added user scoring information is that the third user adds the new item to the third user
  • the device 300 further includes: a second updating unit, configured to update user scoring information of the second item of the at least one item by the third user, the second item and the added item
  • the target item has the greatest hidden vector similarity
  • the encoding unit 320 is further configured to: re-encode the updated user scoring information of the third user by using the user neural network to obtain a new target user hidden vector
  • the calculating unit 330 is further configured to: calculate a new recommendation result for each user according to the target item hidden vector and the new target user hidden vector.
  • the apparatus 300 further includes: a pre-training unit, configured to pre-train the encoded result of the stacked self-encoder SDAE before acquiring the item content information of the at least one item and the user scoring information of the at least one user.
  • the item neural network pre-training the user neural network with random parameters.
  • the apparatus 300 further includes: an optimization unit, configured to adopt a device for dual small batch gradient descent to the object before the acquiring the content information of the at least one item and the user scoring information of the at least one user
  • the network and the user neural network perform optimal training.
  • the calculating unit 330 is further configured to: calculate a dot multiplication of the p-th item hidden vector and the p-th user hidden vector, as an output result of the p-th layer perceptron in the N-layer perceptron, P takes an integer greater than or equal to 1 and less than or equal to N; integrates an output result of each layer of the N-layer perceptron; compares the output with the user scoring information, and optimizes the item Neural network and network parameters of the user neural network.
  • the apparatus 300 herein is embodied in the form of a functional unit.
  • the term "unit” as used herein may refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (eg, a shared processor, a proprietary processor, or a group) for executing one or more software or firmware programs. Processors, etc.) and memory, merge logic, and/or other suitable components that support the described functionality.
  • ASIC application specific integrated circuit
  • processor eg, a shared processor, a proprietary processor, or a group
  • memory merge logic, and/or other suitable components that support the described functionality.
  • the device 300 may be any arbitrary computing node, and the device 300 may be used to perform various processes and/or steps in the foregoing method embodiment 100. No longer.
  • FIG. 4 shows another information processing apparatus 400 provided by an embodiment of the present application.
  • the apparatus 400 includes at least one processor 410, a memory 420, and a communication interface 430; the at least one processor 410, the memory 420, and the communication interface 430 are each connected by a bus 440;
  • the memory 420 is configured to store a computer execution instruction
  • the at least one processor 410 is configured to execute the computer-executed instructions stored by the memory 420, so that the device 400 can perform data interaction with other devices through the communication interface 430 to perform the information processing method provided by the foregoing method embodiment. .
  • the at least one processor 410 is configured to perform the following operations:
  • the item neural network and the user neural network are based on an N-layer perceptron, and the item neural network and the user neural network are both N layers, and the coding unit 320 is specifically configured to: Encoding the item content information and the user scoring information at a first layer of the item neural network and a first layer of the user neural network to obtain a first item hidden vector and a first user hidden vector; The first item hidden vector and the first user hidden vector are respectively transmitted to the second layer of the article neural network and the second layer of the user neural network for encoding; at the kth layer of the article neural network and The kth layer of the user neural network encodes the k-1th item hidden vector and the k-1th user hidden vector to obtain a kth item hidden vector and a kth user hidden vector; and the kth item hidden vector sum The kth user hidden vector is respectively transmitted to the k+1th layer of the article neural network and the k+1th layer of the user neural network for encoding; the Nth layer of the article neural network and
  • the at least one processor 410 is specifically configured to: linearly perform the item content information and the user scoring information on a first layer of the item neural network and a first layer of the user neural network Converting; linearly converting the linearly converted item content information and the user scoring information, respectively, to obtain the first item hidden vector and the first user hidden vector.
  • each layer of the article neural network and each layer of the user neural network employs a tanh function as a nonlinear activation function.
  • the at least one processor 410 is further configured to: acquire a new second user of the at least one user Adding user scoring information, the newly added user scoring information is a new scoring of the first item in the at least one item by the second user; updating the second user according to the newly added user scoring information User scoring information; re-encoding the user scoring information of the second user by using the user neural network to obtain a new target user hidden vector; calculating according to the target item hidden vector and the new target user hidden vector A new recommendation result for each of the users described.
  • the at least one processor 410 is further configured to: acquire item content information of the newly added item; and encode the item content information of the added item by using the item neural network to obtain the target of the added item.
  • the at least one processor 410 is further configured to: acquire new user scoring information of the third user of the at least one user, where the newly added user scoring information is the third user a scoring information of the item; updating the user scoring information of the second item in the at least one item by the third user, the second item having the greatest similarity to the target item hidden vector of the new item; using the user
  • the neural network re-encodes the updated user scoring information of the third user to obtain a new target user hidden vector; and calculates each user according to the target item hidden vector and the new target user hidden vector. New recommendation results.
  • the at least one processor 410 is further configured to: pre-train the item by using the encoded result of the stacked self-encoder SDAE before acquiring the item content information of the at least one item and the user scoring information of the at least one user.
  • Neural network the user neural network is pre-trained with random parameters.
  • the at least one processor 410 is further configured to: before the acquiring the item content information of the at least one item and the user scoring information of the at least one user, adopting a dual small batch gradient descent device to the item neural network and The user neural network performs optimization training.
  • the at least one processor 410 is further configured to: calculate a point multiplication of the p-th item hidden vector and the p-th user hidden vector as an output result of the p-th layer perceptron in the N-layer perceptron , p takes an integer greater than or equal to 1 and less than or equal to N; integrates an output result of each layer perceptron in the N layer perceptron; compares the output result with the user scoring information, and optimizes the The item neural network and the network parameters of the user neural network.
  • apparatus 400 can be embodied as a computing node and can be used to perform the respective steps and/or processes in the method embodiment 100 described above.
  • At least one processor may include different types of processors, or include the same type of processor; the processor may be any one of the following: a central processing unit (central processing unit, CPU), ARM processor, field programmable gate array (FPGA), dedicated processor and other devices with computational processing capabilities.
  • the at least one processor may also be integrated as a many-core processor.
  • the memory may be any one or any combination of the following: random access memory (RAM), read only memory (ROM), non-volatile memory (NVM).
  • RAM random access memory
  • ROM read only memory
  • NVM non-volatile memory
  • Storage media such as solid state drives (SSDs), mechanical hard disks, disks, and disk arrays.
  • the communication interface is used for data interaction between the device and other devices.
  • the communication interface may be any one or any combination of the following: a network interface (such as an Ethernet interface), a wireless network card, and the like having a network access function.
  • the bus may include an address bus, a data bus, a control bus, etc., for convenience of representation, the bus is indicated by a thick line in FIG.
  • the bus may be any one or any combination of the following: an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, an extended industry standard structure (extended industry standard) Architecture, EISA) A device for wired data transmission such as a bus.
  • ISA industry standard architecture
  • PCI peripheral component interconnect
  • EISA extended industry standard structure
  • a device for wired data transmission such as a bus.
  • each step of the above method may be completed by an integrated logic circuit of hardware in a processor or an instruction in a form of software.
  • the steps of the method disclosed in the embodiments of the present application may be directly implemented as a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
  • the storage medium is located in a memory, and the processor executes instructions in the memory, in combination with hardware to perform the steps of the above method. To avoid repetition, it will not be described in detail here.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the segmentation of the unit is only a logical function segmentation, and the actual implementation may have another segmentation manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • a computer readable storage medium A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program code. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种生成推荐结果的方法和装置,该方法包括:获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息,所述至少一个用户中第一用户的用户打分信息包括所述第一用户对所述至少一个物品的历史打分(S110);采用物品神经网络和用户神经网络分别对所述物品内容信息和所述用户打分信息进行编码,获得所述至少一个物品中每个物品的物品隐向量和所述至少一个用户中每个用户的用户隐向量(S120);根据所述物品隐向量和所述用户隐向量,确定对所述每个用户的推荐结果(S130)。该生成推荐结果的方法和装置能够提高推荐结果的准确性,从而提高用户体验。

Description

生成推荐结果的方法和装置
本申请要求于2016年11月22日提交中国专利局、申请号为201611043770.X、发明名称为“生成推荐结果的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及电子服务领域,更具体地,涉及生成推荐结果的方法和装置。
背景技术
在过去的十年里,网络和电子商务平台的迅猛发展带来了大量的商业数据(用户信息、物品信息和打分信息)。通过对这些数据的分析,可以预测出用户喜爱的物品并为其推荐。推荐算法已被广泛地运用到了商业系统中,例如亚马逊(amazon)、网飞公司(netflix)等等,并带来了大量创收。
生成推荐结果的方法主要包括基于内容的推荐、基于协同过滤的推荐和混合型推荐。基于内容的推荐主要依赖于内容的特征表示,并按照特征相似度,以由大到小的顺序生成推荐列表。建立在此方法上,也有一些工作通过加入补充信息(例如用户的元数据)来提高推荐的准确性。另一方面,基于协同过滤的推荐利用了用户与物品之间的交互关系。一种常用的协同过滤方法是通过矩阵分解同时得到用户和物品的隐式信息,并通过它们的点乘来计算两者的匹配度。研究表明,基于协同过滤的推荐往往比基于内容的推荐更加准确,因为前者直接针对推荐任务。但是,该方法在实践中往往会受到冷启动问题的限制。在缺少足量的用户历史信息的情况下,很难去精准地推荐物品。这些问题推动了混合型推荐系统的研究,将不同方面的信息结合起来可以获得更好的推荐效果。然而,传统的混合推荐依然存在特征表达性不足,对新物品的推荐能力不佳等问题。
协同深度学习(collaborative deep learning,CDL)是现有的混合生成推荐结果的方法中的一个代表性方法,该方法通过堆栈式自编码器(stacked denoising autoencoders,SDAE)对物品内容信息进行编码,得到初始物品隐向量,再将物品隐向量与打分矩阵结合,通过优化得到最终的物品隐向量和用户隐向量。但是,在CDL方法中,用户表示仍然是通过矩阵分解获得的,导致用户的隐向量表达能力不足,最终获得的推荐结果精度不高。
发明内容
有鉴于此,本申请实施例提供了一种生成推荐结果的方法和装置,能够提高推荐结果的准确性。
第一方面,提供了一种生成推荐结果的方法,包括:获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息,所述至少一个用户中第一用户的用户打分信息包括所述第一用户对所述至少一个物品的历史打分;采用物品神经网络和用户神经网络分别对所述物品内容信息和所述用户打分信息进行编码,获得所述至少一个物品中每个物品的目标物品隐向量和所述至少一个用户中每个用户的目标用户隐向量;根据所述目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
具体地,可以先获取至少一个物品的物品内容信息以及至少一个用户对该至少一个物品的打分信息,可选地,该打分信息可以是矩阵的形式,然后,采用物品神经网络和用户神经网络对该物品内容信息和该用户打分信息分别进行编码,获得该至少一个物品对应的目标物品隐向量和该至少一个用户对应的目标用户隐向量,最后根据该目标物品隐向量和目标用户隐向量计算推荐结果。
可选地,根据该目标物品隐向量和该目标用户隐向量计算推荐结果,包括:计算该该目标物品隐向量和该目标用户隐向量的点乘。针对具体的用户而言,将该用户的用户隐向量和所有物品隐向量分别计算点乘,将计算结果从大到小进行排序,将排序在前面的物品推荐给该用户,本申请实施例对此不作限定。
应理解,上述物品神经网络和用户神经网络可以称为基于协同深度嵌入(collaborative deep embedding,CDE)的对偶网络,但本申请实施例对此不作限定。
本申请实施例的生成推荐结果的方法,通过采用物品神经网络和用户神经网络分别对物品内容信息和用户打分信息进行编码,获得目标物品隐向量和目标用户隐向量,进而计算出推荐结果,这样能够充分利用物品内容信息和用户打分信息,提高推荐结果的准确性,从而提高用户体验。
在第一方面的第一种可能的实现方式中,所述物品神经网络和所述用户神经网络以N层感知机作为基础架构,且所述物品神经网络和所述用户神经网络均为N层,所述采用物品神经网络和用户神经网络分别对所述物品内容信息和所述用户打分信息进行编码,获得所述至少一个物品中每个物品的目标物品隐向量和所述至少一个用户中每个用户的目标用户隐向量,包括:在所述物品神经网络的第一层和所述用户神经网络的第一层对所述物品内容信息和所述用户打分信息进行编码,获得第一物品隐向量和第一用户隐向量;将所述第一物品隐向量和所述第一用户隐向量分别传递至所述物品神经网络的第二层和所述用户神经网络的第二层进行编码;在所述物品神经网络的第k层和所述用户神经网络的第k层对第k-1物品隐向量和第k-1用户隐向量进行编码,获得第k物品隐向量和第k用户隐向量;将所述第k物品隐向量和所述第k用户隐向量分别传递至所述物品神经网络的第k+1层和所述用户神经网络的第k+1层进行编码;在所述物品神经网络的第N层和所述用户神经网络的第N层对第N-1物品隐向量和第N-1用户隐向量进行编码,获得第N物品隐向量和第N用户隐向量;将所述第N物品隐向量和所述第N用户隐向量分别作为所述目标物品隐向量和所述目标用户隐向量;其中,N为大于或等于1的整数,k为取遍大于1且小于N的整数。
这样,由于高层的神经网络能够对前面的信息进行提炼,从而可以产生更加有效的信息,提高推荐结果的准确性。
结合第一方面的上述可能的实现方式,在第一方面的第二种可能的实现方式中,所述在所述物品神经网络的第一层和所述用户神经网络的第一层对所述物品内容信息和所述用户打分信息进行编码,获得第一物品隐向量和第一用户隐向量,包括:在所述物品神经网络的第一层和所述用户神经网络的第一层,分别对所述物品内容信息和所述用户打分信息进行线性转换;分别对线性转换后的所述物品内容信息和所述用户打分信息进行非线性转换,获得所述第一物品隐向量和所述第一用户隐向量。
具体地,在多层感知机的第一层中,对物品内容信息和用户打分信息的处理可以分为两个步骤:先分别对物品内容信息和用户打分信息进行线性转换,再分别对线性转换 后的物品内容信息和用户打分信息进行非线性转换,从而获得第一物品隐向量和第一用户隐向量。
应理解,用户打分信息一般情况下为一个高维稀疏向量,需要通过在用户神经网络的第一层进行线性转换,将高维稀疏向量转换为低维稠密向量。此外,在多层感知机的每一层都可以对输入信息先经过线性转换,再经过非线性转换,本申请实施例对此不作限定。
结合第一方面的上述可能的实现方式,在第一方面的第三种可能的实现方式中,所述物品神经网络的每一层和所述用户神经网络每一层均采用tanh函数作为非线性激活函数。
结合第一方面的上述可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:获取所述至少一个用户中的第二用户的新增用户打分信息,所述新增用户打分信息为所述第二用户对所述至少一个物品中的第一物品的新增打分;根据所述新增用户打分信息,更新所述第二用户的用户打分信息;采用所述用户神经网络对所述第二用户更新后的用户打分信息重新进行编码,获得新的目标用户隐向量;根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
结合第一方面的上述可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:获取新增物品的物品内容信息;采用所述物品神经网络对所述新增物品的物品内容信息进行编码,获得所述新增物品的目标物品隐向量;根据所述新增物品的目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
结合第一方面的上述可能的实现方式,在第一方面的第六种可能的实现方式中,所述方法还包括:获取所述至少一个用户中的第三用户的新增用户打分信息,所述新增用户打分信息为所述第三用户对所述新增物品的打分信息;更新所述第三用户对所述至少一个物品中第二物品的用户打分信息,所述第二物品与所述新增物品的目标物品隐向量相似度最大;采用所述用户神经网络对所述第三用户更新后的用户打分信息重新进行编码,获得新的目标用户隐向量;根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
具体地,当系统中增加新的物品和/或新的用户打分信息时,该对偶网络可以利用新增加的信息做出相应的推荐结果。具体情况可以分为上述三种:
(1)增加用户对已知物品的打分信息,对于这种情况,需要直接对该用户的打分信息进行更新,利用已经训练好的用户神经网络重新进行编码,进而重新计算推荐结果。
(2)增加新的物品,对于这种情况,需要获取新增物品的物品内容信息,利用已经训练好的物品神经网络对新增物品的物品内容信息进行编码,获得新增物品的目标物品隐向量,进而重新计算推荐结果;
(3)增加用户对新增物品的打分信息,对于这种情况,需要先获取新增物品的目标物品隐向量,再对已知物品中隐向量相似度与该新增物品的隐向量相似度最大的物品的打分信息进行更新,从而根据新的打分信息对该用户重新进行编码,计算推荐结果。
结合第一方面的上述可能的实现方式,在第一方面的第七种可能的实现方式中,在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,所述方法还包括:采用堆栈式自编码器SDAE的编码结果预训练所述物品神经网络;采用随机参数预训练所述用户神经网络。
结合第一方面的上述可能的实现方式,在第一方面的第八种可能的实现方式中,在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,所述方法还包括:采取对偶小批量梯度下降的方法对所述物品神经网络和所述用户神经网络进行优化训练。
具体地,在获取推荐结果之前,可以先对上述物品神经网络和用户神经网络进行训练,本申请实施例采用协同训练的方法,分为预训练和优化两步。在预训练的过程中,采用堆栈式自编码器SDAE的编码结果预训练所述物品神经网络;采用随机参数预训练所述用户神经网络。在优化的过程中,采取对偶小批量梯度下降的方法对所述物品神经网络和所述用户神经网络进行优化训练。
这样,通过目标函数求得的损失值,将分别针对物品和用户得到两组梯度,两组梯度将分别被传回对应的网络中。网络的多层交互设计,使得每个网络的训练都能影响到另一个网络,从而通过协同网络训练算法使两个神经网络得到同时训练,提高优化效率。
结合第一方面的上述可能的实现方式,在第一方面的第九种可能的实现方式中,所述采取对偶小批量梯度下降的方法对所述物品神经网络和所述用户神经网络进行优化训练,包括:计算所述第p物品隐向量和所述第p用户隐向量的点乘,作为所述N层感知机中第p层感知机的输出结果,p取遍大于或等于1且小于或等于N的整数;整合所述N层感知机中每一层感知机的输出结果;将所述输出结果与所述用户打分信息进行比较,优化所述物品神经网络和所述用户神经网络的网络参数。
具体地,对于多层感知机的每一层,都可以生成一个输出结果,例如,对于第p层而言,计算第p物品隐向量和第p用户隐向量的点乘,作为第p层的输出结果。这样,可以将每一层的输出结果进行整合,从而对网络参数进行优化。
应理解,上述多层感知机的不同层的编码结果具有互补性。一方面,靠近输入端的低层产生的向量可以保留更多信息;另一方面,高层的神经网络可以提炼信息,产生的向量往往更有效。因此,可以通过在多个层之间进行耦合来利用这种互补性,能够有效提高了预测精度。
可选地,所述整合所述N层感知机中每一层感知机的输出结果,包括:将所述每一层感知机的输出结果相加。
结合第一方面的上述可能的实现方式,在第一方面的第十种可能的实现方式中,所述优化训练的目标函数为:
Figure PCTCN2017092828-appb-000001
其中,Rm×n为根据所述用户打分信息生成的打分矩阵,用于表示m个用户中的每个用户对n件物品中的每件物品的打分,Rij为第i个用户对第j件物品的打分信息,xj为所述第j件物品的内容信息,f为所述物品神经网络,g为所述用户神经网络,Wv为所述物品神经网络的参数,所述Wu为所述用户神经网络的参数,vj=f(xj;Wv)为第j件物品的物品隐向量,
Figure PCTCN2017092828-appb-000002
为第i个用户的用户隐向量,ri为以Rm×n的第i行生成的列向量,
Figure PCTCN2017092828-appb-000003
为由ri得到的单位向量,
Figure PCTCN2017092828-appb-000004
Figure PCTCN2017092828-appb-000005
中的第j个元素,V=f(X;Wv),X为所述n件物品的物品内容信息组成的矩阵,m、n、i、j均为大于或等于1的整数,i大于或等于1且小于或等于m,j大于或等于1且小于或等于n。
具体地,假定有m个用户和n个物品,分别用i和j来表示索引。用xj表示第j件物品的内容信息。打分矩阵Rm×n包含所有已知用户对物品打分的历史信息。Rij为1代表用 户i与物品j之间存在正关系;Rij为0代表用户i与物品j之间存在负关系,或关系未知。本申请实施例利用物品内容信息X和打分矩阵Rm×n,将用户和物品分别编码成具有相同维度的隐向量,其中,每一个用户的隐向量为ui=g(Vri;Wu),每一个物品的隐向量为vj=f(xj;Wv)。最后,计算用户隐向量和物品隐向量之间的点乘,将结果与真实值Rij进行比较,对网络参数进行优化。
第二方面,提供了一种生成推荐结果的装置,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。
第三方面,提供了一种生成推荐结果的装置,该装置包括:至少一个处理器、存储器和通信接口。其中,该至少一个处理器、该存储器和该通信接口均通过总线连接,该存储器用于存储计算机执行指令,该至少一个处理器用于执行该存储器存储的计算机执行指令,使得该装置可以通过该通信接口与其它装置进行数据交互来执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
附图说明
图1为本申请实施例提供的生成推荐结果的方法的示意性流程图。
图2为本申请实施例提供的另一生成推荐结果的方法的示意性流程图。
图3为本申请实施例提供的生成推荐结果的装置的示意性框图。
图4为本申请实施例提供的生成推荐结果的装置的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
图1示出了本申请实施例提供的生成推荐结果的方法100的示意性流程图。本申请实施例的方法100可以通过任意计算节点来实现,对此本申请实施例不作限定。
S110,获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息,所述至少一个用户中第一用户的用户打分信息包括所述第一用户对所述至少一个物品的历史打分;
S120,采用物品神经网络和用户神经网络分别对所述物品内容信息和所述用户打分信息进行编码,获得所述至少一个物品中每个物品的目标物品隐向量和所述至少一个用户中每个用户的目标用户隐向量;
S130,根据所述目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
具体地,可以先获取至少一个物品的物品内容信息以及至少一个用户对该至少一个物品的打分信息,可选地,该打分信息可以是矩阵的形式,然后,采用物品神经网络和用户神经网络对该物品内容信息和该用户打分信息分别进行编码,获得该至少一个物品对应的目标物品隐向量和该至少一个用户对应的目标用户隐向量,最后根据该目标物品隐向量和目标用户隐向量计算推荐结果。
可选地,根据该目标物品隐向量和该目标用户隐向量计算推荐结果,包括:计算该 该目标物品隐向量和该目标用户隐向量的点乘。针对具体的用户而言,将该用户的用户隐向量和所有物品隐向量分别计算点乘,将计算结果从大到小进行排序,将排序在前面的物品推荐给该用户,本申请实施例对此不作限定。
上述物品神经网络和用户神经网络可以称为基于协同深度嵌入(collaborative deep embedding,CDE)的对偶网络,但本申请实施例对此不作限定。
应理解,上述方法采用了对偶嵌入和非线性的深度网络,利用物品内容信息和用户打分信息分别进行编码,得到目标物品隐向量和目标用户隐向量。
协同深度学习(collaborative deep learning,CDL)方法通过堆栈式自编码器(stacked denoising autoencoders,SDAE)对物品内容信息进行编码,得到初始物品隐向量,再将物品隐向量与打分矩阵结合,通过优化得到最终的物品隐向量和用户隐向量。但是,在CDL方法中,用户表示仍然是通过矩阵分解获得的,导致用户的隐向量表达能力不足,最终获得的推荐结果精度不高。
而在本申请实施例中,通过采用物品神经网络和用户神经网络分别对物品内容信息和用户打分信息进行编码,获得目标物品隐向量和目标用户隐向量,进而计算出推荐结果,这样能够充分利用物品内容信息和用户打分信息,提高推荐结果的准确性,从而提高用户体验。
作为一个可选的实施例,所述物品神经网络和所述用户神经网络以N层感知机作为基础架构,且所述物品神经网络和所述用户神经网络均为N层,
所述采用物品神经网络和用户神经网络分别对所述物品内容信息和所述用户打分信息进行编码,获得所述至少一个物品中每个物品的目标物品隐向量和所述至少一个用户中每个用户的目标用户隐向量,包括:
在所述物品神经网络的第一层和所述用户神经网络的第一层对所述物品内容信息和所述用户打分信息进行编码,获得第一物品隐向量和第一用户隐向量;
将所述第一物品隐向量和所述第一用户隐向量分别传递至所述物品神经网络的第二层和所述用户神经网络的第二层进行编码;
在所述物品神经网络的第k层和所述用户神经网络的第k层对第k-1物品隐向量和第k-1用户隐向量进行编码,获得第k物品隐向量和第k用户隐向量;
将所述第k物品隐向量和所述第k用户隐向量分别传递至所述物品神经网络的第k+1层和所述用户神经网络的第k+1层进行编码;
在所述物品神经网络的第N层和所述用户神经网络的第N层对第N-1物品隐向量和第N-1用户隐向量进行编码,获得第N物品隐向量和第N用户隐向量;
将所述第N物品隐向量和所述第N用户隐向量分别作为所述目标物品隐向量和所述目标用户隐向量;
其中,N为大于或等于1的整数,k为取遍大于1且小于N的整数。
具体地,上述对偶网络可以以多层感知机作为基础架构,在物品神经网络的每一层和用户神经网络的每一层分别对传递过来的信息进行编码。例如,该物品神经网络和该用户神经网络均为N层,那么在该物品神经网络的第一层和该用户神经网络的第一层,分别对获取的物品内容信息和用户打分信息进行编码,获得第一物品隐向量和第一用户隐向量;然后,将编码结果,即第一物品隐向量和第一用户隐向量,分别传递到该物品神经网络的第二层和该用户神经网络的第二层;在该物品神经网络的第二层和该用户神 经网络的第二层分别对该第一物品隐向量和该第一用户隐向量进行编码,获得第二物品隐向量和第二用户隐向量,再将该第二物品隐向量和该第二用户隐向量,分别传递到该物品神经网络的第三层和该用户神经网络的第三层,以此类推,在该物品神经网络的第N层和该用户神经网络的第N层对第N-1物品隐向量和第N-1用户隐向量进行编码,将获得的第N物品隐向量和第N用户隐向量分别作为所述目标物品隐向量和所述目标用户隐向量。
这样,由于高层的神经网络能够对前面的信息进行提炼,从而可以产生更加有效的信息,提高推荐结果的准确性。
作为一个可选的实施例,所述在所述物品神经网络的第一层和所述用户神经网络的第一层对所述物品内容信息和所述用户打分信息进行编码,获得第一物品隐向量和第一用户隐向量,包括:
在所述物品神经网络的第一层和所述用户神经网络的第一层,分别对所述物品内容信息和所述用户打分信息进行线性转换;
分别对线性转换后的所述物品内容信息和所述用户打分信息进行非线性转换,获得所述第一物品隐向量和所述第一用户隐向量。
具体地,在多层感知机的第一层中,对物品内容信息和用户打分信息的处理可以分为两个步骤:先分别对物品内容信息和用户打分信息进行线性转换,再分别对线性转换后的物品内容信息和用户打分信息进行非线性转换,从而获得第一物品隐向量和第一用户隐向量。
应理解,用户打分信息一般情况下为一个高维稀疏向量,需要通过在用户神经网络的第一层进行线性转换,将高维稀疏向量转换为低维稠密向量。此外,在多层感知机的每一层都可以对输入信息先经过线性转换,再经过非线性转换,本申请实施例对此不作限定。
作为一个可选的实施例,所述物品神经网络的每一层和所述用户神经网络每一层均采用tanh函数作为非线性激活函数。
应理解,采用tanh函数仅仅是一个优选的实施方式,在本申请实施例中,还可以采用其他函数作为非线性激活函数,本申请实施例对此不作限定。
作为一个可选的实施例,所述方法还包括:
获取所述至少一个用户中的第二用户的新增用户打分信息,所述新增用户打分信息为所述第二用户对所述至少一个物品中的第一物品的新增打分;
根据所述新增用户打分信息,更新所述第二用户的用户打分信息;
采用所述用户神经网络对所述第二用户更新后的用户打分信息重新进行编码,获得新的目标用户隐向量;
根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
作为一个可选的实施例,所述方法还包括:
获取新增物品的物品内容信息;
采用所述物品神经网络对所述新增物品的物品内容信息进行编码,获得所述新增物品的目标物品隐向量;
根据所述新增物品的目标物品隐向量和所述目标用户隐向量,计算对所述每个用户 的推荐结果。
作为一个可选的实施例,所述方法还包括:
获取所述至少一个用户中的第三用户的新增用户打分信息,所述新增用户打分信息为所述第三用户对所述新增物品的打分信息;
更新所述第三用户对所述至少一个物品中第二物品的用户打分信息,所述第二物品与所述新增物品的目标物品隐向量相似度最大;
采用所述用户神经网络对所述第三用户更新后的用户打分信息重新进行编码,获得新的目标用户隐向量;
根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
具体地,当系统中增加新的物品和/或新的用户打分信息时,该对偶网络可以利用新增加的信息作出相应的推荐结果。具体情况可以分为上述三种:
(1)增加用户对已知物品的打分信息,对于这种情况,需要直接对该用户的打分信息进行更新,利用已经训练好的用户神经网络重新进行编码,进而重新计算推荐结果。
(2)增加新的物品,对于这种情况,需要获取新增物品的物品内容信息,利用已经训练好的物品神经网络对新增物品的物品内容信息进行编码,获得新增物品的目标物品隐向量,进而重新计算推荐结果;
(3)增加用户对新增物品的打分信息,对于这种情况,需要先获取新增物品的目标物品隐向量,再对已知物品中隐向量相似度与该新增物品的隐向量相似度最大的物品的打分信息进行更新,从而根据新的打分信息对该用户重新进行编码,计算推荐结果。
在一种具体的实现中,假设存在m个用户和n件物品,新增加第i个用户对第q件物品的打分信息,i小于或等于m,q大于n,若隐向量相似度与该新增物品的隐向量相似度最大的物品为第k件物品,那么可以将该第k件物品的打分信息Rik更新为Rik+1,继而得到第i个用户的新的打分信息,再使用用户神经网络对该用户重新进行编码,得出新的推荐结果。
作为一个可选的实施例,在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,所述方法还包括:
采用堆栈式自编码器SDAE的编码结果预训练所述物品神经网络;
采用随机参数预训练所述用户神经网络。
作为一个可选的实施例,在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,所述方法还包括:
采取对偶小批量梯度下降的方法对所述物品神经网络和所述用户神经网络进行优化训练。
具体地,在获取推荐结果之前,可以先对上述物品神经网络和用户神经网络进行训练,本申请实施例采用协同训练的方法,分为预训练和优化两步。在预训练的过程中,采用堆栈式自编码器SDAE的编码结果预训练所述物品神经网络;采用随机参数预训练所述用户神经网络。在优化的过程中,采取对偶小批量梯度下降的方法对所述物品神经网络和所述用户神经网络进行优化训练。
这样,通过目标函数求得的损失值,将分别针对物品和用户得到两组梯度,两组梯度将分别被传回对应的网络中。网络的多层交互设计,使得每个网络的训练都能影响到 另一个网络,从而通过协同网络训练算法使两个神经网络得到同时训练,提高优化效率。
此外,对于不断增加新的信息的情况,当新的信息积攒到一定数量时,系统需要更新上述物品神经网络以及用户神经网络的网络参数,以便做出更准确的预测。对于新增加的信息,可以使用对偶小批量梯度下降的训练方法,这样能够缩短网络参数更新时间。
作为一个可选的实施例,所述采取对偶小批量梯度下降的方法对所述物品神经网络和所述用户神经网络进行优化训练,包括:
计算所述第p物品隐向量和所述第p用户隐向量的点乘,作为所述N层感知机中第p层感知机的输出结果,p取遍大于或等于1且小于或等于N的整数;
整合所述N层感知机中每一层感知机的输出结果;
将所述输出结果与所述用户打分信息进行比较,获得所述推荐结果。
具体地,对于多层感知机的每一层,都可以生成一个输出结果,例如,对于第p层而言,计算第p物品隐向量和第p用户隐向量的点乘,作为第p层的输出结果。这样,可以将每一层的输出结果进行整合,从而对网络参数进行优化。
应理解,上述多层感知机的不同层的编码结果具有互补性。一方面,靠近输入端的低层产生的向量可以保留更多信息;另一方面,高层的神经网络可以提炼信息,产生的向量往往更有效。因此,可以通过在多个层之间进行耦合来利用这种互补性,能够有效提高了预测精度。
可选地,所述整合所述N层感知机中每一层感知机的输出结果,包括:将所述每一层感知机的输出结果相加。
作为一个可选的实施例,所述优化训练的目标函数为:
Figure PCTCN2017092828-appb-000006
其中,Rm×n为根据所述用户打分信息生成的打分矩阵,用于表示m个用户中的每个用户对n件物品中的每件物品的打分,Rij为第i个用户对第j件物品的打分信息,xj为所述第j件物品的内容信息,f为所述物品神经网络,g为所述用户神经网络,Wv为所述物品神经网络的参数,所述Wu为所述用户神经网络的参数,vj=f(xj;Wv)为第j件物品的物品隐向量,
Figure PCTCN2017092828-appb-000007
为第i个用户的用户隐向量,ri为以Rm×n的第i行生成的列向量,
Figure PCTCN2017092828-appb-000008
为由ri得到的单位向量,
Figure PCTCN2017092828-appb-000009
Figure PCTCN2017092828-appb-000010
中的第j个元素,V=f(X;Wv),X为所述n件物品的物品内容信息组成的矩阵,m、n、i、j均为大于或等于1的整数,i大于或等于1且小于或等于m,j大于或等于1且小于或等于n。
具体地,假定有m个用户和n个物品,分别用i和j来表示索引。用xj表示第j件物品的内容信息。打分矩阵Rm×n包含所有已知用户对物品打分的历史信息。Rij为1代表用户i与物品j之间存在正关系;Rij为0代表用户i与物品j之间存在负关系,或关系未知。本申请实施例利用物品内容信息X和打分矩阵Rm×n,将用户和物品分别编码成具有相同维度的隐向量,其中,每一个用户的隐向量为ui=g(Vri;Wu),每一个物品的隐向量为vj=f(xj;Wv)。最后,计算用户隐向量和物品隐向量之间的点乘,将结果与真实值Rij进行比较,对网络参数进行优化。
综上所述,本申请实施例的生成推荐结果的方法,分别利用物品内容信息和用户打分矩阵,集中提高打分矩阵的预测精度,并将目标函数简化为一项表达式,该方法利用了协同网络训练算法一起训练得到的两个深度网络,对新物品和现有物品均可以使用物品隐向量,计算出任何用户对任何物品的推荐分数,提高用户体验。
图2示出了本申请实施例提供的另一生成推荐结果的方法200的示意性流程图。本申请实施例的方法200可以通过任意计算节点来实现,对此本申请实施例不作限定。
在S201中,将至少一个物品的物品内容信息以及至少一个用户对该至少一个物品的用户打分信息分别作为物品神经网络和用户神经网络的输入;
在S202中,在该物品神经网络和该用户神经网络中分别将该物品内容信息和该用户打分信息转化为向量的形式;
在S203中,在该物品神经网络的第一层和该用户神经网络的第一层分别对向量形式的物品内容信息和用户打分信息进行线性转换;
在S204中,在该物品神经网络的第一层和该用户神经网络的第一层分别将线性转换后的物品内容信息和线性转换后的用户打分信息进行非线性转换,获得第一物品隐向量和第一用户隐向量;
在S205中,计算该第一物品隐向量和该第一用户隐向量的点乘;
在S206中,在该物品神经网络的第二层和该用户神经网络的第二层分别对该第一物品隐向量和该第一用户隐向量进行线性转换;
在S207中,在该物品神经网络的第二层和该用户神经网络的第二层分别将线性转换后的第一物品隐向量和线性转换后的第一用户隐向量进行非线性转换,获得第二物品隐向量和第二用户隐向量;
在S208中,计算该第二物品隐向量和该第二用户隐向量的点乘;
在S209中,在该物品神经网络的第三层和该用户神经网络的第三层分别对该第二物品隐向量和该第二用户隐向量进行线性转换;
在S210中,在该物品神经网络的第三层和该用户神经网络的第三层分别将线性转换后的第二物品隐向量和线性转换后的第二用户隐向量进行非线性转换,获得第三物品隐向量和第三用户隐向量;
在S211中,计算该第三物品隐向量和该第三用户隐向量的点乘;
在S212中,将该第一物品隐向量和该第一用户隐向量的点乘、该第二物品隐向量和该第二用户隐向量的点乘以及该第三物品隐向量和该第三用户隐向量的点乘进行整合处理,并与真实值进行比较,采用目标函数
Figure PCTCN2017092828-appb-000011
对网络参数进行优化,其中,Rm×n为根据所述用户打分信息生成的打分矩阵,用于表示m个用户中的每个用户对n件物品中的每件物品的打分,Rij为第i个用户对第j件物品的打分信息,xj为所述第j件物品的内容信息,f为所述物品神经网络,g为所述用户神经网络,Wv为所述物品神经网络的参数,所述Wu为所述用户神经网络的参数,vj=f(xj;Wv)为第j件物品的物品隐向量,
Figure PCTCN2017092828-appb-000012
为第i个用户的用户隐向量,ri为以Rm×n的第i行生成的列向量,
Figure PCTCN2017092828-appb-000013
为由ri得到的单位向量,
Figure PCTCN2017092828-appb-000014
Figure PCTCN2017092828-appb-000015
中的第j个元素,V=f(X;Wv),X为所述n件物品的物品内容信息组成的矩阵,m、n、i、j均为大于或等于1的整数,i大于或等于1且小于或等于m,j大于或等于1且小于或等于n。
应理解,在优化完成之后,方法200可以包括上述方法100中的各个步骤及流程,用以获得推荐结果,此处不再赘述。
本申请实施例的生成推荐结果的方法,通过采用物品神经网络和用户神经网络分别对物品内容信息和用户打分信息进行编码,获得目标物品隐向量和目标用户隐向量,进而计算出推荐结果,这样能够充分利用物品内容信息和用户打分信息,提高推荐结果的准确性,从而提高用户体验。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图2,详细描述了根据本申请实施例的生成推荐结果的方法,下面将结合图3至图4,详细描述根据本申请实施例的生成推荐结果的装置。
图3示出了本申请实施例提供的生成推荐结果的装置300,该装置300包括:
获取单元310,用于获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息,所述至少一个用户中第一用户的用户打分信息包括所述第一用户对所述至少一个物品的历史打分;
编码单元320,用于采用物品神经网络和用户神经网络分别对所述物品内容信息和所述用户打分信息进行编码,获得所述至少一个物品中每个物品的目标物品隐向量和所述至少一个用户中每个用户的目标用户隐向量;
计算单元330,用于根据所述目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
本申请实施例的生成推荐结果的装置,通过采用物品神经网络和用户神经网络分别对物品内容信息和用户打分信息进行编码,获得目标物品隐向量和目标用户隐向量,进而计算出推荐结果,这样能够充分利用物品内容信息和用户打分信息,提高推荐结果的准确性,从而提高用户体验。
可选地,所述物品神经网络和所述用户神经网络以N层感知机作为基础架构,且所述物品神经网络和所述用户神经网络均为N层,所述编码单元320具体用于:在所述物品神经网络的第一层和所述用户神经网络的第一层对所述物品内容信息和所述用户打分信息进行编码,获得第一物品隐向量和第一用户隐向量;将所述第一物品隐向量和所述第一用户隐向量分别传递至所述物品神经网络的第二层和所述用户神经网络的第二层进行编码;在所述物品神经网络的第k层和所述用户神经网络的第k层对第k-1物品隐向量和第k-1用户隐向量进行编码,获得第k物品隐向量和第k用户隐向量;将所述第k物品隐向量和所述第k用户隐向量分别传递至所述物品神经网络的第k+1层和所述用户神经网络的第k+1层进行编码;在所述物品神经网络的第N层和所述用户神经网络的第N层对第N-1物品隐向量和第N-1用户隐向量进行编码,获得第N物品隐向量和第N用户隐向量;将所述第N物品隐向量和所述第N用户隐向量分别作为所述目标物品隐向量和所述目标用户隐向量;其中,N为大于或等于1的整数,k为取遍大于1且小于N的整数。
可选地,所述编码单元320具体用于:在所述物品神经网络的第一层和所述用户神经网络的第一层,分别对所述物品内容信息和所述用户打分信息进行线性转换;分别对线性转换后的所述物品内容信息和所述用户打分信息进行非线性转换,获得所述第一物品隐向量和所述第一用户隐向量。
可选地,所述物品神经网络的每一层和所述用户神经网络每一层均采用tanh函数作为非线性激活函数。
可选地,所述获取单元310还用于:获取所述至少一个用户中的第二用户的新增用户打分信息,所述新增用户打分信息为所述第二用户对所述至少一个物品中的第一物品的新增打分;所述装置还包括:第一更新单元,用于根据所述新增用户打分信息,更新所述第二用户的用户打分信息;所述编码单元320还用于:采用所述用户神经网络对所述第二用户更新后的用户打分信息重新进行编码,获得新的目标用户隐向量;所述计算单元330还用于:根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
可选地,所述获取单元310还用于:获取新增物品的物品内容信息;所述编码单元320还用于:采用所述物品神经网络对所述新增物品的物品内容信息进行编码,获得所述新增物品的目标物品隐向量;所述计算单元330还用于:根据所述新增物品的目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
可选地,所述获取单元310还用于:获取所述至少一个用户中的第三用户的新增用户打分信息,所述新增用户打分信息为所述第三用户对所述新增物品的打分信息;所述装置300还包括:第二更新单元,用于更新所述第三用户对所述至少一个物品中第二物品的用户打分信息,所述第二物品与所述新增物品的目标物品隐向量相似度最大;所述编码单元320还用于:采用所述用户神经网络对所述第三用户更新后的用户打分信息重新进行编码,获得新的目标用户隐向量;所述计算单元330还用于:根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
可选地,所述装置300还包括:预训练单元,用于在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,采用堆栈式自编码器SDAE的编码结果预训练所述物品神经网络;采用随机参数预训练所述用户神经网络。
可选地,所述装置300还包括:优化单元,用于在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,采取对偶小批量梯度下降的装置对所述物品神经网络和所述用户神经网络进行优化训练。
可选地,所述计算单元330还用于:计算所述第p物品隐向量和所述第p用户隐向量的点乘,作为所述N层感知机中第p层感知机的输出结果,p取遍大于或等于1且小于或等于N的整数;整合所述N层感知机中每一层感知机的输出结果;将所述输出结果与所述用户打分信息进行比较,优化所述物品神经网络和所述用户神经网络的网络参数。
可选地,所述优化训练的目标函数为:
Figure PCTCN2017092828-appb-000016
其中,Rm×n为根据所述用户打分信息生成的打分矩阵,用于表示m个用户中的每个用户对n件物品中的每件物品的打分,Rij为第i个用户对第j件物品的打分信息,xj为所述第j件物品的内容信息,f为所述物品神经网络,g为所述用户神经网络,Wv为所述物品神经网络的参数,所述Wu为所述用户神经网络的参数,vj=f(xj;Wv)为第j件物品的物品隐向量,
Figure PCTCN2017092828-appb-000017
为第i个用户的用户隐向量,ri为以Rm×n的第i行生成的列向量,
Figure PCTCN2017092828-appb-000018
为由ri得到的单位向量,
Figure PCTCN2017092828-appb-000019
Figure PCTCN2017092828-appb-000020
中的第j个元素,V=f(X;Wv),X为所述n件物品的物品内容信息组成的矩阵,m、n、i、j均为大于或等于1的整数,i大于或等于1且小于或等于m,j大于或等于1且小于或等于n。
应理解,这里的装置300以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置300可以具体为任意的计算节点,装置300可以用于执行上述方法实施例100中的各个流程和/或步骤,为避免重复,在此不再赘述。
图4示出了本申请实施例提供的另一信息处理装置400。该装置400包括至少一个处理器410、存储器420和通信接口430;所述至少一个处理器410、所述存储器420和所述通信接口430均通过总线440连接;
所述存储器420,用于存储计算机执行指令;
所述至少一个处理器410,用于执行所述存储器420存储的计算机执行指令,使得所述装置400可以通过所述通信接口430与其他装置进行数据交互来执行上述方法实施例提供的信息处理方法。
其中,该至少一个处理器410用于执行以下操作:
获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息,所述至少一个用户中第一用户的用户打分信息包括所述第一用户对所述至少一个物品的历史打分;
采用物品神经网络和用户神经网络分别对所述物品内容信息和所述用户打分信息进行编码,获得所述至少一个物品中每个物品的目标物品隐向量和所述至少一个用户中每个用户的目标用户隐向量;
根据所述目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
可选地,所述物品神经网络和所述用户神经网络以N层感知机作为基础架构,且所述物品神经网络和所述用户神经网络均为N层,所述编码单元320具体用于:在所述物品神经网络的第一层和所述用户神经网络的第一层对所述物品内容信息和所述用户打分信息进行编码,获得第一物品隐向量和第一用户隐向量;将所述第一物品隐向量和所述第一用户隐向量分别传递至所述物品神经网络的第二层和所述用户神经网络的第二层进行编码;在所述物品神经网络的第k层和所述用户神经网络的第k层对第k-1物品隐向量和第k-1用户隐向量进行编码,获得第k物品隐向量和第k用户隐向量;将所述第k物品隐向量和所述第k用户隐向量分别传递至所述物品神经网络的第k+1层和所述用户神经网络的第k+1层进行编码;在所述物品神经网络的第N层和所述用户神经网络的第N层对第N-1物品隐向量和第N-1用户隐向量进行编码,获得第N物品隐向量和第N用户隐向量;将所述第N物品隐向量和所述第N用户隐向量分别作为所述目标物品隐向量和所述目标用户隐向量;其中,N为大于或等于1的整数,k为取遍大于1且小于N的整数。
可选地,该至少一个处理器410具体用于:在所述物品神经网络的第一层和所述用户神经网络的第一层,分别对所述物品内容信息和所述用户打分信息进行线性转换;分别对线性转换后的所述物品内容信息和所述用户打分信息进行非线性转换,获得所述第一物品隐向量和所述第一用户隐向量。
可选地,所述物品神经网络的每一层和所述用户神经网络每一层均采用tanh函数作为非线性激活函数。
可选地,该至少一个处理器410还用于:获取所述至少一个用户中的第二用户的新 增用户打分信息,所述新增用户打分信息为所述第二用户对所述至少一个物品中的第一物品的新增打分;根据所述新增用户打分信息,更新所述第二用户的用户打分信息;采用所述用户神经网络对所述第二用户的用户打分信息重新进行编码,获得新的目标用户隐向量;根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
可选地,该至少一个处理器410还用于:获取新增物品的物品内容信息;采用所述物品神经网络对所述新增物品的物品内容信息进行编码,获得所述新增物品的目标物品隐向量;根据所述新增物品的目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
可选地,该至少一个处理器410还用于:获取所述至少一个用户中的第三用户的新增用户打分信息,所述新增用户打分信息为所述第三用户对所述新增物品的打分信息;更新所述第三用户对所述至少一个物品中第二物品的用户打分信息,所述第二物品与所述新增物品的目标物品隐向量相似度最大;采用所述用户神经网络对所述第三用户更新后的用户打分信息重新进行编码,获得新的目标用户隐向量;根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
可选地,该至少一个处理器410还用于:在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,采用堆栈式自编码器SDAE的编码结果预训练所述物品神经网络;采用随机参数预训练所述用户神经网络。
可选地,该至少一个处理器410还用于:在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,采取对偶小批量梯度下降的装置对所述物品神经网络和所述用户神经网络进行优化训练。
可选地,该至少一个处理器410还用于:计算所述第p物品隐向量和所述第p用户隐向量的点乘,作为所述N层感知机中第p层感知机的输出结果,p取遍大于或等于1且小于或等于N的整数;整合所述N层感知机中每一层感知机的输出结果;将所述输出结果与所述用户打分信息进行比较,优化所述物品神经网络和所述用户神经网络的网络参数。
可选地,所述优化训练的目标函数为:
Figure PCTCN2017092828-appb-000021
其中,Rm×n为根据所述用户打分信息生成的打分矩阵,用于表示m个用户中的每个用户对n件物品中的每件物品的打分,Rij为第i个用户对第j件物品的打分信息,xj为所述第j件物品的内容信息,f为所述物品神经网络,g为所述用户神经网络,Wv为所述物品神经网络的参数,所述Wu为所述用户神经网络的参数,vj=f(xj;Wv)为第j件物品的物品隐向量,
Figure PCTCN2017092828-appb-000022
为第i个用户的用户隐向量,ri为以Rm×n的第i行生成的列向量,
Figure PCTCN2017092828-appb-000023
为由ri得到的单位向量,
Figure PCTCN2017092828-appb-000024
Figure PCTCN2017092828-appb-000025
中的第j个元素,V=f(X;Wv),X为所述n件物品的物品内容信息组成的矩阵,m、n、i、j均为大于或等于1的整数,i大于或等于1且小于或等于m,j大于或等于1且小于或等于n。
应理解,装置400可以具体为计算节点,并且可以用于执行上述方法实施例100中对应的各个步骤和/或流程。
应理解,在本申请实施例中,至少一个处理器可以包括不同类型的处理器,或者包括相同类型的处理器;处理器可以是以下的任一种:中央处理器(central processing unit, CPU)、ARM处理器、现场可编程门阵列(field programmable gate array,FPGA)、专用处理器等具有计算处理能力的器件。一种可选实施方式,该至少一个处理器还可以集成为众核处理器。
存储器可以是以下的任一种或任一种组合:随机存取存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、非易失性存储器(non-volatile memory,NVM)、固态硬盘(solid state drives,SSD)、机械硬盘、磁盘、磁盘整列等存储介质。
通信接口用于本装置与其他设备之间的数据交互。通信接口可以是以下的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
该总线可以包括地址总线、数据总线、控制总线等,为便于表示,在图4中用一条粗线表示该总线。总线可以是以下的任一种或任一种组合:工业标准体系结构(industry standard architecture,ISA)总线、外设组件互连标准(peripheral component interconnect,PCI)总线、扩展工业标准结构(extended industry standard architecture,EISA)总线等有线数据传输的器件。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的分割,仅仅为一种逻辑功能分割,实际实现时可以有另外的分割方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (22)

  1. 一种生成推荐结果的方法,其特征在于,包括:
    获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息,所述至少一个用户中第一用户的用户打分信息包括所述第一用户对所述至少一个物品的历史打分;
    采用物品神经网络和用户神经网络分别对所述物品内容信息和所述用户打分信息进行编码,获得所述至少一个物品中每个物品的目标物品隐向量和所述至少一个用户中每个用户的目标用户隐向量;
    根据所述目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
  2. 根据权利要求1所述的方法,其特征在于,所述物品神经网络和所述用户神经网络以N层感知机作为基础架构,
    所述采用物品神经网络和用户神经网络分别对所述物品内容信息和所述用户打分信息进行编码,获得所述至少一个物品中每个物品的目标物品隐向量和所述至少一个用户中每个用户的目标用户隐向量,包括:
    在所述物品神经网络的第一层和所述用户神经网络的第一层对所述物品内容信息和所述用户打分信息进行编码,获得第一物品隐向量和第一用户隐向量;
    将所述第一物品隐向量和所述第一用户隐向量分别传递至所述物品神经网络的第二层和所述用户神经网络的第二层进行编码;
    在所述物品神经网络的第k层和所述用户神经网络的第k层对第k-1物品隐向量和第k-1用户隐向量进行编码,获得第k物品隐向量和第k用户隐向量;
    将所述第k物品隐向量和所述第k用户隐向量分别传递至所述物品神经网络的第k+1层和所述用户神经网络的第k+1层进行编码;
    在所述物品神经网络的第N层和所述用户神经网络的第N层对第N-1物品隐向量和第N-1用户隐向量进行编码,获得第N物品隐向量和第N用户隐向量;
    将所述第N物品隐向量和所述第N用户隐向量分别作为所述目标物品隐向量和所述目标用户隐向量;
    其中,N为大于或等于1的整数,k为取遍大于1且小于N的整数。
  3. 根据权利要求2所述的方法,其特征在于,所述在所述物品神经网络的第一层和所述用户神经网络的第一层对所述物品内容信息和所述用户打分信息进行编码,获得第一物品隐向量和第一用户隐向量,包括:
    在所述物品神经网络的第一层和所述用户神经网络的第一层,分别对所述物品内容信息和所述用户打分信息进行线性转换;
    分别对线性转换后的所述物品内容信息和所述用户打分信息进行非线性转换,获得所述第一物品隐向量和所述第一用户隐向量。
  4. 根据权利要求2或3所述的方法,其特征在于,所述物品神经网络的每一层和所述用户神经网络每一层均采用tanh函数作为非线性激活函数。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
    获取所述至少一个用户中的第二用户的新增用户打分信息,所述新增用户打分信息为所述第二用户对所述至少一个物品中的第一物品的新增打分;
    根据所述新增用户打分信息,更新所述第二用户的用户打分信息;
    采用所述用户神经网络对所述第二用户更新后的用户打分信息重新进行编码,获得 新的目标用户隐向量;
    根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
  6. 根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
    获取新增物品的物品内容信息;
    采用所述物品神经网络对所述新增物品的物品内容信息进行编码,获得所述新增物品的目标物品隐向量;
    根据所述新增物品的目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
  7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:
    获取所述至少一个用户中的第三用户的新增用户打分信息,所述新增用户打分信息为所述第三用户对所述新增物品的打分信息;
    更新所述第三用户对所述至少一个物品中第二物品的用户打分信息,所述第二物品与所述新增物品的目标物品隐向量相似度最大;
    采用所述用户神经网络对所述第三用户更新后的用户打分信息重新进行编码,获得新的目标用户隐向量;
    根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
  8. 根据权利要求1至7中任一项所述的方法,其特征在于,在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,所述方法还包括:
    采用堆栈式自编码器SDAE的编码结果预训练所述物品神经网络;
    采用随机参数预训练所述用户神经网络。
  9. 根据权利要求1至8中任一项所述的方法,其特征在于,在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,所述方法还包括:
    采取对偶小批量梯度下降的方法对所述物品神经网络和所述用户神经网络进行优化训练。
  10. 根据权利要求9所述的方法,其特征在于,所述采取对偶小批量梯度下降的方法对所述物品神经网络和所述用户神经网络进行优化训练,包括:
    计算所述第p物品隐向量和所述第p用户隐向量的点乘,作为所述N层感知机中第p层感知机的输出结果,p取遍大于或等于1且小于或等于N的整数;
    整合所述N层感知机中每一层感知机的输出结果;
    将整合后的所述输出结果与所述用户打分信息进行比较,优化所述物品神经网络和所述用户神经网络的网络参数。
  11. 根据权利要求9或10所述的方法,其特征在于,所述优化训练的目标函数为:
    Figure PCTCN2017092828-appb-100001
    其中,Rm×n为根据所述用户打分信息生成的打分矩阵,用于表示m个用户中的每个用户对n件物品中的每件物品的打分,Rij为第i个用户对第j件物品的打分信息,xj为所述第j件物品的内容信息,f为所述物品神经网络,g为所述用户神经网络,Wv为所述物品神经网络的参数,所述Wu为所述用户神经网络的参数,vj=f(xj;Wv)为第j件物品 的物品隐向量,
    Figure PCTCN2017092828-appb-100002
    为第i个用户的用户隐向量,ri为以Rm×n的第i行生成的列向量,
    Figure PCTCN2017092828-appb-100003
    为由ri得到的单位向量,
    Figure PCTCN2017092828-appb-100004
    Figure PCTCN2017092828-appb-100005
    中的第j个元素,V=f(X;Wv),X为所述n件物品的物品内容信息组成的矩阵,m、n、i、j均为大于或等于1的整数,i大于或等于1且小于或等于m,j大于或等于1且小于或等于n。
  12. 一种生成推荐结果的装置,其特征在于,包括:
    获取单元,用于获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息,所述至少一个用户中第一用户的用户打分信息包括所述第一用户对所述至少一个物品的历史打分;
    编码单元,用于采用物品神经网络和用户神经网络分别对所述物品内容信息和所述用户打分信息进行编码,获得所述至少一个物品中每个物品的目标物品隐向量和所述至少一个用户中每个用户的目标用户隐向量;
    计算单元,用于根据所述目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
  13. 根据权利要求12所述的装置,其特征在于,所述物品神经网络和所述用户神经网络以N层感知机作为基础架构,
    所述编码单元具体用于:
    在所述物品神经网络的第一层和所述用户神经网络的第一层对所述物品内容信息和所述用户打分信息进行编码,获得第一物品隐向量和第一用户隐向量;
    将所述第一物品隐向量和所述第一用户隐向量分别传递至所述物品神经网络的第二层和所述用户神经网络的第二层进行编码;
    在所述物品神经网络的第k层和所述用户神经网络的第k层对第k-1物品隐向量和第k-1用户隐向量进行编码,获得第k物品隐向量和第k用户隐向量;
    将所述第k物品隐向量和所述第k用户隐向量分别传递至所述物品神经网络的第k+1层和所述用户神经网络的第k+1层进行编码;
    在所述物品神经网络的第N层和所述用户神经网络的第N层对第N-1物品隐向量和第N-1用户隐向量进行编码,获得第N物品隐向量和第N用户隐向量;
    将所述第N物品隐向量和所述第N用户隐向量分别作为所述目标物品隐向量和所述目标用户隐向量;
    其中,N为大于或等于1的整数,k为取遍大于1且小于N的整数。
  14. 根据权利要求13所述的装置,其特征在于,所述编码单元具体用于:
    在所述物品神经网络的第一层和所述用户神经网络的第一层,分别对所述物品内容信息和所述用户打分信息进行线性转换;
    分别对线性转换后的所述物品内容信息和所述用户打分信息进行非线性转换,获得所述第一物品隐向量和所述第一用户隐向量。
  15. 根据权利要求13或14所述的装置,其特征在于,所述物品神经网络的每一层和所述用户神经网络每一层均采用tanh函数作为非线性激活函数。
  16. 根据权利要求12至15中任一项所述的装置,其特征在于,所述获取单元还用于:
    获取所述至少一个用户中的第二用户的新增用户打分信息,所述新增用户打分信息为所述第二用户对所述至少一个物品中的第一物品的新增打分;
    所述装置还包括:
    第一更新单元,用于根据所述新增用户打分信息,更新所述第二用户的用户打分信息;
    所述编码单元还用于:
    采用所述用户神经网络对所述第二用户更新后的用户打分信息重新进行编码,获得新的目标用户隐向量;
    所述计算单元还用于:
    根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
  17. 根据权利要求12至15中任一项所述的装置,其特征在于,所述获取单元还用于:
    获取新增物品的物品内容信息;
    所述编码单元还用于:
    采用所述物品神经网络对所述新增物品的物品内容信息进行编码,获得所述新增物品的目标物品隐向量;
    所述计算单元还用于:
    根据所述新增物品的目标物品隐向量和所述目标用户隐向量,计算对所述每个用户的推荐结果。
  18. 根据权利要求17所述的装置,其特征在于,所述获取单元还用于:
    获取所述至少一个用户中的第三用户的新增用户打分信息,所述新增用户打分信息为所述第三用户对所述新增物品的打分信息;
    所述装置还包括:
    第二更新单元,用于更新所述第三用户对所述至少一个物品中第二物品的用户打分信息,所述第二物品与所述新增物品的目标物品隐向量相似度最大;
    所述编码单元还用于:
    采用所述用户神经网络对所述第三用户更新后的用户打分信息重新进行编码,获得新的目标用户隐向量;
    所述计算单元还用于:
    根据所述目标物品隐向量和所述新的目标用户隐向量,计算对所述每个用户的新的推荐结果。
  19. 根据权利要求12至18中任一项所述的装置,其特征在于,所述装置还包括:
    预训练单元,用于在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,采用堆栈式自编码器SDAE的编码结果预训练所述物品神经网络;
    采用随机参数预训练所述用户神经网络。
  20. 根据权利要求12至19中任一项所述的装置,其特征在于,所述装置还包括:
    优化单元,用于在所述获取至少一个物品的物品内容信息以及至少一个用户的用户打分信息之前,采取对偶小批量梯度下降的装置对所述物品神经网络和所述用户神经网络进行优化训练。
  21. 根据权利要求20所述的装置,其特征在于,所述计算单元还用于:
    计算所述第p物品隐向量和所述第p用户隐向量的点乘,作为所述N层感知机中第 p层感知机的输出结果,p取遍大于或等于1且小于或等于N的整数;
    整合所述N层感知机中每一层感知机的输出结果;
    将整合后的所述输出结果与所述用户打分信息进行比较,优化所述物品神经网络和所述用户神经网络的网络参数。
  22. 根据权利要求20或21所述的装置,其特征在于,所述推荐结果的目标函数为:
    Figure PCTCN2017092828-appb-100006
    其中,Rm×n为根据所述用户打分信息生成的打分矩阵,用于表示m个用户中的每个用户对n件物品中的每件物品的打分,Rij为第i个用户对第j件物品的打分信息,xj为所述第j件物品的内容信息,f为所述物品神经网络,g为所述用户神经网络,Wv为所述物品神经网络的参数,所述Wu为所述用户神经网络的参数,vj=f(xj;Wv)为第j件物品的物品隐向量,
    Figure PCTCN2017092828-appb-100007
    为第i个用户的用户隐向量,ri为以Rm×n的第i行生成的列向量,
    Figure PCTCN2017092828-appb-100008
    为由ri得到的单位向量,
    Figure PCTCN2017092828-appb-100009
    Figure PCTCN2017092828-appb-100010
    中的第j个元素,V=f(X;Wv),X为所述n件物品的物品内容信息组成的矩阵,m、n、i、j均为大于或等于1的整数,i大于或等于1且小于或等于m,j大于或等于1且小于或等于n。
PCT/CN2017/092828 2016-11-22 2017-07-13 生成推荐结果的方法和装置 WO2018095049A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/993,288 US20180276542A1 (en) 2016-11-22 2018-05-30 Recommendation Result Generation Method and Apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611043770.X 2016-11-22
CN201611043770.XA CN108090093B (zh) 2016-11-22 2016-11-22 生成推荐结果的方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/993,288 Continuation US20180276542A1 (en) 2016-11-22 2018-05-30 Recommendation Result Generation Method and Apparatus

Publications (1)

Publication Number Publication Date
WO2018095049A1 true WO2018095049A1 (zh) 2018-05-31

Family

ID=62171051

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/092828 WO2018095049A1 (zh) 2016-11-22 2017-07-13 生成推荐结果的方法和装置

Country Status (3)

Country Link
US (1) US20180276542A1 (zh)
CN (1) CN108090093B (zh)
WO (1) WO2018095049A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875065A (zh) * 2018-07-02 2018-11-23 电子科技大学 一种基于内容的印尼新闻网页推荐方法
CN111553744A (zh) * 2020-05-08 2020-08-18 深圳前海微众银行股份有限公司 联邦产品推荐方法、装置、设备及计算机存储介质
CN112100486A (zh) * 2020-08-21 2020-12-18 西安电子科技大学 一种基于图模型的深度学习推荐系统及其方法
WO2021051515A1 (zh) * 2019-09-16 2021-03-25 平安科技(深圳)有限公司 基于向量迁移的推荐方法、装置、计算机设备及非易失性可读存储介质

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11170015B2 (en) * 2016-08-01 2021-11-09 Ed Recavarren Identifications of patterns of life through analysis of devices within monitored volumes
US10645100B1 (en) * 2016-11-21 2020-05-05 Alert Logic, Inc. Systems and methods for attacker temporal behavior fingerprinting and grouping with spectrum interpretation and deep learning
US10762153B2 (en) * 2017-11-27 2020-09-01 Adobe Inc. Collaborative-filtered content recommendations with justification in real-time
CN108830507A (zh) * 2018-06-29 2018-11-16 成都数之联科技有限公司 一种食品安全风险预警方法
CN109447334B (zh) * 2018-10-19 2021-07-16 江苏满运物流信息有限公司 货源信息的数据降维方法、装置、电子设备、存储介质
CN109903168A (zh) * 2019-01-18 2019-06-18 平安科技(深圳)有限公司 基于机器学习的推荐保险产品的方法及相关设备
CN111931035B (zh) * 2019-05-13 2023-11-24 中国移动通信集团湖北有限公司 业务推荐方法、装置及设备
CN110188283B (zh) * 2019-06-05 2021-11-23 中国人民解放军国防科技大学 一种基于联合神经网络协同过滤的信息推荐方法及其系统
US11763349B2 (en) 2019-06-27 2023-09-19 Walmart Apollo, Llc Methods and apparatus for automatically providing digital advertisements
US11562401B2 (en) * 2019-06-27 2023-01-24 Walmart Apollo, Llc Methods and apparatus for automatically providing digital advertisements
EP3786851A1 (en) * 2019-08-29 2021-03-03 Siemens Aktiengesellschaft Method and apparatus for providing recommendations for completion of an engineering project
KR20210082977A (ko) * 2019-12-26 2021-07-06 삼성전자주식회사 컴퓨팅 장치 및 그 동작 방법
CN111310029B (zh) * 2020-01-20 2022-11-01 哈尔滨理工大学 一种基于用户商品画像和潜在因子特征提取的混合推荐方法
CN111292168B (zh) * 2020-02-06 2022-08-02 腾讯科技(深圳)有限公司 数据处理方法、装置及设备
CN115702437A (zh) * 2020-06-09 2023-02-14 索尼半导体解决方案公司 信号处理装置及信号处理方法
US11693897B2 (en) * 2020-10-20 2023-07-04 Spotify Ab Using a hierarchical machine learning algorithm for providing personalized media content
CN113837517A (zh) * 2020-12-01 2021-12-24 北京沃东天骏信息技术有限公司 事件的触发方法及装置、介质及电子设备
CN112860992B (zh) * 2021-01-25 2023-03-24 西安博达软件股份有限公司 基于网站内容数据推荐的特征优化预训练方法
CN115114395B (zh) * 2022-04-15 2024-03-19 腾讯科技(深圳)有限公司 内容检索及模型训练方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105005701A (zh) * 2015-07-24 2015-10-28 成都康赛信息技术有限公司 一种基于属性与评分的个性化推荐方法
US9177048B1 (en) * 2007-02-16 2015-11-03 Google Inc. Collaborative filtering
CN105302873A (zh) * 2015-10-08 2016-02-03 北京航空航天大学 一种基于条件受限波尔兹曼机的协同过滤优化方法
CN105389505A (zh) * 2015-10-19 2016-03-09 西安电子科技大学 基于栈式稀疏自编码器的托攻击检测方法
CN106022869A (zh) * 2016-05-12 2016-10-12 北京邮电大学 一种消费对象的推荐方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8781915B2 (en) * 2008-10-17 2014-07-15 Microsoft Corporation Recommending items to users utilizing a bi-linear collaborative filtering model
CN103390032B (zh) * 2013-07-04 2017-01-18 上海交通大学 基于关系型协同话题回归的推荐系统及方法
CN105446970A (zh) * 2014-06-10 2016-03-30 华为技术有限公司 推荐项目的方法和装置
CN106570008B (zh) * 2015-10-09 2020-03-27 阿里巴巴集团控股有限公司 推荐方法及装置
CN105354729A (zh) * 2015-12-14 2016-02-24 电子科技大学 一种电子商务系统中的商品推荐方法
CN105761102B (zh) * 2016-02-04 2021-05-11 杭州朗和科技有限公司 一种预测用户购买商品行为的方法和装置
CN105975573B (zh) * 2016-05-04 2019-08-13 北京广利核系统工程有限公司 一种基于knn的文本分类方法
CN106022380A (zh) * 2016-05-25 2016-10-12 中国科学院自动化研究所 基于深度学习的个体身份识别方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9177048B1 (en) * 2007-02-16 2015-11-03 Google Inc. Collaborative filtering
CN105005701A (zh) * 2015-07-24 2015-10-28 成都康赛信息技术有限公司 一种基于属性与评分的个性化推荐方法
CN105302873A (zh) * 2015-10-08 2016-02-03 北京航空航天大学 一种基于条件受限波尔兹曼机的协同过滤优化方法
CN105389505A (zh) * 2015-10-19 2016-03-09 西安电子科技大学 基于栈式稀疏自编码器的托攻击检测方法
CN106022869A (zh) * 2016-05-12 2016-10-12 北京邮电大学 一种消费对象的推荐方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875065A (zh) * 2018-07-02 2018-11-23 电子科技大学 一种基于内容的印尼新闻网页推荐方法
CN108875065B (zh) * 2018-07-02 2021-07-06 电子科技大学 一种基于内容的印尼新闻网页推荐方法
WO2021051515A1 (zh) * 2019-09-16 2021-03-25 平安科技(深圳)有限公司 基于向量迁移的推荐方法、装置、计算机设备及非易失性可读存储介质
CN111553744A (zh) * 2020-05-08 2020-08-18 深圳前海微众银行股份有限公司 联邦产品推荐方法、装置、设备及计算机存储介质
CN112100486A (zh) * 2020-08-21 2020-12-18 西安电子科技大学 一种基于图模型的深度学习推荐系统及其方法
CN112100486B (zh) * 2020-08-21 2023-04-07 西安电子科技大学 一种基于图模型的深度学习推荐系统及其方法

Also Published As

Publication number Publication date
US20180276542A1 (en) 2018-09-27
CN108090093A (zh) 2018-05-29
CN108090093B (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
WO2018095049A1 (zh) 生成推荐结果的方法和装置
CN109299396B (zh) 融合注意力模型的卷积神经网络协同过滤推荐方法及系统
CN107836000B (zh) 用于语言建模和预测的改进的人工神经网络方法、电子设备
US10839790B2 (en) Sequence-to-sequence convolutional architecture
CN107358293B (zh) 一种神经网络训练方法及装置
JP7360497B2 (ja) クロスモーダルな特徴の抽出方法、抽出装置、ならびに、プログラム
WO2023000574A1 (zh) 一种模型训练方法、装置、设备及可读存储介质
CN113535984B (zh) 一种基于注意力机制的知识图谱关系预测方法及装置
WO2019210695A1 (zh) 模型训练和业务推荐
WO2022063151A1 (en) Method and system for relation learning by multi-hop attention graph neural network
WO2016062044A1 (zh) 一种模型参数训练方法、装置及系统
CN109766557B (zh) 一种情感分析方法、装置、存储介质及终端设备
CN106897254B (zh) 一种网络表示学习方法
JP2020523699A (ja) 関心点コピーの生成
CN108536784B (zh) 评论信息情感分析方法、装置、计算机存储介质和服务器
Tang et al. A fast inference networks for SAR target few-shot learning based on improved siamese networks
CN110462638A (zh) 使用后验锐化训练神经网络
EP4120137A1 (en) System and method for molecular property prediction using edge conditioned identity mapping convolution neural network
CN111695024A (zh) 对象评估值的预测方法及系统、推荐方法及系统
Chun et al. Gene regulation network inference with joint sparse gaussian graphical models
Jin et al. Dual low-rank multimodal fusion
CN113345564B (zh) 一种基于图神经网络的患者住院时长早期预测方法及装置
WO2021253938A1 (zh) 一种神经网络的训练方法、视频识别方法及装置
US20200312432A1 (en) Computer architecture for labeling documents
WO2023246735A1 (zh) 一种项目推荐方法及其相关设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17873183

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17873183

Country of ref document: EP

Kind code of ref document: A1