Product pushing method and device, computer device and storage medium

By constructing a heterogeneous graph and extracting user and product feature vectors, and calculating similarity, the problem of low matching degree in traditional product recommendation is solved, and accurate product push is achieved.

CN115659005BActive Publication Date: 2026-03-20ZHAOLIAN CONSUMER FINANCE CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-15
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

Traditional product recommendation methods cannot achieve accurate recommendations, resulting in a low degree of matching between users and products.

Method used

Construct a heterogeneous graph, obtain user and product information, extract user target feature vectors and product target feature vectors, calculate similarity, and determine the identifier of the product to be pushed.

Benefits of technology

It improves the accuracy of product recommendations by selecting products with a high degree of matching through quantitative similarity, thus achieving precise product recommendations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115659005B_ABST
    Figure CN115659005B_ABST
Patent Text Reader

Abstract

The application relates to a product pushing method and device, computer equipment, a storage medium and a computer program product. The method comprises the following steps: obtaining user information of a plurality of user identifiers and product information of a plurality of product identifiers; constructing a heterogeneous graph comprising a user node, a product sub-node and a product node based on the user information and the product information; performing feature extraction on the heterogeneous graph to obtain a user target feature vector corresponding to the user node and a product target feature vector corresponding to the product node; calculating the similarity between the user target feature vector and the product target feature vector, determining a to-be-pushed product identifier corresponding to each user identifier in the plurality of user identifiers based on the similarity, and pushing the to-be-pushed product identifier to the corresponding user identifier. The method can improve the accuracy of product pushing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence, and in particular to a product delivery method, apparatus, computer equipment, storage medium, and computer program product. Background Technology

[0002] With the development of internet technology, products and services have gradually shifted from offline to online, and more and more product and service providers are providing products and services to users through applications, web pages, and mini-programs.

[0003] In traditional technologies, product and service providers recommend the latest products to users, but the matching degree between the recommended products and users is low, failing to achieve the goal of accurate recommendations. Summary of the Invention

[0004] Therefore, it is necessary to provide a product delivery method, apparatus, computer equipment, computer-readable storage medium, and computer program product that can improve accuracy in addressing the aforementioned technical problems.

[0005] Firstly, this application provides a product push method. The method includes:

[0006] Obtain user information from multiple user identifiers and product information from multiple product identifiers;

[0007] Based on the user information and the product information, a heterogeneous graph including user nodes, product sub-nodes, and product nodes is constructed.

[0008] Feature extraction is performed on the heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node;

[0009] Calculate the similarity between the user target feature vector and the product target feature vector, and determine the product identifier to be pushed to each user identifier among the plurality of user identifiers based on the similarity. The product identifier to be pushed is used to push to the corresponding user identifier.

[0010] In one embodiment, constructing a heterogeneous graph including user nodes, product sub-nodes, and product nodes based on the user information and the product information includes:

[0011] Each user identifier is treated as a user node, and each product identifier is treated as a product node; the user node representation of the user node includes the user characteristics in the user information;

[0012] Based on the product features obtained from the user information, the validity period of each product identifier is divided into multiple validity period intervals, and each validity period interval of each product identifier is regarded as a product sub-node; the product sub-node representation includes the product features and validity period intervals in the product information.

[0013] Multiple product sub-nodes corresponding to the same product identifier are connected to the product node. Based on the obtained product features in the user information, the user node is connected to the corresponding product sub-node to obtain a heterogeneous graph including user nodes, product sub-nodes and product nodes.

[0014] In one embodiment, dividing the validity period of each product identifier into multiple validity period intervals based on the obtained product characteristics in the user information includes:

[0015] Obtain the product identifier and the number of years obtained from each of the aforementioned acquired product features;

[0016] The number of years each product identifier has been held is statistically analyzed to obtain the range of valid years for each product identifier.

[0017] Based on a preset time interval, the validity period range corresponding to each product identifier is divided to obtain multiple validity period intervals corresponding to each product identifier.

[0018] In one embodiment, feature extraction of the heterogeneous graph includes:

[0019] The user node representation is converted into a user initial matrix, and the product sub-node representation is converted into a sub-node initial matrix;

[0020] By statistically analyzing the initial matrix of each product child node connected to the same product node in the heterogeneous graph, the initial product matrix corresponding to the product node is obtained.

[0021] Based on the user initial matrix, child node initial matrix, and product initial matrix, the initial feature matrix corresponding to the heterogeneous graph is obtained;

[0022] Based on the connection relationships between user nodes, product sub-nodes, and product nodes in the heterogeneous graph, the adjacency matrix corresponding to the heterogeneous graph is obtained.

[0023] In one embodiment, the step of calculating the initial sub-node matrices corresponding to each product sub-node connected to the same product node in the heterogeneous graph to obtain the initial product matrix corresponding to the product node includes:

[0024] Based on the heterogeneous graph, the number of connections between each product sub-node and the user node is counted to obtain the first connection count for each product sub-node.

[0025] Based on the heterogeneous graph, the number of first connections corresponding to each product sub-node connected to each product node is counted to obtain the number of second connections corresponding to each product node.

[0026] The ratio between the first number of connections corresponding to the product sub-node and the second number of connections corresponding to the product nodes connected to the product sub-node is used as the weight of the product sub-node.

[0027] The initial matrix and weights of the sub-nodes corresponding to the product sub-nodes are fused to obtain the fused matrix of the sub-nodes corresponding to the product sub-nodes.

[0028] For each product node, the sub-node fusion matrix corresponding to each product sub-node connected to the product node is calculated to obtain the initial product matrix corresponding to the product node.

[0029] In one embodiment, the step of extracting features from the heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node includes:

[0030] The initial feature matrix and the adjacency matrix are input into the feature extraction function to obtain the intermediate feature matrix; the feature extraction function includes adjustment parameters.

[0031] Obtain the user intermediate matrix and product intermediate matrix from the intermediate feature matrix, and construct an error loss function based on the user intermediate matrix and product intermediate matrix;

[0032] The error loss function is adjusted to obtain the parameter value of the adjustment parameter, and the parameter value is substituted into the intermediate feature matrix to obtain the reference feature matrix;

[0033] The reference feature matrix is ​​used as the updated initial feature matrix, and the process of inputting the initial feature matrix and the adjacency matrix into the feature extraction function to obtain the intermediate feature matrix is ​​repeated until the preset number of returns is reached to obtain the target feature matrix.

