Object recommendation method, object recommendation device, electronic device and storage medium

By associating object feature data with multiple categories for grouping and vectorization, combining similarity and clustering algorithms, the problem of lack of targetedness and accuracy in object recommendations in the prior art is solved, and a more targeted recommendation effect is achieved.

CN111966886BActive Publication Date: 2025-08-19BEIJING JINGDONG SHANGKE INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201910420177.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-05-20
Publication Date
2025-08-19
Estimated Expiration
2039-05-20

AI Technical Summary

Technical Problem

The existing object recommendation method lacks correlation between different types of objects, resulting in lack of targetedness and accuracy of recommendations, especially in e-commerce platforms, the behavioral relationship between users and products is difficult to reflect, and data sparseness leads to missing or inconcentration of data.

Method used

By obtaining the feature data of multiple first-class objects, based on their association with multiple categories of the second-class objects, the feature data is divided into multiple groups and converted into feature subvectors, the feature vector is determined, and the clustering and hashing algorithm optimization recommendation is used to optimize the clustering and hashing algorithms.

Benefits of technology

It improves the targetedness and accuracy of object recommendations, enhances the effectiveness of recommendations, and solves the problem of lack of targeted recommendations in existing methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111966886B_ABST
    Figure CN111966886B_ABST
Patent Text Reader

Abstract

The present disclosure provides an object recommendation method, an object recommendation device, an electronic device, and a computer-readable storage medium, belonging to the field of computer technology. The method comprises: obtaining feature data of multiple first-category objects; dividing the feature data of each first-category object into multiple groups of feature data based on the association between the feature data and multiple categories of second-category objects; converting each group of feature data of each first-category object into a feature subvector, and determining a feature vector for each first-category object based on the multiple feature subvectors of each first-category object; determining the similarity between the feature vectors of the multiple first-category objects; and determining the first-category object for recommendation based on the similarity. The present disclosure can make the recommended objects targeted and improve the efficiency and accuracy of object recommendations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to an object recommendation method, an object recommendation device, an electronic device, and a computer-readable storage medium. Background Art

[0002] With the increasing popularity and application of the Internet in various industries, companies in e-commerce, Internet finance, life services, games and other fields are committed to collecting and analyzing data on objects such as products and users through the Internet to explore needs and make effective object recommendations, including: recommending users to merchants, recommending merchants or products to users, and recommending other users to users.

[0003] Most existing object recommendation methods collect massive amounts of data on various objects, construct object features based on this data, and identify similar objects as recommended objects. However, in actual applications, there may be connections between different types of objects. For example, in e-commerce platforms, there is usually a behavioral relationship between users and products. It is difficult to reflect the degree of association between users and products using the above methods. In addition, since the connections between different types of objects may not correspond one-to-one, for example, each user does not have a behavioral relationship with all items, the acquired data is sparse, and data may be missing or unconcentrated. Usually, when using the above methods for object recommendation, the acquired data is directly transcoded into a preset dimension, ignoring the impact of the degree of association between different objects on the data features. Therefore, the recommendation lacks pertinence and effectiveness.

[0004] The learning model cannot accurately predict objects, but it is also unable to make effective recommendations based on the degree of correlation between different objects, and lacks specificity.

