Method and device for recommending an object

By processing and clustering user group data, the object recommendation model is trained, and the problem of insufficient or excessive recommendations in the prior art is solved, and the accuracy and user experience of recommendations are improved.

CN112528103BActive Publication Date: 2025-01-14BEIJING JINGDONG SHANGKE INFORMATION TECH CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201910886902.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-09-19
Publication Date
2025-01-14
Estimated Expiration
2039-09-19

AI Technical Summary

Technical Problem

In the prior art, the number of recommendations based on user personalized recommendations is too small, resulting in a decrease in user viscosity, while the number of recommendations for unified recommendations is too large, resulting in user disgust.

Method used

By performing missing value processing, outlier processing and normalization processing on the data of the user group, clustering the user group, training the neural network based on the clustering results, and building an object recommendation model to determine the object to be recommended.

Benefits of technology

Accurately identifying the person to be recommended avoids the problem of too few or too many recommendations and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112528103B_ABST
    Figure CN112528103B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and device for recommending objects, and relates to the field of computer technology. A specific implementation of the method includes: performing missing value processing, outlier processing and normalization processing on the data of a user group in sequence to obtain feature data of the user group; clustering the users in the user group according to the feature data of the user group to obtain multiple clusters; training a neural network based on the feature data of each cluster and its corresponding label data to train and obtain an object recommendation model corresponding to each cluster, thereby determining the objects to be recommended corresponding to each cluster through the object recommendation model. This implementation can solve the technical problem of too few or too many recommendations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a method and device for recommending an object. Background Art

[0002] Currently, the recommendation of objects (such as videos, audios, news, items, articles, etc.) to users is either personalized based on the characteristic data of the user, or unified based on the characteristic data of the user group.

[0003] In the process of implementing the present invention, the inventors found that there are at least the following problems in the prior art:

[0004] The method of personalized recommendation based on users has the problem of too few recommendations, resulting in a decrease in user stickiness; the method of unified recommendation has the problem of too many recommendations, but there are no objects of interest to users, which can easily cause user disgust. Summary of the invention

[0005] In view of this, an embodiment of the present invention provides a method and apparatus for recommending objects to solve the technical problem of too few or too many recommended objects.

[0006] To achieve the above object, according to one aspect of an embodiment of the present invention, a method for recommending an object is provided, comprising:

[0007] Performing missing value processing, outlier processing and normalization processing on the data of the user group in turn to obtain characteristic data of the user group;

[0008] Clustering users in the user group according to the characteristic data of the user group to obtain multiple clusters;

[0009] The neural network is trained based on the feature data of each cluster and its corresponding label data to obtain the object recommendation model corresponding to each cluster, so as to determine the object to be recommended corresponding to each cluster through the object recommendation model.

[0010] Optionally, missing value processing is performed on the user group data, including:

[0011] Find missing data from the data of the user group, and determine whether the importance of the feature corresponding to the missing data is greater than or equal to a preset importance threshold;

[0012] If yes, convert the missing data into a preset numerical value or a preset classification number;

[0013] If not, continue to determine whether the ratio of the number of samples to which the missing data belongs to the total number of samples is less than a preset ratio threshold; if so, delete the samples to which the missing data belongs; if not, use a preset method to interpolate the missing data.

[0014] Optionally, the missing data is interpolated using a preset method, including:

[0015] Determine whether the characteristic data of the column where the missing data is located obeys a normal distribution;

[0016] If yes, then use the mean or median of the characteristic data of the column to interpolate the missing data;

[0017] If not, the missing data are interpolated using the Lagrange interpolation method.

[0018] Optionally, the missing data is interpolated using the mean value or median of the characteristic data of the column, including:

[0019] Calculate the mean and standard deviation of the column, and determine whether the absolute value of the characteristic data in the column minus the mean is greater than three standard deviations;

[0020] If yes, then use the median of the characteristic data of the column to interpolate the missing data;

[0021] If not, the missing data is interpolated using the mean value of the characteristic data of the column.

[0022] Optionally, outlier processing is performed on the data of the user group, including:

[0023] Determine the 0.1 quantile, 0.2 quantile, 0.3 quantile, 0.4 quantile, 0.5 quantile, 0.6 quantile, 0.7 quantile, 0.8 quantile, and 0.9 quantile of the characteristic data of each column respectively;

[0024] Determine whether the difference between adjacent quantiles is greater than or equal to a preset difference threshold;

[0025] If yes, an abnormal interval is determined, abnormal feature data is searched in the abnormal interval, and the abnormal feature data is deleted or replaced with the average value of the feature data in the column where the feature is located.

[0026] Optionally, the data of the user group is normalized, including:

[0027] For each column of feature data, the following method is used for normalization:

[0028] According to the position of the feature data in the cumulative distribution function, the feature data is divided into equal-frequency buckets so that the number of feature data in each bucket is the same;

[0029] For the bi-th bucket, the feature data in the bucket is normalized to bi / n, where n is the number of buckets.

[0030] Optionally, users in the user group are clustered according to the characteristic data of the user group to obtain a plurality of clusters, including:

[0031] According to the characteristic data of the user group and based on a self-organizing map neural network clustering algorithm, the users in the user group are clustered to obtain a plurality of clusters.

[0032] Optionally, according to the characteristic data of the user group and based on a self-organizing map neural network clustering algorithm, the users in the user group are clustered to obtain a plurality of clusters, including:

[0033] When the weights of each node in the output layer obey the normal distribution, each node is given a small initial weight as much as possible, and the distance between adjacent nodes is greater than the preset distance threshold;

[0034] Taking the characteristic data of the user group as samples, mapping each sample to a node with the smallest distance;

[0035] For each node, calculate the centroid of the sample corresponding to the node, and update the weight of the node according to the vector of the centroid;

[0036] Iteratively executing the sample mapping step and the node weight updating step until the centroid vector and the node weight meet the convergence condition or are the same;

[0037] The samples mapped to the same node are taken as one cluster, thus obtaining multiple clusters.

[0038] In addition, according to another aspect of an embodiment of the present invention, a device for recommending an object is provided, including:

[0039] A processing module, used to perform missing value processing, outlier processing and normalization processing on the data of the user group in sequence to obtain characteristic data of the user group;

[0040] A clustering module, used for clustering users in the user group according to the characteristic data of the user group to obtain multiple clusters;

[0041] The recommendation module is used to train the neural network based on the feature data of each cluster and its corresponding label data, so as to train and obtain the object recommendation model corresponding to each cluster, thereby determining the object to be recommended corresponding to each cluster through the object recommendation model.

[0042] Optionally, missing value processing is performed on the user group data, including:

[0043] Find missing data from the data of the user group, and determine whether the importance of the feature corresponding to the missing data is greater than or equal to a preset importance threshold;

[0044] If yes, convert the missing data into a preset numerical value or a preset classification number;

[0045] If not, continue to determine whether the ratio of the number of samples to which the missing data belongs to the total number of samples is less than a preset ratio threshold; if so, delete the samples to which the missing data belongs; if not, use a preset method to interpolate the missing data.

[0046] Optionally, the missing data is interpolated using a preset method, including:

[0047] Determine whether the characteristic data of the column where the missing data is located obeys a normal distribution;

[0048] If yes, then use the mean or median of the characteristic data of the column to interpolate the missing data;

[0049] If not, the missing data are interpolated using the Lagrange interpolation method.

[0050] Optionally, the missing data is interpolated using the mean value or median of the characteristic data of the column, including:

[0051] Calculate the mean and standard deviation of the column, and determine whether the absolute value of the characteristic data in the column minus the mean is greater than three standard deviations;

[0052] If yes, then use the median of the characteristic data of the column to interpolate the missing data;

[0053] If not, the missing data is interpolated using the mean value of the characteristic data of the column.

[0054] Optionally, outlier processing is performed on the data of the user group, including:

[0055] Determine the 0.1 quantile, 0.2 quantile, 0.3 quantile, 0.4 quantile, 0.5 quantile, 0.6 quantile, 0.7 quantile, 0.8 quantile, and 0.9 quantile of the characteristic data of each column respectively;

[0056] Determine whether the difference between adjacent quantiles is greater than or equal to a preset difference threshold;

[0057] If yes, an abnormal interval is determined, abnormal feature data is searched in the abnormal interval, and the abnormal feature data is deleted or replaced with the average value of the feature data in the column where the feature is located.

[0058] Optionally, the data of the user group is normalized, including:

[0059] For each column of feature data, the following method is used for normalization:

[0060] According to the position of the feature data in the cumulative distribution function, the feature data is divided into equal-frequency buckets so that the number of feature data in each bucket is the same;

[0061] For the bi-th bucket, the feature data in the bucket is normalized to bi / n, where n is the number of buckets.

[0062] Optionally, the clustering module is further used for:

[0063] According to the characteristic data of the user group and based on a self-organizing map neural network clustering algorithm, the users in the user group are clustered to obtain a plurality of clusters.

[0064] Optionally, the clustering module is further used for:

[0065] When the weights of each node in the output layer obey the normal distribution, each node is given a small initial weight as much as possible, and the distance between adjacent nodes is greater than the preset distance threshold;