[0034] Obtain the user target matrix and product target matrix from the target feature matrix, convert the user target matrix into a user target feature vector, and convert the product target matrix into a product target feature vector.

[0035] In one embodiment, obtaining the user intermediate matrix and product intermediate matrix from the intermediate feature matrix, and constructing an error loss function based on the user intermediate matrix and product intermediate matrix includes:

[0036] The user intermediate matrix and the product intermediate matrix are transformed to obtain the user intermediate feature vector and the product intermediate feature vector;

[0037] Based on the obtained product features in the user information, determine the target product identifier corresponding to each user identifier, and obtain the intermediate feature vector of the product corresponding to the target product identifier.

[0038] Calculate the similarity between the user intermediate feature vector corresponding to the user identifier and the product intermediate feature vector corresponding to the target product identifier to obtain the objective function corresponding to the user identifier;

[0039] Based on each of the aforementioned objective functions, an error loss function is constructed.

[0040] Secondly, this application also provides a product delivery device. The device includes:

[0041] The acquisition module is used to acquire user information from multiple user identifiers and product information from multiple product identifiers.

[0042] A construction module is used to construct a heterogeneous graph including user nodes, product sub-nodes, and product nodes based on the user information and the product information.

[0043] The extraction module is used to extract features from the heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node.

[0044] The push module is used to calculate the similarity between the user target feature vector and the product target feature vector, and determine the product identifier to be pushed to each user identifier among the plurality of user identifiers based on the similarity. The product identifier to be pushed is used to push to the corresponding user identifier.

[0045] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:

[0046] Obtain user information from multiple user identifiers and product information from multiple product identifiers;

[0047] Based on the user information and the product information, a heterogeneous graph including user nodes, product sub-nodes, and product nodes is constructed.

[0048] Feature extraction is performed on the heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node;

[0049] Calculate the similarity between the user target feature vector and the product target feature vector, and determine the product identifier to be pushed to each user identifier among the plurality of user identifiers based on the similarity. The product identifier to be pushed is used to push to the corresponding user identifier.

[0050] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:

[0051] Obtain user information from multiple user identifiers and product information from multiple product identifiers;

[0052] Based on the user information and the product information, a heterogeneous graph including user nodes, product sub-nodes, and product nodes is constructed.

[0053] Feature extraction is performed on the heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node;

[0054] Calculate the similarity between the user target feature vector and the product target feature vector, and determine the product identifier to be pushed to each user identifier among the plurality of user identifiers based on the similarity. The product identifier to be pushed is used to push to the corresponding user identifier.

[0055] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:

[0056] Obtain user information from multiple user identifiers and product information from multiple product identifiers;

[0057] Based on the user information and the product information, a heterogeneous graph including user nodes, product sub-nodes, and product nodes is constructed.

[0058] Feature extraction is performed on the heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node;

[0059] Calculate the similarity between the user target feature vector and the product target feature vector, and determine the product identifier to be pushed to each user identifier among the plurality of user identifiers based on the similarity. The product identifier to be pushed is used to push to the corresponding user identifier.

[0060] The aforementioned product push method, apparatus, computer equipment, storage medium, and computer program product acquire user information from multiple user identifiers and product information from multiple product identifiers. Based on the user and product information, a heterogeneous graph including user nodes, product sub-nodes, and product nodes is constructed. Feature extraction is performed on this heterogeneous graph to obtain user target feature vectors corresponding to user nodes and product target feature vectors corresponding to product nodes. The similarity between the user target feature vectors and product target feature vectors is calculated. Based on the similarity, the product identifier to be pushed for each user identifier is determined, and the product identifier to be pushed is pushed to the corresponding user identifier. The heterogeneous graph, constructed based on user and product information, includes user information, product information, and information about products purchased by the user, providing richer information and richer basic data for feature extraction. This improves the accuracy of user and product target feature vectors. By calculating the similarity between each user target feature vector and each product target feature vector, the matching degree between each user and each product is converted into a quantifiable similarity. Multiple products with high matching degrees are selected for each user in descending order of similarity, improving the accuracy of product push. Attached Figure Description

[0061] Figure 1 This is an application environment diagram of the product push method in one embodiment;

[0062] Figure 2 This is a flowchart illustrating a product push method in one embodiment;

[0063] Figure 3 This is a flowchart illustrating the heterogeneous graph construction steps in one embodiment;

[0064] Figure 4 This is a flowchart illustrating the steps for obtaining the initial feature matrix and adjacency matrix in one embodiment;

[0065] Figure 5 This is a flowchart illustrating a feature extraction method in one embodiment;

[0066] Figure 6 This is a schematic diagram of a heterogeneous graph in one embodiment;

[0067] Figure 7 This is a structural block diagram of a product pushing device in one embodiment;

[0068] Figure 8 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0069] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0070] The product push method provided in this application embodiment can be applied to, for example, Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated on server 104 or placed on a cloud or other network server. Both the terminal and the server can be used independently to execute the product push method provided in this embodiment. The terminal and server can also work together to execute the product push method provided in this embodiment. For example, terminal 102 sends a product push recommendation request, server 104 receives the product push request, then obtains user information from multiple user identifiers and product information from multiple product identifiers. Based on the user information and product information, a heterogeneous graph including user nodes, product sub-nodes, and product nodes is constructed. Feature extraction is performed on the heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node. The similarity between the user target feature vector and the product target feature vector is calculated. Based on the similarity, the product identifier to be pushed for each user identifier is determined, and the product identifier to be pushed is pushed to the corresponding user identifier. The terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, and smart in-vehicle systems. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted devices. The server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers.

[0071] In one embodiment, such as Figure 2 As shown, a product push method is provided. This method can be applied to computer devices, which can be terminals or servers. The method can be executed independently by the terminal or server, or it can be implemented through interaction between the terminal and the server. This embodiment uses the application of this method to a computer device as an example for illustration, including steps 202 to 208.

[0072] Step 202: Obtain user information from multiple user identifiers and product information from multiple product identifiers.

[0073] In this context, a user identifier is a string representing a user. It can be understood as the user's name. User identifiers can be letters, numbers, symbols, and combinations thereof. For example, "zhangsan". User information refers to information describing a user's attributes. User information can include the user's basic attributes and the attributes of the products the user purchases. For example, basic attributes such as age, gender, occupation, and annual income, and product attributes such as the price and duration of the purchase. A product identifier is a string representing a product. It can be understood as the product's name or code. For example, "chanpin01" or "123456". Product information refers to the product's basic attributes. For example, the product's risk level, interest rate, etc.

