Commodity recommendation control device
By receiving user login information, finding historical purchase information, determining user portraits and generating product recommendation lists, the problem that mobile phones cannot display all products affecting user shopping experience, and improving shopping experience and product sales results.
Patent Information
- Application Number
- CN202411568983.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-13
- Publication Date
- 2025-02-28
AI Technical Summary
In the prior art, mobile phones cannot display all products, which affects users' shopping experience.
By receiving the user's login information, searching for historical product purchase information, determining the user's portrait, and generating a product recommendation list based on the user's portrait, and sending it to the user's client.
It improves users' shopping experience, can accurately recommend products that are preferred by users, and increase the effect of product sales.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
This application is a divisional application based on a patent application with an application date of January 13, 2021, application number 202110045280.8, and invention name “Product recommendation method, device, equipment and storage medium”. Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a device for controlling commodity recommendation. Background Art
[0002] With the rapid development of the Internet and e-commerce, online shopping has become the norm. There are thousands of products on the Internet, but the display of users' mobile phone screens is limited, and it is difficult to fully display all the products to users, which affects the sales effect of the products. Summary of the invention
[0003] The main purpose of the present application is to provide a product recommendation method, device, equipment and storage medium to solve the problem in the prior art that the mobile phone cannot display all products, which affects user shopping.
[0004] In order to achieve the above objective, according to one aspect of the present application, a product recommendation method is provided, comprising:
[0005] Receive login information sent by the user's client; the login information includes a user ID;
[0006] Searching for corresponding historical purchase commodity information according to the user identifier;
[0007] If the historical purchase information of goods can be found, the user portrait is determined according to the historical purchase information of goods; wherein the user portrait includes: a user identifier and a user tag;
[0008] Determine a corresponding product recommendation list according to the user portrait;
[0009] The commodity recommendation list is sent to the client of the user.
[0010] In one implementation, if no historical purchase product information is found, the user profile is determined based on the user's product browsing information;
[0011] Determine, based on the user portrait, to send a product recommendation list to the client of the user.
[0012] In one embodiment, the generation of the label includes:
[0013] Determine the set of goods purchased by each user based on each user's historical purchase records;
[0014] For any product in the product set, the vector conversion model is used to process it to obtain the corresponding product vector;
[0015] Calculate the average vector of each user's product set based on each product vector;
[0016] According to the average vector of each user's product set, the user group is clustered based on the pre-trained clustering model to obtain multiple different groups;
[0017] Each group sets the corresponding label;
[0018] A label corresponding to the user is determined according to the average vector and the grouping relationship of the user.
[0019] In one embodiment, the method further includes: determining a user group corresponding to each tag;
[0020] Determining a commodity set for the user group according to a commodity set for each user in the user group;
[0021] In the product set of the user group, the product recommendation list corresponding to the label is obtained by sorting them in order of sales volume from high to low.
[0022] In one implementation, the method further includes periodically updating the user portrait.
[0023] In one implementation, periodically updating the user portrait includes:
[0024] Periodically obtain the records of users' purchases of goods; and count the collection of purchased goods for each user;
[0025] Determine the average vector of purchases for each user;
[0026] According to the average vector of the purchased goods of each user, a clustering algorithm is used to calculate the set of users to obtain a plurality of different groups;
[0027] Determine the group corresponding to the user according to the average vector of the purchased items of the user; and the label.
[0028] In one implementation, determining a user profile based on the user's product browsing information includes:
[0029] Determine the set of products that the user has browsed;
[0030] Query each product vector in the product set;
[0031] Calculating a vector mean of the product set according to each product vector in the product set;
[0032] Using a pre-trained clustering model to calculate the vector mean to obtain a label corresponding to the product set;
[0033] A profile of the user is determined according to the tag.
[0034] In order to achieve the above-mentioned purpose, according to the second aspect of the present application, a commodity recommendation device is provided; the device comprises:
[0035] A receiving module, used to receive login information sent by a user's client; the login information includes a user ID;
[0036] A portrait determination module, used to search for corresponding historical purchase commodity information according to the user identifier;
[0037] If the historical purchase information of goods can be found, the user portrait is determined according to the historical purchase information of goods; wherein the user portrait includes: a user identifier and a user tag;
[0038] A product list determination module, used to determine a corresponding product recommendation list according to the user portrait;
[0039] A sending module is used to send the product recommendation list to the user's client.
[0040] In one embodiment, the portrait determination module is further used to determine the user portrait based on the user's product browsing information if no historical product purchase information is found;
[0041] The product list determination module is also used to determine, based on the user portrait, to send a product recommendation list to the user's client.
[0042] In one embodiment, the portrait determination module is further used to determine the set of commodities purchased by each user based on the historical purchase records of each user;
[0043] For any product in the product set, the vector conversion model is used to process it to obtain the corresponding product vector;
[0044] Calculate the average vector of each user's product set based on each product vector;
[0045] According to the average vector of each user's product set, the user group is clustered based on the pre-trained clustering model to obtain multiple different groups;
[0046] Each group sets the corresponding label;
[0047] A label corresponding to the user is determined according to the average vector and the grouping relationship of the user.
[0048] In one embodiment, the product list determination module is further used to determine the user group corresponding to each tag;
[0049] Determining a commodity set for the user group according to a commodity set for each user in the user group;
[0050] In the product set of the user group, the product recommendation list corresponding to the label is obtained by sorting them in order of sales volume from high to low.
[0051] In one implementation, the portrait determination module is further configured to periodically update the user portrait.
[0052] In one embodiment, the portrait determination module is further used to periodically obtain records of user purchases of goods; and to count the set of purchased goods of each user;
[0053] Determine the average vector of purchases for each user;
[0054] According to the average vector of the purchased goods of each user, a clustering algorithm is used to calculate the set of users to obtain a plurality of different groups;
[0055] Determine the group corresponding to the user according to the average vector of the purchased items of the user; and the label.
[0056] In one embodiment, the portrait determination module is further used to determine a set of commodities that the user has browsed;
[0057] Query each product vector in the product set;
[0058] Calculating a vector mean of the product set according to each product vector in the product set;
[0059] Using a pre-trained clustering model to calculate the vector mean to obtain a label corresponding to the product set;
[0060] A profile of the user is determined according to the tag.
[0061] In order to achieve the above-mentioned object, according to the third aspect of the present application, a commodity recommendation control device is provided; comprising at least one processor and at least one memory; the memory is used to store one or more program instructions; the processor is used to run one or more program instructions to perform the following steps:
[0062] Receive login information sent by the user's client; the login information includes a user ID;
[0063] Searching for corresponding historical purchase commodity information according to the user identifier;
[0064] If the historical purchase information of goods can be found, the user portrait is determined according to the historical purchase information of goods; wherein the user portrait includes: a user identifier and a user tag;
[0065] Determine a corresponding product recommendation list according to the user portrait;
[0066] The commodity recommendation list is sent to the client of the user.
[0067] In one embodiment, the processor is further configured to, if no historical purchase commodity information is found, determine a user portrait based on the commodity browsing information of the user;
[0068] Determine, based on the user portrait, to send a product recommendation list to the client of the user.
[0069] In one embodiment, the processor is further configured to determine a set of commodities purchased by each user based on the historical purchase records of each user;
[0070] For any product in the product set, the vector conversion model is used to process it to obtain the corresponding product vector;
[0071] Calculate the average vector of each user's product set based on each product vector;
[0072] According to the average vector of each user's product set, the user group is clustered based on the pre-trained clustering model to obtain multiple different groups;
[0073] Each group sets the corresponding label;
[0074] A label corresponding to the user is determined according to the average vector and the grouping relationship of the user.
[0075] In one implementation, the processor is further configured to determine a user group corresponding to each tag;
[0076] Determining a commodity set for the user group according to a commodity set for each user in the user group;
[0077] In the product set of the user group, the product recommendation list corresponding to the label is obtained by sorting them in descending order of sales volume.
[0078] In one implementation, the processor is further configured to periodically update the user portrait.
[0079] In one implementation, the processor is further configured to periodically update the user portrait, including:
[0080] Periodically obtain the records of users' purchases of goods; and count the collection of purchased goods for each user;
[0081] Determine the average vector of purchases for each user;
[0082] According to the average vector of the purchased goods of each user, a clustering algorithm is used to calculate the set of users to obtain a plurality of different groups;
[0083] Determine the group corresponding to the user according to the average vector of the purchased items of the user; and the label.
[0084] In one implementation, determining a set of products that a user has browsed;
[0085] Query each product vector in the product set;
[0086] Calculating a vector mean of the product set according to each product vector in the product set;
[0087] Using a pre-trained clustering model to calculate the vector mean to obtain a label corresponding to the product set;
[0088] A profile of the user is determined according to the tag.
[0089] In order to achieve the above object, according to a fourth aspect of the present application, a computer-readable storage medium is provided, wherein the computer storage medium contains one or more program instructions, and the one or more program instructions are used to execute the following steps:
[0090] Receive login information sent by the user's client; the login information includes a user ID;
[0091] Searching for corresponding historical purchase commodity information according to the user identifier;
[0092] If the historical purchase information of goods can be found, the user portrait is determined according to the historical purchase information of goods; wherein the user portrait includes: a user identifier and a user tag;
[0093] Determine a corresponding product recommendation list according to the user portrait;
[0094] The commodity recommendation list is sent to the client of the user.
[0095] In one implementation, if no historical purchase product information is found, the user profile is determined based on the user's product browsing information;
[0096] Determine, based on the user portrait, to send a product recommendation list to the client of the user.
[0097] In one embodiment, the generation of the label includes:
[0098] Determine the set of goods purchased by each user based on each user's historical purchase records;
[0099] For any product in the product set, the vector conversion model is used to process it to obtain the corresponding product vector;
[0100] Calculate the average vector of each user's product set based on each product vector;
[0101] According to the average vector of each user's product set, the user group is clustered based on the pre-trained clustering model to obtain multiple different groups;
[0102] Each group sets the corresponding label;
[0103] A label corresponding to the user is determined according to the average vector and the grouping relationship of the user.
[0104] In one embodiment, it further includes:
[0105] Determine the user group corresponding to each tag;
[0106] Determining a commodity set for the user group according to a commodity set for each user in the user group;
[0107] In the product set of the user group, the product recommendation list corresponding to the label is obtained by sorting them in descending order of sales volume.
[0108] In one implementation, the method further includes periodically updating the user portrait.
[0109] In one implementation, periodically updating the user portrait includes:
[0110] Periodically obtain the records of users' purchases of goods; and count the collection of purchased goods for each user;
[0111] Determine the average vector of purchases for each user;
[0112] According to the average vector of the purchased goods of each user, a clustering algorithm is used to calculate the set of users to obtain a plurality of different groups;
[0113] Determine the group corresponding to the user according to the average vector of the purchased items of the user; and the label.
[0114] In one implementation, determining a user profile based on the user's product browsing information includes:
[0115] Determine the set of products that the user has browsed;
[0116] Query each product vector in the product set;
[0117] Calculating a vector mean of the product set according to each product vector in the product set;
[0118] Using a pre-trained clustering model to calculate the vector mean to obtain a label corresponding to the product set;
[0119] A profile of the user is determined according to the tag.
[0120] The above-mentioned technical scheme of the present invention receives login information sent by the user's client; determines the user portrait based on historical purchase information; determines the corresponding product recommendation list based on the user portrait; and sends the product recommendation list to the user's client, thereby improving the user's shopping experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0121] The drawings constituting a part of this application are used to provide a further understanding of this application, so that other features, purposes and advantages of this application become more obvious. The schematic embodiment drawings and their descriptions of this application are used to explain this application and do not constitute an improper limitation on this application. In the drawings:
[0122] Figure 1 is a schematic diagram of a user portrait description according to an embodiment of the present application;
[0123] Figure 2 is a flow chart of a commodity recommendation method according to an embodiment of the present application;
[0124] Figure 3 is a flow chart of a method for determining a user tag according to an embodiment of the present application;
[0125] Figure 4 is a flow chart of another commodity recommendation method according to an embodiment of the present application;
[0126] Figure 5 is a structural schematic diagram of a commodity recommendation device according to an embodiment of the present application;
[0127] Figure 6 It is a structural schematic diagram of a product recommendation device according to an embodiment of the present application. DETAILED DESCRIPTION
[0128] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0129] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0130] First, let me introduce the professional terms used in this application.
[0131] User portrait: User portrait is a labeled user model abstracted from information such as user consumption habits and living habits. Figure 1 A schematic diagram of a user portrait is shown; including but not limited to: natural characteristics, social characteristics, drug purchase characteristics, and medical history characteristics. Natural characteristics include but are not limited to gender, age, education, etc.; social characteristics include but are not limited to marriage, family, occupation, etc.; medical history characteristics include but are not limited to previous medical history, etc. Drug purchase characteristics include historical drug purchase records, etc.
[0132] Based on this, this application proposes a product recommendation method, see the attached Figure 2 A flowchart of a commodity recommendation method is shown; the method comprises:
[0133] Step S202, receiving login information sent by the user's client; wherein the login information includes a user identifier; the user identifier may be a user name or a mobile phone number of the user; the login information also includes a user password.
[0134] Specifically, other relevant information of the user may also be determined based on the user's registration information, including but not limited to age, occupation, gender, mobile phone number, etc.
[0135] For example, after Zhang San logged in, he entered the username zhangsan and the password 111111 and logged in successfully.
[0136] Step S204, searching for corresponding historical purchase commodity information according to the user identifier;
[0137] For example, the commodity information purchased by the user in the historical period can be determined based on the user name zhangsan; the historical period can be the most recent week or the most recent day; the length of the historical period can be flexibly set.
[0138] Of course, in order to avoid confusion caused by duplicate usernames, other additional verification information, such as mobile phone numbers, can be used to ensure the uniqueness of the user.
[0139] Step S206: if the historical purchase information of goods can be found, determine the user portrait according to the historical purchase information of goods; wherein the user portrait includes: user identification and user tag;
[0140] Among them, the user tag is the group identifier for grouping all users; each user belongs to a group. Each group corresponds to a product recommendation list.
[0141] Step S208, determining a corresponding commodity recommendation list according to the user portrait;
[0142] Specifically, the product recommendation list of the corresponding group is determined according to the user tags in the user portrait.
[0143] Among them, the product recommendation list is sorted in order of sales volume from high to low or from low to high.
[0144] Step S210, sending the commodity recommendation list to the user's client, so that the user's client displays the commodity recommendation list.
[0145] The method of the present invention determines the user portrait through the user's purchase information, and determines the corresponding product recommendation list according to the user portrait. It can more accurately determine the user's favorite products and actively push the product list, thereby improving the effect of product sales.
[0146] In one embodiment, when a user tag is generated, see the attached Figure 3 A flowchart of a method for determining a user tag is shown: the method comprises:
[0147] Step S301, determining a set of commodities purchased by each user according to the historical purchase records of each user;
[0148] Step S302: for any product in the product set, a vector conversion model is used to process the product to obtain a corresponding product vector;
[0149] Specifically, each product is processed using a vector conversion model to obtain an embedded vector of each product, wherein the vector conversion model may use a word2vec model.
[0150] Step S303, calculating the average vector of each user's product set based on each product vector;
[0151] For example, the vector of item 1 purchased by user Zhang San is (W 11 , W 12 , W 13 , W 14 …W 1n );
[0152] The vector of product 2 is (W 21 , W 22 , W 23 , W 24 …W 2n );
[0153] The vector of product 3 is (W 31 , W 32 , W 33 , W 34 …W 3n );
[0154] …
[0155] The vector of commodity m is (W m1 , W m2 , W m3 , W m4 …W mn );
[0156] Calculate the average vector of Zhang San’s m products as X1:
[0157]
[0158] Step S304, performing clustering calculation on the user group based on the pre-trained clustering model according to the average vector of each user's product set to obtain multiple different groups;
[0159] In specific implementation, the clustering model uses kmeans or Mini Batch K-Means. If the amount of data is too large, you can consider using the kmeans algorithm of the Spark platform.
[0160] The number of user clusters needs to be determined during model training;
[0161] For any set of numbers, calculate the calculation error of the clustering model for that set of numbers;
[0162] Among them, the calculation error is the sum of squares of intra-cluster errors;
[0163] The elbow method is used to determine the optimal number of user clusters based on the errors corresponding to each number of clusters;
[0164] Specifically, the minimum intra-cluster error sum of squares and the corresponding number of clusters are determined.
[0165] Preferably, the number of user clustering groups is 50;
[0166] Exemplarily, the average vector of each user is calculated by the above step S303, which is: X1, X2, X3, X4...X k ; Where k is the number of users; after the clustering model, they are divided into L groups; L is a positive integer greater than zero.
[0167] Among them, (X1, X4, X6,)…(X2, X k , X k-1 );
[0168] Among them, (X1, X4, X6,) is the first group; (X2, X k , X k-1 ) is the Lth group;
[0169] Step S305, each group is provided with a corresponding label; wherein the label may be a number, a letter, a character string, etc., and the specific form is not limited.
[0170] Step S306: determining a label corresponding to the user according to the average vector and the grouping of the user.
[0171] Exemplarily, Zhang San's average vector X1 belongs to the first group; the label is the label of the first group, which is the Arabic numeral 1.
[0172] In order to determine the product list for each group, in one implementation, the user group corresponding to each tag is determined;
[0173] Determining a commodity set for the user group according to a commodity set for each user in the user group;
[0174] Exemplarily, the first group of product sets corresponding to label 1 is: Zhang San's product set + the second user's product set + the fourth user's product set.
[0175] In the product set of the user group, the product recommendation list corresponding to the label is obtained by sorting them in order of sales volume from high to low.
[0176] It is worth emphasizing that the same products may appear in Zhang San's product collection and the second user's product collection; for example, Zhang San purchased Lianhua Qingwen Capsules, and the second user Li Si also purchased Lianhua Qingwen Capsules; so in one implementation, before sorting, it is also necessary to perform deduplication operations based on the product names.
[0177] Considering that there are always new products on the shelves, new users may log out when new users join, or old users' consumption habits are also changing, the user's product profile should change dynamically and randomly. Therefore, in one embodiment, it also includes periodically updating the user profile, where the period can be set to 24 hours or 12 hours, which can be set flexibly.
[0178] Periodically obtain the user's purchase records;
[0179] Count the set of purchased items for each user based on the purchased item records;
[0180] Determine the average vector of purchases for each user;
[0181] For example, Zhang San repurchased some products in the last day, and the average vector of this group of products is X11;
[0182] The number of users is z; z is a positive integer greater than zero. Each user vector is as follows
[0183] X 11 , X 12 , X 13 , X 14 …X1z;
[0184] According to the average vector of the purchased goods of each user, a clustering algorithm is used to calculate the set of users to obtain a plurality of different groups;
[0185] Exemplarily, after re-clustering, there are h groups, and the group to which Zhang San's vector X11 belongs is the hth group (X11, X14, X1z); the label is h; h is a positive integer greater than zero.
[0186] Determine the group corresponding to the user according to the average vector of the user and the corresponding grouping relationship; and a label.
[0187] If the user is a newly registered user, there is no consumption record of the user in the database. In one embodiment, if no historical purchase information is found, the user profile is determined based on the user's product browsing information;
[0188] Determine, based on the user portrait, to send a product recommendation list to the client of the user.
[0189] The user portrait is determined based on the user's product browsing information, including:
[0190] Determine the set of products that the user has browsed;
[0191] Query each product vector in the product set;
[0192] The embedded vector of each commodity may be pre-stored in the database; the embedded vector of the commodity is obtained and stored in advance by subjecting the commodity to a vector conversion model.
[0193] Calculating a vector mean of the product set according to each product vector in the product set;
[0194] Using a pre-trained clustering model to calculate the vector mean to obtain a label corresponding to the product set;
[0195] A profile of the user is determined according to the tag.
[0196] Here is another method for product recommendation. Figure 4A flowchart of another method for recommending goods is shown; the method comprises:
[0197] Step S401, obtaining sample data: cleaning the commodities purchased by each user, sorting them in chronological order, and obtaining a user commodity table in the format of "user id, purchased commodity set".
[0198] Step S402: convert the sample data using the word2vec model to derive the embedded embedding vector of each product.
[0199] Step S403, calculate the mean embedding vector of all commodities purchased by each user; create a user vector table in the format of "user id, user vector".
[0200] Step S404, clustering calculation is performed on the data of the user vector table. Depending on the amount of data, Python's kmeans or Mini Batch K-Means can be selected. If the amount of data is too large, the kmeans algorithm of the spark platform can be considered for training to obtain a clustering model.
[0201] Step S405, the number of user clusters needs to be determined during the model training process; different numbers of cluster models can be trained to obtain different intra-cluster error sums of squares; and the elbow method is used to obtain the optimal number of user clusters.
[0202] Step S406, calling the model to calculate the user's vector data, determining the user tag according to the group to which the vector data belongs, and writing it into the user product table in the format of "user id, purchased product set, user tag".
[0203] Step S407, grouping all commodities according to user tags; counting the sales volume of commodities corresponding to each tag, and sorting them according to sales volume, to obtain a ranking table of commodities preferred by users under different tags.
[0204] Step S408, when it is necessary to recommend products, just query the user's tags and recall the products under the tags according to the tags, starting with the ones with the highest sales volume. Each time it is called, 30 products are recalled in order of sales volume from high to low.
[0205] Step S409: for new users without labels, obtain the list of products that the user interacts with during this visit; query the embedding vector of each product and calculate the vector mean of the products in the product list; call the clustering model to calculate the vector mean and determine the label; recall the products based on the label; and obtain the user's temporary clustering label, which is temporarily stored as user portrait data.
[0206] In one implementation, the user's geographic location information may also be obtained; the geographic location information is converted into a vector;
[0207] Use a clustering model to identify users with similar geographical locations as a group; recommend a pharmaceutical product to this group of users;
[0208] Specifically, a well-known hospital may be used as the center and a predetermined radius around it may be used as the range, and surrounding users may be grouped together; and a certain medicine or doctor specific to the hospital may be recommended to the group of users.
[0209] For example, within a predetermined 3,000-meter radius around a nationally renowned dermatology hospital, drugs for treating skin diseases, such as "Compound Phellodendron Liquid," are recommended.
[0210] Within a 3,000-meter radius of a nationally renowned dental treatment hospital, we recommend a type of dental floss that is a specialty of the hospital and is used specifically for cleaning teeth.
[0211] When clustering, the clustering model takes the geographical location of different hospitals as the center and performs clustering separately, automatically dividing different user groups.
[0212] A recommended drug list corresponding to each group of users is preset; the recommended drug list is drugs specific to the corresponding hospital; and the drugs can be sorted according to their popularity.
[0213] When the user logs in, the system will automatically recommend special medicines from famous hospitals near the user's address. After the user purchases, the medicines will be delivered to the user's home by express delivery.
[0214] In one implementation, cluster analysis may also be performed based on the user's age dimension; the users' ages may be divided into different groups; and a corresponding product recommendation list may be recommended for each group of users.
[0215] For example, people aged 90-60 are considered elderly, and the products recommended to this group of users are health products, such as Dong-E E-Jiao, By-Health, etc.
[0216] People aged 30-50 are middle-aged people, and the products recommended to this group of users can be health products.
[0217] In one embodiment, cluster analysis can also be performed based on disease;
[0218] For example, users who have purchased cold medicines in the past two days are grouped together; a list of medicines such as cold medicines is recommended to users in this group; the list includes: Lianhua Qingwen, Ganmaoling Granules, and Compound Paracetamol Tablets; and they are sorted in order of sales volume from high to low.
[0219] The users who have purchased oral ulcer drugs in the last two days are grouped together; oral ulcer drugs are recommended to this group of users. For example, dexamethasone, Disay, Renhe Qinghuo Capsule; sort them in descending order of sales volume.
[0220] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0221] According to an embodiment of the present invention, a device for controlling commodity recommendation is also provided. Figure 5 As shown, the device comprises:
[0222] The receiving module 51 is used to receive the login information sent by the user's client; the login information includes the user identification;
[0223] A portrait determination module 52, used to search for corresponding historical purchase commodity information according to the user identifier;
[0224] If the historical purchase information of goods can be found, the user portrait is determined according to the historical purchase information of goods; wherein the user portrait includes: a user identifier and a user tag;
[0225] A product list determination module 53 is used to determine a corresponding product recommendation list according to the user portrait;
[0226] The sending module 54 is used to send the commodity recommendation list to the client of the user.
[0227] In one embodiment, the portrait determination module 52 is further used to determine the user portrait based on the user's product browsing information if no historical product purchase information is found;
[0228] The product list determination module 53 is also used to determine, based on the user portrait, to send a product recommendation list to the client of the user.
[0229] In one embodiment, the portrait determination module 52 is further used to determine the set of commodities purchased by each user according to the historical purchase records of each user;
[0230] For any product in the product set, the vector conversion model is used to process it to obtain the corresponding product vector;
[0231] Calculate the average vector of each user's product set based on each product vector;
[0232] According to the average vector of each user's product set, the user group is clustered based on the pre-trained clustering model to obtain multiple different groups;
[0233] Each group sets the corresponding label;
[0234] A label corresponding to the user is determined according to the average vector and the grouping relationship of the user.
[0235] In one embodiment, the product list determination module 53 is further used to determine the user group corresponding to each tag;
[0236] Determining a commodity set for the user group according to a commodity set for each user in the user group;
[0237] In the product set of the user group, the product recommendation list corresponding to the label is obtained by sorting them in descending order of sales volume.
[0238] In one implementation, the portrait determination module 52 is further configured to periodically update the user portrait.
[0239] In one embodiment, the portrait determination module 52 is further used to periodically obtain records of user purchases of goods; and to count the set of purchased goods of each user;
[0240] Determine the average vector of purchases for each user;
[0241] According to the average vector of the purchased goods of each user, a clustering algorithm is used to calculate the set of users to obtain a plurality of different groups;
[0242] Determine the group corresponding to the user according to the average vector of the purchased items of the user; and the label.
[0243] In one embodiment, the portrait determination module 52 is further used to determine a set of commodities that the user has browsed;
[0244] Query each product vector in the product set;
[0245] Calculating a vector mean of the product set according to each product vector in the product set;
[0246] Using a pre-trained clustering model to calculate the vector mean to obtain a label corresponding to the product set;
[0247] A profile of the user is determined according to the tag.
[0248] According to a third aspect of the present application, a commodity recommendation control device is provided; see attached Figure 6 , comprising at least one processor 61 and at least one memory 62; the memory 62 is used to store one or more program instructions; the processor 61 is used to run one or more program instructions to perform the following steps:
[0249] Receive login information sent by the user's client; the login information includes a user ID;
[0250] Searching for corresponding historical purchase commodity information according to the user identifier;
[0251] If the historical purchase information of goods can be found, the user portrait is determined according to the historical purchase information of goods; wherein the user portrait includes: a user identifier and a user tag;
[0252] Determine a corresponding product recommendation list according to the user portrait;
[0253] The commodity recommendation list is sent to the client of the user.
[0254] The processor 61 is further configured to determine the user portrait according to the user's product browsing information if no historical product purchase information is found;
[0255] Determine, based on the user portrait, to send a product recommendation list to the client of the user.
[0256] The processor 61 is further configured to determine a set of commodities purchased by each user according to the historical purchase records of each user;
[0257] For any product in the product set, the vector conversion model is used to process it to obtain the corresponding product vector;
[0258] Calculate the average vector of each user's product set based on each product vector;
[0259] According to the average vector of each user's product set, the user group is clustered based on the pre-trained clustering model to obtain multiple different groups;
[0260] Each group sets the corresponding label;
[0261] A label corresponding to the user is determined according to the average vector and the grouping relationship of the user.
[0262] The processor 61 is further used to determine the user group corresponding to each tag;
[0263] Determining a commodity set for the user group according to a commodity set for each user in the user group;
[0264] In the product set of the user group, the product recommendation list corresponding to the label is obtained by sorting them in descending order of sales volume.
[0265] The processor 61 is further configured to periodically update the user portrait.
[0266] The processor 61 is also used to periodically obtain the records of the products purchased by the users; and to count the set of the products purchased by each user;
[0267] Determine the average vector of purchases for each user;
[0268] According to the average vector of the purchased goods of each user, a clustering algorithm is used to calculate the set of users to obtain a plurality of different groups;
[0269] Determine the group corresponding to the user according to the average vector of the purchased items of the user; and the label.
[0270] The processor 61 is further used to determine a set of commodities browsed by the user;
[0271] Query each product vector in the product set;
[0272] Calculating a vector mean of the product set according to each product vector in the product set;
[0273] Using a pre-trained clustering model to calculate the vector mean to obtain a label corresponding to the product set;
[0274] A profile of the user is determined according to the tag.
[0275] According to a fourth aspect of the present application, a computer-readable storage medium is provided, wherein the computer storage medium contains one or more program instructions, and the one or more program instructions are used to perform the following steps:
[0276] Receive login information sent by the user's client; the login information includes a user ID;
[0277] Searching for corresponding historical purchase commodity information according to the user identifier;
[0278] If the historical purchase information of goods can be found, the user portrait is determined according to the historical purchase information of goods; wherein the user portrait includes: a user identifier and a user tag;
[0279] Determine a corresponding product recommendation list according to the user portrait;
[0280] The commodity recommendation list is sent to the client of the user.
[0281] In one implementation, if no historical purchase product information is found, the user profile is determined based on the user's product browsing information;
[0282] Determine, based on the user portrait, to send a product recommendation list to the client of the user.
[0283] In one embodiment, the generation of the label includes:
[0284] Determine the set of goods purchased by each user based on each user's historical purchase records;
[0285] For any product in the product set, the vector conversion model is used to process it to obtain the corresponding product vector;
[0286] Calculate the average vector of each user's product set based on each product vector;
[0287] According to the average vector of each user's product set, the user group is clustered based on the pre-trained clustering model to obtain multiple different groups;
[0288] Each group sets the corresponding label;
[0289] A label corresponding to the user is determined according to the average vector and the grouping relationship of the user.
[0290] In one embodiment, it further includes:
[0291] Determine the user group corresponding to each tag;
[0292] Determining a commodity set for the user group according to a commodity set for each user in the user group;
[0293] In the product set of the user group, the product recommendation list corresponding to the label is obtained by sorting them in order of sales volume from high to low.
[0294] In one implementation, the method further includes periodically updating the user portrait.
[0295] In one implementation, periodically updating the user portrait includes:
[0296] Periodically obtain the records of users' purchases of goods; and count the collection of purchased goods for each user;
[0297] Determine the average vector of purchases for each user;
[0298] According to the average vector of the purchased goods of each user, a clustering algorithm is used to calculate the set of users to obtain a plurality of different groups;
[0299] Determine the group corresponding to the user according to the average vector of the purchased items of the user; and the label.
[0300] In one implementation, determining a user profile based on the user's product browsing information includes:
[0301] Determine the set of products that the user has browsed;
[0302] Query each product vector in the product set;
[0303] Calculating a vector mean of the product set according to each product vector in the product set;
[0304] Using a pre-trained clustering model to calculate the vector mean to obtain a label corresponding to the product set;
[0305] A profile of the user is determined according to the tag.
[0306] In the embodiment of the present invention, the processor may be an integrated circuit chip having the signal processing capability. The processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0307] The methods, steps and logic block diagrams disclosed in the embodiments of the present invention can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present invention can be directly embodied as a hardware decoding processor for execution, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The processor reads the information in the storage medium and completes the steps of the above method in combination with its hardware.
[0308] The storage medium may be a memory, which may be, for example, a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memory.
[0309] Among them, the non-volatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
[0310] The volatile memory may be a random access memory (RAM) which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDRSDRAM), enhanced synchronous DRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus DRAM (DRRAM).
[0311] The storage media described in the embodiments of the present invention are intended to include, but are not limited to, these and any other suitable types of memory.
[0312] Those skilled in the art will appreciate that in one or more of the above examples, the functions described in the present invention can be implemented using a combination of hardware and software. When software is used, the corresponding functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of computer programs from one place to another. Storage media can be any available media that can be accessed by general or special-purpose computers.
[0313] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A device for controlling product recommendation, characterized in that: The device comprises: A receiving module, used to receive login information sent by a user's client, wherein the login information includes a user identifier; A portrait determination module, used to search for corresponding historical purchase commodity information according to the user identifier; A product list determination module, used to determine a corresponding product recommendation list according to the user portrait; and A sending module is used to send the product recommendation list to the user's client.
2. The device for controlling product recommendation according to claim 1, characterized in that: When the portrait determination module finds the historical purchase information of goods, it determines the user portrait according to the historical purchase information of goods.
3. The device for controlling product recommendation according to claim 2, characterized in that: The user portrait includes: a user identifier and a user tag.
4. The device for controlling product recommendation according to claim 1, characterized in that: The portrait determination module is also used to determine the user portrait based on the user's product browsing information if no historical product purchase information is found.
5. The device for controlling commodity recommendation according to claim 1, characterized in that: The portrait determination module is also used for: Determine the set of goods purchased by each user based on each user's historical purchase records; For any product in the product set, the vector conversion model is used to process it to obtain the corresponding product vector; Calculate the average vector of each user's product set based on each product vector; According to the average vector of each user's product set, the user group is clustered based on the pre-trained clustering model to obtain multiple different groups; Each group sets the corresponding label; A label corresponding to the user is determined according to the average vector and the grouping relationship of the user.
6. The device for controlling commodity recommendation according to claim 5, characterized in that: The portrait determination module is also used to periodically update the user portrait.
7. The device for controlling commodity recommendation according to claim 6, characterized in that: The portrait determination module is also used for: Periodically obtain the records of users' purchases and count the collection of each user's purchases; Determine the average vector of purchases for each user; According to the average vector of the purchased goods of each user, a clustering algorithm is used to calculate the set of users to obtain a plurality of different groups; The group and label corresponding to the user are determined according to the average vector of the purchased items of the user.
8. The device for controlling commodity recommendation according to claim 7, characterized in that: The portrait determination module is also used for: Determine the set of products that the user has browsed; Query each product vector in the product set; Using a pre-trained clustering model to calculate the vector mean to obtain a label corresponding to the product set; A profile of the user is determined according to the tag.
9. The device for controlling commodity recommendation according to any one of claims 1 to 8, characterized in that: The product list determination module is also used to determine, based on the user portrait, to send a product recommendation list to the user's client.
10. The device for controlling commodity recommendation according to claim 9, characterized in that: The commodity list determination module is also used for: Determine the user group corresponding to each tag; Determining a commodity set for the user group according to a commodity set for each user in the user group; In the product set of the user group, the product recommendation list corresponding to the label is obtained by sorting them in descending order of sales volume.