[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute prior art known to ordinary technicians in the field. Summary of the Invention

[0006] The present disclosure provides an object recommendation method, an object recommendation device, an electronic device, and a computer-readable storage medium, thereby overcoming, at least to a certain extent, the problems of low recommendation accuracy and lack of specificity in existing object recommendation methods.

[0007] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by practice of the present disclosure.

[0008] According to one aspect of the present disclosure, there is provided an object recommendation method, comprising: acquiring feature data of a plurality of first-category objects; dividing the feature data of each first-category object into a plurality of groups of feature data based on associations between the feature data and a plurality of categories of second-category objects; converting each group of feature data of each first-category object into a feature subvector, and determining a feature vector of each first-category object based on the plurality of feature subvectors of each first-category object; determining similarities between the feature vectors of the plurality of first-category objects; and determining a first-category object for recommendation based on the similarities.

[0009] In an exemplary embodiment of the present disclosure, the second category of objects includes N categories; the feature data of each first category object is divided into multiple groups of feature data based on the association between the feature data and multiple categories of the second category objects, including: for each feature data, if the feature data is associated with the i-th category among the N categories, the feature data is divided into the i-th group of feature data, so as to divide the feature data of each first category object into multiple groups of feature data; wherein i is any natural number less than or equal to N, and the i-th group of feature data has a corresponding relationship with the i-th category of the second category object.

[0010] In an exemplary embodiment of the present disclosure, converting each set of feature data of each first-category object into a feature sub-vector, and determining the feature vector of each first-category object based on multiple feature sub-vectors of each first-category object, includes: obtaining a preset dimension of each set of feature data, converting each set of feature data into a feature sub-vector according to the preset dimension; and splicing the feature sub-vectors of each first-category object to obtain the feature vector of each first-category object.

[0011] In an exemplary embodiment of the present disclosure, determining the first category object for recommendation based on the similarity includes: clustering the plurality of first category objects based on the similarity; and determining the first category object for recommendation based on a clustering result.

[0012] In an exemplary embodiment of the present disclosure, clustering the multiple first-category objects based on the similarity includes: performing a first clustering on each first-category object based on a feature vector of each first-category object to obtain multiple sets of the first-category objects; separately judging whether each set meets a preset condition; and if the set meets the preset condition, clustering the first-category objects in the set again.

[0013] In an exemplary embodiment of the present disclosure, the preset condition is that the number of first-category objects in the set is less than a first threshold; if the set satisfies the preset condition, the first-category objects in the set are clustered again, including: if the number of first-category objects in the set reaches the first threshold, determining a hash parameter based on the number of first-category objects in the set, and using a local sensitive hashing algorithm to cluster the first-category objects in the set again.

[0014] In an exemplary embodiment of the present disclosure, determining the similarity between the feature vectors of the multiple first-category objects includes: obtaining a reference object from the multiple first-category objects; determining the similarity between each first-category object and the feature vector of the reference object; and determining the first-category object for recommendation based on the similarity includes: determining the first-category object whose similarity with the feature vector of the reference object reaches a second threshold as the first-category object for recommendation.

[0015] According to one aspect of the present disclosure, there is provided an object recommendation apparatus, comprising: a data acquisition module for acquiring feature data of a plurality of first-category objects; a data grouping module for dividing the feature data of each first-category object into a plurality of groups of feature data based on associations between the feature data and a plurality of categories of second-category objects; a vector determination module for converting each group of feature data of each first-category object into a feature sub-vector, and determining a feature vector of each first-category object based on the plurality of feature sub-vectors of each first-category object; a similarity determination module for determining the similarity between the feature vectors of the plurality of first-category objects; and an object determination module for determining a first-category object for recommendation based on the similarity.

[0016] In an exemplary embodiment of the present disclosure, the second category of objects includes N categories; a data grouping module is used to, for each feature data, if the feature data is associated with the i-th category among the N categories, divide the feature data into the i-th group of feature data, so as to divide the feature data of each first category object into multiple groups of feature data; wherein i is any natural number less than or equal to N, and the i-th group of feature data has a corresponding relationship with the i-th category of the second category of objects.

[0017] In an exemplary embodiment of the present disclosure, the vector determination module includes: a dimension acquisition unit, used to obtain a preset dimension of each set of feature data, and convert each set of feature data into a feature sub-vector according to the preset dimension; a vector splicing unit, used to splice the feature sub-vectors of each first-category object to obtain a feature vector of each first-category object.

[0018] In an exemplary embodiment of the present disclosure, the object determination module includes: a clustering unit, configured to cluster the plurality of first-category objects based on the similarity; and a determination unit, configured to determine the first-category objects for recommendation according to the clustering result.

[0019] In an exemplary embodiment of the present disclosure, the clustering unit includes: a pre-clustering sub-unit, which is used to perform a first clustering on each first-category object based on a feature vector of each first-category object to obtain multiple sets of the first-category objects; a judgment sub-unit, which is used to judge whether each set meets a preset condition; and a re-clustering sub-unit, which is used to re-cluster the first-category objects in the set if the set meets the preset condition.

[0020] In an exemplary embodiment of the present disclosure, the preset condition is that the number of first-category objects in the set is less than a first threshold; the re-clustering subunit is used to determine the hash parameter according to the number of first-category objects in the set if the number of first-category objects in the set reaches the first threshold, and use the local sensitive hashing algorithm to re-cluster the first-category objects in the set.

[0021] In an exemplary embodiment of the present disclosure, the similarity determination module includes: a reference object acquisition unit, used to acquire a reference object from the multiple first-category objects; a similarity determination unit, used to determine the similarity between each first-category object and the feature vector of the reference object; the object determination module includes: a threshold judgment unit, used to determine a first-category object whose similarity with the feature vector of the reference object reaches a second threshold as a first-category object for recommendation.

[0022] According to one aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform any one of the above-mentioned methods by executing the executable instructions.

[0023] According to one aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, any one of the above methods is implemented.

[0024] The exemplary embodiments of the present disclosure have the following beneficial effects:

[0025] By obtaining feature data of first-category objects and, based on their associations with multiple categories of second-category objects, dividing the feature data of each first-category object into multiple groups of feature data and converting them into feature sub-vectors, a feature vector is determined. Then, based on the similarity between the first objects, the first-category objects for recommendation are determined. On the one hand, compared to general recommendation methods that directly process feature data, this exemplary embodiment pre-processes the feature data based on the associations between the feature data of the first-category objects and multiple categories of the second-category objects, determines the characteristics of different first-category objects, and makes object recommendations more targeted and effective. On the other hand, by dividing the feature data of the first-category objects into multiple groups of feature data, converting them into feature sub-vectors, and then determining the feature vectors, a richer and more effective feature vector for the first-category objects can be obtained, thereby making accurate recommendations.

[0026] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0028] Figure 1 A flowchart schematically illustrates an object recommendation method in this exemplary embodiment;

[0029] Figure 2 A flowchart schematically illustrates another object recommendation method in this exemplary embodiment;

[0030] Figure 3 A sub-flowchart schematically illustrates an object recommendation method in this exemplary embodiment;

[0031] Figure 4 A sub-flowchart schematically illustrates another object recommendation method in this exemplary embodiment;

[0032] Figure 5 A sub-flowchart schematically illustrates another object recommendation method in this exemplary embodiment;

[0033] Figure 6 A block diagram schematically illustrates a structure of an object recommendation device in this exemplary embodiment;

[0034] Figure 7 An electronic device for implementing the above method in this exemplary embodiment is schematically shown;

[0035] Figure 8 A computer-readable storage medium for implementing the above method in this exemplary embodiment is schematically shown. DETAILED DESCRIPTION