[0074] For example, a computer device obtains user information with multiple user identifiers and product information with multiple product identifiers from a database or the cloud.

[0075] Step 204: Based on user information and product information, construct a heterogeneous graph including user nodes, product sub-nodes, and product nodes.

[0076] Heterogeneous graphs are graphs containing multiple types of nodes and relationships. They can be understood as graphs composed of various types of objects and connections, where each node represents an object and the lines connecting nodes represent connections. A user node represents a user, a product sub-node represents a product within a specific purchase timeframe, and a product node represents a product. A product sub-node can be understood as dividing a product node into multiple objects. For example, a product node might represent product 01, with one product sub-node representing product 01 purchased between 1 and 2 years ago, and another product sub-node representing product 01 purchased between 2 and 3 years ago.

[0077] For example, a computer device constructs a heterogeneous graph including user nodes, product sub-nodes, and product nodes based on user information and product information.

[0078] In one embodiment, the computer device performs statistical classification of user information, dividing users into multiple categories, with each category representing a user node. For example, it statistically analyzes user ages in the user information and divides users into multiple age groups based on the results, such as 21-25 years old, 26-30 years old, 31-35 years old, etc., totaling 10 age groups, with each age group representing a user node.

[0079] Step 206: Extract features from the heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node.

[0080] In this context, a feature vector is a vector that represents the attribute features of a node. It can be understood as a vector representing multiple attribute features of an object; the feature vector can characterize the object's features.

[0081] For example, a computer device performs feature extraction on a heterogeneous graph to obtain user target feature vectors corresponding to user nodes and product target feature vectors corresponding to product nodes.

[0082] In one embodiment, a computer device inputs a heterogeneous graph into a target graph neural network model to obtain user target feature vectors corresponding to user nodes and product target feature vectors corresponding to product nodes. Here, Graph Neural Network (GNN) refers to a general term for algorithms that use neural networks to learn graph-structured data, extract and discover features and patterns in graph-structured data, and meet the needs of graph learning tasks such as clustering, classification, prediction, segmentation, and generation.

[0083] Step 208: Calculate the similarity between the user target feature vector and the product target feature vector. Based on the similarity, determine the product identifier to be pushed to each user identifier among multiple user identifiers. The product identifier to be pushed is used to push to the corresponding user identifier.

[0084] Similarity refers to the degree of similarity between two vectors. Similarity can be measured by the cosine of the angle between the two vectors to determine the difference in their directions, or by the Pearson correlation coefficient to determine the strength of the connection between them, or other methods.

[0085] For example, the computer device calculates the similarity between the user's target feature vector and the target feature vectors of each product, determines one or more product identifiers to be pushed to each user identifier based on the similarity, and pushes the product identifiers to be pushed to the corresponding user identifier.

[0086] In one embodiment, the computer device calculates the similarity between the user target feature vector and the product target feature vector, sorts all the obtained similarities from largest to smallest, selects the product identifier corresponding to the largest similarity as the product identifier to be pushed to each user identifier, and pushes the product identifier to be pushed to all user identifiers.

[0087] In one embodiment, the computer device calculates the similarity between the user target feature vector corresponding to the target user identifier and the target feature vectors of each product, sorts all similarities corresponding to the target user identifier from largest to smallest, sequentially selects a preset number of product identifiers corresponding to similarities as the product identifiers to be pushed to the target user identifier, and pushes the product identifiers to be pushed to the target user identifier.

[0088] In the above product push method, user information from multiple user identifiers and product information from multiple product identifiers are obtained. A heterogeneous graph, including user nodes, product sub-nodes, and product nodes, is constructed based on the user and product information. Feature extraction is performed on this heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node. The similarity between the user target feature vector and the product target feature vector is calculated. Based on the similarity, the product identifier to be pushed to each user identifier is determined, and the product identifier to be pushed to the corresponding user identifier is pushed. The heterogeneous graph, which includes user information, product information, and information about products purchased by the user, contains richer information and provides abundant basic data for feature extraction, improving the accuracy of user target feature vectors and product target feature vectors. By calculating the similarity between each user target feature vector and each product target feature vector, the matching degree between each user and each product is converted into a quantifiable similarity. Multiple products with high matching degrees are selected for each user in descending order of similarity, improving the accuracy of product push.

[0089] In one embodiment, such as Figure 3 As shown, based on user information and product information, a heterogeneous graph is constructed, including user nodes, product sub-nodes, and product nodes, comprising:

[0090] Step 302: Treat each user identifier as a user node and each product identifier as a product node; the user node representation of the user node includes user characteristics in the user information.

[0091] In this context, a user node representation refers to the set of user characteristics corresponding to a user node. It can be understood as a set of multiple user characteristics, the included features of which can be selected based on actual needs. User characteristics refer to the attribute features of a user. For example, a user node representation might include four user characteristics: age, gender, occupation, and annual income.

[0092] For example, the computer device treats each user identifier as a user node and each product identifier as a product node, and selects user features from user information to form the user node representation of the user node.

[0093] Step 304: Based on the product features obtained in the user information, divide the validity period of each product identifier into multiple validity period intervals, and treat each validity period interval of each product identifier as a product sub-node; the product sub-node representation includes the product features and validity period intervals in the product information.

[0094] Among them, "acquired product features" refers to the attribute characteristics of products already purchased by the user. Acquired product features include, but are not limited to, acquired product identifiers, acquired product duration, acquired product quantity, etc. "Valid duration range" refers to the range between the shortest and longest purchase duration of a product. For example, the shortest purchase duration for chanpin01 is 3 months, and the longest purchase duration currently is 12 months; therefore, the valid duration range is 3 months to 12 months. "Valid duration interval" refers to a defined purchase duration interval. For example, the valid duration range can be divided into two intervals: 3 months to 7 months and 8 months to 12 months. "Product sub-node representation" refers to the set of product features and valid duration intervals corresponding to a product sub-node. It can be understood as a set of multiple product features and valid duration intervals, and the included product features can be selected according to actual needs. "Product features" refers to the attribute characteristics of a product. For example, a user node representation includes three product features and a valid duration interval; the product features could be price, resource gain (such as interest rate), and risk level, and the valid duration interval could be 3 months to 7 months.