[0066] Taking the characteristic data of the user group as samples, mapping each sample to a node with the smallest distance;

[0067] For each node, calculate the centroid of the sample corresponding to the node, and update the weight of the node according to the vector of the centroid;

[0068] Iteratively executing the sample mapping step and the node weight updating step until the centroid vector and the node weight meet the convergence condition or are the same;

[0069] The samples mapped to the same node are taken as one cluster, thus obtaining multiple clusters.

[0070] According to another aspect of an embodiment of the present invention, there is also provided an electronic device, including:

[0071] one or more processors;

[0072] a storage device for storing one or more programs,

[0073] When the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any of the above embodiments.

[0074] According to another aspect of an embodiment of the present invention, a computer-readable medium is provided, on which a computer program is stored. When the program is executed by a processor, the method described in any one of the above embodiments is implemented.

[0075] An embodiment of the above invention has the following advantages or beneficial effects: because the technical means of clustering the users in the user group according to the characteristic data of the user group is adopted, and the to-be-recommended objects corresponding to each cluster are determined through the object recommendation model, the technical problem of too few or too many recommendations in the prior art is overcome. The embodiment of the present invention clusters the users in the user group according to the characteristic data of the user group to obtain multiple clusters, and then for each cluster, the to-be-recommended objects corresponding to each cluster are determined through the object recommendation model, thereby accurately determining the to-be-recommended objects and avoiding too few or too many recommendations.

[0076] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS

[0077] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.

[0078] Figure 1 is a schematic diagram of the main process of a method for recommending an object according to an embodiment of the present invention;

[0079] Figure 2 is a schematic diagram of the main process of a method for recommending an object according to a reference embodiment of the present invention;

[0080] Figure 3 is a schematic diagram of the main process of a method for recommending an object according to another reference embodiment of the present invention;

[0081] Figure 4 is a schematic diagram of main modules of an apparatus for recommending an object according to an embodiment of the present invention;

[0082] Figure 5 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;

[0083] Figure 6 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION

[0084] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.

[0085] Figure 1Schematic diagram of the main process of the method for recommending objects according to an embodiment of the present invention. Figure 1 As shown, the method for recommending an object may include:

[0086] Step 101 , performing missing value processing, outlier processing and normalization processing on the data of the user group in sequence to obtain characteristic data of the user group.

[0087] First, the historical data of the user group is obtained, and the historical data is compared and processed in sequence for missing value processing, outlier processing and normalization processing, so as to obtain the characteristic data of the user group. The historical data may include the characteristic data of the user, or the characteristic data of the user and the interaction between the object and the user, or the characteristic data of the object, the characteristic data of the user, and the interaction between the object and the user. The features of these dimensions are further spliced ​​into a feature vector, i.e., as a sample data. In an embodiment of the present invention, the object may be a video, audio, news, item, article, etc.

[0088] For example, the characteristic data of an object can be the ratio of the unit price to the total order amount of all objects recommended in the user group in the past day, the number of clicks in the group, the number of views in the user group, the number of orders placed by users, the number of comments, the number of followers, the quality score, the repurchase cycle, the cancellation rate, the return rate, and the above characteristic data in the past 7 days, 15 days, 30 days, etc. The characteristic data of users can include the number of clicks on the object, the number of different objects purchased, the number of different categories purchased, the shopping interval, the number of categories in each order, the number of objects in each order, gender, age, address, the length of stay of each visit to the object, the client brand, the version of the client operating system, etc. The characteristic data of the interaction between the object and the user can include the user's preferences in the past 7 days, the user's brand preferences, the user's category preferences, etc.

[0089] Then the above-mentioned feature data is preprocessed, mainly including missing value processing, outlier processing and normalization processing. Optionally, the missing value processing is performed on the data of the user group, including: finding missing data from the data of the user group, judging whether the importance of the feature corresponding to the missing data is greater than or equal to the preset importance threshold; if so, converting the missing data into a preset numerical value or a preset classification number; if not, continuing to judge whether the proportion of the number of samples to which the missing data belongs to the total number of samples is less than the preset proportion threshold; if so, deleting the samples to which the missing data belongs, if not, using a preset method to interpolate the missing data. In an embodiment of the present invention, first determine whether the importance of the feature corresponding to the missing data is greater than or equal to the preset importance threshold. If so, it means that the feature is more important, such as the price of the object, the number of times the object is clicked, etc. If not, it means that the feature is not important, such as the quality score, the version of the client operating system. For important features, the missing data is converted into a preset numerical value or a preset classification number. For unimportant features, it is further determined whether the ratio of the number of samples to which the missing data belongs to the total number of samples is less than a preset ratio threshold (such as 1 in 10,000, 1 in 100,000, 1 in 1 million, etc.). If so, the samples to which the missing data belongs are deleted, indicating that deleting these samples will not affect the clustering results; if not, the missing data is interpolated using a preset method to avoid affecting the clustering results. The above-mentioned missing value processing can improve the integrity of the samples, increase data coverage, make the clustering effect better, and the final accuracy will also be higher.