[0036] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0037] The exemplary embodiments of the present disclosure first provide an object recommendation method, wherein the objects can be users, products, and other objects that can be used for recommendation on e-commerce, social networking, and other platforms. Application scenarios of this exemplary embodiment may include: recommending products to users on e-commerce platforms, recommending users to merchants on lifestyle service platforms, and recommending users (such as friends or people of interest) to users on social networking platforms, etc., which are not particularly limited by this disclosure.

[0038] Figure 1 The process steps of this exemplary embodiment are shown, which may include steps S110 to S150. Each step is described in detail below:

[0039] Step S110: Acquire feature data of a plurality of first-category objects.

[0040] Step S120 : dividing the feature data of each first-category object into multiple groups of feature data based on the association between the feature data and multiple categories of the second-category objects.

[0041] In this example implementation, the first type of object refers to the recommended object, and the second type of object is another type of object associated with the first type of object. For example, on an e-commerce platform, users generate behavioral data about products, such as browsing behavior and attention behavior for products, that is, there is a connection between users and products. Therefore, when recommending users to merchants, the first type of object can be users, and the second type of object can be products; when recommending products to users, the first type of object can be products, and the second type of object can be users, etc. Feature data can be obtained by counting the original data of the first type of object. For example, when the first type of object is a user, the feature data can be the user's behavioral data over a period of time (such as the user's browsing data, attention data, and add-to-purchase data for a certain type of product (add-to-purchase refers to the user adding a product to the shopping cart, and add-to-purchase data can reflect the user's purchasing intention), etc.); or when the first type of object is a product, the feature data can be the number of views, add-to-purchase data, and mark-up data of a certain product over a period of time, etc. In some cases, part or all of the feature data can also be the original data of the first type of object, such as the user's order time, transaction amount, or product attributes, sales price, or sales records, etc. This exemplary embodiment can determine feature data by acquiring some or all of the data on the first category of objects on a certain platform. For example, if this exemplary embodiment is applied to a scenario where products are recommended to users on an e-commerce platform, feature data can be determined by acquiring product data from a certain time period on the e-commerce platform. Alternatively, feature data can be determined by scoring product behavior data (e.g., 1 point for browsing, 2 points for following, 3 points for ordering, etc.) and using data from products with higher scores to determine feature data. If this exemplary embodiment is applied to a scenario where users are recommended to users on a social platform, feature data can be determined by acquiring all user data on the social platform.

[0042] The above categories can reflect the classification of the second category objects under different indicator levels. For example, when the second category objects are commodities, the commodities can be divided into popular commodities, ordinary commodities, unpopular commodities, etc. according to indicators such as the number of views, attention or purchases of the commodities; when the second category objects are users, the users can be divided into active users and inactive users according to indicators such as the user's operation frequency, number of logins, number of clicks, etc. By classifying the second category objects, it is beneficial to perform differentiated processing on the first category objects of different categories in this exemplary embodiment. It should be noted that before step S120, the multiple categories of the second category objects are already determined information, which can be specifically determined by the data of the first category objects in step S110, or by obtaining other data. Based on the association between the feature data and the multiple categories of the second category objects, it can be determined which feature data in the first category objects belong to which category of the second category objects, so that the feature data of the first category objects corresponding to the category can be divided into a group of feature data.

[0043] In an exemplary embodiment, the second category of objects includes N categories. Step S120 may include: for each feature data, if the feature data is associated with the i-th category among the N categories, dividing the feature data into an i-th group of feature data, so as to divide the feature data of each first category of objects into multiple groups of feature data, where i is any natural number less than or equal to N, and the i-th group of feature data has a corresponding relationship with the i-th category of the second category of objects.

[0044] In this exemplary embodiment, there can be N categories of second-category objects. When the second-category objects are commodities, in addition to the above-mentioned categories such as popular commodities, ordinary commodities, and unpopular commodities, commodities can also be classified more finely according to their popularity, such as first-level popular commodities, second-level popular commodities, etc. If the feature data of the first-category objects is associated with a category of the second-category objects, for example, a certain shopping behavior of the user is a shopping behavior for a popular commodity, then the feature data of this shopping behavior of the user can be divided into a group, and the group can be used to store the feature data of the popular commodity. This exemplary embodiment aims to summarize the feature data of the first-category objects of the same second-category object category, so that the feature data can be processed differently according to different types, and combined with the association between the first-category objects and the second-category object categories, it is beneficial to enhance the pertinence of the first-category object recommendations.

[0045] For example, when the first type of object is a user, the characteristic data of user A is shown in the following table:

[0046] Table 1

[0047] Views Number of add-on purchases Number of comments Number of orders Attention First category goods 10 0 5 2 3 Second category goods 80 50 3 10 15 The third category of goods 20 10 0 5 20

[0048] Among them, the second category of goods are popular goods, the third category of goods are normal goods, and the first category of goods are unpopular goods. According to the association between the feature data and multiple categories of the second category objects, the feature data of user A can be divided into: the first group of feature data (feature data about popular goods) "30 views, 50 add-to-cart times, 3 comments, 10 orders, 15 attention levels"; the second group of feature data (feature data about normal goods) "20 views, 10 add-to-cart times, 0 comments, 5 orders, 20 attention levels"; the third group of feature data (feature data about unpopular goods) "10 views, 0 add-to-cart times, 5 comments, 2 orders, 3 attention levels".

[0049] In an exemplary embodiment, feature data that is not related to each of the N categories may also appear, and these feature data may be classified into a specific group of feature data.

[0050] In actual applications, not all feature data are related to the category of the second type of object. There may be some data that is irrelevant to the determination of the recommended object, such as the user's login time, purchase time, and user ID (identify), etc. Therefore, these data can be divided into a specific set of feature data, and whether to process this set of feature data can be determined as needed.

[0051] Step S130 : converting each set of feature data of each first-category object into a feature sub-vector, and determining a feature vector of each first-category object according to the multiple feature sub-vectors of each first-category object.

[0052] In this exemplary embodiment, in order to facilitate calculation and analysis, each set of feature data of each first-category object can be converted into a feature sub-vector. Since the feature data may appear in non-numerical form, such as user comments on the product, degree of preference, or product type. Therefore, the feature data can be converted into numerical values to generate feature sub-vectors. The feature vector of each first-category object can be determined in different ways based on each generated feature sub-vector. Specifically, different feature sub-vectors can be spliced to determine the feature vector; or by calculating the numerical values of the same dimension in each feature sub-vector, such as addition, arithmetic average, weighted average, etc., to obtain the feature vector, etc. There can be many methods for determining the feature vector of the first-category object, and this disclosure does not specifically limit this.

[0053] It should be noted that the dimensions of the feature sub-vectors converted from each set of feature data may be the same or different. In an exemplary embodiment, step S130 may include the following steps:

[0054] Obtaining a preset dimension for each set of feature data, and converting each set of feature data into a feature sub-vector according to the preset dimension;

[0055] The feature subvectors of each first-category object are concatenated to obtain the feature vector of each first-category object.

[0056] Among them, the preset dimensions can be used to reflect the data attributes of each set of feature data. For example, when the first type of object is a user and the second type of object is a commodity, the preset dimensions can include user behavior data about the commodity, such as the number of views, the number of purchases, the number of comments, the number of orders or the degree of attention, etc. The preset dimensions of different groups of feature data can be the same or different. For example, with respect to user A, the feature subvectors of popular commodities, normal commodities and unpopular commodities can be set to preset dimensions of the same length (such as 10), and the feature subvectors of popular commodities, normal commodities and unpopular commodities can also be set to preset dimensions of different lengths (such as 10, 8, 5), etc. The preset dimensions can be set according to the data characteristics of the second type of object. For example, in Table 1, the first type of commodity is regarded as an unpopular commodity, the second type of commodity is regarded as a popular commodity, and the third type of commodity is regarded as a normal commodity. The preset dimensions of popular products can be artificially set to 5 (number of views, number of added purchases, number of comments, number of orders, and attention), the preset dimensions of normal products can be 4 (number of views, number of added purchases, number of orders, and attention), and the preset dimensions of unpopular products can be 4 (number of views, number of comments, number of orders, and attention). Furthermore, each set of feature data can be converted into a feature subvector based on the preset dimensions. For example, based on the setting of the preset dimensions of popular products, normal products, and unpopular products in the above example, user A's feature data on popular products can be converted into a feature subvector [80, 80, 13, 25, 25], the feature data on normal products can be converted into a feature subvector [20, 10, 5, 20], and the feature data on unpopular products can be converted into a feature subvector [10, 5, 2, 3]. By concatenating these feature subvectors, a feature vector [80, 80, 13, 25, 25, 20, 10, 5, 20, 10, 5, 2, 3] can be obtained.

[0057] It should be noted that in this exemplary embodiment, the preset dimensions can also be determined based on the characteristics of the acquired feature data of the first category of objects. For example, the number of views of popular products far exceeds that of normal products and unpopular products, and the feature data of the number of views of users on popular products in this dimension are relatively small, making it difficult to personalize users through the data of the number of views. Therefore, whether the data of the number of views dimension is converted into a feature sub-vector and subsequently calculated has little effect on the object recommendation method in this exemplary embodiment. Taking all the above into consideration, the dimension of popular products can be set to 4, namely the number of purchases, the number of comments, the number of orders, and the degree of attention. Similarly, the preset dimensions of unpopular products and normal products can also be set according to the specific performance of the user feature data, and this disclosure does not specifically limit this.

[0058] In an exemplary embodiment, when obtaining the preset dimension of each set of feature data and converting each set of feature data into a feature sub-vector according to the preset dimension, the feature sub-vector may be determined according to the alternating least squares method.

[0059] Among them, the alternating least squares method refers to a commonly used calculation method in the collaborative filtering algorithm, which can usually be used to recommend similar objects, such as recommending suitable products based on the user's preferences. In this exemplary embodiment, based on the multiple categories of the second category objects, evaluation matrices of the first category objects and the second category objects under multiple categories can be constructed. For example, a user-product matrix for popular products, a user-product matrix for normal products, and a user-product matrix for unpopular products can be constructed respectively. According to the least squares method, each type of evaluation matrix is decomposed into a matrix about the first category objects and a matrix about the second category objects, and multi-dimensional feature data of the first category objects are obtained. For example, the user-product matrix of popular products is decomposed into a user matrix and a product matrix, and feature data about the number of views, the number of purchases, or the number of comments is extracted from the user matrix, or feature data about the number of views, sales volume, etc. is extracted from the product matrix. Based on these extracted feature data, the conversion to feature sub-vectors can be completed according to the preset dimensions.

[0060] Step S140: determining the similarity between the feature vectors of a plurality of first-category objects.

[0061] Step S150: determining the first category of objects for recommendation based on the similarity.

[0062] In this exemplary embodiment, similarity calculation can be achieved by calculating the distance or angle between feature vectors. The similarity can be determined by a variety of methods, such as determining the similarity of the first-category objects by calculating Euclidean distance, Manhattan distance, Minkowski distance or cosine similarity. The smaller the distance or angle, the higher the similarity. Taking Euclidean distance as an example, the feature vectors of the first-category objects can be projected in a preset space, the Euclidean distance value between the projected feature vectors can be calculated, and all the calculated distance values can be sorted from large to small. The smaller the distance value, the higher the similarity between the two first-category objects. In this exemplary embodiment, the similarity between two feature vectors can be calculated, and the similarity between one feature vector and multiple feature vectors can also be calculated.

[0063] In this exemplary embodiment, a preset threshold can be set for similarity. Based on the similarity calculation result obtained in step S140, feature vectors exceeding the threshold are clustered to obtain one or more sets of feature vectors. The feature vectors in each set can be considered to be the first-category objects corresponding to the feature vectors with the highest similarity. First-category objects for recommendation can be determined from this set as needed. For example, the number of first-category objects to be recommended can be set to 50, and 50 first-category objects can be randomly recommended from a similarity set. Alternatively, the similarities of all feature vectors in the similarity set can be sorted, and the first-category objects ranked in the top 50 by similarity can be recommended, and so on.

[0064] In an exemplary embodiment, step S140 may include the following steps:

[0065] Step S210, obtaining a reference object from a plurality of first-category objects;

[0066] Step S220, determining the similarity between the feature vectors of each first-category object and the reference object;

[0067] Furthermore, step S150 may include:

[0068] Step S230 : Determine the first-category object whose similarity with the feature vector of the reference object reaches a second threshold as the first-category object to be recommended.

[0069] Among them, the reference object refers to the benchmark object used to determine the recommended object. For example, if a merchant hopes to determine other users that can be expanded through the behavioral data of existing users, then the existing users can be regarded as reference objects. The reference object is usually included in multiple first-category objects, so one or more objects can be determined from the first-category objects as reference objects. Taking the reference object as the benchmark, the similarity between the reference object and other first-category objects can be calculated respectively, and the calculated similarities can be sorted. When determining the first-category objects for recommendation, a second threshold can be set, and the first-category objects that meet the second threshold will be used as the first-category objects for recommendation. Among them, the second threshold can be artificially set according to the similarity value as needed, and all or part of the first-category objects with a value higher than the value will be used as the first-category objects that can be recommended. The second threshold can also be determined according to the second-category objects that need to be recommended. For example, if 50 users need to be recommended, the value with the lowest similarity among the 50 users can be used as the second threshold, etc.

[0070] Based on the above description, in this exemplary embodiment, by obtaining the feature data of the first-category objects and dividing the feature data of each first-category object into multiple groups of feature data based on the association between the feature data and multiple categories of the second-category objects, and converting them into feature sub-vectors, a feature vector is determined, and then the first-category objects for recommendation are determined based on the similarity between the first objects. On the one hand, compared to the general recommendation method that directly processes the feature data, this exemplary embodiment pre-processes the feature data based on the association between the feature data of the first-category objects and multiple categories of the second-category objects, determines the characteristics of different first-category objects, and makes object recommendations more targeted and effective; on the other hand, by dividing the feature data of the first-category objects into multiple groups of feature data, converting them into feature sub-vectors, and then determining the feature vectors, it is possible to obtain richer and more effective feature vectors of the first-category objects, thereby making accurate recommendations.

[0071] In an exemplary embodiment, step S140 may include the following steps:

[0072] Step S310, clustering multiple first category objects based on similarity;

[0073] Step S320: Determine the first category of objects for recommendation based on the clustering result.

[0074] In this exemplary embodiment, by calculating the feature vectors of each first-category object, the similarity between the feature vectors can be obtained. Based on the similarity, the first-category objects corresponding to the feature vectors whose similarity meets a preset condition can be clustered to obtain a clustering result. Based on the clustering result, the first-category objects with the same clustering result can be recommended to each other. For example, if users A, B, and C have the same clustering result, users B and C can be recommended to user A's service provider. Alternatively, users A and B can be recommended to user C's service provider. Furthermore, a first-category object can be first determined, and the objects to be recommended can be determined based on this first-category object. For example, if users A, B, and C have the same clustering result, and user A is an existing user identified by the service provider, users B and C can be recommended. There can be multiple first-category objects for recommendation, and the specific number can be set in various ways. For example, the similarities calculated in step S310 can be sorted, and when determining the first-category objects for recommendation, the first-category objects for recommendation can be determined based on the sorting result. Alternatively, first-category objects with similarities above a certain threshold can be selected as the first-category objects for recommendation, and so on.

[0075] Furthermore, in an exemplary embodiment, step S320 may include the following steps:

[0076] Step S410: performing a first clustering on each first-category object based on the feature vector of each first-category object to obtain multiple sets of first-category objects;

[0077] Step S420, determining whether each set meets the preset conditions;

[0078] Step S430: If the set meets the preset conditions, cluster the first type of objects in the set again.

[0079] In this exemplary embodiment, considering that under different clustering conditions, there may be too many first-class objects in the same clustering result, and the imbalance of the clustering results leads to more complex calculations, a two-step clustering method can be adopted. Based on the feature vector of each first-class object, a K-means clustering method can be first used to cluster each first-class object for the first time, thereby obtaining multiple sets of first-class objects, each of which contains first-class objects with high similarity. The preset condition can be a judgment criterion for determining whether the first-class objects in each set need to be clustered again. The preset condition can be a preset threshold of similarity, and the first-class objects that do not meet the preset threshold will be clustered again. The preset condition can also be the number of first-class objects in the set. If the number exceeds a certain preset threshold, the first-class objects in the set can be clustered again, etc. It should be noted that in this exemplary embodiment, in addition to the K-means clustering method, there can be many other methods, such as mean shift clustering, density-based clustering method, and maximum expectation clustering based on Gaussian mixture model, etc., which are not particularly limited in this disclosure.

[0080] In an exemplary embodiment, the preset condition is that the number of objects of the first category in the collection is less than a first threshold, and step S430 may include:

[0081] If the number of the first category objects in the collection reaches a first threshold, a hash parameter is determined according to the number of the first category objects in the collection, and the first category objects in the collection are clustered again using a locality sensitive hashing algorithm.

[0082] The first threshold refers to a condition used to measure whether the number of first-category objects in a set is appropriate. If the number of first-category objects in a set reaches the first threshold, it indicates that the set contains a relatively large number of first-category objects. To facilitate subsequent calculations, the first-category objects in the set can be clustered again. The clustering method can employ a locality-sensitive hashing algorithm, determining a hash parameter based on the number of first-category objects in the set. By adjusting the hash parameter, the first-category objects in the set can be mapped into multiple hash buckets. The hash parameter can include a projection length and a projection direction. A longer projection length or a greater number of projection directions increases the probability that first-category objects will be mapped into the same hash bucket. If the number of first-category objects obtained from the initial clustering is large, a longer projection length or a greater number of projection directions can be set. The first-category objects stored in each hash bucket include the nearest neighboring first-category objects. If a given first-category object can be mapped into a particular hash bucket using the locality-sensitive hashing algorithm, the first-category objects stored in that hash bucket constitute the nearest neighboring first-category objects that can be used for recommendation, thereby achieving relatively accurate first-category object recommendations.

[0083] In an exemplary embodiment, the association relationship between the feature data of the first category of objects and the multiple categories of the second category of objects can be obtained by obtaining statistics of the feature data of some or all of the first category of objects on the platform, or can be directly obtained by analyzing the feature data of the first category of objects obtained in step S110. In this exemplary embodiment, the object recommendation method can also include:

[0084] Collecting data of the second category of objects based on the characteristic data of the plurality of first category objects;

[0085] A plurality of categories of the second category objects are determined based on the data of the second category objects.

[0086] For example, the characteristic data of the user can be obtained through step S110, and the characteristic data about the product can be counted based on these characteristic data. For example, the characteristic data of user A shown in Table 1, the product with a page view of 30 or more is set as a popular product, then the second category of products are popular products, and the product with a page view of less than 15 is an unpopular product, then the first category of products are unpopular products, and the third category of products are normal products. According to the above analysis, the statistics of product data through the user's characteristic data are completed, and the category of the product is determined according to the statistical results. The category of the second category of objects can also be determined based on other indicators, such as the number of purchases, the number of comments, or the number of orders. After determining which product is a popular product, when performing step S120, the characteristic data of each user can be divided into multiple groups of characteristic data based on the association between the characteristic data and multiple categories of products.

[0087] Figure 5A flowchart of an object recommendation method in this exemplary embodiment is shown, comprising the following steps:

[0088] Step S510, acquiring feature data of a plurality of first-category objects;

[0089] Step S520, grouping the feature data according to the association between the feature data and the category of the second category of objects;

[0090] Step S530, converting each set of feature data into a feature sub-vector, and determining a feature vector based on the plurality of feature sub-vectors;

[0091] Step S540, performing a first clustering on the first category of objects based on the feature data of the first category of objects obtained in step S530, to obtain a set of multiple feature vectors;

[0092] Step S550, determining whether each set meets a preset condition;

[0093] Step S560: If the set meets the preset conditions, cluster the first category of objects corresponding to the feature vectors in the set again;

[0094] Step S570, obtaining the similarity ranking of the first category of objects;

[0095] Step S580, determining a reference object;

[0096] Step S590 : determining the first category of objects for recommendation based on the similarity ranking in step S570 and the reference objects in step S580 .

[0097] Among them, step S510 exemplifies the acquisition of feature data of first-category objects A, second-category objects B, and third-category objects C. It should be understood that this exemplary embodiment is not limited to obtaining feature data of only these three first-category objects, and the specific number of first-category objects obtained is not particularly limited in this disclosure. Step S530 can use the alternating least squares method in the collaborative filtering algorithm to determine the feature data of the first-category objects and convert the feature sub-vectors. This process can be regarded as a process of vectorizing the first-category objects. Step S530 exemplifies the specific determination process of a feature vector of a first-category object. The method for determining the feature vectors of other first-category objects is similar. Through step S530, feature vectors corresponding to multiple first-category objects can be obtained, as shown in the figure. In step S540, the first-category objects corresponding to each feature vector obtained above can be clustered for the first time using the K-means clustering method to obtain a set of feature vectors including the first-category objects. In step S550, if the set does not meet the preset conditions, step S570 can be directly performed to obtain the similarity ranking of the first-category objects without performing step S560 to cluster the first-category objects again. The re-clustering process can use a local sensitive hashing algorithm, which can specifically involve a bucketing algorithm to map neighboring first-category objects into the same hash bucket to complete the re-clustering process. In this exemplary embodiment, data processing is performed at each stage using collaborative filtering, K-means clustering, and local sensitive hashing algorithms according to data characteristics, thereby solving the problems of complex calculation process and memory overflow caused by large data volume and uneven distribution, and improving the efficiency of object recommendation.

[0098] The exemplary embodiments of the present disclosure also provide an object recommendation device. Figure 6 The apparatus 600 may include a data acquisition module 610, a data grouping module 620, a vector determination module 630, a similarity determination module 640, and an object determination module 650. The data acquisition module 610 is configured to acquire feature data of a plurality of first-category objects; the data grouping module 620 is configured to divide the feature data of each first-category object into a plurality of groups of feature data based on the association between the feature data and a plurality of categories of second-category objects; the vector determination module 630 is configured to convert each group of feature data of each first-category object into a feature sub-vector, and determine a feature vector of each first-category object based on the plurality of feature sub-vectors of each first-category object; the similarity determination module 640 is configured to determine the similarity between the feature vectors of the plurality of first-category objects; and the object determination module 650 is configured to determine the first-category object for recommendation based on the similarity.

[0099] In an exemplary embodiment, the second category of objects may include N categories; the data grouping module may be used to divide each feature data into the i-th group of feature data if the feature data is associated with the i-th category among the N categories, so as to divide the feature data of each first category object into multiple groups of feature data; wherein i is any natural number less than or equal to N, and the i-th group of feature data has a corresponding relationship with the i-th category of the second category object.

[0100] In an exemplary embodiment, the vector determination module may include: a dimension acquisition unit, used to obtain a preset dimension of each set of feature data, and convert each set of feature data into a feature sub-vector according to the preset dimension; a vector splicing unit, used to splice the feature sub-vectors of each first-class object to obtain a feature vector of each first-class object.

[0101] In an exemplary embodiment, the object determination module may include: a clustering unit for clustering a plurality of first-category objects based on similarity; and a determination unit for determining the first-category objects for recommendation according to the clustering result.

[0102] In an exemplary embodiment, the clustering unit may include: a pre-clustering sub-unit, used to perform a first clustering on each first-category object based on the feature vector of each first-category object to obtain multiple sets of first-category objects; a judgment sub-unit, used to judge whether each set meets a preset condition; and a re-clustering sub-unit, used to re-cluster the first-category objects in the set if the set meets the preset condition.

[0103] In an exemplary embodiment, the above-mentioned preset condition is that the number of first-category objects in the set is less than a first threshold; the re-clustering subunit can be used to determine the hash parameter based on the number of first-category objects in the set if the number of first-category objects in the set reaches the first threshold, and use the local sensitive hashing algorithm to re-cluster the first-category objects in the set.

[0104] In an exemplary embodiment, the similarity determination module may include: a reference object acquisition unit, used to acquire a reference object from multiple first-category objects; a similarity determination unit, used to determine the similarity between each first-category object and a feature vector of the reference object; the object determination module may include: a threshold judgment unit, used to determine a first-category object whose similarity with the feature vector of the reference object reaches a second threshold as a first-category object for recommendation.

[0105] The specific details of the above modules / units have been described in detail in the corresponding method embodiments and will not be repeated here.

[0106] Exemplary embodiments of the present disclosure also provide an electronic device capable of implementing the above method.

[0107] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods, or program products. Therefore, various aspects of the present disclosure may be implemented in the following forms: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits," "modules," or "systems."

[0108] Refer to the following Figure 7 700 according to this exemplary embodiment of the present disclosure will be described. Figure 7 The electronic device 700 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0109] like Figure 7 As shown, electronic device 700 is implemented as a general-purpose computing device. Components of electronic device 700 may include, but are not limited to, the aforementioned at least one processing unit 710, the aforementioned at least one storage unit 720, a bus 730 connecting various system components (including storage unit 720 and processing unit 710), and a display unit 740.