[0095] For example, the computer device obtains the acquired product features from the user information, performs statistics on the acquired product features corresponding to all user identifiers, obtains the validity period range corresponding to each product identifier, then divides the validity period range of each product identifier into multiple validity period intervals, takes each validity period interval of each product identifier as a product sub-node, obtains product features from the product information, and combines the obtained product features with the validity period intervals to form the product sub-node representation of the product sub-node.

[0096] In one embodiment, the computer device obtains the characteristics of the acquired product from the user information, including the release date, expiration date, and minimum purchase period of the acquired product. Then, it obtains the current date and compares the current date with the expiration date. If the current date is greater than the expiration date, the maximum purchase period is obtained by subtracting the release date from the expiration date, and the range from the minimum purchase period to the maximum purchase period is used as the effective year range. If the current date is less than the expiration date, the maximum purchase period is obtained by subtracting the release date from the current date, and the range from the minimum purchase period to the maximum purchase period is used as the effective year range.

[0097] Step 306: Connect multiple product sub-nodes corresponding to the same product identifier to the product node. Based on the obtained product features in the user information, connect the user node to the corresponding product sub-node to obtain a heterogeneous graph including user nodes, product sub-nodes, and product nodes.

[0098] For example, the computer device connects multiple product sub-nodes corresponding to the same product identifier to the product node, and then connects the user node to the corresponding product sub-node based on the obtained product features in the user information, to obtain a heterogeneous graph including user nodes, product sub-nodes and product nodes.

[0099] In this embodiment, a heterogeneous graph including user nodes, product sub-nodes, and product nodes is constructed based on user information and product information. This heterogeneous graph includes user information, product information, and information on products purchased by users, containing richer information and providing abundant basic data for feature extraction.

[0100] In one embodiment, based on the product characteristics obtained from the user information, the validity period of each product identifier is divided into multiple validity period intervals, including:

[0101] Obtain the product identifier and the number of years already obtained from each acquired product feature; calculate the number of years already obtained for each product identifier to obtain the valid year range corresponding to each product identifier; divide the valid year range corresponding to each product identifier based on a preset time interval to obtain multiple valid year intervals corresponding to each product identifier.

[0102] The "held years" refers to the number of years the product has been purchased. The held years can be the current date minus the purchase date, or it can be the product's fixed purchase period. For example, if chanpin01 is a product with a fixed purchase period of 2 years, the "held years" are calculated by subtracting the purchase date from the current date. If the held years are less than or equal to 2 years, the "held years" are 2 years; if the held years are greater than 2 years, the "held years" are the actual held years. The "preset time interval" refers to a pre-defined interval.

[0103] For example, the computer device obtains the acquired product features corresponding to all user identifiers, obtains the product identifier and the acquired years from the acquired product features, performs statistics on the acquired years for each product identifier to obtain the valid years range corresponding to each product identifier, and then divides the valid years range corresponding to each product identifier according to a preset time interval to obtain multiple valid years intervals corresponding to each product identifier.

[0104] In one embodiment, the computer device summarizes the acquired years for each product identifier, sorts the acquired years for each product identifier, selects the minimum and maximum acquired years for each product identifier, and uses the range formed by the minimum and maximum acquired years as the valid years range for each product identifier. Based on the distribution characteristics of the acquired years for each product identifier, the valid years range is divided into a first time period and a second time period. In the first time period, the acquired years are densely distributed, so a first preset time interval with a small division range is selected and used to divide the first time period. In the second time period, the acquired years are sparsely distributed, so a second preset time interval with a large division range is selected and used to divide the second time period, thus obtaining multiple valid years ranges for each product identifier.

[0105] In this embodiment, the validity period range of each product identifier is divided to obtain multiple validity period intervals corresponding to each product identifier. Each validity period interval of each product identifier is taken as a product sub-node, and the user node is connected to the product sub-node, which increases the amount of information contained in the heterogeneous graph.

[0106] In one embodiment, such as Figure 4 As shown, feature extraction for heterogeneous graphs includes:

[0107] Step 402: Convert the user node representation into the user initial matrix and the product sub-node representation into the sub-node initial matrix.

[0108] A matrix is ​​a set of complex or real numbers arranged in an array. It can be understood as an m x n matrix (m×n matrix) consisting of m×n numbers a. ij A table of numbers arranged in m rows and n columns.

[0109] For example, the computer device converts the user node representation into a user initial matrix and the product sub-node representation into a sub-node initial matrix. For example, the user node representation includes age, gender, occupation, and annual income. The user node representation corresponding to the user identifier zhangsan is {25, female, teacher, 100,000}, and the converted user initial matrix is ​​[25 1 310].

[0110] In one embodiment, the user's initial matrix and the child node's initial matrix are row matrices with the same number of columns, for example, a matrix with one row and n columns. Alternatively, the user's initial matrix and the child node's initial matrix are column matrices with the same number of rows, for example, an n-row, one-column matrix.

[0111] In one embodiment, the computer device employs a method to convert discrete features into numerical features, transforming user node representations into user initial matrices and product child node representations into child node initial matrices. For example, features with a small number of categories, such as gender, are transformed using OneHotEncoder, while features with a large number of categories, such as occupation, are transformed using word2vec. OneHotEncoder (One-Hot encoding, also known as one-bit effective encoding) uses an n-bit state register to encode n states, converting a feature into a single number. word2vec is a set of related models used to generate word vectors, converting each feature into a vector.

[0112] Step 404: Calculate the initial matrix of each child node connected to the same product node in the heterogeneous graph to obtain the initial matrix of the product node.

[0113] For example, the computer device obtains the initial matrix of each child node corresponding to the child nodes connected to the same product node, and then adds the obtained initial matrix of the child nodes to obtain the initial matrix of the product node.

[0114] Step 406: Based on the user initial matrix, child node initial matrix, and product initial matrix, obtain the initial feature matrix corresponding to the heterogeneous graph.

[0115] For example, the computer device combines the user initial matrix, the child node initial matrix, and the product initial matrix in a certain order to obtain the initial feature matrix corresponding to the heterogeneous graph.

[0116] In one embodiment, the computer device numbers each node in the heterogeneous graph, and the user initial matrix, child node initial matrix, and product initial matrix are all row matrices with the same number of columns. Then, the user initial matrix, child node initial matrix, and product initial matrix are arranged according to the corresponding node numbers to form the initial feature matrix of the heterogeneous graph.

