Artificial Intelligence-Based Recommendation Method, Apparatus, Electronic Device, and Storage Medium
By extracting and aggregating node data in the heterogeneous graph and generating label interest vectors, the problem of insufficient interest representation of objects to be recommended in the prior art is solved, and the accuracy of recommendation is improved.
Patent Information
- Application Number
- CN202210517253.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-12
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2042-05-12
AI Technical Summary
The lack of effective ways to represent the interests of the object to be recommended in the prior art, resulting in insufficient accuracy of the recommendation processing.
By obtaining the node data in the heterogeneous graph, performing feature extraction and aggregation processing, generating the tag interest vector of the object to be recommended, and using the tag interest vector for recommendation.
Improve the accuracy of recommendation processing and make the recommendation results more in line with the needs of the person to be recommended.
Smart Images

Figure CN115114519B_ABST
Abstract
Description
Technical Field
[0001] This application relates to artificial intelligence technology, and in particular to a recommendation method, device, electronic device and storage medium based on artificial intelligence. Background Art
[0002] Artificial Intelligence (AI) is a theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.
[0003] Information recommendation is an important application of artificial intelligence. It can fuse and model the interests of objects to be recommended in different scenarios through artificial intelligence, express the interests of objects to be recommended with the modeling results, and thus obtain recommended content that the objects to be recommended may be interested in based on the modeling results, and send the recommended content to the objects to be recommended. In the related technology, there is no good way to characterize the interests of objects to be recommended, which in turn affects the accuracy of the recommendation process. Summary of the Invention
[0004] Embodiments of this application provide a recommendation method, device, electronic device, computer-readable storage medium and computer program product based on artificial intelligence, which can improve the accuracy of the recommendation process for objects to be recommended.
[0005] The technical solution of the embodiments of this application is implemented as follows:
[0006] Obtain a heterogeneous graph including multiple nodes, where the node types of the nodes in the heterogeneous graph include object group nodes, item nodes, and label nodes;
[0007] Perform feature extraction processing on the node data of each node in the heterogeneous graph to obtain an embedding vector corresponding to each node;
[0008] Perform feature aggregation processing on the embedding vectors of each one-hop neighbor node corresponding to each node and the embedding vector of each node to obtain a first aggregation vector corresponding to each node;
[0009] Perform feature aggregation processing on the embedding vectors of neighbor nodes of different types of each node and the embedding vector of each node to obtain a second aggregation vector corresponding to each node;
[0010] Perform fusion processing on the first aggregation vector and the second aggregation vector corresponding to each node to obtain a fusion feature vector corresponding to each node;
[0011] Determine the label interest vector of the object to be recommended based on the fusion feature vector corresponding to the label node having an interaction relationship with the object to be recommended, where the label interest vector is used to perform the recommendation process corresponding to the object to be recommended.
[0012] An embodiment of the present application provides a recommendation method based on artificial intelligence, including:
[0013] An embodiment of the present application provides a recommendation device based on artificial intelligence, including:
[0014] A data acquisition module configured to obtain a heterogeneous graph including multiple nodes, where the node types of the nodes in the heterogeneous graph include object group nodes, item nodes, and label nodes;
[0015] A feature extraction module configured to perform feature extraction processing on the node data of each node in the heterogeneous graph to obtain an embedding vector corresponding to each node;
[0016] A feature aggregation module configured to perform feature aggregation processing on the embedding vectors of each one-hop neighbor node corresponding to each node and the embedding vector of each node to obtain a first aggregation vector corresponding to each node;
[0017] The feature aggregation module is further configured to perform feature aggregation processing on the embedding vectors of different types of neighbor nodes of each node and the embedding vector of each node to obtain a second aggregation vector corresponding to each node;
[0018] A feature fusion module configured to perform fusion processing on the first aggregation vector and the second aggregation vector corresponding to each node to obtain a fusion feature vector corresponding to each node;
[0019] The feature fusion module is further configured to determine the label interest vector of the object to be recommended based on the fusion feature vector corresponding to the label node having an interaction relationship with the object to be recommended, where the label interest vector is used to perform the recommendation process corresponding to the object to be recommended.
[0020] An embodiment of the present application provides an electronic device, where the electronic device includes:
[0021] A memory for storing executable instructions;
[0022] A processor for implementing the recommendation method based on artificial intelligence according to the embodiment of the present application when executing the executable instructions stored in the memory.
[0023] An embodiment of the present application provides a computer-readable storage medium storing executable instructions, which, when executed by a processor, implement the artificial intelligence-based recommendation method described in the embodiments of the present application.
[0024] An embodiment of the present application provides a computer program product including a computer program or instructions, which, when executed by a processor, implement the artificial intelligence-based recommendation method described in the embodiments of the present application.
[0025] The embodiments of the present application have the following beneficial effects:
[0026] By performing different aggregation processes on the embedding vectors of the nodes extracted from the heterogeneous graph, different granularity aggregation vectors of the nodes in the heterogeneous graph are obtained. The aggregation vectors of different granularities can represent the interests of the object group in different aspects of the label or item. The aggregation vectors are fused to obtain a fused feature vector, which fuses semantic features of different granularities and can more accurately reflect the interests of the object group in the label or item. Based on the interaction relationship between the object to be recommended and the label node, a label interest vector of the object to be recommended is obtained, so that the label interest vector can represent the interest of the object to be recommended in the label. The label interest vector can be used for the recommendation process of the object to be recommended, thereby improving the accuracy of the recommendation process and making the recommendation result more in line with the needs of the object to be recommended. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 is a schematic diagram of an application scenario of the artificial intelligence-based recommendation method provided by the embodiments of the present application;
[0028] Figure 2 is a schematic diagram of the structure of an electronic device for artificial intelligence-based recommendation provided by the embodiments of the present application;
[0029] Figure 3A is a schematic flowchart of the artificial intelligence-based recommendation method provided by the embodiments of the present application;
[0030] Figure 3B is a schematic flowchart of the artificial intelligence-based recommendation method provided by the embodiments of the present application;
[0031] Figure 3C is a schematic flowchart of the artificial intelligence-based recommendation method provided by the embodiments of the present application;
[0032] Figure 3D is a schematic flowchart of the artificial intelligence-based recommendation method provided by the embodiments of the present application;
[0033] Figure 4 is a schematic flowchart of the artificial intelligence-based recommendation method provided by the embodiments of the present application;
[0034] Figure 5 It is a schematic diagram of a heterogeneous graph provided by an embodiment of the present application;
[0035] Figure 6 It is a schematic structural diagram of a heterogeneous graph neural network model provided by an embodiment of the present application;
[0036] Figure 7 It is a schematic process diagram of feature extraction processing of a heterogeneous graph neural network model based on a heterogeneous graph provided by an embodiment of the present application;
[0037] Figure 8 It is an optional process schematic diagram of a recommendation method based on artificial intelligence provided by an embodiment of the present application. Detailed implementation manners
[0038] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be construed as limiting the present application. All other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present application.
[0039] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.
[0040] In the following description, the terms "first / second / third" are only used to distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first / second / third" can be interchanged with a specific order or sequence when permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0041] It should be noted that in the embodiments of the present application, when it comes to relevant data such as user information and user feedback data, when the embodiments of the present application are applied to specific products or technologies, user permission or consent needs to be obtained, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0042] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0043] Before further elaborating on the embodiments of the present application, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following explanations.
[0044] 1) Graph Neural Network (GNN), traditional neural networks are more suitable for data in Euclidean space, and the graph neural network model is a network model that applies neural networks to graph structures (Graph). There are many types of graph neural networks, including Graph Convolutional Networks (GCN), Graph Attention Network (GAT), Graph Auto-Encoders (GAE), etc.
[0045] 2) One-Hot vector, a one-hot vector is a sparse vector representation. In the embodiments of this application, the values of the sparse vector representation are 0 or 1. Only one component value of a one-hot vector is 1, and the other values are 0.
[0046] 3) Items, in the embodiments of this application, items can be advertisements, advertising materials, or graphics, videos, etc. related to commodities.
[0047] 4) Labels, labels are keywords, categories, attributes, and corresponding parameters extracted from items.
[0048] 5) Heterogeneous graph, a relationship graph composed of different types of nodes or different types of edges is called a heterogeneous graph. For example: the object group nodes, label nodes, and item nodes belong to different types of nodes. There is an association relationship between the object group nodes, label nodes, and item nodes. If the object group interacts with the label and the item, then there is an interaction relationship between the object group and the label or the item. If an item carries multiple labels, then there is an inclusion relationship between the item and multiple labels. According to the corresponding relationships, a relationship graph of object group nodes, label nodes, and item nodes is constructed, and this relationship graph is a heterogeneous graph.
[0049] 6) Neighbor nodes, neighbor nodes are nodes that have an association relationship with a node. A neighbor node that has only one edge with a node is the one-hop neighbor node of the node. A two-hop neighbor node is a node that has a direct connection edge with the one-hop neighbor node of the node.
[0050] 7) Embedding vector, a dense continuous vector converted from a sparse vector (such as a one-hot vector). Embedding Table, a lookup table that stores embedding vectors. According to the category index, the corresponding embedding vector can be queried in the embedding table.
[0051] The embodiments of this application provide an artificial intelligence-based recommendation method, an artificial intelligence-based recommendation device, an electronic device, a computer-readable storage medium, and a program product, which can improve the accuracy of the recommendation process for the object to be recommended.
[0052] The following describes an exemplary application of an electronic device provided by an embodiment of the present application. The electronic device provided by an embodiment of the present application can be implemented as a laptop, a tablet computer, a desktop computer, a set-top box, a mobile device (e.g., a mobile phone, a portable music player, a personal digital assistant, a dedicated messaging device, a portable gaming device), a vehicle-mounted terminal, and other types of user terminals, and can also be implemented as a server. The embodiments of the present application can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, assisted driving, etc. The embodiments of the present application can be implemented by a server, or by a terminal device and a server in collaboration. Below, an exemplary application when the electronic device is implemented as a server will be described.
[0053] refer to Figure 1 , Figure 1 Schematic diagram of the application mode of the recommendation method based on artificial intelligence provided in the embodiment of the present application; for example, the servers involved include: interest identification server 201, recommendation server 202 (belonging to the recommendation system, such as a server of a video platform, an advertising platform, or a shopping platform), network 300, and first terminal device 401. The interest identification server 201 communicates with the recommendation server 202 through the network 300, or communicates through other means. The first terminal device 401 is connected to the recommendation server 202 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two.
[0054] For example, the object may be a user, the item may be an advertisement, the recommendation server 202 is a server of the advertising platform, the interest identification server 201 performs feature extraction, feature aggregation and other processing based on the object data, item data and tag data to obtain a fused feature vector for each tag node, the fused feature vector is used to characterize the interest of the user group in the tag in the recommendation system, the user to be recommended establishes a session with the advertising recommendation system through the terminal device 401 through the network 300, the terminal device 401 sends the interaction behavior information to the interest identification server 201, determines the tags that the user to be recommended has interacted with in the session (or, the tags corresponding to the interacted items) from the interaction behavior information, the interest identification server 201 determines the tag interest vector of the user to be recommended, and sends the tag interest vector to the recommendation server 202, and the recommendation server 202 sends the recommendation result to the terminal device based on the tag interest vector.
[0055] In some embodiments, part or all of the interest identification server 201 and the recommendation server 202 may also be implemented as a unified server.
[0056] The embodiments of the present application can be implemented through blockchain technology. The obtained tag interest vectors of the embodiments of the present application can be stored in the blockchain to enhance the reliability of the tag interest vectors. Blockchain is a new application mode of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithms. Blockchain, in essence, is a decentralized database, a string of data blocks generated by using cryptographic methods. Each data block contains information on a batch of network transactions, which is used to verify the validity of the information (anti-counterfeiting) and generate the next block. The blockchain can include the blockchain underlying platform, the platform product service layer, and the application service layer.
[0057] The embodiments of the present application can be implemented through database technology. A database (Database), in short, can be regarded as an electronic filing cabinet, a place for storing electronic files. Users can perform operations such as adding, querying, updating, and deleting data in the files. The so-called "database" is a data set stored together in a certain way, shared by multiple users, with the smallest possible redundancy, and independent of application programs.
[0058] A database management system (Database Management System, DBMS) is a computer software system designed to manage databases and generally has basic functions such as storage, interception, security protection, and backup. The database management system can be classified according to the database model it supports, such as relational, XML (Extensible Markup Language); or according to the computer type it supports, such as server clusters, mobile phones; or according to the query language it uses, such as Structured Query Language (SQL), XQuery; or according to the performance impulse focus, such as the maximum scale, the highest running speed; or other classification methods. Regardless of the classification method used, some DBMSs can cross categories. For example, they can support multiple query languages at the same time.
[0059] In some embodiments, the server can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The terminal device can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal device and the server can be directly or indirectly connected through wired or wireless communication methods, which are not limited in the embodiments of the present application.
[0060] Embodiments of the present application can also be implemented through cloud technology. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool, be used on demand, and is flexible and convenient. Cloud computing technology will become an important support. The back-end services of the technical network system require a large amount of computing and storage resources, such as video websites, image websites, and more portal websites. With the high development and application of the Internet industry, and the promotion of demands such as search services, social networks, mobile commerce, and open collaboration, in the future, each item may have its own hash code identification mark and needs to be transmitted to the back-end system for logical processing. Data at different levels will be processed separately, and various industry data requires the support of a powerful system background, which can only be achieved through cloud computing.
[0061] See Figure 2 , Figure 2 FIG. is a schematic structural diagram of an electronic device provided by an embodiment of the present application, including: at least one processor 410, a memory 450, and at least one network interface 420. Each component in the electronic device 400 is coupled together through a bus system 440. It can be understood that the bus system 440 is used to realize the connection and communication between these components. In addition to including a data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clear illustration, in Figure 2 all kinds of buses are labeled as the bus system 440.
[0062] The processor 410 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0063] The memory 450 can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disc drives, etc. The memory 450 optionally includes one or more storage devices that are physically located far from the processor 410.
[0064] The memory 450 includes volatile memory or non-volatile memory, and can also include both volatile and non-volatile memory. The non-volatile memory can be a read-only memory (ROM, Read Only Memory), and the volatile memory can be a random access memory (RAM, Random Access Memory). The memory 450 described in the embodiments of the present application is intended to include any suitable type of memory.
[0065] In some embodiments, the memory 450 is capable of storing data to support various operations. Examples of such data include programs, modules, and data structures, or subsets or supersets thereof, which will be exemplarily described below.
[0066] The operating system 451 includes system programs for processing various basic system services and performing hardware-related tasks, such as the framework layer, the core library layer, the driver layer, etc., for implementing various basic services and handling hardware-based tasks.
[0067] The network communication module 452 is used to reach other computing devices via one or more (wired or wireless) network interfaces 420. Exemplary network interfaces 420 include: Bluetooth, Wi-Fi (Wireless Fidelity), and USB (Universal Serial Bus), etc.
[0068] In some embodiments, the recommendation device based on artificial intelligence provided by the embodiments of the present application can be implemented in software. Figure 2 Shown is the recommendation device 455 based on artificial intelligence stored in the memory 450, which can be software in the form of programs and plugins, etc., including the following software modules: the data acquisition module 4551, the feature extraction module 4552, the feature aggregation module 4553, and the feature fusion module 4554. These modules are logical, so they can be arbitrarily combined or further split according to the functions to be implemented. The functions of each module will be described below.
[0069] The recommendation method based on artificial intelligence provided by the embodiments of the present application will be described in combination with the exemplary applications and implementations of the electronic devices provided by the embodiments of the present application.
[0070] See Figure 3A , Figure 3A which is a schematic flowchart of the recommendation method based on artificial intelligence provided by the embodiments of the present application, and will be described in combination with the steps shown in Figure 3A shown.
[0071] In step 301, a heterogeneous graph including multiple nodes is obtained.
[0072] Here, the node types of the nodes in the heterogeneous graph include object group nodes, item nodes, and label nodes.
[0073] Exemplarily, for the sake of explanation, in the embodiments of the present application, a recommendation system of a video platform is taken as an example for illustration. The items can be videos, product advertisements, etc. in the video platform, and the objects are users. The tags can be keywords of the videos (for example: the fields to which the videos belong are popular science, film reviews, product evaluations, games, etc.), categories (for example: the categories of the videos are movies, news, or animations), attributes (for example: short videos, live broadcasts, video length, Chinese videos, foreign language videos, the viewing restricted age of the videos, etc.).
[0074] Exemplarily, data for constructing the heterogeneous graph can be directly extracted from the server of the video platform or crawled from the network through a crawler. In the heterogeneous graph, there can be interaction relationships between the object group nodes and the item nodes and the tag nodes. The interaction relationships include indirect interaction relationships and direct interaction relationships. If the object group has ever implemented an interaction behavior on the item, then there is an interaction relationship between the item and the object group, and there is an indirect interaction relationship between the tag corresponding to the item and the object group through the item; when the object group searches for a tag through the search engine of the video platform or directly clicks on the tag through the tag bar, then there is a direct interaction relationship between the tag and the object group.
[0075] In some embodiments, step 301 is implemented in the following manner: obtaining object data, item data, and tag data, where the object data corresponds to multiple objects; classifying the multiple objects based on the attributes of each object in the object data to obtain multiple object groups of different types; using each object group, each object, and each tag as nodes, and using the data corresponding to each node as node data; connecting each node based on the relationships between each object group, each object, and each tag to obtain a heterogeneous graph.
[0076] Exemplarily, the objects are users, the number of objects is large, and the interaction behaviors of a single object are relatively sparse. To save computing resources and improve computing speed, the objects can be divided into multiple object groups (for example: 1000 object groups) according to the basic attributes of the objects (the attributes of the objects include: age, gender, region, job, etc.). The number of objects in each object group can be different (since the number of people using the recommendation platform among objects with different attributes is different. For example: for the object groups divided by age, young people use the recommendation platform frequently, while fewer elderly people use the recommendation platform. Then the object group of 20-year-old can include 100 people in each group, and the object group of 65-year-old can include 10 people in each group).
[0077] For example, a group of objects contains multiple objects. An item or label that has more than a preset number of interactions with the group of objects can be recognized as having an interaction relationship with the group of objects, avoiding the impact of sparse features on feature extraction. The preset number is positively correlated with the number of objects in the group of objects. For example, if there are 50 people in the group of objects, there must be at least 10 interactions between the group of objects and a certain label to determine that there is an interaction relationship between the group of objects and the label.
[0078] For example, in the embodiments of the present application, for the convenience of statistics, based on the direct interaction relationship between the group of objects and the label, the direct interaction relationship between the group of objects and the item, the association relationship that the item and the item appear in the same session, and the association relationship that the label and the label belong to the same item, each group of objects, each label, and each item are used as nodes, and the nodes are connected based on the above relationships to obtain a heterogeneous graph. Refer to Figure 5 , Figure 5 is a schematic diagram of the heterogeneous graph provided by the embodiments of the present application. The following four relationships are described with reference to the diagrams. In the diagrams, the U1 node and the U2 node are group-of-objects nodes, the W1 node, the W2 node, and the W3 node are item nodes, and the P1 node, the P2 node, and the P3 node are label nodes. Figure 5 There is an indirect interaction relationship between the label nodes and the group-of-objects nodes in
[0079] In step 302, feature extraction processing is performed on the node data of each node in the heterogeneous graph to obtain an embedding vector corresponding to each node.
[0080] For example, the embedding vector is a dense continuous vector. Dense means that the features contained in the vector are relatively dense, and there are few 0 values in the component values of the vector.
[0081] In some embodiments, step 302 is implemented in the following manner: mapping processing is performed on the node data of each node in the heterogeneous graph to obtain a one-hot vector for each node; linear transformation processing is performed on the one-hot vector of each node to obtain an embedding vector corresponding to each node.
[0082] For example, each dimension of the one-hot vector corresponds to an attribute, and the component value corresponding to the attribute can be represented by 0 or 1. 0 means that the node data contains this attribute, and 1 means that this attribute does not exist in the node. To make the one-hot vectors of each node in the same vector space, an initial vector (for example, a vector with each component value being 1) can be set. If the corresponding attribute exists in the node data, the component value of the initial vector corresponding to this attribute is set to 1, and if not, it is set to 0. Then the node data is mapped into a one-hot vector to obtain the one-hot vector of each node.
[0083] In some embodiments, the one-hot vector can also be a vector with only the i-th term being 1 and the remaining terms being 0, where i is the number of the node in the entire heterogeneous graph. Taking the item node as an example, for the item node, the item data of each item node is converted into the one-hot vector corresponding to each item node, and based on the one-hot vectors corresponding to each node within the item type, an item one-hot vector matrix is formed. It is expressed as the following formula (1):
[0084]
[0085] where, v k1 represents the one-hot vector corresponding to item node 1, and v k2 represents the one-hot vector corresponding to item node 2. The object group node and the label node are the same and will not be elaborated here.
[0086] Exemplarily, the linear transformation process is specifically: obtaining the linear transformation matrix corresponding to each node type, and multiplying the one-hot vector of each node by the linear transformation matrix corresponding to the type of the node. The linear transformation matrix can be the embedding table matrix corresponding to different types. Then the embedding table matrix corresponding to the item type is V k for representing the embedding table corresponding to the item type. The embedding table matrix corresponding to the label type is T k for representing the embedding table corresponding to the label type. The embedding table matrix corresponding to the object group type is U k for representing the embedding table corresponding to the object group type. The embedding vector of each node can be obtained by multiplying the one-hot vector of each node by the embedding table matrix of the type corresponding to each node. The embedding vector can be determined by the following formulas (3), (4), and (5):
[0087]
[0088]
[0089]
[0090] where, is the embedding vector of the item node, is the embedding vector of the label node, is the embedding vector of the object group node.
[0091] In step 303, feature aggregation processing is performed on the embedding vectors of each one-hop neighbor node corresponding to each node and the embedding vector of each node to obtain the first aggregation vector corresponding to each node.
[0092] Exemplarily, a one-hop neighbor node is a node that has only one line between nodes, that is, a node that has a direct relationship with the node.
[0093] In some embodiments, in some embodiments, refer to Figure 3B , Figure 3B FIG. is a schematic flowchart of a recommendation method based on artificial intelligence provided by an embodiment of the present application. Step 303 is implemented by executing steps 3031 to 3034 for each node, and the following is a specific description.
[0094] In step 3031, each one-hop neighbor node of the node is determined based on the heterogeneous graph.
[0095] Exemplarily, based on the connections between each node in the heterogeneous graph, each one-hop neighbor node of the node can be determined. For the convenience of explanation, the following continues to take the item node as an example. Refer to Figure 5 , where the one-hop neighbor nodes of the item node W2 include the object group node U1, the object node U2, the label node P1, the item node W1, and the item node W3.
[0096] In step 3032, the embedding vectors of each one-hop neighbor node are classified based on the node type to obtain the embedding vectors of the one-hop neighbor nodes corresponding to each node type, and the embedding vectors corresponding to each node type are combined to obtain the one-hop neighbor node vector matrix corresponding to each node type.
[0097] Exemplarily, the one-hop neighbor nodes of the item node W2 are classified to obtain the nodes corresponding to the item node type (item node W1 and item node W3), the object node type (object group node U1, object node U2), and the label node type (label node P1) respectively. The embedding vectors corresponding to the nodes of each type are combined, and then the one-hop neighbor node vector matrix corresponding to each node type is obtained.
[0098] The following is an explanatory description in combination with formulas. Assume that: the embedding vector of a certain item node is The one-hop neighbor node vector matrix F composed of this item node and each one-hop neighbor node of the item node type of this item node v can be represented as
[0099] In step 3033, each one-hop neighbor node vector matrix is subjected to a conversion process to obtain the intra-type embedding vectors corresponding to each node type.
[0100] Exemplarily, the intra-type embedding vector is a vector obtained by fusing the features corresponding to the embedding vectors of nodes of the same type.
[0101] Step 3033 is implemented as follows: for each one-hop neighbor node vector matrix, the following processing is performed: perform mapping processing on the one-hop neighbor node vector matrix to obtain the attention matrix of the one-hop neighbor node vector matrix, where the attention matrix includes: a query matrix, a key matrix, and a value matrix; perform normalization processing on the product between the query matrix and the key matrix (perform normalization processing based on the Softmax function), and take the product between the result of the normalization processing and the value matrix as the type-internal embedding vector corresponding to the node type.
[0102] Exemplarily, based on the one-hop neighbor node vector matrix F v The calculation formulas (7.1), (7.2), and (7.2) for obtaining the query matrix Q, key matrix K, and value matrix V corresponding to the item node are as follows:
[0103] Q = W Q *F v (7.1)
[0104] K = W K *F v (7.2)
[0105] V = W V *F v (7.3)
[0106] Among them, W Q , W K , W Q , W K , W V represent different mapping matrices, which can be initialized during the training of the heterogeneous graph neural network model and automatically update the parameters corresponding to the mapping matrices.
[0107] For the type-internal aggregated embedding vector h v (the type-internal embedding vector above), it can be obtained through the following formula (8):
[0108]
[0109] Among them, d h represents the matrix length of Q, K, and V, and the matrix length of F v can be expressed as d v . Similarly, based on the above processing method, the type-internal aggregated embedding vector h u of the object group and the type-internal embedding vector h t of the label can be obtained respectively.
[0110] In step 3034, based on each type-internal embedding vector of the node, aggregation processing is performed to obtain the first aggregation vector corresponding to the node.
[0111] Exemplarily, the aggregation process can be implemented through the Concat function or weighted calculation. For example, through the concat function, the first aggregated vector representation of the item node can be expressed as the following formula (9.1):
[0112] h i 1 = concat(h u , h v , h t ) (9.1)
[0113] In some embodiments, if there is no direct interaction between the label nodes or object group nodes, there are no one-hop neighbor nodes of the object node type around the label nodes. Then, the first aggregated vector representation of the label nodes is expressed as the following formula (9.2):
[0114] h i 1 = concat(h v , h t ) (9.2)
[0115] Correspondingly, if there are no one-hop neighbor nodes of the label node type around the object group nodes, the first aggregated vector representation of the object group nodes is expressed as the following formula (9.3):
[0116] h i 1 = concat(h u , h v ) (9.3)
[0117] That is, in the embodiments of the present application, the first aggregated vector of the node can be determined according to the actual relationship between the nodes, so that the first aggregated vector can more accurately represent the relationship between the nodes and represent the characteristics of the nodes, thereby improving the accuracy of the label interest vector obtained in the embodiments of the present application. At the same time, when there is no corresponding relationship between the nodes, the calculation is not based on this relationship, saving computing resources and improving the speed of calculating the label interest vector.
[0118] In step 304, feature aggregation processing is performed on the embedding vectors of different types of neighbor nodes of each node and the embedding vector of each node to obtain a second aggregated vector corresponding to each node.
[0119] Exemplarily, different types of neighbor nodes can be multi-hop neighbor nodes, that is, nodes with an indirect relationship with the node.
[0120] In some embodiments, referring to Figure 3C , Figure 3CIt is a schematic flowchart of a recommendation method based on artificial intelligence provided by an embodiment of the present application. Step 304 is implemented through steps 3041 to 3044, and the following is a specific description.
[0121] In step 3041, different types of neighbor nodes of each node are determined based on the heterogeneous graph.
[0122] Continue to refer to Figure 5 , based on the heterogeneous graph, it can be determined that the different types of neighbor nodes of the item node W2 are the object group node U1, the object group node U2, the label node P1, the label node P2, and the label node P3.
[0123] In step 3042, the embedding vector of each node is merged with the different types of neighbor nodes corresponding to each node to obtain the inter-type embedding vector of each node.
[0124] Exemplarily, the merging process can be implemented through the Concat function. Assume: the item node k, and the neighbor nodes of node k have the label node (the corresponding embedding vector is ), the object group node (the corresponding embedding vector is ), and the inter-type aggregated embedding vector f k of the item node k can be expressed as the following formula (10.1):
[0125]
[0126] In step 3043, for each node, the sum of the following two is determined: the inter-type embedding vector corresponding to the node, and the inter-type embedding vector corresponding to the neighbor nodes of the node.
[0127] Exemplarily, the sum of the inter-type embedding vector corresponding to each neighbor node of the node and the inter-type embedding vector corresponding to the node can be expressed as where f i is the inter-type embedding vector of node i, is the sum of the inter-type embedding vectors corresponding to each neighbor node of the node, and S is the set of neighbor nodes.
[0128] In step 3044, the sum is subjected to a mapping process, and the result of the mapping process is subjected to an activation process to obtain the second aggregated vector corresponding to each node.
[0129] Exemplarily, the mapping process can be implemented by multiplying the sum by a mapping matrix, and the activation process can be implemented through the Relu function. Then the second aggregated vector h i 2 of node i is expressed as the following formula (12):
[0130]
[0131] Among them, W G represents a mapping matrix, and Relu is an activation function.
[0132] In the embodiments of the present application, inter-type embedding vectors between node types are generated based on the embedding vectors of different types of nodes around a node, and the semantic features of different types of nodes are aggregated, so that the second aggregation vector of the node has a higher fine-grained level, and the second aggregation vector can more accurately represent the interest of the object in the label node or the item node. Furthermore, the label interest vector can be used to perform more accurate recommendation processing for users.
[0133] In step 305, the first aggregation vector and the second aggregation vector corresponding to each node are fused to obtain a fused feature vector corresponding to each node.
[0134] In some embodiments, step 305 is implemented in the following manner: the first aggregation vector and the second aggregation vector corresponding to each node are aggregated to obtain a third aggregation vector corresponding to each node; the third aggregation vector of each node is activated, and the result of the activation process is subjected to average pooling to obtain a fused feature vector corresponding to each node.
[0135] Exemplarily, for each node, the first aggregation vector h of the node i 1 and the second aggregation vector are combined (using the Concat function) to obtain a third aggregation vector h i which is expressed as the following formula (13):
[0136] h i = concat(h i 1 , h i 2 ) (13)
[0137] The third aggregation vector h i is downsampled by the activation function (Relu) and the average pooling operation (Average Pooling) to obtain the fused feature vector o i of the node, which is expressed as the following formula (14):
[0138] o i = average_pooling(relu(W F h i )) (14)
[0139] Among them, W F is a mapping matrix.
[0140] In step 306, based on the fusion feature vectors corresponding to the label nodes that have an interaction relationship with the object to be recommended, determine the label interest vector of the object to be recommended.
[0141] Here, the label interest vector is used to perform the recommendation process for the corresponding object to be recommended.
[0142] Exemplarily, the label nodes with an interaction relationship are the nodes corresponding to the labels with which the object to be recommended has ever performed an interaction behavior. The label interest vector is the interest feature of the object to be recommended represented in vector form.
[0143] In some embodiments, in some embodiments, refer to Figure 3D , Figure 3D is the flowchart of the recommendation method based on artificial intelligence provided by the embodiments of the present application. Step 306 is implemented through steps 3061 to 3063, which will be specifically described below.
[0144] In step 3061, obtain the interaction labels of the object to be recommended.
[0145] Here, the interaction labels are the labels with which the object to be recommended has ever performed an interaction behavior.
[0146] Exemplarily, the interaction behaviors include indirect interaction behaviors (for example: the user interacted with the video corresponding to the label) and direct interaction behaviors (for example: the user directly clicked on the label or searched for the label). The object to be recommended can be an object other than the object group.
[0147] In step 3062, perform a matching process on each interaction label with the heterogeneous graph to obtain the interaction label nodes in the heterogeneous graph that have an interaction relationship with the object to be recommended.
[0148] Exemplarily, to ensure that each interaction label is a label existing in the heterogeneous graph, after the heterogeneous graph is constructed, the heterogeneous graph can be updated with the update of the label data in the recommendation system, so as to ensure that the labels in the heterogeneous graph cover most of the labels. The nodes corresponding to the labels in the heterogeneous graph with the same text content as the interaction label are used as the interaction label nodes.
[0149] In some embodiments, if the interaction label is a label that does not exist in the heterogeneous graph, store the interaction label, update the heterogeneous graph based on the interaction label. At the same time, use the label with the highest similarity to the interaction label as the label matching the interaction label, and use the matching label as the interaction label.
[0150] In step 3063, superimpose the fusion feature vectors corresponding to each interaction label node to obtain the label interest vector of the object to be recommended.
[0151] Exemplarily, the interactive label node is the node corresponding to the label for which the object to be recommended has ever performed an interactive behavior. The label interest vector of the user to be recommended wherein, T u is a set composed of the fusion feature vectors of the labels for which the user to be recommended has performed interactive behaviors, and t i ∈o i .
[0152] In some embodiments, step 3063 is implemented in the following manner: based on the number of interactions between each interactive label node and the object to be recommended, determine the weight corresponding to each interactive label node, wherein the weight is positively correlated with the number of interactions; perform weighted calculation processing based on the fusion feature vector of each interactive label node and the weight corresponding to each interactive label node to obtain the label interest vector of the object to be recommended.
[0153] Exemplarily, based on the number of interactions between the user and the label, different weights are assigned to the fusion feature vectors of the labels, and the label interest vector of the user is obtained through weighted calculation wherein, η is the weight, and the weight is positively correlated with the number of interactions between the user and the label.
[0154] In some embodiments, the feature extraction processing is implemented by calling the feature extraction layer in the heterogeneous graph neural network model, the feature aggregation processing is implemented by calling the feature aggregation layer of the heterogeneous graph neural network model, and the fusion processing is implemented by calling the feature fusion layer of the heterogeneous graph neural network model; wherein, the feature aggregation layer includes at least two feature aggregation branches, and each feature aggregation branch is used to perform feature aggregation processing in different ways.
[0155] Refer to Figure 6 , Figure 6 which is the structural schematic diagram of the heterogeneous graph neural network model provided by the embodiments of the present application; in the heterogeneous graph neural network model 600, the feature extraction layer 601 is used to perform feature extraction on the heterogeneous graph to obtain the embedding vector of each node. The feature aggregation layer 602 is used to perform different types of aggregation processing based on the embedding vector of each node to obtain different aggregation vectors. The feature fusion layer 603 is used to perform fusion processing on the aggregation vectors obtained by each aggregation processing method to obtain the fusion feature vector of each node. The feature aggregation layer 602 internally includes at least two feature aggregation branches, and each feature aggregation branch is used to perform feature aggregation processing in different ways. Each feature aggregation branch performs feature aggregation processing in parallel.
[0156] In some embodiments, to improve the accuracy of feature extraction and feature fusion of the heterogeneous graph neural network model, the following processing can also be performed: determining the target loss of the heterogeneous graph neural network model based on the similarity between the fused feature vector of each node and the fused feature vectors of the neighboring nodes of each node; performing backpropagation processing on the heterogeneous graph neural network model based on the target loss to obtain the updated parameters of the heterogeneous graph neural network model; and replacing the corresponding original parameters in the heterogeneous graph neural network model with the updated parameters to obtain the updated heterogeneous graph neural network model.
[0157] The following explains the target loss in combination with formulas. Based on the similarity between neighboring nodes, the target loss function can be determined. The target loss function L is expressed as the following formula (15):
[0158]
[0159] Where N i represents the set of neighboring nodes of node i, o i is the fused feature vector of node i, o k represents the fused feature vectors of the nodes belonging to the set of neighboring nodes, o j represents the fused feature vectors of the nodes that do not belong to the set of neighboring nodes, σ(o i T o k ) is the similarity between node i and neighboring node k of node i, σ(o i T o k ) is the similarity between node i and node j that is not a neighboring node of node i.
[0160] In some embodiments, referring to Figure 4 , Figure 4 is the flowchart of the recommendation method based on artificial intelligence provided by the embodiments of the present application. After step 306, the recommendation message of the recommended item is sent to the object to be recommended through steps 401 to 404, which is specifically described below.
[0161] In step 401, the label feature vector corresponding to each label in the label database is obtained.
[0162] Exemplarily, the label database can be the database of the recommendation system. A large number of labels, the label feature vectors corresponding to the labels, and the corresponding relationship between the labels and the items are stored in the label database. The corresponding items and the recommendation messages corresponding to the items can be determined based on the labels. The label feature vector can be a feature vector extracted only based on the relationship between the label and the item, or a feature vector obtained by mapping based on the label data.
[0163] In step 402, the similarity between each label feature vector and the label interest vector is determined.
[0164] Exemplarily, the similarity can be the cosine similarity. The higher the similarity, the closer the label corresponding to the label feature vector is to the label interest of the object to be recommended, and the more the label can meet the needs of the object to be recommended.
[0165] In step 403, each label is sorted in descending order based on each similarity, and at least one item corresponding to the label at the head of the descending order result is used as the item to be recommended.
[0166] Exemplarily, each label can correspond to at least one item. Count each object corresponding to at least one label to obtain an item list, and use at least one item with the most occurrences in the item list as the item to be recommended. For example: Select the top 5 labels in the descending order result, count each item corresponding to the 5 labels to obtain an item list, count the number of occurrences of each item in the item list, and use the 4 items with the most occurrences as the items to be recommended.
[0167] In step 404, a recommendation message for each item to be recommended is sent to the object to be recommended.
[0168] Exemplarily, for example: If the item to be recommended is a news video, the recommendation message can be the title of the news video, the cover image of the news video, etc. Send the recommendation messages such as the cover image and title of the news video to the terminal device 401, and the terminal device 401 displays the recommendation messages to the object to be recommended, realizing the recommendation process for the object to be recommended.
[0169] In the embodiments of the present application, through different ways of aggregating the embedding vectors of the nodes extracted from the heterogeneous graph, aggregation vectors with different granularities of the nodes in the heterogeneous graph are obtained. The aggregation vectors with different granularities can characterize the interests of the object group in different aspects of the label or item. The aggregation vectors are fused to obtain a fused feature vector, which fuses semantic features with different granularities and can more accurately reflect the interests of the object group in the label or item. Based on the interaction relationship between the object to be recommended and the label node, the label interest vector of the object to be recommended is obtained, so that the label interest vector can characterize the interest of the object to be recommended in the label. The label interest vector can be used for the recommendation process of the object to be recommended, thereby improving the accuracy of the recommendation process and making the recommendation result more in line with the needs of the object to be recommended.
[0170] Next, an exemplary application of the embodiments of the present application in an actual application scenario will be described.
[0171] The recommendation method based on artificial intelligence provided by the embodiments of the present application can be applied in the following application scenarios:
[0172] In the field of advertising, recommendation technology has developed rapidly. Advertising material types include videos, graphics and texts, etc. If each advertisement or product is regarded as an item, the videos and graphics corresponding to each item contain rich information, and it is difficult to fully display this information to users in the cover image and title. To facilitate the advertising recommendation system to quickly understand the item content and discover users' interest points, user-based tag recommendation has been proposed and widely used in advertising recommendation systems. The advertising recommendation system extracts tags from each item. These tags can represent interest points at different granularities in the item. Based on the tag data, the interests of users are modeled. Through the modeling results, the interest preferences of users for tags are characterized, so as to generate personalized tag interests (user interest characteristics represented in vector form) for different users, improving both tag-related metrics (such as tag click-through rate, etc.) and item-related metrics (such as conversion effect, etc.). A good personalized tag interest model can not only help the advertising recommendation system better understand users' preferences and improve the recommendation and conversion effects of advertisements, but also enhance users' experience, which is beneficial to the long-term healthy development of the entire advertising recommendation system.
[0173] Currently, the commonly used user tag preference learning algorithms directly model users' interests based on users' click or conversion behaviors on tags. However, in the advertising recommendation system, users' behaviors on tags are very sparse, resulting in the user tag preferences learned by the algorithm model not being able to well represent users' true preferences.
[0174] The recommendation method based on artificial intelligence provided by the embodiments of this application can construct a heterogeneous graph integrating advertisements (or products), tags, and user groups based on the data stored in the advertising recommendation system, perform feature extraction and feature aggregation processing on the heterogeneous graph, and obtain user tag interest vectors. During the heterogeneous graph aggregation processing, the in-domain feature aggregation algorithm, the inter-domain feature aggregation algorithm, and the multi-hop feature aggregation algorithm are used, which can capture users' preference information for tags from users' rich item behavior information. Furthermore, the user tag interest vectors obtained based on the recommendation method based on artificial intelligence provided by the embodiments of this application can more accurately recommend advertisements (or products) to users.
[0175] Exemplarily, referring to Figure 8 , Figure 8 is an optional process schematic diagram of the recommendation method based on artificial intelligence provided by the embodiments of this application. Taking the server as the execution subject, the following will be described in combination with Figure 8 the steps shown.
[0176] In step 801, a heterogeneous graph is constructed.
[0177] Exemplarily, the object to be recommended is a user, the item is an advertisement, and the tags are advertisement-related keywords and categories. The server uses a crawler to crawl object data, item data, and tag data from the network, or directly obtains object data, item data, and tag data from an advertisement recommendation system. Each tag is taken as a node, and each item is taken as a node. Since the number of objects is huge and the behavior of each object is relatively sparse, the objects are divided into multiple (e.g., 10,000) different types of object groups according to basic attribute features (e.g., gender, age, job, region, etc.), and the object groups are used to replace the objects as nodes. The edges in the heterogeneous graph can represent the existence relationship between nodes, and a heterogeneous graph is constructed based on the following four relationships. Refer to Figure 5 , Figure 5 is a schematic diagram of the heterogeneous graph provided by the embodiments of the present application. The following describes the four relationships in combination with the diagrams. In the figure, the U1 node and the U2 node are object group nodes, the W1 node, the W2 node, and the W3 node are item nodes, and the P1 node, the P2 node, and the P3 node are tag nodes.
[0178] 1. The relationship between items. There is an association relationship between items that appear in the same session (a session occurs when an object accesses the advertisement recommendation system). For example: The object corresponding to the object node W1 and the object corresponding to the object node W2 appear in the same session.
[0179] 2. The relationship between an object group and an item. For example: If an item is interacted with (e.g., viewed or clicked) by an object group more than 3 times, there is an association relationship between the object group and the item. For example: There is a relationship between the user group corresponding to the object group node U2 and the object corresponding to the object node W3.
[0180] 3. The relationship between tags. There is an inclusion relationship between an item and the tags it carries. For example: The object node W3 carries the tag corresponding to the tag node P2.
[0181] 4. The relationship between an item and a tag. If two tags belong to the same item, there is an association relationship between the two items. For example: The tag corresponding to the tag node P3 and the tag corresponding to the tag node P2 belong to the object corresponding to the same object node W3.
[0182] In step 802, feature extraction is performed on each node of the heterogeneous graph to obtain the embedding vector of each node.
[0183] The recommendation method based on artificial intelligence provided by the embodiments of the present application can be implemented by calling a heterogeneous graph neural network model. Refer to Figure 6 , Figure 6It is a schematic structural diagram of the heterogeneous graph neural network model provided by the embodiments of the present application; in the heterogeneous graph neural network model 600, a feature extraction layer 601 is configured to extract features from the heterogeneous graph to obtain the embedding vector of each node. A feature aggregation layer 602 is configured to perform different types of aggregation processing based on the embedding vector of each node to obtain different aggregation vectors. A feature fusion layer 603 is configured to perform fusion processing on the aggregation vectors obtained by each aggregation processing method to obtain the fused feature vector of each node.
[0184] Exemplarily, for item nodes, the item data of each item node is converted into a one-hot vector corresponding to each item node (in the embodiments of the present application, the one-hot vector is a vector with only the i-th item being 1 and the remaining items being 0), and based on the one-hot vectors corresponding to each node within the item type, an item one-hot vector matrix is formed It is expressed as the following formula (1):
[0185]
[0186] where, v k1 represents the one-hot vector corresponding to item node 1, v k2 represents the one-hot vector corresponding to item node 2.
[0187] Similarly, for label nodes, the label data of each label node is converted into a one-hot vector corresponding to each label node, and based on the one-hot vectors corresponding to each node within the label type, a label one-hot vector matrix is formed ), which is expressed as the following formula (2):
[0188]
[0189] where, t k1 represents the one-hot vector corresponding to label node 1, t k2 represents the one-hot vector corresponding to label node 2.
[0190] Similarly, for object group nodes, the object group data of each object group node is converted into a one-hot vector corresponding to each object group node, and based on the one-hot vectors corresponding to each node within the object group type, an object group one-hot vector matrix is formed ), which is expressed as the following formula (3):
[0191]
[0192] where, u k1 represents the one-hot vector corresponding to object group node 1, u k2 represents the one-hot vector corresponding to object group node 2.
[0193] For example, when obtaining the Embedding Table matrices corresponding to different types, the Embedding Table matrices of each type can be initialized when constructing the heterogeneous graph neural network model. The Embedding Table matrix corresponding to the item type is V k , which is used to represent the Embedding Table corresponding to the item type. The Embedding Table matrix corresponding to the label type is T k , which is used to represent the Embedding Table corresponding to the label type. The Embedding Table matrix corresponding to the object group type is U k , which is used to represent the Embedding Table corresponding to the object group type.
[0194] The embedding vector of each node can be obtained by multiplying the one-hot vector of each node by the Embedding Table matrix corresponding to the type of each node. The embedding vector can be determined by the following formulas (4), (5), and (6):
[0195]
[0196]
[0197]
[0198] where is the embedding vector of the item node, is the embedding vector of the label node, is the embedding vector of the object group node.
[0199] In step 803, the one-hop neighbor aggregation feature and the graph feature aggregation feature of each node of the heterogeneous graph are obtained.
[0200] For the one-hop neighbor aggregation feature (the first aggregation vector in the above text), the way to obtain the one-hop neighbor aggregation feature of each type of node is the same. Taking the nodes within the item type as an example below, define the embedding vector of a certain item node as The matrix F composed of this item node and the set of its one-hop neighbor nodes within the item type v can be represented as
[0201] Based on the matrix F v The calculation formulas (7.1), (7.2), and (7.2) for obtaining the query matrix Q, key matrix K, and value matrix V corresponding to the item node are as follows:
[0202] Q = W Q * F v (7.1)
[0203] K = W K * F v (7.2)
[0204] V = WV *F v (7.3)
[0205] Among them, W Q 、W K 、 W Q 、W K 、W V represent different mapping matrices, which can be initialized during the training of the heterogeneous graph neural network model and automatically update the parameters corresponding to the mapping matrices.
[0206] For the intra-type aggregated embedding vector h v (the intra-type embedding vector above), it can be obtained through the following formula (8):
[0207]
[0208] Among them, d h represents the matrix length of Q, K, and V. The matrix length of F v can be expressed as d v . Then, calculate the intra-type embedding vectors of the node types of the object group type and the label type respectively, and obtain the intra-type aggregated embedding vector h u of the object group and the intra-type embedding vector h t of the label respectively.
[0209] Finally, the one-hop neighbor feature aggregated embedding vector h i 1 (the first aggregated vector above) of the i-th node is expressed as the following formula (9.1):
[0210] h i 1 = concat(h u , h v , h t ) (9.1)
[0211] For the graph feature aggregated feature (the second aggregated vector in the above text), for each node in the heterogeneous graph, aggregating the embedding vectors of the neighbor nodes that are of different types from this node among its neighbor nodes can obtain the inter-type aggregated embedding vector of this node. Node k is an item node, and the neighbor nodes of node k include label nodes and object group nodes. The inter-type aggregated embedding vector of node k can be expressed as the following formula (10.1):
[0212]
[0213] Among them, for any node, neighbor nodes of different types from this node are determined, and the embedding vector of this node and the embedding vectors of the neighbor nodes between types are aggregated (Concat) to obtain the inter-type aggregated embedding vector of this node.
[0214] Exemplarily, for the inter-type aggregated embedding vector of each node and the inter-type aggregated embedding vectors of the neighbor nodes of different types of each node (the inter-type embedding vectors above), the graph feature aggregation vector h of the node can be obtained i 2 (the second aggregation vector above), which is expressed as the following formula (12):
[0215]
[0216] where f i represents the inter-type aggregated embedding vector of the i-th node, f j represents the inter-type aggregated embedding vector of the j-th node, S is the set of neighbor nodes, and W G represents the mapping matrix, and Relu is the activation function.
[0217] In step 804, based on the one-hop neighbor aggregation feature and the graph feature aggregation feature of each node, the fusion feature vector of each node is determined.
[0218] For each node, the one-hop neighbor feature aggregation embedding vector h of the node i 1 and the graph feature aggregation vector h i 2 are merged to obtain the merged embedding vector h i which is expressed as the following formula (13):
[0219] h i = concat(h i 1 , h i 2 ) (13)
[0220] Then, downsampling is performed using the activation function (Relu) and the average pooling operation (Average Pooling) to obtain the fusion feature vector o of the node i , which is expressed as the following formula (14):
[0221] o i = average_pooling(relu(W F h i )) (14)
[0222] In some embodiments, after step 804, a target loss function can also be determined based on the similarity between neighbor nodes, and the target loss function is expressed as the following formula (15):
[0223]
[0224] where N i represents the set of neighbor nodes of node i, o k represents the fused feature vector of the nodes belonging to the set of neighbor nodes, and o j represents the fused feature vector of the nodes not belonging to the set of neighbor nodes. The model can be optimized and trained based on the target loss function.
[0225] In step 805, based on the fused feature vectors of the label nodes corresponding to the labels interacted with by the user to be recommended, the label interest vector of the user to be recommended is determined.
[0226] Exemplarily, the label interest vector of the user to be recommended where, T u is a set composed of the fused feature vectors of the labels with which the user to be recommended has performed interaction behaviors, and t i ∈o i .
[0227] In some embodiments, different weights can also be assigned to the fused feature vectors of the labels based on the number of interactions between the user and the labels, and the label interest vector of the user is calculated by weighted calculation where η is the weight, and the weight is positively correlated with the number of interactions between the user and the labels.
[0228] Exemplarily, the embodiments of the present application can be implemented by a heterogeneous graph neural network model, refer to Figure 7 , Figure 7It is a schematic diagram of the process of feature extraction processing based on heterogeneous graphs by the heterogeneous graph neural network model provided in the embodiment of the present application; object data, item data and label data are respectively input into the feature extraction layer 601, and the feature extraction layer 601 outputs the embedding vector of the object node (that is, the object group node), the embedding vector of the item node, and the embedding vector of the label node. The embedding vector of each node is input into the feature aggregation layer 602, and the feature aggregation layer 602 includes branches 6021 and 6022. Branch 6021 performs graph feature aggregation processing and activation processing (Relu) based on the embedding vector of each node in sequence, and branch 6022 performs one-hop neighbor aggregation processing, normalization processing (Softmax) and merging processing (Concat) based on the embedding vector of each node in sequence. The feature aggregation layer 602 outputs two kinds of aggregation vectors of each node obtained by different aggregation processing methods to the feature fusion layer 603. The feature fusion layer 603 performs fusion processing (Concat processing, Relu processing in sequence) and average pooling processing (Average Pooling) based on the two kinds of aggregation vectors of each node in sequence to obtain the fused feature vector of each node.
[0229] In some embodiments, after step 805, advertisements can also be recommended to the user to be recommended in the following manner: using the tag interest vector of the user to be recommended as a reference vector, calculating the similarity between the feature vector corresponding to each tag in the advertising recommendation system and the reference vector, and recommending advertisements or products associated with at least some of the tags that are at the top in descending order of similarity to the user to be recommended.
[0230] In the embodiment of the present application, a heterogeneous graph integrating advertising materials, tags, and users is constructed based on the data stored in the advertising system, and the model is called to extract features and aggregate features of the heterogeneous graph to obtain the user tag interest vector. In the process of heterogeneous graph aggregation, the intra-domain feature aggregation algorithm, the inter-domain feature aggregation algorithm, and the multi-hop feature aggregation algorithm are used to capture the user's preference information for tags from the user's rich item behavior information. Then, the tag interest vector obtained based on the embodiment of the present application can perform more accurate recommendation processing on the user.
[0231] The following is a description of an exemplary structure of the artificial intelligence-based recommendation device 455 provided in the present application as a software module. In some embodiments, Figure 2As shown, the software modules stored in the artificial intelligence-based recommendation device 455 of the memory 450 may include: a data acquisition module 4551 configured to obtain a heterogeneous graph including multiple nodes, wherein the node types of the nodes in the heterogeneous graph include object group nodes, item nodes, and label nodes; a feature extraction module 4552 configured to perform feature extraction processing on the node data of each node in the heterogeneous graph to obtain an embedding vector corresponding to each node; a feature aggregation module 4553 configured to perform feature aggregation processing on the embedding vectors of each one-hop neighbor node corresponding to each node and the embedding vector of each node to obtain a first aggregation vector corresponding to each node; the feature aggregation module 4553 is further configured to perform feature aggregation processing on the embedding vectors of different types of neighbor nodes of each node and the embedding vector of each node to obtain a second aggregation vector corresponding to each node; a feature fusion module 4554 configured to perform fusion processing on the first aggregation vector and the second aggregation vector corresponding to each node to obtain a fusion feature vector corresponding to each node; the feature fusion module 4554 is further configured to determine a label interest vector of the to-be-recommended object based on the fusion feature vector corresponding to the label node having an interaction relationship with the to-be-recommended object, wherein the label interest vector is used to perform recommendation processing corresponding to the to-be-recommended object.
[0232] In some embodiments, the feature aggregation module 4553 is configured to perform the following processing for each node: determining each one-hop neighbor node of the node based on the heterogeneous graph; classifying the embedding vectors of each one-hop neighbor node based on the node type to obtain the embedding vectors of the one-hop neighbor nodes corresponding to each node type, and combining the embedding vectors corresponding to each node type to obtain a one-hop neighbor node vector matrix corresponding to each node type; performing transformation processing on each one-hop neighbor node vector matrix to obtain an intra-type embedding vector corresponding to each node type; and performing aggregation processing based on each intra-type embedding vector of the node to obtain a first aggregation vector corresponding to the node.
[0233] In some embodiments, the feature aggregation module 4553 is configured to perform the following processing for each one-hop neighbor node vector matrix: performing mapping processing on the one-hop neighbor node vector matrix to obtain an attention matrix of the one-hop neighbor node vector matrix, wherein the attention matrix includes: a query matrix, a key matrix, and a value matrix; performing normalization processing on the product between the query matrix and the key matrix, and taking the product between the result of the normalization processing and the value matrix as the intra-type embedding vector corresponding to the node type.
[0234] In some embodiments, the feature aggregation module 4553 is configured to determine different types of neighbor nodes for each of the nodes based on the heterogeneous graph; perform a merging process on the embedding vector of each node and the different types of neighbor nodes corresponding to each node to obtain an inter-type embedding vector for each node; determine the sum of the following two for each node: the inter-type embedding vector corresponding to the node, and the inter-type embedding vectors corresponding to the neighbor nodes of the node; perform a mapping process on the sum, and perform an activation process on the result of the mapping process to obtain a second aggregation vector corresponding to each node.
[0235] In some embodiments, the feature fusion module 4554 is configured to perform an aggregation process on the first aggregation vector and the second aggregation vector corresponding to each node to obtain a third aggregation vector for each node; perform an activation process on the third aggregation vector of each node, and perform an average pooling process on the result of the activation process to obtain a fusion feature vector corresponding to each node.
[0236] In some embodiments, the feature fusion module 4554 is configured to obtain an interaction label of the object to be recommended, where the interaction label is a label of an interaction behavior that the object to be recommended has ever performed; perform a matching process on each interaction label and the heterogeneous graph to obtain interaction label nodes in the heterogeneous graph that have an interaction relationship with the object to be recommended; superimpose the fusion feature vectors corresponding to each interaction label node to obtain a label interest vector of the object to be recommended.
[0237] In some embodiments, the feature fusion module 4554 is configured to determine a weight corresponding to each interaction label node based on the number of interactions between each interaction label node and the object to be recommended, where the weight is positively correlated with the number of interactions; perform a weighted calculation process based on the fusion feature vector of each interaction label node and the weight corresponding to each interaction label node to obtain a label interest vector of the object to be recommended.
[0238] In some embodiments, the feature extraction process is implemented by calling a feature extraction layer in the heterogeneous graph neural network model, the feature aggregation process is implemented by calling a feature aggregation layer of the heterogeneous graph neural network model, and the fusion process is implemented by calling a feature fusion layer of the heterogeneous graph neural network model; where the feature aggregation layer includes at least two feature aggregation branches, and each feature aggregation branch is used to perform the feature aggregation process in a different manner.
[0239] In some embodiments, the feature fusion module 4554 is further configured to determine the target loss of the heterogeneous graph neural network model based on the similarity between the fusion feature vector of each node and the fusion feature vectors of the neighbor nodes of each node; perform backpropagation processing on the heterogeneous graph neural network model based on the target loss to obtain updated parameters of the heterogeneous graph neural network model; and replace the corresponding original parameters in the heterogeneous graph neural network model with the updated parameters to obtain the updated heterogeneous graph neural network model.
[0240] In some embodiments, the feature fusion module 4554 is further configured to obtain the label feature vector corresponding to each label in the label database; determine the similarity between each label feature vector and the label interest vector; sort each label in descending order based on each similarity, and use the items corresponding to at least one label at the head of the descending order result as the items to be recommended; and send a recommendation message for each item to be recommended to the object to be recommended.
[0241] In some embodiments, the data acquisition module 4551 is further configured to obtain object data, item data, and label data, where the object data corresponds to multiple objects; classify the multiple objects based on the attributes of each object in the object data to obtain multiple object groups of different types; use each object group, each object, and each label as nodes, and use the data corresponding to each node as node data; and connect each node based on the relationships between each object group, each object, and each label to obtain a heterogeneous graph.
[0242] In some embodiments, the feature extraction module 4552 is further configured to perform mapping processing on the node data of each node in the heterogeneous graph to obtain a one-hot vector for each node; and perform linear transformation processing on the one-hot vector of each node to obtain an embedding vector corresponding to each node.
[0243] An embodiment of the present application provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above-mentioned artificial intelligence-based recommendation method of the embodiments of the present application.
[0244] An embodiment of the present application provides a computer-readable storage medium storing executable instructions, where the executable instructions, when executed by a processor, will cause the processor to execute the artificial intelligence-based recommendation method provided by the embodiments of the present application. For example, Figure 3AThe shown artificial intelligence-based recommendation method.
[0245] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disc, or CD-ROM; it may also be various devices including one or any combination of the above memories.
[0246] In some embodiments, the executable instructions may be in the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including being deployed as an independent program or being deployed as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0247] As an example, the executable instructions may or may not correspond to a file in the file system, may be stored as part of a file that stores other programs or data, for example, stored in one or more scripts in a Hyper Text Markup Language (HTML) document, stored in a single file dedicated to the program in question, or stored in multiple cooperating files (e.g., files that store one or more modules, subroutines, or code portions).
[0248] As an example, the executable instructions may be deployed to execute on one computing device, or on multiple computing devices located at one location, or, on multiple computing devices distributed at multiple locations and interconnected by a communication network.
[0249] In summary, through the embodiments of the present application, different ways of aggregating the embedding vectors of the nodes extracted from the heterogeneous graph are performed to obtain the aggregation vectors of different granularities of the nodes in the heterogeneous graph. The aggregation vectors of different granularities can characterize the interests of the object group in different aspects of the label or item. The aggregation vectors are fused to obtain a fused feature vector, which fuses semantic features of different granularities and can more accurately reflect the interests of the object group in the label or item. Based on the interaction relationship between the object to be recommended and the label node, the label interest vector of the object to be recommended is obtained, so that the label interest vector can characterize the interest of the object to be recommended in the label. The label interest vector can be used to perform recommendation processing on the object to be recommended, thereby improving the accuracy of the recommendation processing and making the recommendation result more in line with the needs of the object to be recommended.
[0250] The above is only the embodiments of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent replacements, and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.
Claims
1. A recommendation method based on artificial intelligence, characterized in that, The method includes: Obtaining a heterogeneous graph including multiple nodes, where the node types of the nodes in the heterogeneous graph include object group nodes, item nodes, and label nodes. The object group nodes correspond to object groups, the objects in the object groups include users, the items corresponding to the item nodes are items that can be interacted with by the object groups, and the labels corresponding to the label nodes are the labels of the items; Performing feature extraction processing on the node data of each node in the heterogeneous graph to obtain an embedding vector corresponding to each node; Performing feature aggregation processing on the embedding vectors of each one-hop neighbor node corresponding to each node and the embedding vector of each node to obtain a first aggregation vector corresponding to each node; Performing feature aggregation processing on the embedding vectors of neighbor nodes of different types of each node and the embedding vector of each node to obtain a second aggregation vector corresponding to each node; Performing fusion processing on the first aggregation vector and the second aggregation vector corresponding to each node to obtain a fusion feature vector corresponding to each node; Based on the fusion feature vectors corresponding to the label nodes having an interaction relationship with the object to be recommended, determining a label interest vector of the object to be recommended, where the label interest vector is used for performing recommendation processing corresponding to the object to be recommended.
2. The method according to claim 1, wherein The performing feature aggregation processing on the embedding vectors of each one-hop neighbor node corresponding to each node and the embedding vector of each node to obtain a first aggregation vector corresponding to each node includes: Performing the following processing for each node: Determining each one-hop neighbor node of the node based on the heterogeneous graph; Classifying the embedding vectors of each one-hop neighbor node based on the node type to obtain the embedding vectors of one-hop neighbor nodes corresponding to each node type, and combining the embedding vectors corresponding to each node type to obtain a one-hop neighbor node vector matrix corresponding to each node type; Performing transformation processing on each one-hop neighbor node vector matrix to obtain an intra-type embedding vector corresponding to each node type; Performing aggregation processing based on each intra-type embedding vector of the node to obtain a first aggregation vector corresponding to the node.
3. The method according to claim 2, characterized in that, The performing transformation processing on each one-hop neighbor node vector matrix to obtain an intra-type embedding vector corresponding to each node type includes: Performing the following processing for each one-hop neighbor node vector matrix: Performing mapping processing on the one-hop neighbor node vector matrix to obtain an attention matrix of the one-hop neighbor node vector matrix, where the attention matrix includes: a query matrix, a key matrix, and a value matrix; Performing normalization processing on the product between the query matrix and the key matrix, and using the product between the result of the normalization processing and the value matrix as the intra-type embedding vector corresponding to the node type.
4. The method according to claim 1, characterized in that, Performing feature aggregation processing on the embedding vectors of different types of neighbor nodes of each of the nodes and the embedding vector of each of the nodes to obtain a second aggregation vector corresponding to each of the nodes, including: Determining different types of neighbor nodes of each of the nodes based on the heterogeneous graph; Performing a merging process on the embedding vector of each of the nodes and the embedding vectors of different types of neighbor nodes corresponding to each of the nodes to obtain an inter-type embedding vector of each of the nodes; Determining the sum of the following two for each of the nodes: the inter-type embedding vector corresponding to the node, and the inter-type embedding vectors corresponding to the neighbor nodes of the node; Performing a mapping process on the sum, and performing an activation process on the result of the mapping process to obtain a second aggregation vector corresponding to each of the nodes.
5. The method according to claim 1, characterized in that, Performing a fusion process on the first aggregation vector and the second aggregation vector corresponding to each of the nodes to obtain a fusion feature vector corresponding to each of the nodes, including: Performing an aggregation process on the first aggregation vector and the second aggregation vector corresponding to each of the nodes to obtain a third aggregation vector corresponding to each of the nodes; Performing an activation process on the third aggregation vector of each of the nodes, and performing an average pooling process on the result of the activation process to obtain a fusion feature vector corresponding to each of the nodes.
6. The method according to claim 1, characterized in that, Determining the label interest vector of the object to be recommended based on the fusion feature vector corresponding to the label node having an interaction relationship with the object to be recommended, including: Obtaining the interaction labels of the object to be recommended, where the interaction labels are the labels for which the object to be recommended has performed interaction behaviors; Performing a matching process on each of the interaction labels and the heterogeneous graph to obtain interaction label nodes in the heterogeneous graph that have an interaction relationship with the object to be recommended; Superimposing the fusion feature vectors corresponding to each of the interaction label nodes to obtain the label interest vector of the object to be recommended.
7. The method according to claim 6, wherein Superimposing the fusion feature vectors corresponding to each of the interaction label nodes to obtain the label interest vector of the object to be recommended, including: Determining the weight corresponding to each of the interaction label nodes based on the number of interactions between each of the interaction label nodes and the object to be recommended, where the weight is positively correlated with the number of interactions; Performing a weighted calculation process based on the fusion feature vector of each of the interaction label nodes and the weight corresponding to each of the interaction label nodes to obtain the label interest vector of the object to be recommended.
8. The method according to any one of claims 1 to 7, characterized in that The feature extraction process is implemented by calling a feature extraction layer in the heterogeneous graph neural network model, the feature aggregation process is implemented by calling a feature aggregation layer of the heterogeneous graph neural network model, and the fusion process is implemented by calling a feature fusion layer of the heterogeneous graph neural network model; Wherein, the feature aggregation layer includes at least two feature aggregation branches, and each of the feature aggregation branches is used to perform the feature aggregation process in a different manner.
9. The method according to claim 8, wherein, The method further includes: Determine the target loss of the heterogeneous graph neural network model based on the similarity between the fusion feature vectors of each of the nodes and the fusion feature vectors of the neighbor nodes of each of the nodes; Perform backpropagation processing on the heterogeneous graph neural network model based on the target loss to obtain the updated parameters of the heterogeneous graph neural network model; Replace the corresponding original parameters in the heterogeneous graph neural network model with the updated parameters to obtain the updated heterogeneous graph neural network model.
10. The method according to any one of claims 1 to 7, characterized in that, After determining the label interest vector of the object to be recommended based on the fusion feature vector corresponding to the label node having an interaction relationship with the object to be recommended, the method further includes: Obtain the label feature vector corresponding to each of the labels in the label database; Determine the similarity between each of the label feature vectors and the label interest vector; Sort each of the labels in descending order based on each of the similarities, and use the items corresponding to at least one of the top labels in the result of the descending order sorting as the items to be recommended; Send a recommendation message for each of the items to be recommended to the object to be recommended.
11. The method according to any one of claims 1 to 7, characterized in that, The obtaining of the heterogeneous graph including a plurality of nodes includes: Obtain object data, item data, and label data, where the object data corresponds to a plurality of objects; Perform classification processing on the plurality of objects based on the attributes of each of the objects in the object data to obtain a plurality of object groups of different types; Use each of the object groups, each of the objects, and each of the labels as nodes, and use the data corresponding to each node as node data; Connect each of the nodes based on the relationships between each of the object groups, each of the objects, and each of the labels to obtain a heterogeneous graph.
12. A recommendation device based on artificial intelligence, characterized in that, The recommendation device based on artificial intelligence includes: A data acquisition module configured to obtain a heterogeneous graph including a plurality of nodes, where the node types of the nodes in the heterogeneous graph include object group nodes, item nodes, and label nodes, the object group nodes correspond to object groups, the objects in the object groups include users, the items corresponding to the item nodes are items that can be interacted with by the object groups, and the labels corresponding to the label nodes are the labels of the items; A feature extraction module configured to perform feature extraction processing on the node data of each of the nodes in the heterogeneous graph to obtain an embedding vector corresponding to each of the nodes; A feature aggregation module configured to perform feature aggregation processing on the embedding vectors of each one-hop neighbor node corresponding to each of the nodes and the embedding vector of each of the nodes to obtain a first aggregation vector corresponding to each of the nodes; The feature aggregation module is further configured to perform feature aggregation processing on the embedding vectors of different types of neighbor nodes of each of the nodes and the embedding vector of each of the nodes to obtain a second aggregation vector corresponding to each of the nodes; A feature fusion module configured to perform fusion processing on the first aggregation vector and the second aggregation vector corresponding to each of the nodes to obtain a fusion feature vector corresponding to each of the nodes; The feature fusion module is further configured to determine a label interest vector of the object to be recommended based on the fusion feature vectors corresponding to the label nodes that have an interaction relationship with the object to be recommended, where the label interest vector is used to perform a recommendation process corresponding to the object to be recommended.
13. The recommendation device based on artificial intelligence according to claim 12, wherein The feature aggregation module is further configured to: Perform the following processing for each of the nodes: Determine each one-hop neighbor node of the node based on the heterogeneous graph; Classify the embedding vectors of each one-hop neighbor node based on the node type to obtain the embedding vectors of the one-hop neighbor nodes corresponding to each node type, and combine the embedding vectors corresponding to each node type to obtain a one-hop neighbor node vector matrix corresponding to each node type; Perform a transformation process on each one-hop neighbor node vector matrix to obtain an intra-type embedding vector corresponding to each node type; Perform an aggregation process based on each intra-type embedding vector of the node to obtain a first aggregation vector corresponding to the node.
14. The recommendation device based on artificial intelligence according to claim 12, wherein The feature aggregation module is further configured to: Perform the following processing for each one-hop neighbor node vector matrix: Perform a mapping process on the one-hop neighbor node vector matrix to obtain an attention matrix of the one-hop neighbor node vector matrix, where the attention matrix includes: a query matrix, a key matrix, and a value matrix; Normalize the product between the query matrix and the key matrix, and use the product between the result of the normalization process and the value matrix as the intra-type embedding vector corresponding to the node type.
15. The recommendation device based on artificial intelligence according to claim 12, characterized in that, The feature fusion module is further configured to: Perform an aggregation process on the first aggregation vector and the second aggregation vector corresponding to each node to obtain a third aggregation vector for each node; Perform an activation process on the third aggregation vector of each node, and perform an average pooling process on the result of the activation process to obtain a fusion feature vector corresponding to each node.
16. The recommendation device based on artificial intelligence according to claim 12, characterized in that, The feature fusion module is further configured to: Obtain the interaction labels of the object to be recommended, where the interaction labels are the labels for which the object to be recommended has performed interaction behaviors; Perform a matching process on each interaction label and the heterogeneous graph to obtain interaction label nodes in the heterogeneous graph that have an interaction relationship with the object to be recommended; Overlay the fusion feature vectors corresponding to each interaction label node to obtain the label interest vector of the object to be recommended.
17. The artificial intelligence-based recommendation device according to claim 16, wherein The feature fusion module is further configured to: Determine the weight corresponding to each interaction label node based on the number of interactions between each interaction label node and the object to be recommended, where the weight is positively correlated with the number of interactions; Perform a weighted calculation process based on the fusion feature vector of each interaction label node and the weight corresponding to each interaction label node to obtain the label interest vector of the object to be recommended.
18. An electronic device, characterized in that, The electronic device includes: A memory for storing executable instructions; A processor for implementing the artificial intelligence-based recommendation method according to any one of claims 1 to 11 when executing the executable instructions stored in the memory.
19. A computer-readable storage medium storing executable instructions, characterized in that, When the executable instructions are executed by a processor, the artificial intelligence-based recommendation method according to any one of claims 1 to 11 is implemented.
20. A computer program product comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, the artificial intelligence-based recommendation method according to any one of claims 1 to 11 is implemented.
Citation Information
Patent Citations
Information pushing method and device, model training method and device and electronic equipment
CN110874440A
Recommendation processing method, device and equipment based on artificial intelligence
CN111177569A