[0110] The storage unit stores program codes, which can be executed by the processing unit 710, so that the processing unit 710 performs the steps described in the "Exemplary Method" section of the present specification according to various exemplary embodiments of the present disclosure. For example, the processing unit 710 can execute Figure 1 Steps S110 to S150 shown in FIG. 1 may also be performed. Figure 3 Steps S310 to S320 etc. are shown.

[0111] The storage unit 720 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 721 and / or a cache memory unit 722 , and may further include a read-only memory unit (ROM) 723 .

[0112] The storage unit 720 may also include a program / utility 724 having a set (at least one) of program modules 725, such program modules 725 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0113] Bus 730 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0114] The electronic device 700 can also communicate with one or more external devices 900 (e.g., a keyboard, a pointing device, a Bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 700, and / or any device that enables the electronic device 700 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). Such communication can occur via an input / output (I / O) interface 750. Furthermore, the electronic device 700 can also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 760. As shown, the network adapter 760 communicates with other modules of the electronic device 700 via a bus 730. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with the electronic device 700, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0115] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the exemplary embodiment of the present disclosure.

[0116] The exemplary embodiments of the present disclosure further provide a computer-readable storage medium having stored thereon a program product capable of implementing the methods described above in this specification. In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product comprising program code that, when executed on a terminal device, causes the terminal device to execute the steps described in the "Exemplary Methods" section above according to various exemplary embodiments of the present disclosure.

