A personalized recommendation system based on user tags
By introducing user tag management and tag weight update modules into the recommendation system, and dynamically adjusting tag weights using user interaction data, the problem of inaccurate recommendations in the existing recommendation system is solved, and more efficient personalized recommendations are achieved.
Patent Information
- Application Number
- CN202111192364.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-13
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2041-10-13
AI Technical Summary
The existing recommendation system based on user tags is inaccurate enough product recommendations and lack adaptability due to changes in user preferences.
A personalized recommendation system based on user tags was designed, including user tag management module, recommendation rule management module, product recommendation module, cloud computing module and tag weight update module. The tag weight is adaptively updated through user interactive data and dynamic adjustments are made. Recommended rules.
The accuracy of recommendations is improved, so that recommendation rules can be adaptively adjusted according to user preferences, thereby improving the effectiveness of the recommendation system.
Smart Images

Figure CN113919913B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of recommendation, and in particular to a personalized recommendation system based on user tags. Background Art
[0002] User tags are an effective tool for marking target user types and associating user characteristics with product characteristics. Existing recommendation systems based on user tags generally pre-set recommendation rules manually and then mechanically execute the recommendation rules. However, user preferences change, so this product recommendation method is still not accurate enough. Summary of the invention
[0003] In view of the above problems, the object of the present invention is to provide a personalized recommendation system based on user tags, including a user tag management module, a recommendation rule management module, a product recommendation module, a cloud computing module and a tag weight update module;
[0004] The user tag management module is used to generate user tags based on user attribute information, browsing data and transaction data through a user tag mining algorithm;
[0005] The recommendation rule management module is used by the administrator to set recommendation rules;
[0006] The product recommendation module is used to obtain pushed products based on the recommendation rules, and push the pushed products to a preset area of the client;
[0007] The cloud computing module is used to obtain the browsing data and transaction data of the user on the pushed product within a set time period, and calculate the interaction value based on the browsing data and transaction data;
[0008] The tag weight updating module is used to update the weight of the user's tag in the recommendation rule based on the interaction value.
[0009] Preferably, the recommendation rule management module includes an identity recognition unit, an operation unit and a storage unit;
[0010] The identity recognition unit is used to identify the authority of the administrator and determine whether the administrator has the authority to modify the recommendation rules;
[0011] The operation unit is used to modify the recommendation rule by an administrator identified by authority, and to send the modified recommendation rule to the storage unit;
[0012] The storage unit is used to store the recommendation rules sent by the operation unit.
[0013] Preferably, the acquiring of pushed products based on the recommendation rule includes:
[0014] Get the intersection U of the set of user tags and the set of product tags;
[0015] Based on the intersection U, the similarity between the user's label and the label of each item is calculated;
[0016] The product corresponding to the maximum similarity value is used as the pushed product;
[0017] The similarity is calculated in the following way:
[0018]
[0019] Among them, simidx(user,n) represents the similarity between user user and the nth item, w i represents the weight of the i-th tag in the user's tags, k i represents the weight of the i-th label in the product label, N represents the total number of labels contained in the intersection U, score(user,i) and score(n,i) represent the scores of the user and the n-th product on the i-th label respectively.
[0020] Preferably, the calculating the interaction value based on the browsing data and the transaction data includes:
[0021] The browsing data includes the number of clicks and shares of the recommended product by the user within the set time period; the transaction data includes the number of purchases of the recommended product by the user within the set time period;
[0022] The interaction value between the user and the pushed product is calculated as follows:
[0023]
[0024] Where inval represents the interaction value between the user and the recommended product, α, β, δ represent the preset weight coefficients, α+β+δ=1, numofclk represents the number of clicks on the recommended product by the user within the set time period, numofpur represents the number of purchases of the recommended product by the user within the set time period, shares represents the number of shares of the recommended product by the user within the set time period, and numofclk represents the number of shares of the recommended product by the user within the set time period. st Indicates the preset standard value of the number of clicks, numofpur st Indicates the preset standard value of the number of purchases, shares st Indicates the preset standard value of the number of shares.
[0025] Preferably, the updating of the weight of the user's tag in the recommendation rule based on the interaction value includes:
[0026] Determine whether the interaction value is greater than a preset comparison threshold, and if not, do not update the weight of the user's tag in the recommendation rule;
[0027] If yes, proceed as follows:
[0028] Get the label corresponding to the maximum weight among all labels of the recommended products max ;
[0029] Use the following method to label the user's label collection Label max The weights are updated:
[0030]
[0031] Among them, w(Label max ) and w'(Label max ) respectively represent the label Label in the user's label set max The weight before and after the update, inval st It represents the preset reference value of the interaction value, and valper represents the preset constant parameter.
[0032] The present invention can adaptively update the weight of the user's tag according to the interaction value between the user and the recommended product, so that the recommendation rule can be adaptively changed according to the change of the user's preference, which is conducive to improving the accuracy of the recommendation. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] The present invention is further described using the accompanying drawings, but the embodiments in the accompanying drawings do not constitute any limitation to the present invention. A person skilled in the art can obtain other drawings based on the following drawings without creative work.
[0034] Figure 1 , which is a diagram of an exemplary embodiment of a personalized recommendation system based on user tags of the present invention. DETAILED DESCRIPTION
[0035] Embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and cannot be understood as limiting the present invention.
[0036] like Figure 1In one embodiment shown, the present invention provides a personalized recommendation system based on user tags, including a user tag management module, a recommendation rule management module, a product recommendation module, a cloud computing module and a tag weight update module;
[0037] The user tag management module is used to generate user tags based on user attribute information, browsing data and transaction data through a user tag mining algorithm;
[0038] The recommendation rule management module is used by the administrator to set recommendation rules;
[0039] The product recommendation module is used to obtain pushed products based on the recommendation rules, and push the pushed products to a preset area of the client;
[0040] The cloud computing module is used to obtain the browsing data and transaction data of the user on the pushed product within a set time period, and calculate the interaction value based on the browsing data and transaction data;
[0041] The tag weight updating module is used to update the weight of the user's tag in the recommendation rule based on the interaction value.
[0042] The present invention can adaptively update the weight of the user's tag according to the interaction value between the user and the recommended product, so that the recommendation rule can be adaptively changed according to the change of the user's preference, which is conducive to improving the accuracy of the recommendation.
[0043] Specifically, the user's attribute information includes gender, age, region, etc. Browsing data includes the user's browsing records of various commodities, including browsing time and browsing duration, etc. Transaction data includes the user's purchase records of commodities, including purchase time, purchase quantity, purchase amount, etc.
[0044] The preset areas include push information area, APP startup advertising area, etc.
[0045] Preferably, the recommendation rule management module includes an identity recognition unit, an operation unit and a storage unit;
[0046] The identity recognition unit is used to identify the authority of the administrator and determine whether the administrator has the authority to modify the recommendation rules;
[0047] The operation unit is used to modify the recommendation rule by an administrator identified by authority, and to send the modified recommendation rule to the storage unit;
[0048] The storage unit is used to store the recommendation rules sent by the operation unit.
[0049] Preferably, the identity recognition unit includes a photographing subunit, a feature extraction subunit and a feature comparison subunit;
[0050] The photographing subunit is used to obtain a facial image of the administrator and transmit the facial image to the feature extraction subunit;
[0051] The feature extraction subunit is used to obtain feature information FI1 of the user's facial image and transmit the feature information to the feature comparison subunit;
[0052] The feature comparison subunit is used to compare the feature information transmitted by the feature extraction subunit with the feature information of the facial image of the person who has the authority to modify the recommendation rule. j Match and determine whether FI exists j Make FI j The similarity between FI1 and FI1 is greater than the preset similarity threshold. If so, it means that the administrator has the authority to modify the recommendation rules. If not, it means that the administrator does not have the authority to modify the recommendation rules. j∈[1,M], M represents the total number of people who have the authority to modify the recommendation rules.
[0053] Preferably, the step of obtaining the facial image of the administrator and transmitting the facial image to the feature extraction subunit comprises:
[0054] Get the administrator's face image;
[0055] Determine whether the facial image meets the preset quality judgment condition, if yes, transmit the facial image to the feature extraction subunit, if no, reacquire the facial image of the administrator;
[0056] The determining whether the facial image meets a preset quality determination condition includes:
[0057] Calculate the image score of the facial image, the image score is calculated in the following manner:
[0058]
[0059] in, and represents the preset weight parameter, Uk represents the set of pixels of the L component image corresponding to the face image in the Lab color space, nfUk represents the total number of elements contained in the set Uk, L k represents the pixel value of the kth pixel in the L component image corresponding to the face image in the Lab color space, nfce represents the total number of skin pixels contained in the face image, G cs Indicates the reference value of the preset pixel value variance, nfce csA reference value representing the total number of preset skin pixels;
[0060] If the score is greater than a preset score threshold, it means that the facial image meets the preset quality judgment condition; if the score is less than or equal to the preset score threshold, it means that the facial image does not meet the preset quality judgment condition.
[0061] In the above embodiment, after obtaining the facial image, the present invention does not immediately transmit the facial image to the feature extraction subunit, but first judges whether the facial image meets the preset quality judgment conditions, and then transmits the facial image to the feature extraction subunit. Such a setting can prevent low-quality facial images from entering the subsequent feature extraction process, causing the administrator who originally has the operation authority to fail to pass the authority verification due to the poor quality of the facial image, and needs to perform the authority verification again, which affects the user experience. Specifically, when judging the image quality, the two aspects are mainly considered from the number of skin pixels and the difference between the pixels in the L component image. The more the number of skin pixels and the smaller the difference between the pixels, the higher the image score, so that the facial image with a high proportion of pixels in the facial skin area and a small brightness difference between the pixels can be selected, which is conducive to improving the accuracy of the subsequent acquisition of feature information. Thereby improving the user experience of the recommendation system of the present invention.
[0062] Preferably, the step of obtaining feature information FI1 of the user's facial image includes:
[0063] Performing grayscale processing on the facial image to obtain a first image;
[0064] Performing a cutting process on the first image to divide the first image into a plurality of second images;
[0065] Adaptively performing noise reduction processing on the second image based on the attribute value of the second image to obtain the second image after noise reduction processing;
[0066] splicing all the second images after noise reduction to obtain the first image after noise reduction;
[0067] The HOG feature extraction algorithm is used to obtain the feature information FI1 contained in the first image after noise reduction.
[0068] In the above-mentioned embodiment, the present invention does not directly perform noise reduction processing on the first image, but divides the first image into multiple second images, and then performs noise reduction processing on the second images respectively. Such a setting method is conducive to improving the accuracy of the noise reduction result. Specifically, the existing noise reduction processing method generally adopts a global noise reduction method, that is, directly using the same noise reduction function to perform noise reduction processing in the same image. Obviously, this processing method is not targeted, so the noise reduction effect is not good. After the first image is cut according to the cutting method of the present invention, the difference between the pixels in the obtained second image is relatively small, and then different noise reduction processing methods can be adaptively selected according to the attribute value of the second image to perform noise reduction processing in a targeted manner, which can significantly improve the accuracy of the noise reduction result.
[0069] Preferably, the performing a cutting process on the first image to divide the first image into a plurality of second images comprises:
[0070] The first image is segmented in the following manner:
[0071] The first cutting is to divide the first image into four sub-images of equal area, and store the four sub-images into the to-be-cut set dU1;
[0072] In the nth cutting, the set to be cut dU obtained in the n-1th cutting is n Each sub-image in is divided into four sub-images of equal area, and the newly obtained sub-images of the nth cutting are judged respectively whether they meet the preset stop cutting standard. If so, the sub-images meeting the preset stop cutting standard are stored in the second image set U sec If not, the sub-images that do not meet the preset stop cutting criteria are stored in the to-be-cut set dU n middle;
[0073] When n When the element contained in is 0, the cutting process of the first image is ended, and U sec The sub-image contained in is taken as the final second image.
[0074] Preferably, whether the sub-image meets the preset stop cutting criterion is determined in the following manner:
[0075] Calculate the information parameters of the sub-image:
[0076] inpar son =area son ×varian son ×nfbl son
[0077] Among them, inpar sonIndicates the information amount parameter of the sub-image, varian son Represents the variance of the gradient amplitude of the pixels in the sub-image, area son Indicates the size of the sub-image area, nfbl son Indicates the total number of boundary pixels contained in the sub-image;
[0078] If inpar son If the information volume is greater than the preset threshold, the sub-image does not meet the preset stop cutting criteria. son If the value is less than or equal to the preset information volume parameter judgment threshold, the sub-image meets the preset stop cutting standard.
[0079] In the above embodiment, the present invention does not directly divide the first image into multiple second images of the same area, because the pixel points in the second image obtained by this cutting method may be relatively different, which is obviously not suitable for adaptive noise reduction processing of the second image obtained in this case. In the process of cutting, the present invention continuously calculates the information amount parameters of the newly obtained sub-image, and then determines whether to continue cutting based on the information amount parameters. Specifically, the calculation is performed from the aspects of gradient amplitude, area, and the number of boundary pixels, so that the larger the variance of the gradient amplitude, the larger the area, and the more the number of boundary pixels, the larger the information amount parameter of the sub-image, and thus the sub-image continues to be cut, thereby ensuring that the difference between the pixel points in the second image finally obtained is as small as possible.
[0080] Preferably, the step of adaptively performing noise reduction processing on the second image according to the attribute value of the image block to obtain the second image after noise reduction processing comprises:
[0081] The property value of the second image is calculated as follows:
[0082]
[0083] Wherein, Attval represents the attribute value of the second image, nfQ represents the total number of pixels contained in the second image, Q represents the set of pixels contained in the second image, and F(q) represents the pixel value of the qth pixel in Q;
[0084] If Attval is greater than the preset attribute value threshold, the second image is subjected to noise reduction processing in the following manner:
[0085] Performing wavelet decomposition processing on the second image to obtain a wavelet high-frequency image and a wavelet low-frequency image corresponding to the second image;
[0086] The following function is used to process the wavelet high-frequency image:
[0087]
[0088] Among them, xph represents the wavelet high-frequency image before processing, bxph represents the wavelet high-frequency image after processing, xph(x,y) represents the pixel value of the pixel point at position (x,y) in xph, and bxph(x,y) represents the pixel value of the pixel point at position (x,y) in bxph. cmpxph represents a preset comparison constant, fircmpthr and seccmpthr represent a preset first selection coefficient and a second selection coefficient respectively, qh represents a preset adjustment coefficient, and Θ represents a constant coefficient;
[0089] The wavelet low-frequency image is processed as follows:
[0090]
[0091] Among them, xpl represents the wavelet low-frequency image before processing, bxpl represents the wavelet low-frequency image after processing, Ni(x,y) represents the set of positions of other pixel points within a range of radius R with the pixel point at position (x,y) as the center, and xpl(u,v) represents the pixel value of the pixel point at position (u,v) in the wavelet low-frequency image before processing.
[0092]
[0093]
[0094] nfNi(x,y) represents the total number of pixels contained in Ni(x,y), ejtu[(x,y),(u,v)] represents the distance between the pixel at position (x,y) and the pixel at position (u,v); xpl(x,y) represents the pixel value of the pixel at position (x,y) in the wavelet low-frequency image before processing.
[0095] Perform wavelet reconstruction on bxpl and bxph to obtain the second image after noise reduction processing;
[0096] If Attval is less than or equal to the preset attribute value threshold, the second image is subjected to noise reduction processing in the following manner:
[0097] The second image is subjected to denoising by using the NLM denoising algorithm to obtain a denoised second image.
[0098] In the above embodiment, when calculating the attribute value, the difference in pixel value is mainly considered. The larger the attribute value, the greater the difference between the pixels. Therefore, if the spatial domain noise reduction is continued, it is easy to cause the loss of edge detail information. Therefore, the present invention places the second image with a large attribute value in the wavelet domain for noise reduction processing, so that on the basis of achieving noise removal, the edge detail information can be effectively retained, which is conducive to improving the accuracy of subsequent feature information extraction. For the second image with a small attribute value, the noise reduction processing is performed by the spatial domain noise reduction method such as the NLM algorithm, which can effectively improve the speed of the noise reduction processing.
[0099] Specifically, when performing denoising on the wavelet high-frequency image in the wavelet domain, different denoising functions are automatically selected for the second image in different states by selecting the setting of the function, thereby improving the applicability of the denoising function and thus improving the accuracy of the denoising result.
[0100] When performing noise reduction on wavelet low-frequency images, noise reduction is performed cumulatively through weighted fusion. The weight values are calculated based on the distance between pixels and the difference in pixel values. This calculation method can effectively retain the detailed information contained in the image obtained after noise reduction.
[0101] Preferably, the acquiring of pushed products based on the recommendation rule includes:
[0102] Get the intersection U of the set of user tags and the set of product tags;
[0103] Based on the intersection U, the similarity between the user's label and the label of each item is calculated;
[0104] The product corresponding to the maximum similarity value is used as the pushed product;
[0105] The similarity is calculated in the following way:
[0106]
[0107] Among them, simidx(user,n) represents the similarity between user user and the nth item, w i represents the weight of the i-th tag in the user's tags, k i represents the weight of the i-th label in the product label, N represents the total number of labels contained in the intersection U, score(user,i) and score(n,i) represent the scores of the user and the n-th product on the i-th label respectively.
[0108] Preferably, the similarity may also be calculated by Pearson correlation coefficient, Minkowski distance, etc.
[0109] Preferably, modifying the recommendation rule includes modifying a calculation method for calculating the similarity.
[0110] Preferably, the calculating the interaction value based on the browsing data and the transaction data includes:
[0111] The browsing data includes the number of clicks and shares of the recommended product by the user within the set time period; the transaction data includes the number of purchases of the recommended product by the user within the set time period;
[0112] The interaction value between the user and the pushed product is calculated as follows:
[0113]
[0114] Where inval represents the interaction value between the user and the recommended product, α, β, δ represent the preset weight coefficients, α+β+δ=1, numofclk represents the number of clicks on the recommended product by the user within the set time period, numofpur represents the number of purchases of the recommended product by the user within the set time period, shares represents the number of shares of the recommended product by the user within the set time period, and numofclk represents the number of shares of the recommended product by the user within the set time period. st Indicates the preset standard value of the number of clicks, numofpur st Indicates the preset standard value of the number of purchases, shares st Indicates the preset standard value of the number of shares.
[0115] Specifically, in setting the weight value, the weight value corresponding to the number of purchases is the largest, and the weight value corresponding to the number of clicks is the smallest.
[0116] Preferably, the updating of the weight of the user's tag in the recommendation rule based on the interaction value includes:
[0117] Determine whether the interaction value is less than a preset comparison threshold, and if not, do not update the weight of the user's tag in the recommendation rule;
[0118] If so, proceed as follows:
[0119] Get the label corresponding to the maximum weight among all labels of the recommended products max ;
[0120] Use the following method to label the label in the user's label collection max The weights are updated:
[0121]
[0122] Among them, w(Label max ) and w'(Label max ) respectively represent the label Label in the user's label set max The weight before and after the update, inval st It represents the preset reference value of the interaction value, and valper represents the preset constant parameter.
[0123] Preferably, the updating of the weight of the user's tag in the recommendation rule based on the interaction value further includes:
[0124] Determine whether the interaction value is greater than a preset update threshold, and if not, do not update the weight of the user's tag in the recommendation rule;
[0125] If yes, proceed as follows:
[0126] Get the label corresponding to the maximum weight among all labels of the recommended products max ;
[0127] Use the following method to label the user's label collection Label max The weights are updated:
[0128]
[0129] Among them, w(Label max ) and w'(Label max ) respectively represent the label Label in the user's label set max The weight before and after the update, inval st It represents the preset reference value of the interaction value, and valper represents the preset constant parameter.
[0130] Specifically, when updating the weight of a user's label, if the interaction value is greater than the comparison threshold, the label Label in the user's label set is updated. max The weight of the interaction value is increased, and if the interaction value is less than the update threshold, the label Label in the user label set is max The weight of the user's label is reduced, so that the weight value of the user's label can be adaptively changed according to the various data generated by the user's behavior, which is conducive to improving the accuracy of the recommendation.
[0131] Although embodiments of the present invention have been shown and described, those skilled in the art will appreciate that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the claims and their equivalents.
Claims
1. A personalized recommendation system based on user tags, characterized in that: It includes user tag management module, recommendation rule management module, product recommendation module, cloud computing module and tag weight update module; The user tag management module is used to generate user tags based on user attribute information, browsing data and transaction data through a user tag mining algorithm; The recommendation rule management module is used by the administrator to set recommendation rules; The product recommendation module is used to obtain pushed products based on the recommendation rules, and push the pushed products to a preset area of the client; The cloud computing module is used to obtain the browsing data and transaction data of the user on the pushed product within a set time period, and calculate the interaction value based on the browsing data and transaction data; The tag weight updating module is used to update the weight of the user's tag in the recommendation rule based on the interaction value; The calculating the interaction value based on the browsing data and the transaction data includes: The browsing data includes the number of clicks and shares of the recommended products by the user within the set time period; the transaction data includes the number of purchases of the recommended products by the user within the set time period; The interaction value between the user and the pushed product is calculated as follows: Where inval represents the interaction value between the user and the recommended product, α, β, δ represent the preset weight coefficients, α+β+δ=1, numofclk represents the number of clicks on the recommended product by the user within the set time period, numofpur represents the number of purchases of the recommended product by the user within the set time period, shares represents the number of shares of the recommended product by the user within the set time period, and numofclk represents the number of shares of the recommended product by the user within the set time period. st Indicates the preset standard value of the number of clicks, numofpur st Indicates the preset standard value of the number of purchases, shares st Indicates the preset standard value of the number of shares; The updating of the weight of the user's tag in the recommendation rule based on the interaction value includes: Determine whether the interaction value is greater than a preset comparison threshold, and if not, do not update the weight of the user's tag in the recommendation rule; If yes, proceed as follows: Get the label corresponding to the maximum weight among all labels of the recommended products max ; Use the following method to label the label in the user's label collection max The weights are updated: Among them, w(Label max ) and w'(Label max ) respectively represent the label Label in the user's label set max The weight before and after the update, inval st It represents the preset reference value of the interaction value, and valper represents the preset constant parameter.
2. A personalized recommendation system based on user tags according to claim 1, characterized in that: The recommendation rule management module includes an identity recognition unit, an operation unit and a storage unit; The identity recognition unit is used to identify the authority of the administrator and determine whether the administrator has the authority to modify the recommendation rules; The operation unit is used to modify the recommendation rule by an administrator identified by authority, and to send the modified recommendation rule to the storage unit; The storage unit is used to store the recommendation rules sent by the operation unit.
3. A personalized recommendation system based on user tags according to claim 2, characterized in that: The acquiring of pushed products based on the recommendation rule includes: Get the intersection U of the set of user tags and the set of product tags; Based on the intersection U, the similarity between the user's label and the label of each item is calculated; The product corresponding to the maximum similarity value is used as the pushed product; The similarity is calculated in the following way: Among them, simidx(user,n) represents the similarity between user user and the nth item, w i represents the weight of the i-th tag in the user's tags, k i represents the weight of the i-th label in the product label, N represents the total number of labels contained in the intersection U, score(user,i) and score(n,i) represent the scores of the user and the n-th product on the i-th label respectively.
Citation Information
Patent Citations
Recommendation information generation method and system
CN110020918A
Social shopping platform providing recommender display and advertisement publishing and shopping method thereof
US20130246186A1