[0117] Step 408: Based on the connection relationships between user nodes, product child nodes, and product nodes in the heterogeneous graph, obtain the adjacency matrix corresponding to the heterogeneous graph.

[0118] For example, a computer device obtains the adjacency matrix corresponding to the heterogeneous graph based on the connection relationships between user nodes, product child nodes, and product nodes in the heterogeneous graph.

[0119] In this embodiment, the user node representation in the heterogeneous graph is converted into a user initial matrix, and the product sub-node representation is converted into a product sub-node initial matrix. Based on the product sub-node initial matrix and the connection relationship between product nodes and product sub-nodes in the heterogeneous graph, the product node initial matrix is ​​obtained. The product node initial matrix includes not only the attribute features of the product, but also the attribute features of the user purchasing the product, which increases the information content of the initial feature matrix of the heterogeneous graph and provides rich basic data for feature extraction.

[0120] In one embodiment, the initial matrix of each product child node connected to the same product node in the heterogeneous graph is calculated to obtain the initial product matrix corresponding to the product node, including:

[0121] Based on the heterogeneous graph, the number of connections between each product sub-node and the user node is counted to obtain the first connection count for each product sub-node. Based on the heterogeneous graph, the first connection count for each product node connected to each product sub-node is counted to obtain the second connection count for each product node. The ratio between the first connection count and the second connection count for each product sub-node is used as the weight for the product sub-node. The initial sub-node matrix and the weight are fused to obtain the sub-node fusion matrix for each product sub-node. For each product node, the sub-node fusion matrix for each product sub-node connected to the product node is counted to obtain the initial product matrix for the product node.

[0122] Here, weight refers to proportion. It can be understood as a coefficient representing the percentage.

[0123] For example, based on the heterogeneous graph described above, the computer device counts the number of connections between each product sub-node and the user node to obtain the first connection count for each product sub-node. The first connection counts for each product sub-node connected to each product node are summed to obtain the second connection count for each product node. The first connection count for each product sub-node is divided by the second connection count for each product sub-node connected to the product node to obtain the weight for each product sub-node. The initial sub-node matrix for each product sub-node is multiplied by the weight to obtain the sub-node fusion matrix for each product sub-node. The initial product matrix for each product sub-node connected to each product node is summed to obtain the initial product matrix for each product node.

[0124] In this embodiment, the initial sub-node matrix corresponding to each product sub-node is multiplied by its weights to obtain the sub-node fusion matrix corresponding to each product sub-node. The sub-node fusion matrix not only contains information about the user's purchase of products, but also includes the user's preference for purchasing products, thus increasing the information content of the sub-node fusion matrix. The sub-node fusion matrices corresponding to each product sub-node connected to each product node are added together to obtain the initial product matrix corresponding to each product node, further increasing the information content of the initial product matrix and providing richer basic data for feature extraction.

[0125] In one embodiment, such as Figure 5 As shown, feature extraction is performed on the heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node, including:

[0126] Step 502: Input the initial feature matrix and the adjacency matrix into the feature extraction function to obtain the intermediate feature matrix; the feature extraction function includes adjustment parameters.

[0127] In this context, the feature extraction function refers to the function that achieves the goal of feature extraction. For example, it's a function that achieves feature extraction in a graph neural network model. The intermediate feature matrix is ​​a matrix containing the variables. Adjustment parameters are variables that can be adjusted.

[0128] For example, the computer device inputs the initial feature matrix and the adjacency matrix into the feature extraction function to obtain the intermediate feature matrix.

[0129] In one embodiment, the feature extraction function is:

[0130]

[0131] in, A is the adjacency matrix of the heterogeneous graph, I is the identity matrix; D is the degree matrix of the heterogeneous graph (a matrix describing the degree of each node in the heterogeneous graph, where the degree of a node represents the number of edges connected to that node, and the degree matrix is ​​a diagonal matrix); H 0 H is the initial characteristic matrix. l σ is the reference feature matrix after l-fold feature extraction; σ is the activation function, which can be ReLU (Rectified Linear Unit, usually referring to nonlinear functions represented by ramp functions and their variants) and Softmax (normalized exponential function, which can represent the results of multi-classification in the form of probabilities), etc.; W l These are the adjustment parameters for the l-th feature extraction.

[0132] Step 504: Obtain the user intermediate matrix and product intermediate matrix from the intermediate feature matrix, and construct an error loss function based on the user intermediate matrix and product intermediate matrix.

[0133] For example, the computer device obtains the user intermediate matrix and the product intermediate matrix from the intermediate feature matrix, and then constructs an error loss function based on the user intermediate matrix and the product intermediate matrix.

[0134] In one embodiment, the computer device obtains a row of data corresponding to the user node number from the intermediate feature matrix as the user intermediate matrix, and obtains a row of data corresponding to the product node number as the product intermediate matrix.

[0135] Step 506: Adjust the error loss function to obtain the parameter values ​​of the adjustment parameters, and substitute the parameter values ​​into the intermediate feature matrix to obtain the reference feature matrix.

[0136] For example, the computer device adjusts the adjustment parameters in the error loss function to obtain the error loss function result corresponding to each adjustment parameter. When the error loss function result reaches its maximum, the value corresponding to the adjustment parameter at this time is determined as the parameter value. Then, the parameter value is substituted into the intermediate feature matrix to obtain the reference feature matrix.

[0137] In one embodiment, the computer device performs nonlinear optimization on the error loss function. When the error loss function reaches its maximum value, the value corresponding to the adjustment parameter at that time is determined as the parameter value. The nonlinear optimization methods include, but are not limited to, the first-order gradient method, the second-order gradient method, the quasi-Newton method, the Gauss-Newton method, etc.

[0138] Step 508: Use the reference feature matrix as the updated initial feature matrix, return to execute the step of inputting the initial feature matrix and the adjacency matrix into the feature extraction function to obtain the intermediate feature matrix, until the number of returns reaches the preset number, and obtain the target feature matrix.

[0139] For example, the computer device uses the reference feature matrix as the updated initial feature matrix and returns to execute steps 502, 504, 506, and 508. Each time the above steps are executed, the number of returns is incremented by 1 to obtain the updated number of returns. The number of returns is compared with a preset number. If the number of returns is less than the preset number, the above steps are repeated. If the number of returns is equal to the preset number, the reference feature matrix is ​​used as the target feature matrix.