[0117] refer to Figure 8 As shown, a program product 800 for implementing the above method according to an exemplary embodiment of the present disclosure is described. The program product 800 may be a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0118] The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable 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 thereof.

[0119] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0120] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0121] Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, and the like, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0122] Furthermore, the figures above are merely illustrative of the processes included in the methods according to exemplary embodiments of the present disclosure and are not intended to be limiting. It is readily understood that the processes illustrated in the figures above do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0123] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to exemplary embodiments of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.

[0124] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow from the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the claims.

[0125] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes can be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. An object recommendation method, characterized in that: include: Obtaining feature data of multiple first-category objects; Based on the association between the feature data and multiple categories of the second category objects, the feature data of each first category object is divided into multiple groups of feature data; the first category objects are recommended objects, and the second category objects are another category of objects associated with the first category objects; the categories are used to reflect the classification of the second category objects under different indicator levels; The plurality of categories of the second-category objects further include multi-level classifications under each category; the method further includes: classifying feature data unrelated to each of the plurality of categories into a specific set of feature data; the first-category objects include users, the second-category objects include products, and the feature data of the first-category objects include user behavior data over a period of time; Converting each set of feature data of each first-category object into a feature subvector, and determining a feature vector of each first-category object based on the multiple feature subvectors of each first-category object; Determining similarities between the feature vectors of the plurality of first-category objects; determining a first category of objects for recommendation based on the similarity; The converting each set of feature data of each first-category object into a feature subvector, and determining a feature vector of each first-category object based on the multiple feature subvectors of each first-category object, includes: Obtaining a preset dimension of each set of feature data, and converting each set of feature data into a feature subvector according to the preset dimension; Concatenate the feature subvectors of each first-category object to obtain the feature vector of each first-category object; The second category of objects includes N categories; The dividing the feature data of each first-category object into multiple groups of feature data based on the association between the feature data and multiple categories of the second-category objects includes: For each feature data, if the feature data is associated with the i-th category among the N categories, the feature data is divided into the i-th group of feature data, so as to divide the feature data of each first category object into multiple groups of feature data; Wherein, i is any natural number less than or equal to N, and the i-th group of feature data has a corresponding relationship with the i-th category of the second category object.