[0090] It should be pointed out that in the embodiments of the present invention, importance may be assigned to each feature in advance, and different importance may be assigned to each feature according to business needs. In different business scenarios, the importance of the same feature may be different.

[0091] Optionally, outlier processing is performed on the data of the user group, including: respectively determining the 0.1 quantile, 0.2 quantile, 0.3 quantile, 0.4 quantile, 0.5 quantile, 0.6 quantile, 0.7 quantile, 0.8 quantile, and 0.9 quantile of the characteristic data of each column; judging whether the difference between adjacent quantiles is greater than or equal to a preset difference threshold; if so, determining an abnormal interval, searching for abnormal characteristic data within the abnormal interval, and deleting or replacing the abnormal characteristic data with the average value of the characteristic data of the column where the characteristic is located. The embodiment of the present invention determines each of the above quantiles respectively, and then calculates the 0.2 quantile-0.1 quantile, the 0.3 quantile-0.2 quantile, the 0.4 quantile-0.3 quantile, and so on, which helps to grasp the overall distribution of the data and judge whether there are extreme outliers, so that the abnormal characteristic data can be accurately found.

[0092] Common feature normalization methods such as min-max or z-score only translate and stretch the data distribution, which causes most sample values ​​to be concentrated in a very small range, reducing the discrimination of sample features. A small number of large-value features can cause fluctuations during training and slow down the convergence speed. Features can also be logarithmically compressed, but due to the different feature distributions in different dimensions, this feature processing method may not be suitable for other dimensions.

[0093] Therefore, for each column of feature data, the present invention adopts the following method for normalization processing: according to the position of the feature data in the cumulative distribution function, the feature data is divided into equal frequency buckets so that the number of feature data in each bucket is the same; for the bi-th bucket, the feature data in the bucket is normalized to bi / n, where n is the number of buckets, so that the continuous value is discretized and the feature data with different distributions can be mapped to be evenly distributed. Since the feature data is evenly distributed after normalization, it is particularly suitable for deep learning algorithms, especially for neural networks, and can prevent the gradient disappearance or gradient explosion in the neural network.

[0094] A quantity threshold may be pre-set, and if the quantity of feature data in any two buckets is less than the quantity threshold (such as 1, 2, 3, etc.), it may be considered that the quantity of feature data in the two buckets is the same. Optionally, before normalization, low-frequency features may be filtered, that is, the filtered feature data may be normalized.

[0095] Optionally, information gain and entropy normalization can be selected for normalization of different business features. This method imitates the splitting of decision tree leaf nodes to calculate information entropy and information gain, finds the calculation nodes for continuous feature splitting, and then performs bucketing based on conditional judgment.

[0096] Step 102: clustering the users in the user group according to the characteristic data of the user group to obtain a plurality of clusters.

[0097] In an embodiment of the present invention, a clustering algorithm may be used to cluster users in the user group, such as a K-means clustering algorithm, a Mean-Shift clustering algorithm, a density-based clustering algorithm, or an expectation-maximization clustering algorithm based on a Gaussian mixture model, and these clustering algorithms may all achieve clustering.

[0098] Optionally, a self-organizing map neural network clustering algorithm can also be used to cluster the users in the user group to obtain multiple clusters. The embodiment of the present invention uses a self-organizing map (SOM) neural network clustering algorithm to map the feature data of the user group, thereby clustering the users in the user group to obtain multiple clusters. SOM consists of an input layer and an output layer, and can achieve dimensionality reduction mapping from the input layer to the output layer. The input layer corresponds to the input feature vector (i.e., feature data), and the output layer is composed of a series of ordered nodes organized on a 2-dimensional network. The neurons in the input layer are connected to the nodes in the output layer through weights.

[0099] Optionally, according to the characteristic data of the user group, and based on the self-organizing map neural network clustering algorithm, the users in the user group are clustered to obtain multiple clusters, including: when the weights of each node in the output layer obey the normal distribution, each node is assigned as small an initial weight as possible, and the distance between adjacent nodes is greater than a preset distance threshold; the characteristic data of the user group is used as a sample, and each sample is mapped to the node with the smallest distance; for each node, the centroid of the sample corresponding to the node is calculated, and the weight of the node is updated according to the vector of the centroid; the sample mapping step and the node weight updating step are iteratively executed until the vector of the centroid meets the convergence condition or is the same as the node weight; the samples mapped to the same node are taken as a cluster, thereby obtaining multiple clusters. The embodiment of the present invention assigns a small initial weight to each node in the output layer, and sets a larger initial domain, so that the cluster centers are as far away from each other as possible, so that the samples in different categories are more different.