[0140] Step 510: Obtain the user target matrix and product target matrix from the target feature matrix, convert the user target matrix into a user target feature vector, and convert the product target matrix into a product target feature vector.

[0141] For example, the computer device obtains the user target matrix and the product target matrix from the target feature matrix, and then converts the user target matrix into a user target feature vector and the product target matrix into a product target feature vector.

[0142] In one embodiment, the computer device converts each data point in the user target matrix into a value of one dimension of the user target feature vector. For example, if the user target matrix is ​​[25 1 3 10], it is converted into a user target feature vector of (25,1,3,10).

[0143] In this embodiment, by adjusting the adjustment parameters in the error loss function each time, the error loss function reaches its maximum value. At this time, the similarity between the user feature vector and the product feature vector in the reference feature matrix is ​​the greatest, which improves the accuracy of feature extraction. Performing feature extraction a preset number of times improves the accuracy of the user target feature vector and the product target feature vector in the target feature matrix.

[0144] In one embodiment, obtaining the user intermediate matrix and product intermediate matrix from the intermediate feature matrix, and constructing an error loss function based on the user intermediate matrix and product intermediate matrix includes:

[0145] The user intermediate matrix and product intermediate matrix are transformed to obtain user intermediate feature vectors and product intermediate feature vectors. Based on the obtained product features in the user information, the target product identifier corresponding to each user identifier is determined, and the product intermediate feature vector corresponding to the target product identifier is obtained. The similarity between the user intermediate feature vector corresponding to the user identifier and the product intermediate feature vector corresponding to the target product identifier is calculated to obtain the objective function corresponding to the user identifier. Based on each objective function, an error loss function is constructed.

[0146] The target product identifier refers to the selected product identifier that corresponds to the user identifier. The target product identifier can be the product identifier of the first product purchased by the user, the product identifier of the last product purchased, or the product identifier of the product purchased in the largest quantity, etc., and can be selected according to actual needs.

[0147] For example, the computer device converts the user intermediate matrix into a user intermediate feature vector and the product intermediate matrix into a product intermediate feature vector. Then, according to preset rules, it determines the target product identifier corresponding to each user identifier from the obtained product features in the user information, obtains the product intermediate feature vector corresponding to the target product identifier, calculates the similarity between the user intermediate feature vector corresponding to the user identifier and the product intermediate feature vector corresponding to the target product identifier, obtains the objective function corresponding to the user identifier, and adds the various objective functions to construct the error loss function.

[0148] In one embodiment, the error loss function is:

[0149]