2. The method according to claim 1, characterized in that Determining the first category of objects for recommendation according to the similarity includes: clustering the plurality of first-category objects based on the similarity; Determine the first category of objects for recommendation based on the clustering results; Among them, the first category of objects also includes products, the second category of objects also includes users, and the characteristic data of the first category of objects also includes the number of views, add-to-carts, and markings of the products within a period of time.

3. The method according to claim 2, characterized in that Clustering the plurality of first-category objects based on the similarity comprises: performing a first clustering on each first-category object based on a feature vector of each first-category object to obtain multiple sets of the first-category objects; Determine whether each set meets the preset conditions; If the set meets the preset condition, the first category of objects in the set are clustered again.

4. The method according to claim 3, characterized in that The preset condition is that the number of objects of the first category in the set is less than a first threshold; If the set satisfies the preset condition, clustering the first type of objects in the set again includes: If the number of the first category objects in the set reaches the first threshold, a hash parameter is determined according to the number of the first category objects in the set, and the first category objects in the set are clustered again using a locality sensitive hashing algorithm.

5. The method according to claim 1, wherein Determining the similarity between the feature vectors of the plurality of first-category objects includes: Acquire a reference object from the plurality of first-category objects; determining a similarity between a feature vector of each first-category object and the reference object; Determining the first category of objects for recommendation according to the similarity includes: A first-category object whose similarity with the feature vector of the reference object reaches a second threshold is determined as the first-category object for recommendation.