[0100] Specifically, the self-organizing map neural network clustering algorithm includes the following steps:

[0101] Step 1: Network initialization: When the weights of each node in the output layer obey the normal distribution, each node is assigned the smallest possible initial weight and the distance between adjacent nodes is greater than the preset distance threshold.

[0102] Step 2: Input the first sample, calculate the distance between the first sample and each node, and find the node A with the shortest distance; input the second sample, calculate the distance between the second sample and each node, and find the node B with the shortest distance; and so on.

[0103] Step 3: Calculate the centroid of all samples mapped to node A, and update the weight of node A according to the vector of the centroid; calculate the centroid of all samples mapped to node B, and update the weight of node B according to the vector of the centroid, and so on, to complete the weight update of all nodes.

[0104] Step 4: Input the sample again and iterate (repeat steps 2 and 3) until the centroid vector and the node weight meet the convergence condition or are the same.

[0105] Step 103 , training neural networks based on the feature data of each cluster and its corresponding label data respectively, so as to obtain object recommendation models corresponding to each cluster, thereby determining the objects to be recommended corresponding to each cluster through the object recommendation models.

[0106] According to the clustering results, the feature data of each cluster and its corresponding label data are obtained and input into the neural network. Through multiple iterations of training, the object recommendation model corresponding to each cluster is obtained. In other words, each cluster trains its corresponding object recommendation model. It should be pointed out that the feature data of each cluster is the same as the feature data of the user group, but the sample size is different. It can also be said that the feature data of the user group is the sum of the feature data of each cluster.

[0107] Optionally, the label data includes: whether a preset operation is performed on the object. The preset operation may be click, order, share, comment, like, follow, etc. If the preset operation is performed on the object, the training sample is marked as a positive sample; if the preset operation is not performed on the object, the training sample is marked as a negative sample.

[0108] After the training samples are constructed, the feature data of each cluster and its corresponding label data can be used to train the neural network respectively, and the error back propagation algorithm is used to train the object recommendation model. Optionally, the neural network can be a deep neural network ranking model.

[0109] In the step of determining the object to be recommended, the characteristic data of the cluster can be used as a test sample and input into the object recommendation model to output the identification of at least one object and its corresponding preset operation probability; according to the size of the preset operation probability, the at least one object is sorted in descending order, and a preset number of objects are screened out as the objects to be recommended. The characteristic data used in the determination stage can be historical data of the last week, the last day, etc., and the characteristic data used in the training stage can be historical data of the last month, the last three months, etc.

[0110] According to the various embodiments described above, it can be seen that the present invention solves the technical problem of too few or too many recommended objects in the prior art by clustering the users in the user group according to the characteristic data of the user group, thereby determining the objects to be recommended corresponding to each cluster through the object recommendation model. The embodiment of the present invention clusters the users in the user group according to the characteristic data of the user group to obtain multiple clusters, and then determines the objects to be recommended corresponding to each cluster through the object recommendation model for each cluster, thereby accurately determining the objects to be recommended and avoiding too few or too many recommended objects.

[0111] Figure 2 1 is a schematic diagram of the main process of a method for recommending objects according to a reference embodiment of the present invention. The method of performing missing value processing on the data of the user group includes the following steps:

[0112] Step 201, searching for missing data from the data of the user group.

[0113] Step 202, determining whether the importance of the feature corresponding to the missing data is greater than or equal to a preset importance threshold; if so, executing step 203; if not, executing step 204.

[0114] You can assign importance to each feature in advance, and set a preset importance threshold to determine whether the feature corresponding to the missing data is important.

[0115] Step 203: convert the missing data into a preset numerical value or a preset classification number.

[0116] If the features corresponding to the missing data are important, for numerical features, the missing data will be converted into preset numerical values ​​(such as -1 or 999, indicating missing data); for categorical features, the missing data will be converted into preset classification numbers (such as 001, 002, etc., which have no numerical significance in themselves).

[0117] Step 204, determine whether the ratio of the number of samples to which the missing data belongs to the total number of samples is less than a preset ratio threshold; if so, execute step 205; if not, execute step 206.

[0118] Step 205: Delete the sample to which the missing data belongs.

[0119] Step 206 , determining whether the characteristic data of the column where the missing data is located obeys a normal distribution; if not, executing step 207 ; if so, executing step 208 .