[0150] Among them, E(u i Let be the intermediate feature vector of the user corresponding to the i-th user node. Let be the intermediate feature vector of the target product identifier corresponding to the i-th user node. for E(u i )and The similarity between them.

[0151] In this embodiment, an error loss function is constructed based on the similarity between the user intermediate feature vector corresponding to the user identifier and the product intermediate feature vector corresponding to the target product identifier. This error loss function requires the user intermediate feature vector corresponding to the user identifier to have the maximum similarity with the product intermediate feature vector corresponding to the target product identifier. By performing nonlinear optimization on the error loss function, the error loss function is made to reach its maximum value, thereby improving the similarity between the user target feature vector and the product target feature vector and improving the accuracy of product recommendation.

[0152] In one exemplary embodiment, user information of users who have used the target application or target mini-program for more than 5 years, as well as product information of existing financial products, are obtained from the target application and target mini-program. Users who have not purchased financial products are filtered out, and the information of users who have not purchased financial products is deleted from the obtained user information.

[0153] The features of purchased products are extracted from user information. Statistics are compiled on the features of purchased products corresponding to all user identifiers to obtain the purchase year range for each product identifier. Then, the purchase year range for each product identifier is divided into multiple purchase year intervals. Each purchase year interval for each product identifier is treated as a product sub-node. Each user identifier is treated as a user node, and each product identifier as a product node. Multiple product sub-nodes corresponding to the same product identifier are then connected to the product nodes. Finally, based on the features of purchased products in the user information, user nodes are connected to their corresponding product sub-nodes, resulting in a heterogeneous graph including user nodes, product sub-nodes, and product nodes. Figure 6 As shown.

[0154] Using a user's age, gender, occupation, and annual income as user node representations, the user node representation of the j-th user is as follows:

[0155] h 0 (u j Formula (3) = (Age, Gender, Occupation, Annual Income)

[0156] Using the price, interest rate, risk, and purchase term of a financial product as product sub-nodes, one of the product sub-nodes connected to the i-th product is represented as follows:

[0157] h0(i j Formula (4) = (Price, Interest Rate, Risk, Purchase Term Range)

[0158] Convert the user node representation into a user initial matrix, and the product child node representation into a child node initial matrix. Obtain the child node initial matrices corresponding to each product child node connected to the same product node. Then, add the obtained child node initial matrices together. For example, if the product node of the i-th product is connected to two product child nodes, then the product initial matrix corresponding to the product node is:

[0159] H 0 (i)=αH 0 (i0)+βH 0 (i1) Formula (5)

[0160] Among them, H 0 (i) is the initial product matrix corresponding to the product node of the i-th product, H 0 (i0) is the initial matrix of child nodes corresponding to the first product child node connected to the product node of the i-th product, H 0 (i1) is the initial matrix of the child nodes corresponding to the second product child node connected to the product node of the i-th product, α is the weight corresponding to the first product child node, and β is the weight corresponding to the second product child node. The weights can be set according to actual needs.

[0161] The initial user matrix, initial child node matrix, and initial product matrix are combined in a certain order to obtain the initial feature matrix corresponding to the heterogeneous graph. Based on the connection relationships between user nodes, product child nodes, and product nodes in the heterogeneous graph, the adjacency matrix corresponding to the heterogeneous graph is obtained.

[0162] The initial feature matrix and the adjacency matrix are input into the feature extraction function in formula (1) to extract features and obtain the intermediate feature matrix. Then, the user intermediate matrix and the product intermediate matrix are obtained from the intermediate feature matrix. The cosine distance between the user intermediate matrix corresponding to each user and the product intermediate matrix corresponding to the last financial product purchased by the user is calculated. The similarity obtained by the cosine distance calculation is the objective function corresponding to each user. The objective functions corresponding to each user are added together to construct the error loss function as shown in formula (2). The error loss function is nonlinearly optimized to obtain the parameter value of the adjustment parameter in the feature extraction function. The parameter value is substituted into the intermediate feature matrix to obtain the reference feature matrix. Then, the reference feature matrix is ​​used as the initial feature matrix. The above steps are repeated for a total of a preset number of times to obtain the target feature matrix.

[0163] Obtain the user target feature matrix and product target feature matrix from the target feature matrix. Convert the user target feature matrix into a user target feature vector and the product target feature matrix into a product target feature vector. Calculate the similarity between the user target feature vector corresponding to each user and the target feature vectors of each product. Select the financial products corresponding to the n product identifiers with the highest similarity as the products to be pushed to the user and push the products to be pushed to the corresponding users.

[0164] In this embodiment, user information from multiple user identifiers and product information from multiple product identifiers are obtained. A heterogeneous graph, including user nodes, product sub-nodes, and product nodes, is constructed based on the user and product information. Feature extraction is performed on this heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node. The similarity between the user target feature vector and the product target feature vector is calculated. Based on the similarity, the product identifier to be pushed to each user identifier is determined, and the product identifier to be pushed to the corresponding user identifier is pushed. The heterogeneous graph, which includes user information, product information, and information about products purchased by the user, contains richer information and provides abundant basic data for feature extraction, improving the accuracy of the user target feature vector and product target feature vector. By calculating the similarity between each user target feature vector and each product target feature vector, the matching degree between each user and each product is converted into a quantifiable similarity. Multiple products with high matching degrees are selected for each user in descending order of similarity, improving the accuracy of product push.

[0165] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0166] Based on the same inventive concept, this application also provides a product push device for implementing the product push method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more product push device embodiments provided below can be found in the limitations of the product push method described above, and will not be repeated here.

[0167] In one embodiment, such as Figure 7 As shown, a product push device is provided, including: an acquisition module, a construction module, an extraction module, and a push module, wherein:

[0168] The acquisition module 702 is used to acquire user information from multiple user identifiers and product information from multiple product identifiers;

[0169] Module 704 is used to construct a heterogeneous graph, including user nodes, product sub-nodes, and product nodes, based on user information and product information.

[0170] The extraction module 706 is used to extract features from the heterogeneous graph to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node.

[0171] The push module 708 is used to calculate the similarity between the user target feature vector and the product target feature vector, and to determine the product identifier to be pushed to each user identifier among multiple user identifiers based on the similarity. The product identifier to be pushed is used to push to the corresponding user identifier.

[0172] In one embodiment, the construction module 704 is further configured to: treat each user identifier as a user node and each product identifier as a product node; the user node representation of a user node includes user features in the user information; based on the obtained product features in the user information, divide the validity period range of each product identifier into multiple validity period intervals, and treat each validity period interval of each product identifier as a product sub-node; the product sub-node representation of a product sub-node includes product features and validity period intervals in the product information; connect multiple product sub-nodes corresponding to the same product identifier to the product node, and connect the user node to the corresponding product sub-node based on the obtained product features in the user information, to obtain a heterogeneous graph including user nodes, product sub-nodes, and product nodes.

[0173] In one embodiment, the construction module 704 is further configured to: obtain the product identifier and the obtained years in each obtained product feature; count the obtained years for each product identifier to obtain the valid years range corresponding to each product identifier; and divide the valid years range corresponding to each product identifier based on a preset time interval to obtain multiple valid years intervals corresponding to each product identifier.

[0174] In one embodiment, the extraction module 706 is further configured to: convert user node representations into user initial matrices and product sub-node representations into sub-node initial matrices; count the sub-node initial matrices corresponding to each product sub-node connected to the same product node in the heterogeneous graph to obtain the product initial matrix corresponding to the product node; obtain the initial feature matrix corresponding to the heterogeneous graph based on the user initial matrix, sub-node initial matrix, and product initial matrix; and obtain the adjacency matrix corresponding to the heterogeneous graph based on the connection relationships between user nodes, product sub-nodes, and product nodes in the heterogeneous graph.

[0175] In one embodiment, the extraction module 706 is further configured to: based on the heterogeneous graph, count the number of connections between each product sub-node and the user node to obtain the first connection count corresponding to each product sub-node; based on the heterogeneous graph, count the first connection count corresponding to each product sub-node connected to each product node to obtain the second connection count corresponding to each product node; use the ratio between the first connection count corresponding to the product sub-node and the second connection count corresponding to the product node connected to the product sub-node as the weight corresponding to the product sub-node; fuse the initial sub-node matrix corresponding to the product sub-node and the weight to obtain the sub-node fusion matrix corresponding to the product sub-node; and for each product node, count the sub-node fusion matrix corresponding to each product sub-node connected to the product node to obtain the initial product matrix corresponding to the product node.

[0176] In one embodiment, the extraction module 706 is further configured to: input the initial feature matrix and the adjacency matrix into the feature extraction function to obtain an intermediate feature matrix; the feature extraction function includes adjustment parameters; obtain the user intermediate matrix and the product intermediate matrix from the intermediate feature matrix, and construct an error loss function based on the user intermediate matrix and the product intermediate matrix; adjust the error loss function to obtain the parameter values ​​of the adjustment parameters, and substitute the parameter values ​​into the intermediate feature matrix to obtain a reference feature matrix; use the reference feature matrix as the updated initial feature matrix, and return to execute the step of inputting the initial feature matrix and the adjacency matrix into the feature extraction function to obtain the intermediate feature matrix, until the number of returns reaches a preset number, and the target feature matrix is ​​obtained; obtain the user target matrix and the product target matrix from the target feature matrix, convert the user target matrix into a user target feature vector, and convert the product target matrix into a product target feature vector.

[0177] In one embodiment, the extraction module 706 is further configured to: transform the user intermediate matrix and the product intermediate matrix to obtain user intermediate feature vectors and product intermediate feature vectors; determine the target product identifier corresponding to each user identifier based on the obtained product features in the user information, and obtain the product intermediate feature vector corresponding to the target product identifier; calculate the similarity between the user intermediate feature vector corresponding to the user identifier and the product intermediate feature vector corresponding to the target product identifier to obtain the objective function corresponding to the user identifier; and construct an error loss function based on each objective function.

[0178] Each module in the aforementioned product delivery device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the corresponding operations of each module.

[0179] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 8 As shown, the computer device includes a processor, memory, communication interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a product delivery method. The display screen can be an LCD screen or an e-ink display screen. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.

[0180] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0181] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.

[0182] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0183] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0184] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0185] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0186] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0187] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A product push method, characterized in that, The method includes: Obtain user information from multiple user identifiers and product information from multiple product identifiers; Each user identifier is treated as a user node, and each product identifier is treated as a product node; the user node representation of the user node includes the user characteristics in the user information; Based on the product features obtained from the user information, the validity period of each product identifier is divided into multiple validity period intervals, and each validity period interval of each product identifier is regarded as a product sub-node; the product sub-node representation includes the product features and validity period intervals in the product information. Connect multiple product sub-nodes corresponding to the same product identifier to the product node. Based on the obtained product features in the user information, connect the user node to the corresponding product sub-node to obtain a heterogeneous graph including user nodes, product sub-nodes and product nodes. The heterogeneous graph is input into the target graph neural network model to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node. Calculate the similarity between the user target feature vector and the product target feature vector, and determine the product identifier to be pushed to each user identifier among the plurality of user identifiers based on the similarity. The product identifier to be pushed is used to push to the corresponding user identifier.