6. An object recommendation device, characterized in that: include: A data acquisition module, used to acquire feature data of multiple first-category objects; a data grouping module configured to divide the feature data of each first-category object into multiple groups of feature data based on associations between the feature data and multiple categories of second-category objects; the first-category objects are recommended objects, and the second-category objects are objects of another category associated with the first-category objects; the categories are configured to reflect the classification of the second-category objects at different levels of indicators; each of the multiple categories of the second-category objects further includes multiple levels of classification; the device is further configured to: divide feature data unrelated to each of the multiple categories into a specific group of feature data; the first-category objects include users, the second-category objects include products, and the feature data of the first-category objects include user behavior data over a period of time; a vector determination module, configured to convert each set of feature data of each first-category object into a feature subvector, and determine a feature vector of each first-category object based on the multiple feature subvectors of each first-category object; a similarity determination module, configured to determine similarities between the feature vectors of the plurality of first-category objects; an object determination module, configured to determine a first category of objects for recommendation based on the similarity; The step of converting each set of feature data of each first-category object into a feature sub-vector, and determining a feature vector of each first-category object based on multiple feature sub-vectors of each first-category object, is configured as follows: Obtaining a preset dimension of each set of feature data, and converting each set of feature data into a feature subvector according to the preset dimension; Concatenate the feature subvectors of each first-category object to obtain the feature vector of each first-category object; The second category of objects includes N categories; The method of dividing the feature data of each first-category object into multiple groups of feature data based on the association between the feature data and multiple categories of the second-category objects is configured as follows: For each feature data, if the feature data is associated with the i-th category among the N categories, the feature data is divided into the i-th group of feature data, so as to divide the feature data of each first category object into multiple groups of feature data; Wherein, i is any natural number less than or equal to N, and the i-th group of feature data has a corresponding relationship with the i-th category of the second category object.

7. An electronic device, characterized in that: include: processor; as well as a memory for storing executable instructions of the processor; The processor is configured to perform the method according to any one of claims 1 to 5 by executing the executable instructions.

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

Citation Information

Patent Citations

  • Picture recommending method, apparatus and system

    CN105045818A

  • Non-negative matrix factorization (NMF) algorithm-based big data commodity and service recommending method and system

    CN105787770A