[0120] Step 207: Use Lagrange interpolation to interpolate the missing data.

[0121] Step 208, calculate the mean and standard deviation of the column, and determine whether the absolute value of the characteristic data in the column after subtracting the mean value is greater than three standard deviations; if so, execute step 209; if not, execute step 210.

[0122] The absolute value of the feature data after subtracting the mean value is greater than three standard deviations, which is used to determine that the feature data is an extreme outlier.

[0123] Step 209: Use the median of the characteristic data of the column to interpolate the missing data.

[0124] Step 210: Use the average value of the characteristic data of the column to interpolate the missing data.

[0125] In addition, the specific implementation content of the method for recommending an object in a reference embodiment of the present invention has been described in detail in the method for recommending an object described above, so the repeated content will not be described here.

[0126] Figure 3 It is a schematic diagram of the main process of a method for recommending an object according to another reference embodiment of the present invention.

[0127] Step 301 , obtaining the data of the user group in the latest month, and performing missing value processing, outlier processing and normalization processing on the data of the user group in sequence to obtain the characteristic data of the user group.

[0128] Step 302: Cluster the users in the user group according to the characteristic data of the user group and based on a self-organizing map neural network clustering algorithm to obtain a plurality of clusters.

[0129] Step 303: Train the neural network based on the feature data of each cluster and its corresponding label data to obtain the object recommendation model corresponding to each cluster.

[0130] Step 304 , obtain the feature data of each cluster in the most recent week as test samples, input them into the corresponding object recommendation model respectively, and determine the to-be-recommended object corresponding to each cluster.

[0131] In addition, the specific implementation content of the method for recommending an object in another reference embodiment of the present invention has been described in detail in the method for recommending an object described above, so the repeated content will not be described here.

[0132] Figure 4 is a schematic diagram of main modules of an apparatus for recommending objects according to an embodiment of the present invention, such as Figure 4As shown, the device 400 for recommending objects includes a processing module 401, a clustering module 402 and a recommendation module 403. The processing module 401 is used to perform missing value processing, outlier processing and normalization processing on the data of the user group in sequence to obtain the characteristic data of the user group; the clustering module 402 is used to cluster the users in the user group according to the characteristic data of the user group to obtain multiple clusters; the recommendation module 403 is used to train the neural network based on the characteristic data of each cluster and its corresponding label data, so as to train and obtain the object recommendation model corresponding to each cluster, so as to determine the recommended object corresponding to each cluster through the object recommendation model.

[0133] Optionally, missing value processing is performed on the user group data, including:

[0134] Find missing data from the data of the user group, and determine whether the importance of the feature corresponding to the missing data is greater than or equal to a preset importance threshold;

[0135] If yes, convert the missing data into a preset numerical value or a preset classification number;

[0136] If not, continue to determine whether the ratio of the number of samples to which the missing data belongs to the total number of samples is less than a preset ratio threshold; if so, delete the samples to which the missing data belongs; if not, use a preset method to interpolate the missing data.

[0137] Optionally, the missing data is interpolated using a preset method, including:

[0138] Determine whether the characteristic data of the column where the missing data is located obeys a normal distribution;

[0139] If yes, then use the mean or median of the characteristic data of the column to interpolate the missing data;

[0140] If not, the missing data are interpolated using the Lagrange interpolation method.

[0141] Optionally, the missing data is interpolated using the mean value or median of the characteristic data of the column, including:

[0142] Calculate the mean value and standard deviation of the column, and determine whether the absolute value of the characteristic data in the column minus the mean value is greater than three standard deviations;

[0143] If yes, then use the median of the characteristic data of the column to interpolate the missing data;

[0144] If not, the missing data is interpolated using the mean value of the characteristic data of the column.

[0145] Optionally, outlier processing is performed on the data of the user group, including:

[0146] Determine the 0.1 quantile, 0.2 quantile, 0.3 quantile, 0.4 quantile, 0.5 quantile, 0.6 quantile, 0.7 quantile, 0.8 quantile, and 0.9 quantile of the characteristic data of each column respectively;

[0147] Determine whether the difference between adjacent quantiles is greater than or equal to a preset difference threshold;

[0148] If yes, an abnormal interval is determined, abnormal feature data is searched in the abnormal interval, and the abnormal feature data is deleted or replaced with the average value of the feature data in the column where the feature is located.

[0149] Optionally, the data of the user group is normalized, including:

[0150] For each column of feature data, the following method is used for normalization:

[0151] According to the position of the feature data in the cumulative distribution function, the feature data is divided into equal-frequency buckets so that the number of feature data in each bucket is the same;