2. The method according to claim 1, characterized in that, The step of determining the product identifier to be pushed to each user identifier among the plurality of user identifiers based on the similarity, wherein the product identifier to be pushed to the corresponding user identifier includes: Sort all the obtained similarities from largest to smallest, select the product identifier corresponding to the largest similarity as the product identifier to be pushed to each user identifier, and push the product identifier to be pushed to all user identifiers.

3. The method according to claim 1, characterized in that, The step of dividing the validity period of each product identifier into multiple validity period intervals based on the obtained product characteristics in the user information includes: Obtain the product identifier and the number of years obtained from each of the aforementioned acquired product features; The number of years each product identifier has been held is statistically analyzed to obtain the range of valid years for each product identifier. Based on a preset time interval, the validity period range corresponding to each product identifier is divided to obtain multiple validity period intervals corresponding to each product identifier.

4. The method according to claim 1, characterized in that, The step of inputting the heterogeneous graph into the target graph neural network model to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node includes: The user node representation is converted into a user initial matrix, and the product sub-node representation is converted into a sub-node initial matrix; By statistically analyzing the initial matrix of each product child node connected to the same product node in the heterogeneous graph, the initial product matrix corresponding to the product node is obtained. Based on the user initial matrix, child node initial matrix, and product initial matrix, the initial feature matrix corresponding to the heterogeneous graph is obtained; Based on the connection relationships between user nodes, product sub-nodes, and product nodes in the heterogeneous graph, the adjacency matrix corresponding to the heterogeneous graph is obtained.

5. The method according to claim 4, characterized in that, The process of statistically analyzing the initial sub-node matrices corresponding to each product sub-node connected to the same product node in the heterogeneous graph to obtain the initial product matrix corresponding to the product node includes: Based on the heterogeneous graph, the number of connections between each product sub-node and the user node is counted to obtain the first connection count for each product sub-node. Based on the heterogeneous graph, the number of first connections corresponding to each product sub-node connected to each product node is counted to obtain the number of second connections corresponding to each product node. The ratio between the first number of connections corresponding to the product sub-node and the second number of connections corresponding to the product nodes connected to the product sub-node is used as the weight of the product sub-node. The initial matrix and weights of the sub-nodes corresponding to the product sub-nodes are fused to obtain the fused matrix of the sub-nodes corresponding to the product sub-nodes. For each product node, the sub-node fusion matrix corresponding to each product sub-node connected to the product node is calculated to obtain the initial product matrix corresponding to the product node.

6. The method according to claim 4, characterized in that, The step of inputting the heterogeneous graph into the target graph neural network model to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node includes: The initial feature matrix and the adjacency matrix are input into the feature extraction function to obtain the intermediate feature matrix; the feature extraction function includes adjustment parameters. Obtain the user intermediate matrix and product intermediate matrix from the intermediate feature matrix, and construct an error loss function based on the user intermediate matrix and product intermediate matrix; The error loss function is adjusted to obtain the parameter value of the adjustment parameter, and the parameter value is substituted into the intermediate feature matrix to obtain the reference feature matrix; The reference feature matrix is ​​used as the updated initial feature matrix, and the process of inputting the initial feature matrix and the adjacency matrix into the feature extraction function to obtain the intermediate feature matrix is ​​repeated until the preset number of returns is reached to obtain the target feature matrix. Obtain the user target matrix and product target matrix from the target feature matrix, convert the user target matrix into a user target feature vector, and convert the product target matrix into a product target feature vector.

7. The method according to claim 6, characterized in that, The step of obtaining the user intermediate matrix and product intermediate matrix from the intermediate feature matrix, and constructing an error loss function based on the user intermediate matrix and product intermediate matrix includes: The user intermediate matrix and the product intermediate matrix are transformed to obtain the user intermediate feature vector and the product intermediate feature vector; Based on the obtained product features in the user information, determine the target product identifier corresponding to each user identifier, and obtain the intermediate feature vector of the product corresponding to the target product identifier. Calculate the similarity between the user intermediate feature vector corresponding to the user identifier and the product intermediate feature vector corresponding to the target product identifier to obtain the objective function corresponding to the user identifier; Based on each of the aforementioned objective functions, an error loss function is constructed.

8. A product pushing device, characterized in that, The device includes: The acquisition module is used to acquire user information from multiple user identifiers and product information from multiple product identifiers. A construction module is used to treat each user identifier as a user node and each product identifier as a product node; the user node representation of the user node includes user features in the user information; based on the obtained product features in the user information, the validity period range of each product identifier is divided into multiple validity period intervals, and each validity period interval of each product identifier is treated as a product sub-node; the product sub-node representation of the product sub-node includes product features and validity period intervals in the product information; multiple product sub-nodes corresponding to the same product identifier are connected to the product node, and based on the obtained product features in the user information, the user node is connected to the corresponding product sub-node to obtain a heterogeneous graph including user nodes, product sub-nodes, and product nodes; The extraction module is used to input the heterogeneous graph into the target graph neural network model to obtain the user target feature vector corresponding to the user node and the product target feature vector corresponding to the product node; The push module is used to calculate the similarity between the user target feature vector and the product target feature vector, and determine the product identifier to be pushed to each user identifier among the plurality of user identifiers based on the similarity. The product identifier to be pushed is used to push to the corresponding user identifier.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.

11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Product data pushing method and device, storage medium and computer equipment

    CN109697628A

  • Product recommendation method and device

    WO2019223379A1