[0152] For the bi-th bucket, the feature data in the bucket is normalized to bi / n, where n is the number of buckets.

[0153] Optionally, the clustering module 402 is further used for:

[0154] According to the characteristic data of the user group and based on a self-organizing map neural network clustering algorithm, the users in the user group are clustered to obtain a plurality of clusters.

[0155] Optionally, the clustering module 402 is further used for:

[0156] When the weights of each node in the output layer obey the normal distribution, each node is given a small initial weight as much as possible, and the distance between adjacent nodes is greater than the preset distance threshold;

[0157] Taking the characteristic data of the user group as samples, mapping each sample to a node with the smallest distance;

[0158] For each node, calculate the centroid of the sample corresponding to the node, and update the weight of the node according to the vector of the centroid;

[0159] Iteratively executing the sample mapping step and the node weight updating step until the centroid vector and the node weight meet the convergence condition or are the same;

[0160] The samples mapped to the same node are taken as one cluster, thus obtaining multiple clusters.

[0161] According to the various embodiments described above, it can be seen that the present invention solves the technical problem of too few or too many recommended objects in the prior art by clustering the users in the user group according to the characteristic data of the user group, thereby determining the objects to be recommended corresponding to each cluster through the object recommendation model. The embodiment of the present invention clusters the users in the user group according to the characteristic data of the user group to obtain multiple clusters, and then determines the objects to be recommended corresponding to each cluster through the object recommendation model for each cluster, thereby accurately determining the objects to be recommended and avoiding too few or too many recommended objects.

[0162] It should be noted that the specific implementation content of the device for recommending objects described in the present invention has been described in detail in the method for recommending objects described above, so the repeated content will not be described here.

[0163] Figure 5 An exemplary system architecture 500 is shown to which the method for recommending an object or the apparatus for recommending an object according to an embodiment of the present invention may be applied.

[0164] like Figure 5 As shown, system architecture 500 may include terminal devices 501, 502, 503, a network 504 and a server 505. Network 504 is used to provide a medium for communication links between terminal devices 501, 502, 503 and server 505. Network 504 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0165] Users can use terminal devices 501, 502, 503 to interact with server 504 through network 504 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 501, 502, 503, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples).

[0166] The terminal devices 501 , 502 , and 503 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and the like.

[0167] The server 505 may be a server that provides various services, such as a backend management server (only an example) that provides support for shopping websites browsed by users using the terminal devices 501, 502, and 503. The backend management server may analyze and process the received data such as the item information query request, and feed back the processing results (such as target push information, item information - only an example) to the terminal device.

[0168] It should be noted that the method for recommending an object provided in the embodiment of the present invention is generally executed by the server 505, and accordingly, the device for recommending an object is generally set in the server 505. The method for recommending an object provided in the embodiment of the present invention can also be executed by the terminal devices 501, 502, 503, and accordingly, the device for recommending an object can be set in the terminal devices 501, 502, 503.

[0169] It should be understood that Figure 5 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.

[0170] Reference below Figure 6 , which shows a schematic diagram of the structure of a computer system 600 of a terminal device suitable for implementing an embodiment of the present invention. Figure 6 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0171] like Figure 6 As shown, the computer system 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the system 600 are also stored. The CPU 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0172] The following components are connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage section 608 as needed.

[0173] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program article, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the central processing unit (CPU) 601, the above-mentioned functions defined in the system of the present invention are executed.

[0174] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0175] The flowchart and block diagram in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the system, method and computer program article according to various embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0176] The modules involved in the embodiments of the present invention may be implemented by software or hardware. The modules described may also be set in a processor, for example, it may be described as: a processor includes a processing module, a clustering module and a recommendation module, wherein the names of these modules do not constitute a limitation on the modules themselves in some cases.

[0177] As another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiment; or it may exist independently and not be assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device includes: performing missing value processing, outlier processing and normalization processing on the data of the user group in sequence to obtain the characteristic data of the user group; clustering the users in the user group according to the characteristic data of the user group to obtain multiple clusters; training the neural network based on the characteristic data of each cluster and its corresponding label data to train the object recommendation model corresponding to each cluster, so as to determine the recommended objects corresponding to each cluster through the object recommendation model.

[0178] According to the technical solution of the embodiment of the present invention, because the technical means of clustering the users in the user group according to the feature number of the user group is adopted, and the to-be-recommended objects corresponding to each cluster are determined through the object recommendation model, the technical problem of too few or too many recommendations in the prior art is overcome. The embodiment of the present invention clusters the users in the user group according to the feature data of the user group to obtain multiple clusters, and then for each cluster, the to-be-recommended objects corresponding to each cluster are determined through the object recommendation model, thereby accurately determining the to-be-recommended objects and avoiding too few or too many recommendations.

[0179] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for recommending an object, characterized in that: include: Performing missing value processing, outlier processing and normalization processing on the data of the user group in turn to obtain characteristic data of the user group; Clustering users in the user group according to the characteristic data of the user group to obtain multiple clusters; Based on the feature data of each cluster and its corresponding label data, a neural network is trained to obtain an object recommendation model corresponding to each cluster, thereby determining the object to be recommended corresponding to each cluster through the object recommendation model; Clustering users in the user group according to the characteristic data of the user group to obtain multiple clusters, including: When the weights of each node in the output layer obey the normal distribution, each node is given as small an initial weight as possible, and the distance between adjacent nodes is greater than the preset distance threshold; Taking the characteristic data of the user group as samples, mapping each sample to a node with the smallest distance; For each node, calculate the centroid of the sample corresponding to the node, and update the weight of the node according to the vector of the centroid; Iteratively executing the sample mapping step and the node weight updating step until the centroid vector and the node weight meet the convergence condition or are the same; The samples mapped to the same node are taken as one cluster, thus obtaining multiple clusters.

2. The method according to claim 1, characterized in that Process missing values ​​for the user group's data, including: Find missing data from the data of the user group, and determine whether the importance of the feature corresponding to the missing data is greater than or equal to a preset importance threshold; If yes, convert the missing data into a preset numerical value or a preset classification number; If not, continue to determine whether the ratio of the number of samples to which the missing data belongs to the total number of samples is less than a preset ratio threshold; if so, delete the samples to which the missing data belongs; if not, use a preset method to interpolate the missing data.

3. The method according to claim 2, characterized in that The missing data were interpolated using pre-defined methods, including: Determine whether the characteristic data of the column where the missing data is located obeys a normal distribution; If yes, then use the mean or median of the characteristic data of the column to interpolate the missing data; If not, the missing data are interpolated using the Lagrange interpolation method.

4. The method according to claim 3, characterized in that: Interpolating the missing data using the mean or median of the characteristic data of the column includes: Calculate the mean and standard deviation of the column, and determine whether the absolute value of the characteristic data in the column minus the mean is greater than three standard deviations; If yes, then use the median of the characteristic data of the column to interpolate the missing data; If not, the missing data is interpolated using the mean value of the characteristic data of the column.

5. The method according to claim 1, characterized in that Perform outlier processing on the user group data, including: Determine the 0.1 quantile, 0.2 quantile, 0.3 quantile, 0.4 quantile, 0.5 quantile, 0.6 quantile, 0.7 quantile, 0.8 quantile, and 0.9 quantile of the characteristic data of each column respectively; Determine whether the difference between adjacent quantiles is greater than or equal to a preset difference threshold; If yes, an abnormal interval is determined, abnormal feature data is searched in the abnormal interval, and the abnormal feature data is deleted or replaced with the average value of the feature data in the column where the feature is located.

6. The method according to claim 1, characterized in that Normalize the data of the user group, including: For each column of feature data, the following method is used for normalization: According to the position of the feature data in the cumulative distribution function, the feature data is divided into equal-frequency buckets so that the number of feature data in each bucket is the same; For the bi-th bucket, the feature data in the bucket is normalized to bi / n, where n is the number of buckets.

7. A device for recommending an object, characterized in that: include: A processing module, used to perform missing value processing, outlier processing and normalization processing on the data of the user group in sequence to obtain characteristic data of the user group; A clustering module, used for clustering users in the user group according to the characteristic data of the user group to obtain multiple clusters; A recommendation module, used to train a neural network based on the feature data of each cluster and its corresponding label data, so as to obtain an object recommendation model corresponding to each cluster, thereby determining an object to be recommended corresponding to each cluster through the object recommendation model; The clustering module is also used to: When the weights of each node in the output layer obey the normal distribution, each node is given as small an initial weight as possible, and the distance between adjacent nodes is greater than the preset distance threshold; Taking the characteristic data of the user group as samples, mapping each sample to a node with the smallest distance; For each node, calculate the centroid of the sample corresponding to the node, and update the weight of the node according to the vector of the centroid; Iteratively executing the sample mapping step and the node weight updating step until the centroid vector and the node weight meet the convergence condition or are the same; The samples mapped to the same node are taken as one cluster, thus obtaining multiple clusters.

8. An electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.

9. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Mass user behavior based commodity recommendation method

    CN106548255A

  • File recommendation method and system based on BP neural networks

    CN107577736A

  • Item comment personalized recommendation method and system, electronic equipment and storage medium

    CN109960777A