Information recommendation method and apparatus, device, computer-readable storage medium, and computer program product

By using a feature extraction model trained through self-supervised contrastive learning, the problem of uncontrollable feature quality in unsupervised learning is solved, achieving highly accurate and stable information recommendation, and improving the performance and user stickiness of the recommendation system.

WO2026031772A1PCT designated stage Publication Date: 2026-02-12TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/100966
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-07
Filing Date
2025-06-13
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

In existing recommendation systems, feature extraction models based on unsupervised learning methods result in uncontrollable feature quality and low accuracy, affecting the accuracy and stability of recommendations.

Method used

A self-supervised contrastive learning approach based on multiple training sample images and training sub-images is used to train the feature extraction model. Training sub-images are obtained through graph sampling, achieving feature extraction with high reliability and high accuracy.

Benefits of technology

It improves the accuracy and stability of information recommendations, enhances the overall performance of the recommendation system, and increases users' trust and reliance on the recommendation platform.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025100966_12022026_PF_FP_ABST
    Figure CN2025100966_12022026_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides an information recommendation method and apparatus, a device, a computer-readable storage medium, and a computer program product. The method comprises: acquiring first object data of a plurality of objects to be recommended and a plurality of pieces of information to be recommended; using a trained feature extraction model to separately perform feature extraction on the first object data and the information to be recommended, so as to correspondingly obtain object features and information features, wherein the trained feature extraction model is obtained by training, on the basis of a plurality of training sample images and at least one training sub-image corresponding to each training sample image, a feature extraction model to be trained, and the training sub-image is obtained by performing image sampling on the training sample images; on the basis of the plurality of object features and the plurality of information features, determining target information to be recommended that matches each object to be recommended; and sending, to a terminal of each object to be recommended, the corresponding target information to be recommended.
Need to check novelty before this filing date? Find Prior Art

Description

Information recommendation method, device, equipment, computer readable storage medium and computer program product

[0001] Cross-reference to Related Applications

[0002] The present application is based on the Chinese patent application No. 202411082902.4, filed on August 7, 2024, and claims priority to the above Chinese patent application, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD

[0003] The present application relates to the technical field of machine learning and data mining, and particularly relates to an information recommendation method, device, equipment, computer readable storage medium and computer program product. BACKGROUND

[0004] In the era of information explosion, users are faced with a vast amount of information selection. The recommendation system can help users quickly find the information they are interested in or need, reducing the time and difficulty of users searching for information. The recommendation system can also provide personalized content, so that each user can obtain the most suitable recommendation for their needs, thereby improving user satisfaction and experience. The recommendation system can also balance various types of content through algorithms to ensure that diverse information is displayed, thereby meeting the needs of different users. The recommendation system can also help to spread and promote valuable content such as education, health, culture, etc., thereby having a positive impact on society and culture.

[0005] In the related art, the model for feature extraction is obtained based on an unsupervised learning method, so that when the model is used for feature extraction, the quality of the obtained features is uncontrollable, that is, the effectiveness of the obtained features is poor and the accuracy is low, based on which the accuracy of the recommendation is reduced, thereby affecting the effectiveness of the recommendation result. SUMMARY

[0006] The embodiments of the present application provide an information recommendation method, device, equipment, computer readable storage medium and computer program product, which can improve the accuracy of information recommendation and improve the stability and overall performance of the information recommendation system.

[0007] The technical scheme of the embodiments of the present application is implemented as follows:

[0008] The embodiments of the present application provide an information recommendation method applied to a computer device, the method comprising:

[0009] obtaining first object data of a plurality of to-be-recommended objects and a plurality of to-be-recommended information;

[0010] extract features from the first object data and the to-be-recommended information respectively, and obtain object features and information features correspondingly; the trained feature extraction model is obtained by training a to-be-trained feature extraction model based on a plurality of training sample graphs and at least one training subgraph corresponding to each of the training sample graphs, and the training subgraph is obtained by graph sampling on the training sample graph;

[0011] based on the plurality of object features and the plurality of information features, determine target to-be-recommended information matched with each of the to-be-recommended objects;

[0012] send the corresponding target to-be-recommended information to a terminal of each of the to-be-recommended objects.

[0013] An embodiment of the present application provides an information recommendation device, and the device comprises:

[0014] a first obtaining module configured to obtain first object data of a plurality of to-be-recommended objects and a plurality of to-be-recommended information;

[0015] a first feature extraction module configured to extract features from the first object data and the to-be-recommended information respectively by using a trained feature extraction model, and obtain object features and information features correspondingly; the trained feature extraction model is obtained by training a to-be-trained feature extraction model based on a plurality of training sample graphs and at least one training subgraph corresponding to each of the training sample graphs, and the training subgraph is obtained by graph sampling on the training sample graph;

[0016] a first determining module configured to determine target to-be-recommended information matched with each of the to-be-recommended objects based on the plurality of object features and the plurality of information features;

[0017] a sending module configured to send the corresponding target to-be-recommended information to a terminal of each of the to-be-recommended objects.

[0018] An embodiment of the present application provides a computer device, and the computer device comprises:

[0019] a memory configured to store computer executable instructions;

[0020] a processor configured to execute the computer executable instructions stored in the memory, and implement an information recommendation method provided by an embodiment of the present application.

[0021] An embodiment of the present application provides a computer readable storage medium, which stores computer executable instructions, and is configured to cause a processor to execute the information recommendation method provided by an embodiment of the present application when the processor executes the computer executable instructions.

[0022] The embodiment of the present application provides a computer program product, comprising a computer program or computer executable instructions, which, when executed by a processor, implement the information recommendation method provided by the embodiment of the present application.

[0023] The embodiment of the present application has the following beneficial effects:

[0024] In the embodiment of the present application, the trained feature extraction model for feature extraction is trained based on a plurality of training sample graphs and at least one training subgraph corresponding to each training sample graph, wherein the training subgraph is obtained by graph sampling on the training sample image, and is not simply trained based on the plurality of training sample graphs. In this way, self-supervised contrastive learning can be implemented based on the training sample graph and the training subgraph, that is, the trained feature extraction model can be obtained through the self-supervised contrastive learning manner. Based on this, when the trained feature extraction model is used to extract features of the first object data and the information to be recommended, the object features and information features with controllable quality can be obtained, that is, the object features and information features with high reliability, high accuracy and generalization ability are obtained. Then, the target information to be recommended with high matching degree and high accuracy can be determined based on the object features and information features with high reliability, high accuracy and generalization ability, the accuracy of information recommendation can be improved, irrelevant recommendation can be avoided, the click rate and conversion rate of recommended information can be improved, long-term accurate recommendation can increase the trust and dependence of users on the recommendation platform, and the user stickiness can be improved. BRIEF DESCRIPTION OF DRAWINGS

[0025] FIG. 1 is a schematic diagram of a framework structure for obtaining feature expression through a graph neural network in the related art;

[0026] FIG. 2 is a schematic diagram of a network architecture of an information recommendation system 100 provided by the embodiment of the present application;

[0027] FIG. 3 is a schematic diagram of the structure of a server 400 provided by the embodiment of the present application;

[0028] FIG. 4 is a schematic diagram of a flow of an information recommendation method provided by the embodiment of the present application;

[0029] FIG. 5 is a schematic diagram of a flow of a model training method provided by the embodiment of the present application;

[0030] FIG. 6 is a schematic diagram of a flow of constructing a training sample graph and a training subgraph provided by the embodiment of the present application;

[0031] FIG. 7 is a schematic diagram of a flow of determining a total loss value provided by the embodiment of the present application;

[0032] FIG. 8 is a schematic diagram of a flow of determining a target information to be recommended provided by the embodiment of the present application;

[0033] FIG. 9 is a schematic diagram of an implementation framework of a network structure according to an embodiment of the present application. DETAILED DESCRIPTION

[0034] In order to make the purposes, technical solutions and advantages of the present application clearer, the following will further describe the present application in detail with reference to the drawings, and the described embodiments should not be regarded as limitations to the present application. All other embodiments obtained by those skilled in the art without creative work under the premise that the described embodiments belong to the scope of protection of the present application.

[0035] In the following description, "some embodiments" are referred to, which describe a subset of all possible embodiments, but 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.

[0036] In the following description, the terms "first\second\third" are only to distinguish similar objects, and do not represent a specific order of the objects. It can be understood that "first\second\third" can be interchanged in a specific order or sequence as allowed, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0037] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined target, and can be implemented entirely or partially by using software, hardware (such as a processing circuit or a memory) or a combination thereof. Similarly, one processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of an overall module or unit that includes the functions of the module or unit.

[0038] Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meanings as commonly understood by those skilled in the art. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.

[0039] The relevant data collection process in the embodiments of the present application should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and within the scope of authorization of laws and regulations and the personal information subject, carry out subsequent data use and processing.

[0040] Before the embodiments of the present application are further described in detail, the terms and terms related to the embodiments of the present application are explained, and the terms and terms related to the embodiments of the present application are applicable to the following explanations.

[0041] 1) Recommendation system, is an information filtering system designed to provide personalized information, product or service recommendations to users from a large number of content or items. The purpose of the recommendation system is to help users quickly find the content they are interested in among the vast amount of data, while improving user satisfaction and the commercial value of the platform.

[0042] Recommendation systems have a wide range of applications in many fields, including e-commerce, content platforms, social media, advertising, education and learning, etc.

[0043] The core of the recommendation system is to learn the behavior patterns and preferences of users, and then use this information to predict users' interest in unseen items. Common recommendation algorithms include collaborative filtering, content-based recommendation, hybrid recommendation system, etc. The design and optimization of the recommendation system is a constantly evolving field, and with the development of technology, the recommendation system is becoming more accurate and intelligent.

[0044] 2) Graph, is a data structure composed of nodes (or vertices) and edges. Nodes represent entities, while edges represent some relationship between nodes.

[0045] Graphs can be used to represent a variety of types of data and structures, such as:

[0046] 1. Social networks: In social networks, nodes represent individuals, and edges represent social relationships between individuals.

[0047] 2. Transportation networks: In urban transportation networks, nodes represent roads or intersections, and edges represent paths or streets connecting these nodes.

[0048] 3. Biological networks: In biological science, graphs can be used to represent protein interaction networks, with nodes representing proteins and edges representing their interactions.

[0049] 4. Recommendation systems: In recommendation systems, graphs can be used to represent the interaction history between users and items, with nodes representing users and items, and edges representing user preferences or interactions with items.

[0050] 5. Knowledge graph: Knowledge graph is a large-scale knowledge base, in which nodes represent entities (such as people, places, things, etc.), and edges represent relationships between entities.

[0051] Graph is a very flexible and powerful data structure that can be used to solve a variety of complex problems, such as shortest path, connectivity, community detection, network analysis, etc. In graph theory and graph algorithms, there are a large number of researches dedicated to the properties of graphs, the representation of graphs, and how to efficiently calculate and analyze in graphs.

[0052] 3) Subgraph, refers to the graph obtained by sampling from the original graph. Graph sampling is a commonly used technique aimed at extracting a portion of data from the original graph to enable efficient learning and analysis under limited computational resources.

[0053] The steps of graph sampling generally include node sampling, edge sampling, subgraph construction, and sampling strategy. Through sampling, a subgraph can be obtained from the original graph. This subgraph can be used for training in graph neural networks or for research in graph analysis without processing the entire original graph.

[0054] 4) Contrastive Learning, a deep learning method, its core idea is to learn the representation of data by comparing the similarities and differences between different data samples. In this method, the model is trained to distinguish which samples are similar and which are not in the feature space. Specifically, contrastive learning usually generates positive pairs and negative pairs.

[0055] Positive pairs are obtained by different ways of data augmentation (such as rotation, scaling, cropping, etc.) on the same original data sample. These augmented samples are essentially similar because they all come from the same entity. The model needs to learn that these positive pairs should be close to each other in the feature representation space.

[0056] Negative pairs are composed of augmented images from different original data samples. These images may be visually similar to positive samples, but in the actual sense they are different. The model needs to learn to push these negative pairs away from each other in the feature space.

[0057] Contrastive learning mainly includes data augmentation, encoder network, projection network, contrastive loss function, etc.

[0058] One of the key advantages of the contrastive learning method is its ability to learn useful representations from unlabeled data, which is important for improving the model's generalization ability and reducing dependence on large labeled datasets. In addition, the feature representations learned by contrastive learning can also be applied to other related tasks through transfer learning.

[0059] 5) Graph Neural Networks (GNNs), a neural network architecture designed specifically for processing graph-structured data. Graph data is a collection of nodes (entities) and edges (relations), widely used in various fields such as social networks, knowledge graphs, molecular chemistry, recommendation systems, and transportation networks. Unlike traditional neural networks, GNNs not only consider the features of individual nodes, but also consider the relationships between nodes and network structure when processing data.

[0060] The core idea of graph neural networks is to update the representation of nodes through a message passing mechanism. Specifically, a node updates its representation by receiving messages from its neighbor nodes and fusing them with its own features. This process can be repeated so that each node's representation gradually contains more information about itself and its neighbors.

[0061] The basic components of graph neural networks include node features, edge features, message passing, message aggregation, and node update.

[0062] Some variants of graph neural networks, such as Graph Convolutional Network (GCN), Graph Attention Network (GAT), Graph Isomorphism Network (GIN), and Message Passing Neural Network (MPNN), further expand the functionality and application range of graph neural networks through different neural network architectures and information transmission mechanisms.

[0063] 6) Pre-training method refers to an unsupervised or semi-supervised learning process on raw data, aiming to learn a good feature representation that can be used in downstream tasks. Pre-training is usually performed on large-scale unlabeled data, aiming to enable the model to learn more generalizable feature representations, thereby achieving better performance in different downstream tasks.

[0064] The purpose of the pre-training method is to learn more rich and general feature representations through learning on large-scale data, which can better represent the inherent laws and patterns of raw data. The pre-trained model can be fine-tuned on different downstream tasks to achieve better performance. Fine-tuning refers to adjusting the pre-trained model on downstream tasks to adapt to the specific needs of downstream tasks. Through pre-training and fine-tuning, the performance of the model on various downstream tasks can be significantly improved.

[0065] In summary, the pre-training method is an unsupervised or semi-supervised learning method on large-scale unlabeled data, aiming to learn feature representations with generalization and generalization capabilities to improve the performance of the model on various downstream tasks. Pre-training can improve the generalization ability of the model, reduce the dependence on labeled data, and improve the performance of the model on unseen data.

[0066] 7) noise distribution, in the contrast learning or negative sampling task of the graph, the noise distribution is a distribution function for generating "false" or "irrelevant" node pairs, which are used as negative samples to train the model to distinguish real connections (positive samples) and false connections (negative samples).

[0067] In order to better understand the information recommendation method provided by the embodiments of the present application, first, the information recommendation method in the related art and the existing defects are described.

[0068] As a set containing node itself and the relationship between nodes, graphs are widely used in various real-world scenarios, such as social relationship graphs between people in social networks, and interaction graphs between users and goods in recommendation systems. Graph neural networks can capture the features of nodes and edges and their topological relationships, and have better modeling effect on graph structure data. In the related art, the commonly used graph neural network model in the recommendation system can be divided into two categories: graph walk-based method and graph convolution-based method.

[0069] The first category is the graph walk-based method: traditional neural network models are good at processing Euclidean space data, but it is difficult to model the complex topological relationships contained in the graph structure. Therefore, early researchers proposed an indirect scheme of sampling sequences from graph structure data through walk method and then using traditional neural network model processing, among which DeepWalk and Node2vec are typical representatives. As shown in FIG. 1, this kind of method focuses on generating node sequences in the graph by using a given walk strategy, and then using the Skip-Gram model in the field of natural language processing (NLP) to train the vector representation of each node.

[0070] In FIG. 1, a heterogeneous graph H is established for users, goods and advertisements, wherein the heterogeneous graph H includes users u1 and u2, goods i1, i2 and i3, and advertisements a1, a2, a3, a4, a5 and a6. Through the aggregation and propagation of features by the graph neural network 11, the feature expression 12 of the user, the feature expression 13 of the goods and the feature expression 14 of the advertisement are obtained, which are directly used for recall or used as features for the model. This method is an unsupervised method, and the quality of the features cannot be controlled. At the same time, due to the existence of certain noise in the graph, the learned features will be unstable.

[0071] The second type is a graph convolution-based method: the way of modeling from the graph sampling sequence is simple and direct, but due to the information loss in the conversion process from the original graph structure to the sequence, its effect has limitations, and therefore how to directly model the graph structure into the neural network has become a key problem in the research of graph neural networks. Researchers combine the Fourier transform of the signal on the spectrum domain graph, define the convolution operation on the graph, and through a series of simplifications, link the spectral graph convolution and the neural network.

[0072] The graph convolutional network (GCN) starts from the perspective of the whole graph, and breaks through the barrier between the original graph structure and the neural network, but the huge amount of calculation makes it difficult to apply to large-scale scenarios. In contrast, Graph Sample and Aggregation (GraphSage) starts from the perspective of the node on the graph, proposes a message passing paradigm based on sampling, making it possible for graph neural networks to efficiently compute on large-scale graphs. The range of features that the central node can aggregate in the graph neural network method based on the message passing paradigm such as GraphSage depends on the sampling neighbor order. When training using such graph neural networks, in addition to using the inherent features of the node as the input of the model, an independently trainable vector parameter can also be added to each node, so as to better learn the relevance of high-order neighbors.

[0073] In addition to the two types of methods mentioned above, as one of the research hotspots in the field of graph neural networks, GAT, FastGCN, GIN and other algorithms have emerged in recent years, and have achieved good results in large-scale recommendation scenarios.

[0074] In related technologies, the general graph neural network pre-training method is in an unsupervised learning manner, so the quality of the learned feature expression is uncontrollable, which reduces the effectiveness and accuracy of the feature expression, thereby affecting the recommendation effect. In addition, the noise is not processed during the learning process, resulting in unstable learned feature expression.

[0075] In combination with the above related technologies, the disadvantages of related technologies at least include: first, the accuracy of feature expression is low; second, the recommendation effect is poor; and third, the stability of feature expression is low.

[0076] The embodiment of the present application provides an information recommendation method and device, computer equipment, computer readable storage medium and computer program product, which can improve the accuracy of recommendation, and improve the stability and overall performance of the recommendation system. The following describes an exemplary application of the computer equipment provided by the embodiment of the present application. The computer equipment provided by the embodiment of the present application can be implemented as a notebook computer, a tablet computer, a desktop computer, a set-top box, a smart phone, a smart speaker, a smart watch, a smart television, a vehicle-mounted terminal and various types of terminals. It can also be implemented as a server. The following describes an exemplary application when the computer equipment is implemented as a server.

[0077] Referring to FIG. 2, FIG. 2 is a network architecture schematic diagram of the information recommendation system 100 provided by the embodiment of the present application. To realize supporting an information recommendation application, the server 400 connects the terminal 200-1, the terminal 200-2 and the terminal 200-3 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two. The terminal 200-1 is a terminal triggering information recommendation, and the terminal 200-2 and the terminal 200-3 are terminals of different objects to be recommended.

[0078] The terminal 200-1 is configured to receive a recommendation instruction for a plurality of to-be-recommended objects, generate an information recommendation request for the plurality of to-be-recommended objects, and send the information recommendation request to the server 400. The terminal 200-1 also sends first object data of the plurality of to-be-recommended objects and a plurality of to-be-recommended information to the server 400. The server 400 is configured to perform feature extraction on the first object data and the to-be-recommended information respectively by using a trained feature extraction model, and obtain object features and information features correspondingly. The trained feature extraction model is obtained by training a to-be-trained feature extraction model based on a plurality of training sample graphs and at least one training subgraph corresponding to each training sample graph. The training subgraph is obtained by graph sampling on the training sample graph. Based on the plurality of object features and the plurality of information features, the server 400 determines target to-be-recommended information matched with each to-be-recommended object. The server 400 also sends the target to-be-recommended information to the terminal of the to-be-recommended object (the terminal 200-2 and the terminal 200-3 shown in the figure) so that the terminal 200-2 and the terminal 200-3 display the target to-be-recommended information corresponding to the to-be-recommended object. For example, when the terminal 200-2 is the terminal of the to-be-recommended object a and the target to-be-recommended information matched with the to-be-recommended object a is the target to-be-recommended information A, the target to-be-recommended information A is sent to the terminal 200-2. Similarly, when the terminal 200-3 is the terminal of the to-be-recommended object b and the target to-be-recommended information matched with the to-be-recommended object b is the target to-be-recommended information B, the target to-be-recommended information B is sent to the terminal 200-3. In some embodiments, the terminal 200-1 can also be the terminal of a to-be-recommended object. In this case, the server 400 can also send the target to-be-recommended information corresponding to the to-be-recommended object to the terminal 200-1. In addition, the terminal of the to-be-recommended object in FIG. 2 is exemplified by the terminal 200-2 and the terminal 200-3. The number of the terminal of the to-be-recommended object is matched with the actual situation. For example, the number of the terminal of the to-be-recommended object can be 3, 4, 5, etc.

[0079] In the embodiment of the present application, the trained feature extraction model for feature extraction performed by the server 400 is trained based on a plurality of training sample graphs and at least one training subgraph corresponding to each of the training sample graphs, wherein the training subgraph is obtained by graph sampling on the training sample image, rather than being trained based on only the plurality of training sample graphs. In this way, self-supervised contrastive learning can be implemented based on the training sample graph and the training subgraph, that is, the trained feature extraction model can be obtained through self-supervised contrastive learning. Based on this, when the first object data and the information to be recommended are subjected to feature extraction by using the trained feature extraction model, the object features and information features with controllable quality can be obtained, that is, the object features and information features with high reliability, high accuracy and generalization ability can be obtained. Then, the target information to be recommended with high matching degree and high accuracy can be determined based on the object features and information features with high reliability, high accuracy and generalization ability, so as to improve the accuracy of recommendation and improve the stability and overall performance of the recommendation system.

[0080] In some embodiments, the server 400 can be a standalone physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and basic cloud computing services such as big data and artificial intelligence platforms. The terminal and the server can be connected directly or indirectly through wired or wireless communication, and the embodiments of the present application do not make any limitation.

[0081] Referring to FIG. 3, FIG. 3 is a structural schematic diagram of the server 400 provided by the embodiments of the present application. The server 400 shown in FIG. 3 includes at least one processor 410, a memory 450, at least one network interface 420, and a user interface 430. The various components in the server 400 are 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 the components. The bus system 440 includes not only a data bus, but also a power bus, a control bus, and a status signal bus. However, for the purpose of clear illustration, all kinds of buses are marked as the bus system 440 in FIG. 3.

[0082] The processor 410 can be an integrated circuit chip with signal processing capability, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0083] The user interface 430 includes one or more output devices 431 that enable presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 430 also includes one or more input devices 432 that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.

[0084] The memory 450 can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical drives, and the like. The memory 450 optionally includes one or more storage devices remotely located from the processor(s) 410.

[0085] The memory 450 includes volatile memory or non-volatile memory, and can also include both volatile and non-volatile memory. Non-volatile memory can be read only memory (ROM), volatile memory can be random access memory (RAM). The memory 450 described in embodiments of the present application is intended to include any suitable type of memory.

[0086] In some embodiments, the memory 450 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or a subset or superset thereof, which are illustratively described below.

[0087] The operating system 451 includes systems programs for handling various basic system services and for performing hardware dependent tasks, such as a framework layer, a core library layer, a driver layer, and the like, for implementing various basic services as well as handling hardware dependent tasks;

[0088] The network communication module 452 is for communicating to other electronic devices via one or more (wired or wireless) network interfaces 420, example network interfaces 420 include: Bluetooth, wireless fidelity (WiFi), universal serial bus (USB), and the like;

[0089] The presentation module 453 is for enabling presentation of information via one or more output devices 431 associated with the user interface 430 (e.g., display screens, speakers, and the like) (e.g., user interfaces for operating peripheral devices and displaying content and information);

[0090] The input processing module 454 is for detecting and interpreting one or more user inputs or interactions from one or more input devices 432.

[0091] In some embodiments, the apparatus provided by the embodiments of the present application can be implemented in software. FIG. 3 shows an information recommendation apparatus 455 stored in a memory 450, which can be software in the form of programs and plug-ins, etc., including the following software modules: a first acquisition module 4551, a first feature extraction module 4552, a first determination module 4553, and a sending module 4554. These modules are logical, and thus can be combined or further split according to the implemented functions. The functions of the various modules will be described below.

[0092] In other embodiments, the apparatus provided by the embodiments of the present application can be implemented in hardware. As an example, the apparatus provided by the embodiments of the present application can be a processor in the form of a hardware decoding processor, which is programmed to perform the information recommendation method provided by the embodiments of the present application. For example, the processor in the form of a hardware decoding processor can use one or more Application Specific Integrated Circuits (ASICs), DSPs, Programmable Logic Devices (PLDs), Complex Programmable Logic Devices (CPLDs), Field-Programmable Gate Arrays (FPGAs), or other electronic elements.

[0093] In some embodiments, the server can implement the information recommendation method provided by the embodiments of the present application by running various computer-executable instructions or computer programs. For example, the computer-executable instructions can be microprogram-level commands, machine instructions, or software instructions. The computer programs can be native programs or software modules in an operating system; can be native (Application, APP) programs that need to be installed in an operating system to run, such as a recommendation APP; or can be applets that can be embedded into any APP, i.e., programs that only need to be downloaded into a browser environment to run. In summary, the above computer-executable instructions can be any form of instructions, and the above computer programs can be any form of application programs, modules, or plug-ins.

[0094] The information recommendation method provided by the embodiments of the present application will be described in conjunction with exemplary applications and implementations of the server provided by the embodiments of the present application.

[0095] The information recommendation method provided by the embodiments of the present application will be described below. As described above, the computer device implementing the information recommendation method of the embodiments of the present application can be a terminal, a server, or a combination of the two. Therefore, the execution subject of each step will not be described again below.

[0096] It should be noted that in the following examples of the information recommendation method, the object is an advertisement. Based on the understanding of the following, those skilled in the art can apply the information recommendation method provided in the embodiments of the present application to the recommendation of information of other types of objects including news reports, educational content, technology demonstrations, social media content, etc. The embodiments of the present application can also be applied to various scenarios, including but not limited to digital media, education and training, agriculture, instant messaging, artificial intelligence, intelligent transportation, assisted driving, etc.

[0097] Referring to FIG. 4, FIG. 4 is a first flowchart of the information recommendation method provided in the embodiments of the present application. The information recommendation method provided in the embodiments of the present application will be described in combination with the steps shown in FIG. 4. The execution subject of FIG. 4 is a server.

[0098] In step S101, first object data of a plurality of to-be-recommended objects and a plurality of to-be-recommended information are obtained.

[0099] In some embodiments, the first object data can be attribute data, historical data, etc. of the to-be-recommended objects. For example, the first object data can include work, public profile, public interaction data, public social data, etc. The to-be-recommended information can be information, products, services or content to be recommended. For example, the to-be-recommended information can be product information, service information, advertisements, news reports, educational content, disaster warning information, content works, etc. The to-be-recommended information can also include entity information and display information. The entity can be a product, an article, etc. The entity information can be the specifications, functions, materials, appearance, etc. of the product. The display information can be an advertisement, a demonstration video, a picture, etc.

[0100] In some embodiments, the first object data of the plurality of to-be-recommended objects and the plurality of to-be-recommended information can be obtained from a database that has been publicly disclosed.

[0101] In step S102, a trained feature extraction model is used to extract features from the first object data and the to-be-recommended information respectively, and object features and information features are obtained correspondingly.

[0102] In the embodiments of the present application, the trained feature extraction model is obtained by training a to-be-trained feature extraction model based on a plurality of training sample graphs and at least one training subgraph corresponding to each training sample graph. The training subgraph is obtained by graph sampling on the training sample graph.

[0103] In some embodiments, the trained feature extraction model refers to a model capable of performing feature extraction on a graph, typically a Graph Neural Network (GNN). GNNs are a type of neural network model specifically designed to handle graph-structured data. GNNs learn the relationships between nodes to extract features on the graph and are used for prediction and classification tasks.

[0104] The basic idea of GNNs is to use the connection relationships (edges) between nodes to pass information and update the representation of nodes. In GNNs, each node has a feature vector representing the attributes of the node. Through the weights of the edges, GNNs can aggregate the information of neighboring nodes and add it to the feature vector of the current node. This process is called message passing and is the core mechanism of GNNs.

[0105] Through message passing, GNNs can capture complex relationships and patterns in graph-structured data, and therefore perform well in many application scenarios such as social network analysis, recommendation systems, knowledge graphs, and bioinformatics.

[0106] In some embodiments, common graph neural network models include graph convolutional networks, graph autoencoders, graph attention networks, graph recurrent neural networks, graph isomorphism networks, and heterogeneous hypergraph networks.

[0107] In the embodiments of the present application, the trained feature extraction model can be used to sequentially or simultaneously extract features from the first object data and the to-be-recommended information, obtaining object features corresponding to the first object data and information features corresponding to the to-be-recommended information.

[0108] In the embodiments of the present application, the trained feature extraction model is trained using training sample graphs and their training subgraphs. In this way, self-supervised contrastive learning can be achieved based on the training sample graphs and the training subgraphs, thereby making the trained feature extraction model have the characteristics of high stability and strong robustness.

[0109] In some embodiments, before performing feature extraction on the first object data and the to-be-recommended information, the trained feature extraction model can be obtained through self-supervised contrastive learning, i.e., before performing step S102, referring to FIG. 5, the trained feature extraction model can also be obtained through steps S001 to S004, which will be described in detail below.

[0110] In step S001, a plurality of training sample graphs, at least one training subgraph corresponding to each training sample graph, and a to-be-trained feature extraction model are obtained.

[0111] In the embodiments of the present application, the training sample graphs include a plurality of graph nodes, and the training subgraphs include a plurality of subgraph nodes.

[0112] In the embodiments of the present application, the training sample graph can be a heterogeneous graph or a homogeneous graph, where the heterogeneous graph refers to a graph with different node types or edge types. For example, in a social network graph, there are different types of graph nodes such as users, posts, and topics, and different types of edges such as user-post publishing relationships and post-topic belonging relationships. In a movie and television network graph, there are different types of graph nodes such as movies, actors, and directors. In a recommendation network, there are different types of graph nodes such as users, goods, and advertisements.

[0113] In the embodiments of the present application, one training sample graph corresponds to at least one training subgraph. For example, the number of training subgraphs corresponding to one training sample graph can be 2, 3, 4, etc. The training subgraph is obtained by graph sampling on the training sample graph. The training subgraph includes part of the graph nodes in the training sample graph, that is, the subgraph nodes of the training subgraph are included in the graph nodes of the corresponding training sample graph.

[0114] In some embodiments, before obtaining the training sample graph and the at least one training subgraph corresponding to the training sample graph, the training sample graph and the training subgraph are constructed. Referring to FIG. 6, before performing the above step S001, the training sample graph and the training subgraph can also be constructed through the following steps S01 to S05, which will be described in detail below.

[0115] In step S01, second object data of a plurality of training objects and a plurality of training recommendation information are obtained.

[0116] In some embodiments, the training object can be a company employee, an association member, a school student, etc. The matching relationship or the association relationship between the training object and the training recommendation information is known. The second object data is similar to the first object data in the above step S101. The second object data can be attribute data, historical data, etc. of the training object. For example, the first object data can include work, public profile, public interaction data, public social data, etc. The training recommendation information is similar to the to-be-recommended information in the above step S101. The training recommendation information can be information, products, services, or content to be recommended. For example, the training recommendation information can be product information, service information, advertisements, news reports, educational content, disaster warning information, content works, etc. The training recommendation information can also include entity information and display information.

[0117] In some embodiments, the second object data of the plurality of training objects and the plurality of training recommendation information can be obtained from an externally disclosed database.

[0118] In step S02, each training object and each training recommendation information are determined as a graph node.

[0119] In some embodiments, each training object and each training recommendation information is determined as a graph node respectively. For example, assuming that there are 5 training objects and 10 training recommendation information, 15 graph nodes are determined, each of which corresponds to a training object or a training recommendation information.

[0120] In step S03, connection edges between the graph nodes are constructed based on the plurality of second object data, to obtain a training sample graph.

[0121] In some embodiments, based on the second object data, it is determined whether there is an association relationship between the second object and each training recommendation information. If it is determined that there is an association relationship between the second object and the training recommendation information, a connection edge between the two graph nodes is constructed; if it is determined that there is no association relationship between the second object and the training recommendation information, it is determined that there is no connection edge between the two graph nodes, and thus no connection edge between the two graph nodes is constructed. In this way, a training sample graph of the plurality of training objects and the plurality of training recommendation information is obtained.

[0122] For example, assuming that the second object data of one of the training objects represents that the training object is a primary school teacher, and the 10 training recommendation information are respectively a car, a car advertisement, a water cup advertisement, a toy advertisement, a primary school textbook, a primary school textbook advertisement, a primary school popular science report, a decoration advertisement, a college entrance examination information, and a high school entrance examination information, based on this, since there is an association relationship between the primary school teacher and the primary school textbook, the primary school textbook advertisement, and the primary school popular science report, edges are respectively constructed between the graph node corresponding to the training object and the graph nodes corresponding to the primary school textbook, the primary school textbook advertisement, and the primary school popular science report.

[0123] In step S04, the training sample graph is subjected to at least one graph sampling processing to obtain at least one training subgraph corresponding to the training sample graph.

[0124] In some embodiments, the number of graph sampling is set in advance. One training subgraph can be obtained through one graph sampling, and the number of graph sampling is consistent with the number of training subgraphs. For example, the number of graph sampling can be 2, 3, 4, etc., and several training subgraphs can be obtained through several graph samplings.

[0125] In some embodiments, the training sample graph can be subjected to graph sampling in any of the following graph sampling modes to obtain at least one training subgraph corresponding to the training sample graph:

[0126] Graph sampling mode one, random walk sampling (Random Walk): starting from an initial node, randomly jumping to other nodes in the graph according to a certain probability distribution. This process can be repeated to generate a series of nodes, which constitute a subgraph.

[0127] Figure sampling method two, random edge sampling: directly randomly selecting edges in the graph without considering the direction and weight of the edges. It can be with or without replacement sampling.

[0128] Figure sampling method three, random node sampling: randomly selecting nodes in the graph without considering the neighbors of the nodes. It can be simple random sampling, with or without replacement sampling.

[0129] Figure sampling method four, structured random walks: following specific rules such as jump probability, node access order, etc. during the sampling process.

[0130] Figure sampling method five, content-based random walks: considering the feature information of nodes during the walk process, and determining the access probability of nodes according to the feature information. Commonly used in personalized recommendation, knowledge graph completion, etc.

[0131] Figure sampling method six, model-based random walks: selecting the path of the walk according to the pre-defined model, such as Markov chain-based random walks. Commonly used in graph generative models, graph probability inference, etc.

[0132] Figure sampling method seven, node clustering: creating subgraphs by grouping nodes, such as using community detection algorithms (such as Louvain, Girvan-Newman, etc.) to divide the graph into subgraphs.

[0133] Through the above steps S01 to S04, the training sample graph can be quickly constructed based on the training object, the training recommendation information and the second object data; and through the graph sampling method, the training subgraph corresponding to the training sample graph is efficiently generated, so as to provide data support for subsequent model training.

[0134] Continue to refer to FIG. 5, and the step S001 is continued to be explained.

[0135] In step S002, for each training sample graph, the first node feature of each graph node in the training sample graph is determined by using the feature extraction model to be trained.

[0136] In the embodiments of the present application, the training sample graph can be input into the feature extraction model to be trained, and the feature extraction model to be trained is used to extract features of the training sample graph, to obtain the first initial feature of each graph node in the training sample graph; and then the first initial feature of each graph node is updated to obtain the first node feature of each graph node.

[0137] In the embodiments of the present application, the first initial feature refers to the feature of a graph node before the graph is updated, wherein the feature of a graph node refers to a set of information associated with each graph node in the graph, which can describe the properties, states or various attributes related to the graph node. In different application scenarios, the features of the graph nodes can have different meanings and effects.

[0138] In some embodiments, the features of the graph nodes can include the following types:

[0139] Type one, basic attributes: including the identifier, name, type, etc. of the graph node. For example, in a social network, the identifier of the graph node can be the identification of the user, and the type can be "user"; in a knowledge graph, the node can be an entity such as "person", "organization" or "location", and each node will have a corresponding unique identifier.

[0140] Type two, structural features: features describing the position and relationship of the graph node in the graph structure. For example, the degree of the node (the number of connected edges), the proximity (the length of the shortest path to the node), the clustering coefficient (the density of connections between the node's neighbors), etc.

[0141] Type three, attribute features: if the graph node has specific attributes or attribute values, such as the age and gender of a person, the size and industry of an organization, etc., these can also be considered as features of the node.

[0142] Type four, dynamic features: in some graphs, the features of the graph nodes can change over time, such as the public behavior score of a user, the price of a stock, etc.

[0143] Type five, external features: in some cases, the features of the graph nodes can come from external information sources, for example, based on external knowledge base information such as the category and attributes of an entity in a knowledge graph.

[0144] In graph processing models such as graph neural networks, the features of the nodes are crucial for the model to understand and predict patterns in the graph. GNNs learn the feature representations of the nodes to capture the structure of the graph and the relationships between the nodes, and are used for various graph analysis tasks such as recommendation, node classification, link prediction, community detection, etc.

[0145] In some embodiments, the first initial feature can be generated in the following two ways:

[0146] Method one, using the to-be-trained feature extraction model to generate the first initial feature of each graph node in the training sample graph based on the preset dimension in a random manner.

[0147] In the embodiments of the present application, the preset dimension is a dimension set in advance, and an exemplary preset dimension can be 1*5, 2*6, etc.

[0148] In some embodiments, the first initial feature of the preset dimension corresponding to the object data can be randomly generated based on the to-be-trained feature extraction model according to the principle of normal distribution, 0-1 random distribution, or the like.

[0149] In mode two, when the second object data includes object data of at least two dimensions, the to-be-trained feature extraction model is used to perform feature extraction on the object data of different dimensions respectively to obtain dimension object features of different dimensions; each dimension object feature is spliced to obtain the first initial feature of the graph node corresponding to the training object; when the training recommendation information includes recommendation information of at least two dimensions, the recommendation information of different dimensions is extracted respectively to obtain dimension information features of different dimensions; and each dimension information feature is spliced to obtain the first initial feature of the graph node corresponding to the training recommendation information.

[0150] In some embodiments, the first initial feature can also be obtained through feature splicing. For example, when the second object data includes work and public interaction data, the work and public interaction data are extracted respectively to obtain work feature data and interaction feature data, and the work feature data and the interaction feature data are spliced in a manner that the work feature data is placed before the interaction feature data to obtain the first initial feature of the graph node corresponding to the training object.

[0151] For example, when the training recommendation information includes description information, performance information, and technical information, the description information, the performance information, and the technical information are extracted respectively to obtain description feature data, performance feature data, and technical feature data; and the description feature data, the performance feature data, and the technical feature data are spliced in a sequence of the description feature data, the performance feature data, and the technical feature data to obtain the first initial feature of the graph node corresponding to the training recommendation information.

[0152] In the embodiments of the present application, the first initial feature can be quickly obtained through the above-mentioned mode one, thereby improving the processing efficiency; and the first initial feature with high accuracy can be obtained through the above-mentioned mode two, thereby reducing the number of subsequent model training and enabling the model to converge quickly.

[0153] In the embodiments of the present application, when the first initial feature of the graph node is updated to obtain the first node feature of the graph node, the neighbor nodes of the graph node can be obtained from the training sample graph based on the connection relationship between the nodes, the neighbor nodes being nodes having a connection edge with the graph node, and then the first initial feature of the graph node and the first initial feature of the neighbor nodes of the graph node are fused to obtain the first node feature of the graph node.

[0154] Different types of to-be-trained feature extraction models correspond to different feature updating manners. Taking a graph attention network as an example, the first initial features of the graph nodes in the training sample graph are updated by adaptively aggregating the features of the neighbor nodes through weights to obtain the first node features of the graph nodes. The core idea of the graph attention network is to calculate attention coefficients on each training sample graph node to determine the importance between the graph node and its neighbor nodes, and to fuse the first initial features of the graph node and the neighbor nodes through the coefficients to obtain the first node features.

[0155] In some embodiments, the process of updating the first initial features by using the graph attention network includes attention mechanism determination, weighted feature aggregation, multi-head attention, and cyclic application. For the attention mechanism determination process, for each graph node, an attention coefficient is first determined, which measures the correlation between the graph node and its neighbor nodes. The attention coefficient is usually determined by a feedforward network called "attention head", which includes two linear transformations, a nonlinear activation function (such as ReLU) and a dropout layer to improve the robustness of the model. For the weighted feature aggregation process, the features of the neighbor nodes are aggregated by weighted averaging, and the weights are the attention coefficients determined by the attention mechanism. For the multi-head attention process, it refers to the mechanism of multi-head attention, that is, multiple attention heads are run in parallel, each head calculates a set of attention coefficients and feature aggregation. Finally, the output first node features of all heads are spliced, and an updated first node feature is obtained through a linear transformation and a final activation function. For the cyclic application process, the above process is repeatedly applied to each node in the graph, and the first node feature is updated in each iteration. Through multiple iterations, the model can learn a higher-level feature representation of the sub-nodes in the training sub-graph.

[0156] In some embodiments, the graph attention network can also learn different types of neighbor relationships by adjusting the attention coefficients, thereby improving the adaptability and flexibility of the model.

[0157] Fusing the first initial features of the graph nodes and the first initial features of the neighbor nodes of the graph nodes to update the features of the graph nodes to obtain the first node features of the graph nodes can enable the graph nodes to perceive the local topological structure information, thereby more comprehensively expressing their roles in the graph, and can also enhance the feature expression ability of the first node features and improve the robustness of feature expression.

[0158] In step 003, for each training sub-graph corresponding to the training sample graph, the second node features of each sub-graph node in the training sub-graph are determined.

[0159] In some embodiments, the step S003 of determining the second node feature of each subgraph node in the training subgraph can be implemented by the following steps S031 and S032, which are described in detail as follows.

[0160] In step S021, the first initial feature of the target graph node corresponding to the subgraph node in the training subgraph in the training sample graph is determined as the second initial feature of the subgraph node.

[0161] In some embodiments, since the subgraph node of the training subgraph is included in the graph node of the corresponding training sample graph, the first initial feature of the graph node includes the second initial feature of each subgraph node. The target graph node corresponding to the subgraph node can be determined based on the node identifier of the subgraph node, and the first initial feature of the target graph node is determined as the second initial feature of the subgraph node.

[0162] In step S022, the feature of each second initial feature is updated to obtain the second node feature of each subgraph node.

[0163] In the embodiments of the present application, different types of to-be-trained feature extraction models correspond to different updating manners. For example, taking the graph attention network as the to-be-trained feature extraction model, the second initial feature of the subgraph node in the training subgraph is updated by aggregating the features of the neighbor nodes through adaptive weights to obtain the second node feature of the subgraph node. The core idea of the graph attention network is to calculate the attention coefficient on each training subgraph node to determine the importance between the training subgraph node and its neighbor nodes, and to aggregate the features of the neighbor nodes through the coefficients.

[0164] In some embodiments, the process of updating the second initial feature by using the graph attention network includes attention mechanism determination, weighted feature aggregation, multi-head attention, and recurrent application. For the attention mechanism determination process, for each training subgraph node, an attention coefficient is first determined, which measures the degree of association between the training subgraph node and its neighbor nodes. The attention coefficient is usually determined by a feedforward network called "attention head", which contains two linear transformations, a nonlinear activation function (such as ReLU) and a dropout layer to improve the robustness of the model. For the weighted feature aggregation process, the features of the neighbor nodes are aggregated by weighted averaging, and the weights are the attention coefficients determined by the attention mechanism. For the multi-head attention process, it refers to the mechanism of multi-head attention, that is, multiple attention heads are run in parallel, each head calculates a set of attention coefficients and feature aggregation. Finally, the output second node features of all heads are spliced together, and a linear transformation and a final activation function are used to obtain the updated second node features. For the recurrent application process, the above process is repeatedly applied to each node in the graph, and the second node features are updated at each iteration. Through multiple iterations, the model can learn a higher-level feature representation of the subgraph nodes in the training subgraph.

[0165] In some embodiments, the graph attention network can also learn different types of neighbor relationships by adjusting the attention coefficients, thereby improving the adaptability and flexibility of the model.

[0166] In the model training process, the first time is to update the second initial feature to obtain the second node feature; and then the second node feature is updated to obtain the updated second node feature.

[0167] Through the above steps S031 and S032, local structure information in the subgraph can be captured, and the representation of the training subgraph nodes can be effectively learned.

[0168] Continuing to refer to FIG. 5, the above step S003 is continued to be described.

[0169] In step S004, based on each first node feature and each second node feature, a total loss value is determined.

[0170] In some embodiments, for each training subgraph, on the one hand, based on the second node feature of each subgraph node in the training subgraph, an update loss value is determined; on the other hand, based on the first node feature of each graph node in the training sample graph and the second node feature of each subgraph node in the training subgraph, a comparison loss value is determined. In this way, the update loss value of each training subgraph and the comparison loss value of the training sample graph and each training subgraph are determined. Finally, based on each update loss value and each comparison loss value, a total loss value is determined.

[0171] In some embodiments, referring to FIG. 7, the above step S004 can be implemented by the following steps S041 to S043, which are specifically explained as follows.

[0172] In step S041, for each training subgraph, an updated loss value of the training subgraph is determined based on each second node feature.

[0173] In some embodiments, the updated loss value can be determined by any one of a cross-entropy loss function, a Bayesian personalized ranking loss function, and an interval loss function. The updated loss value constrains the first connection score between the subgraph node u and the subgraph node v to be higher than the second connection score between the graph node u and any noise.

[0174] In some embodiments, the above step S041 can be implemented by the following steps S411 to S413, which are specifically explained as follows.

[0175] In step S411, a first connection score between the u-th subgraph node and the v-th subgraph node is determined based on the second node feature of the u-th subgraph node and the second node feature of the v-th subgraph node.

[0176] In the embodiments of the present application, u = 1, 2, …, N, v = 1, 2, …, N, u is not equal to v, and N is the total number of subgraph nodes included in the training subgraph.

[0177] In some embodiments, the first connection score between the u-th subgraph node and the v-th subgraph node can be determined by a feedforward network based on the second node feature of the u-th subgraph node and the second node feature of the v-th subgraph node. In some embodiments, a classifier (such as logistic regression, multilayer perceptron, etc.) can also be used to determine the first connection score between the u-th subgraph node and the v-th subgraph node. The first connection score is used to represent the possibility of the existence of a connection edge between the u-th node and the v-th node.

[0178] In step S412, k noise distributions are obtained, and a second connection score between the u-th node and a noise node is determined based on the second node feature of the u-th node and the noise distribution.

[0179] In some embodiments, when step S412 is implemented, first, each subgraph node included in the training subgraph is sampled based on the noise distribution to obtain a noise node corresponding to the noise distribution; then, a second connection score between the u-th node and the noise node is determined based on the second node feature of the u-th node and the second node feature of the noise node. The determination process of the second connection score can refer to the process of determining the first connection score, and thus k second connection scores between the u-th node and k noise nodes are determined respectively. The second connection score is used to represent the possibility of the existence of a connection edge between the u-th node and the noise node.

[0180] In some embodiments, the noise distribution is any one of the distributions, and for example, the noise distribution can be a uniform distribution, and for each subgraph node included in the training subgraph, a noise node corresponding to the noise distribution is obtained by sampling based on the noise distribution. In actual implementation, the noise node can be obtained by uniformly sampling from the subgraph nodes that have no connection edge with the u-th node in the training subgraph; the noise distribution can also be a degree-based distribution, that is, the probability of sampling a node is proportional to its degree, and then the sampling probability of each subgraph node can be determined according to the degrees of the subgraph nodes that have no connection edge with the u-th node in the training subgraph, and the noise node is obtained by sampling based on the sampling probability of each subgraph node. The noise node is a subgraph node that has no connection with the u-th node (that is, there is no connection edge), and is used to construct a negative sample pair with the u-th node, so as to train the feature extraction model to be trained by the negative sample pair, thereby improving the ability of the model to capture the real graph structure.

[0181] In step S413, an update loss value is determined based on the first connection score and the second connection score.

[0182] In some embodiments, the update loss value can be determined by, for example, a cross-entropy loss function, as shown in the following formula (1). edge = -log σ (first connection score) -∑ i=1,…,k log [1- σ (second connection score) i ] Formula (1).

[0183] In the above formula (1), L edge represents the update loss value, and σ is an activation function.

[0184] Through the above steps S411 to S413, the update loss value of each training subgraph can be determined, and the noise is processed in the determination process, so that the update loss value can correctly guide the training direction of the feature extraction model to be trained.

[0185] Continuing to refer to FIG. 7, the step S041 is explained.

[0186] In step S042, a comparison loss value is determined based on each first node feature and each second node feature.

[0187] In the embodiments of the present application, the training of the to-be-trained feature extraction model is performed based on the training sample graph as self-supervision, and a contrast learning loss value is introduced based on the first node feature and the second node feature. In some embodiments, the contrast loss value can be determined by any one of the following methods: an information contrast (Information NCE, InfoNCE) loss function, a dual tower loss function, a triple contrast loss function, a pair contrast loss function, and a non-parametric contrast loss function.

[0188] In some embodiments, the above step S042 can be implemented by the following steps S421 to S423, which are described in detail below.

[0189] In step S421, a third similarity between the i-th graph node and the i-th subgraph node is determined based on the first node feature of the i-th graph node and the second node feature of the i-th subgraph node.

[0190] In the embodiments of the present application, i = 1, 2, …, M, and M is the total number of graph nodes included in the training sample graph.

[0191] In some embodiments, the implementation process of determining the third similarity can be one of the following implementation processes:

[0192] Implementation process one, Euclidean distance: for numerical type first node features and second node features, the Euclidean distance can be used to determine the third similarity between the i-th graph node and the i-th subgraph node. The smaller the distance, the more similar the first node feature of the i-th graph node and the second node feature of the i-th subgraph node.

[0193] Implementation process two, Manhattan distance: similar to the Euclidean distance, but considering the sum of the absolute differences of the features in each dimension.

[0194] Implementation process three, cosine similarity: for first node features and second node features in high-dimensional space, cosine similarity is an effective measure, which measures the cosine value of the angle between the first node feature of the i-th graph node and the second node feature of the i-th subgraph node. The larger the value, the more similar the first node feature of the i-th graph node and the second node feature of the i-th subgraph node.

[0195] Implementation process four, Pearson correlation coefficient: used to determine the linear relationship strength between the first node feature of the i-th graph node and the second node feature of the i-th subgraph node. The value ranges from -1 to 1, 1 indicates complete positive correlation, -1 indicates complete negative correlation, and 0 indicates no correlation.

[0196] Process five, Hamming distance, is implemented to determine the difference between the first node feature of the i-th graph node and the second node feature of the i-th subgraph node, i.e., the number of different bits. The smaller the value, the more similar the first node feature of the i-th graph node and the second node feature of the i-th subgraph node.

[0197] Process six, Euclidean normalization, is implemented to normalize the first node feature of the i-th graph node and the second node feature of the i-th subgraph node, scale the features to a certain range, and then determine the Euclidean distance or correlation coefficient.

[0198] Process seven, cosine similarity normalization, is similar to Euclidean normalization, but uses cosine similarity to measure the third similarity between the first node feature of the i-th graph node and the second node feature of the i-th subgraph node.

[0199] In some embodiments, if the i-th subgraph node does not exist in the training subgraph, the second node feature of the i-th subgraph node is 0.

[0200] In step S422, based on the first node feature of the i-th graph node and the second node feature of the k-th subgraph node, the fourth similarity between the i-th graph node and the k-th subgraph node is determined.

[0201] In the embodiments of the present application, i = 1, 2, …, M, k = 1, 2, …, N, and k is not equal to i.

[0202] In some embodiments, the implementation process of step S322 is similar to the implementation process of step S321 described above, and therefore the implementation process of step S322 can refer to the implementation process of step S321 described above.

[0203] In step S423, based on the third similarity and the fourth similarity, the contrast loss value is determined.

[0204] In some embodiments, the contrast loss value is determined by the information contrast loss function, for example, the contrast loss value can be determined by the following formula (2).

[0205] In formula (2), L InfoNCE represents the contrast loss value, τ is the temperature coefficient, N is the number of subgraph nodes of the training subgraph; 1 [k≠i] represents 1 when k ≠ i, otherwise 0.

[0206] By the steps S421 to S423, the contrast loss value is determined based on the first node features of the training sample graph and the second node features of the training subgraph. In this way, in the process of determining the contrast loss value, the self-supervised contrast learning is introduced, so as to improve the training speed of the to-be-trained feature extraction model, ensure the correctness of the learning direction of the to-be-trained feature extraction model, and obtain the trained feature extraction model with high stability and strong robustness.

[0207] With reference to FIG. 7, the step S042 is continued to be described.

[0208] In step S043, each update loss value and each contrast loss value is weighted to obtain a total loss value.

[0209] In some embodiments, each update loss value and each contrast loss value can be directly accumulated to obtain the total loss value. Alternatively, each update loss value and each contrast loss value can be multiplied by a corresponding preset weight value to obtain a weighted update loss value and a weighted contrast loss value, respectively, and then each weighted update loss value and each weighted contrast loss value can be accumulated to obtain the total loss value.

[0210] By the steps S041 to S043, the update loss value is determined based on the second node features of the training subgraph, the contrast loss value is determined based on the first node features of the training sample graph and the second node features of the training subgraph, and finally the total loss value is determined based on the update loss value and the contrast loss value. In the process of determining the update loss value, the noise is processed, so as to correctly guide the training direction of the to-be-trained feature extraction model. In the process of determining the contrast loss value, the self-supervised contrast learning is introduced, so as to improve the training speed of the to-be-trained feature extraction model, ensure the correctness of the learning direction of the to-be-trained feature extraction model, and finally obtain the trained feature extraction model with high stability and strong robustness.

[0211] With reference to FIG. 5, the step S004 is continued to be described.

[0212] In step S005, the parameters of the to-be-trained feature extraction model are adjusted based on the total loss value until a model training end condition is reached, and a trained feature extraction model is obtained.

[0213] In some embodiments, the model training end condition can be that the number of training times reaches a number threshold, and the model training condition can be that the total loss value is less than a loss threshold.

[0214] When the model training end condition is not reached, the parameters of the to-be-trained image processing model are adjusted based on the total loss value. When the model training end condition is reached, the trained feature extraction model is considered to be obtained.

[0215] Through the steps S001 to S005, in the training process of the to-be-trained feature extraction model, the update loss value of the training sub-graph and the comparison loss value between the training sample graph and the training sub-graph are introduced, so that the ideas of self-supervision and contrast learning are introduced into the model training process, thereby improving the training speed of the to-be-trained feature extraction model, ensuring the correctness of the learning direction of the to-be-trained feature extraction model, and finally obtaining a trained feature extraction model with high accuracy, high stability and strong robustness.

[0216] With reference to FIG. 4, the step S102 is explained.

[0217] In step S103, based on the plurality of object features and the plurality of information features, a target to-be-recommended information matched with each to-be-recommended object is determined.

[0218] In the embodiments of the present application, the target to-be-recommended information matched with each to-be-recommended object is determined from the plurality of to-be-recommended information, and the target to-be-recommended information can be considered as the to-be-recommended object's interested or needed to-be-recommended information.

[0219] In some embodiments, from the perspective of the to-be-recommended object, for each to-be-recommended object, based on the object feature of the to-be-recommended object and the plurality of information features, the target to-be-recommended information matched with the to-be-recommended object is determined from the plurality of to-be-recommended information through screening.

[0220] In some embodiments, referring to FIG. 8, the step S103 can be implemented through the following steps S1031 to S1033, which are explained in detail as follows.

[0221] In step S1031, for each to-be-recommended object, based on the object feature of the to-be-recommended object and each information feature, a target similarity between the to-be-recommended object and each to-be-recommended information is determined.

[0222] In some embodiments, when the plurality of to-be-recommended information includes at least one to-be-recommended entity information and at least one to-be-recommended display information, the information feature is an entity feature or a display feature, and the target similarity is a first similarity between the to-be-recommended object and the to-be-recommended entity information or a second similarity between the to-be-recommended object and the to-be-recommended display information. Based on this, the step S1031 can be implemented through the following steps S0311 to S0313, which are explained in detail as follows.

[0223] In step S0311, based on the object feature and each entity feature, a first similarity between the to-be-recommended object and each to-be-recommended entity information is determined.

[0224] In the embodiments of the present application, the entity information to be recommended can be commodity information, organization information, location information, etc., and the display information to be recommended can be advertisement information, information information, alarm information, etc.

[0225] In the embodiments of the present application, the first similarity between the object to be recommended and each entity information to be recommended can be obtained by dot product of the object feature and each entity feature.

[0226] In some embodiments, the first similarity between the object to be recommended and each entity information to be recommended can be determined based on the object feature and each entity feature by using Euclidean distance, Manhattan distance, cosine similarity, etc.

[0227] In the embodiments of the present application, the first similarity can reflect the matching degree between the object to be recommended and the entity to be recommended, can also reflect the relevance between the object to be recommended and the entity to be recommended, and can also reflect the interest degree of the object to be recommended to the entity to be recommended. The greater the first similarity, the higher the matching degree between the object to be recommended and the entity to be recommended, the stronger the relevance between the object to be recommended and the entity to be recommended, and the greater the interest degree of the object to be recommended to the entity to be recommended.

[0228] In step S0312, based on each first similarity, a target entity to be recommended matched with the object to be recommended is determined.

[0229] In some embodiments, each first similarity can be sorted in descending order to obtain a sorted first similarity, and the first entity to be recommended corresponding to the first first similarity in the sorted first similarity is determined as the target entity to be recommended, that is, the entity to be recommended corresponding to the highest first similarity is determined as the target entity to be recommended. The target entity to be recommended is the entity to be recommended matched with the object to be recommended, and the target entity to be recommended is also the entity to be recommended interested by the object to be recommended.

[0230] In step S0313, the second similarity between the object to be recommended and each display information to be recommended is determined based on the entity feature of the target entity to be recommended and the display feature of each display information to be recommended.

[0231] In the embodiments of the present application, the dot product result of the entity feature and the display feature can be determined as the second similarity, and the second similarity can reflect the matching degree between the target entity to be recommended and the display information to be recommended, and can also reflect the relevance between the target entity to be recommended and the display information to be recommended.

[0232] When the plurality of pieces of to-be-recommended information include at least one to-be-recommended entity information and at least one to-be-recommended display information, the first similarity between the to-be-recommended object and each to-be-recommended entity information is determined first, the target recommended entity that matches the to-be-recommended object is determined based on the first similarity, and the second similarity between the target recommended entity and each to-be-recommended display information is determined, so that the target similarity between the to-be-recommended object and each to-be-recommended information is obtained.

[0233] In some embodiments, when the plurality of pieces of to-be-recommended information are all to-be-recommended display information, the information feature is a display feature, and based on this, the implementation manner of the above step S1031 can be that the dot product processing is performed on the object feature and each information feature respectively to obtain the target similarity between the to-be-recommended object and each to-be-recommended information.

[0234] In the case where the plurality of pieces of to-be-recommended information are all to-be-recommended display information, the object feature and each information feature can be directly dot multiplied to quickly obtain the target similarity between the to-be-recommended object and each to-be-recommended information.

[0235] Continuing to refer to FIG. 8, the step S1031 is explained as follows.

[0236] In step S1032, the highest similarity is determined based on each target similarity.

[0237] In some embodiments, when the above steps S0311 to S0313 are used to determine the similarity, the highest similarity is determined from each second similarity. That is, the maximum value in the second similarity is determined as the highest similarity, and in actual implementation, the second similarities can be arranged in descending order, and the first second similarity after the arrangement is determined as the highest similarity.

[0238] When the object feature and each information feature are directly dot multiplied to obtain the target similarity between the to-be-recommended object and each to-be-recommended information, the highest similarity is determined from the target similarity, that is, the maximum value in the target similarity is determined as the highest similarity.

[0239] In step S1033, the to-be-recommended information corresponding to the highest similarity is determined as the target to-be-recommended information that matches the to-be-recommended object.

[0240] Through the above steps S1031 to S1033, the similarity between the to-be-recommended object and each to-be-recommended information is determined first, and then the to-be-recommended information corresponding to the highest similarity is determined as the target to-be-recommended information, so that the target to-be-recommended information that matches the to-be-recommended object can be conveniently and efficiently determined from the plurality of pieces of to-be-recommended information.

[0241] Continuing to refer to FIG. 4, the step S103 is described.

[0242] In step S104, the corresponding target to-be-recommended information is sent to the terminal of each to-be-recommended object.

[0243] In the embodiment of the present application, the destination of the target to-be-recommended information can be determined first, which can be a browser installed on the terminal of the to-be-recommended object, or an application installed on the terminal of the to-be-recommended object; then the display form of the target to-be-recommended information is converted into a display form matched with the destination; finally, the converted target to-be-recommended information is sent to the terminal of the to-be-recommended object, so that the terminal of the to-be-recommended object displays the target to-be-recommended object, that is, the target to-be-recommended information is recommended to the to-be-recommended object through the terminal.

[0244] Through the above steps S101 to S104, the trained feature extraction model for feature extraction is trained based on a plurality of training sample images and at least one training sub-image corresponding to each training sample image, wherein the training sub-image is obtained by graph sampling on the training sample image, rather than being trained based on the plurality of training sample images only. In this way, self-supervised contrastive learning can be achieved based on the training sample image and the training sub-image, that is, the trained feature extraction model can be obtained through self-supervised contrastive learning. In addition, in the model training process, the noise is processed by updating the loss value, so that the stability and robustness of the trained feature extraction model can be improved. Based on this, when the first object data and the to-be-recommended information are subjected to feature extraction by using the trained feature extraction model, the object features and information features with controllable quality can be obtained, that is, the object features and information features with high reliability, high accuracy and generalization ability can be obtained. Then, the target to-be-recommended information with high matching degree and high accuracy can be determined based on the object features and information features with high reliability, high accuracy and generalization ability, which can improve the accuracy of recommendation, improve the click rate and conversion rate of recommended information, and also improve the user stickiness of the recommendation system.

[0245] Next, an exemplary application of the embodiment of the present application in an actual application scenario will be described.

[0246] The embodiment of the present application provides an information recommendation method, including a training process of a to-be-trained feature extraction model, which can also be referred to as a pre-training process of an embedding expression graph neural network based on contrast learning, and the pre-training process is used for providing pre-trained feature expressions of users, advertisements or commodities for a recommendation system or an advertisement system. In the pre-training manner of the graph neural network, the relationship between the user, the advertisement and the commodity is fully learned and mined; in the contrast learning manner, more stable and robust feature expressions are obtained, and the feature expressions correspond to the first node features or the second node features in other embodiments. The feature expressions obtained by pre-training on a large-scale heterogeneous graph can be used in various links of the recommendation system, including user-to-item (U2I) recall, user-to-item-to-item (U2I2I) recall, click rate, conversion rate prediction and the like.

[0247] The embodiment of the present application can control the quality of the learned feature expressions by increasing the self-supervised loss and the contrast learning, that is, the learned feature expressions have high effectiveness and high accuracy; and the learned feature expressions have more robustness and generalization and are more stable through the self-supervised contrast learning.

[0248] The embodiment of the present application can be applied to various modules of the advertisement system and the recommendation system, such as pre-training learning for U2I or U2I2I recall, click rate and conversion rate prediction, so that the learned expressions are used as features.

[0249] FIG. 9 is a schematic diagram of an implementation framework of a network structure provided by the embodiment of the present application. First, a “user-commodity-advertisement” heterogeneous graph G 901 is constructed according to data, which can be referred to as an original graph G; then, two sampled subgraphs G1 902 and G2 903 are obtained by random walk based on the original graph G, that is, the subgraphs G1 902 and G2 903 are obtained by graph sampling; the graph attention network 904 is applied to the three graphs respectively to perform feature propagation and update; the edge prediction task is trained on the two sampled subgraphs G1 902 and G2 903 respectively, and update losses 905 and 906 are obtained; in addition, the subgraphs G1 902 and G2 903 are respectively subjected to contrast learning with the original graph G, and contrast loss values 907 and 908 are obtained. The original graph G corresponds to the training sample graph in other embodiments, and the subgraphs G1 and G2 correspond to the training subgraphs in other embodiments. Finally, the node features of the original graph G are used as the final feature expressions, and the node features of the original graph G correspond to the first node features in other embodiments.

[0250] In some embodiments, the method provided by the embodiment of the present application includes graph construction, graph update and loss function determination.

[0251] The construction of the graph includes the construction of the original graph G and the construction of the subgraph. First, a "user-goods-advertisement" heterogeneous graph is constructed according to the data. The behaviors of the user on the goods in the data, such as the user having placed an order on the goods, are mined as edges between the user and the goods; the goods associated with the content of the advertisement are edges between the advertisement and the goods. The initialized feature values of the user, goods and advertisement nodes can be random or obtained by splicing corresponding features, wherein the initialized feature values correspond to the first initial feature in other embodiments.

[0252] After obtaining the original graph G (that is, obtaining the heterogeneous graph G), two random walks are performed on the graph to obtain the sampled subgraph G1 and the subgraph G2, wherein the subgraph G1 and the subgraph G2 are subgraphs of the original graph G.

[0253] The updating process of the graph is illustrated by taking GAT as an example in the embodiment of the application. The original graph G and the sampled subgraph G1 and the subgraph G2 are updated by the GAT network respectively. The GAT introduces a self-attention mechanism in the propagation process, and the hidden state of each node is calculated by paying attention to its neighbor nodes. The GAT is realized by stacking simple graph attention layers. The attention coefficient calculation method of each attention layer is shown in formula (3):

[0254] In formula (3), α ij is the attention coefficient of node j to node i; N i represents the neighbor nodes of node i; the node input feature (the feature before updating) is h={h1, h2,..., h N}, h i ∈R F , wherein N represents the number of nodes, F represents the feature dimension; W∈R F′×F is a linear transformation weight matrix applied on each node; a∈R 2F′ is a weight vector that can map the input feature to a real number R; finally, the softmax is used for normalization, and the LeakyReLU is added to provide nonlinearity, wherein the slope of the negative input is 0.2.

[0255] In the embodiment of the application, the output of the node feature (the feature after updating) can be denoted as h′={h′1, h′2,..., h′ N}, h′ i ∈R F′ , and the updated node feature can be obtained by formula (4) as follows:

[0256] In formula (4), α ijis obtained by the above formula (3).

[0257] In some embodiments, considering that multi-head attention can stabilize the learning process, each attention layer utilizes multi-head attention, applies K independent attention mechanisms to calculate the hidden state, and then concatenates the features to obtain the updated node feature. The output representation is shown in formula (5). The updated node feature can also be obtained by calculating the average value, and the output representation is shown in formula (6).

[0258] In formula (5), is the normalized attention coefficient of the kth attention head, K represents the number of attention heads, W k is the linear transformation weight matrix of the kth attention head, and || represents the splicing operation.

[0259] In formula (6), is the normalized attention coefficient of the kth attention head, K represents the number of attention heads, W k is the linear transformation weight matrix of the kth attention head.

[0260] The embodiments of the present application do not limit the model type and topological structure of the prediction network. The above GAT can be replaced by other model structures, for example, other model structures can be GCN, GraphSage, etc., that is, graph representation updating can also be performed by using GCN and GraphSage. In some embodiments, the features can be directly calculated by a multi-layer perceptron (MLP) to calculate the final target such as click rate, to realize end-to-end updating of the network. In addition, according to the actual application, the limitation of the memory occupation of the model and the requirement for detection accuracy, the network topological structure exemplified in the algorithm can be expanded or simplified.

[0261] In the embodiments of the present application, the total loss function is composed of four parts, which are the edge prediction loss function of the sampled subgraph G1, the edge prediction loss function of the sampled subgraph G2, the contrast learning loss function of the sampled subgraph G1 and the original graph G, and the contrast learning loss function of the sampled subgraph G2 and the original graph G.

[0262] In some embodiments, the edge prediction loss function of the sampled subgraph G1 is shown in formula (7):

[0263] In formula (7), is the score of the connection possibility between node u and node v, P n (v) is an arbitrary noise distribution, is the score of the connection possibility between node u and node vi A score indicating the likelihood of connections between them. It can be obtained through the following formula (8):

[0264] In formula (8), This represents the vector feature representation of node u obtained by updating it through multiple layers of graph neural networks (GNNs). This is the vector feature representation of node v obtained by updating it through multiple graph neural network (GNN) layers.

[0265] In some embodiments, similar to the edge prediction loss function of the sampled subgraph G1, the edge prediction loss function of the sampled subgraph G2 is as shown in Equation (9):

[0266] In formula (9), the meaning of the parameters can be referred to the meaning of the parameters in formula (7) above. The difference is that formula (9) is for the nodes in subgraph G2, while formula (7) is for the nodes in subgraph G1.

[0267] In some embodiments, the contrastive learning loss function between the sampled sub-graph G1 and the original graph G is shown in Equation (10):

[0268] In formula (10), This represents the feature representation of the i-th node in the original graph G. To sample the feature representation of the same i-th node in subgraph G1, if the i-th node does not exist in subgraph G1, then 0, τ is the temperature coefficient, and N is the number of nodes in subgraph G1; 1 [k≠i] This means that the value is 1 when k≠i, and 0 otherwise. The above formula (10) can shorten the distance between consistent representations of nodes and widen the distance between other representations.

[0269] In some embodiments, similar to the contrastive learning loss function for sampled sub-image G1 and original image G, the contrastive learning loss function for sampled sub-image G2 and original image G is shown in Equation (11):

[0270] In formula (11), the meaning of the parameters can be referred to the meaning of the parameters in formula (10) above. The difference is that formula (11) is for the nodes in subgraph G2 and original graph G, while formula (10) is for the nodes in subgraph G1 and original graph G.

[0271] In some embodiments, the total loss function is as shown in formula (12): L=λ1L edge _ G1 +λ2L edge _ G2+ λ3L InfoNCE G1 + λ4L InfoNCE G2 Equation (12);

[0272] In Equation (12), L represents a total loss function, L edge G1 represents an edge prediction loss function of the subgraph G1, L edge G2 represents an edge prediction loss function of the subgraph G2, L InfoNCE G1 represents a contrastive learning loss function of the subgraph G1 and the original graph G, L InfoNCE G2 represents a contrastive learning loss function of the subgraph G2 and the original graph G, λ1, λ2, λ3 and λ4 are preset hyperparameters. Exemplarily, λ1, λ2, λ3 and λ4 can all take 1.

[0273] The method provided in the embodiments of the present application can be widely applied in various modules of an advertising and recommendation system.

[0274] In the recall, the obtained feature expression of the user, the feature expression of the commodity and the feature expression of the advertisement can be used to directly perform dot product on the feature expression of the user and the feature expression of the advertisement, to perform U2I recall; or the feature expression of the user and the feature expression of the commodity can be first performed dot product to obtain the commodity interested by the user, and then the feature expression of the commodity interested and the feature expression of the advertisement are performed dot product to obtain the related advertisement, to perform U2I2I recall.

[0275] In the prediction of the click rate, the conversion rate and the like, the obtained feature expression of the user, the feature expression of the commodity and the feature expression of the advertisement can be input into a network as dense features for learning, or can be explicitly expressed as the distance between the user and the commodity or the distance between the user and the advertisement for input into the network for learning.

[0276] It can be understood that in the embodiments of the present application, the first object data, the to-be-recommended information, the training sample graph, the training subgraph, the second object data, the training recommendation information and the like are related data, and the collection, use and processing of the related data need to comply with relevant laws, regulations and standards.

[0277] The following continues to describe an exemplary structure of the information recommendation apparatus 455 provided in the embodiments of the present application, which is implemented as a software module. In some embodiments, as shown in FIG. 3, the software module stored in the information recommendation apparatus 455 in the memory 450 can include:

[0278] ​​​​​​The first obtaining module 4551 is configured to obtain first object data of a plurality of to-be-recommended objects and a plurality of to-be-recommended information; the first feature extraction module 4552 is configured to perform feature extraction on the first object data and the to-be-recommended information respectively by using a trained feature extraction model, and correspondingly obtain object features and information features; the trained feature extraction model is obtained by training a to-be-trained feature extraction model based on a plurality of training sample graphs and at least one training subgraph corresponding to each of the training sample graphs, and the training subgraph is obtained by graph sampling on the training sample graph; the first determining module 4553 is configured to determine, based on a plurality of the object features and a plurality of the information features, target to-be-recommended information matched to each of the to-be-recommended objects; and the sending module 4554 is configured to send, to a terminal of each of the to-be-recommended objects, corresponding target to-be-recommended information.

[0279] In some embodiments, the first determining module 4553 is further configured to, for each of the to-be-recommended objects, determine, based on the object feature of the to-be-recommended object and each of the information features, a target similarity between the to-be-recommended object and each of the to-be-recommended information; determine, based on each of the target similarities, a highest similarity; and determine, as the target to-be-recommended information matched to the to-be-recommended object, to-be-recommended information corresponding to the highest similarity.

[0280] In some embodiments, when the plurality of to-be-recommended information includes at least one to-be-recommended entity information and at least one to-be-recommended display information, the information feature is an entity feature or a display feature, the target similarity is a first similarity between the to-be-recommended object and the to-be-recommended entity information or a second similarity between the to-be-recommended object and the to-be-recommended display information, the first determining module 4553 is further configured to determine, based on the object feature and each of the entity features, the first similarity between the to-be-recommended object and each of the to-be-recommended entity information; determine, based on each of the first similarities, a target to-be-recommended entity matched to the to-be-recommended object; and perform dot product processing on the entity feature of the target recommended entity and each of the to-be-recommended display information features respectively, to obtain the second similarity between the to-be-recommended object and each of the to-be-recommended display information; and the first determining module 4553 is further configured to determine, as the highest similarity, a maximum value in the second similarities.

[0281] In some embodiments, when the plurality of to-be-recommended information are all to-be-recommended display information, the first determining module 4553 is further configured to perform dot product processing on the object feature and each of the information features respectively, to obtain the target similarity between the to-be-recommended object and each of the to-be-recommended information; and the first determining module 4553 is further configured to determine, as the highest similarity, a maximum value in the target similarities.

[0282] In some embodiments, the software modules in the information recommendation apparatus 455 can further include a second acquisition module configured to acquire a plurality of training sample graphs, at least one training subgraph corresponding to each training sample graph, and a feature extraction model to be trained, wherein each of the training sample graphs includes a plurality of graph nodes, and each of the training subgraphs includes a plurality of subgraph nodes; a second feature extraction module configured to determine a first node feature of each of the graph nodes in the training sample graph by using the feature extraction model to be trained; for each of the training subgraphs corresponding to the training sample graph, determine a second node feature of each of the subgraph nodes in the training subgraph; a second determination module configured to determine a total loss value based on each of the first node features and each of the second node features; and an adjustment module configured to perform parameter adjustment on the feature extraction model to be trained based on the total loss value until a model training end condition is reached, to obtain a trained feature extraction model.

[0283] The software modules in the information recommendation apparatus 455 can further include a third acquisition module configured to acquire second object data of a plurality of training objects and a plurality of training recommendation information; a third determination module configured to determine each training object and each training recommendation information as a graph node; a construction module configured to construct a connection edge between the graph nodes based on the plurality of second object data, to obtain the training sample graph; and a sampling module configured to perform at least one graph sampling process on the training sample graph, to obtain at least one training subgraph corresponding to the training sample graph.

[0284] In some embodiments, the second feature extraction module is further configured to perform feature extraction on the training sample graph by using the feature extraction model to be trained, to obtain a first initial feature of each of the graph nodes in the training sample graph; and perform feature updating on the first initial feature of each of the graph nodes, to obtain the first node feature of each of the graph nodes.

[0285] In some embodiments, the second feature extraction module is further configured to, for each of the graph nodes, acquire a neighbor node of the graph node from the training sample graph; and perform fusion processing on the first initial feature of the graph node and the first initial feature of the neighbor node, to obtain the first node feature of the graph node.

[0286] In some embodiments, the second feature extraction module is further configured to generate, by using the to-be-trained feature extraction model, first initial features of each of the graph nodes in the training sample graph based on a preset dimension in a random manner; or, when the second object data comprises object data of at least two dimensions, perform feature extraction on object data of different dimensions respectively by using the to-be-trained feature extraction model to obtain dimension object features of different dimensions; splice each of the dimension object features to obtain first initial features of the graph nodes corresponding to the training objects; when the training recommendation information comprises recommendation information of at least two dimensions, perform feature extraction on recommendation information of different dimensions respectively by using the to-be-trained feature extraction model to obtain dimension information features of different dimensions; and splice each of the dimension information features to obtain first initial features of the graph nodes corresponding to the training recommendation information.

[0287] In some embodiments, the second feature extraction module is further configured to determine, as second initial features of the subgraph nodes, the first initial features of the graph nodes in the training sample graph corresponding to the subgraph nodes in the training subgraph; and perform feature updating on the second initial features of each of the subgraph nodes to obtain second node features of each of the subgraph nodes.

[0288] In some embodiments, the second determination module is further configured to determine, for each training subgraph, an update loss value of the training subgraph based on each of the second node features; determine a contrast loss value based on each of the first node features and each of the second node features; and perform weighted processing on each of the update loss values and each of the contrast loss values to obtain the total loss value.

[0289] In some embodiments, the second determination module is further configured to determine, based on a second node feature of an u-th subgraph node and a second node feature of a v-th subgraph node, a first connection score between the u-th subgraph node and the v-th subgraph node, u = 1, 2, …, N, v = 1, 2, …, N, u is not equal to v, and N is a total number of subgraph nodes included in the training subgraph; obtain k noise distributions, determine, based on the second node feature of the u-th node and the noise distributions, a second connection score between the u-th node and a noise node; and determine the update loss value based on the first connection score and the second connection score.

[0290] In some embodiments, the second determination module is further configured to sample, based on the noise distributions, each of the subgraph nodes included in the training subgraph to obtain noise nodes corresponding to the noise distributions; and determine, based on a second node feature of the u-th node and a second node feature of the noise node, a second connection score between the u-th node and the noise node.

[0291] In some embodiments, the second determining module is further configured to: determine a third similarity between the i-th graph node and the i-th subgraph node based on the first node feature of the i-th graph node and the second node feature of the i-th subgraph node, i = 1, 2, …, M, M being a total number of graph nodes included in the training sample graph; determine a fourth similarity between the i-th graph node and the k-th subgraph node based on the first node feature of the i-th graph node and the second node feature of the k-th subgraph node, i = 1, 2, …, M, k = 1, 2, …, N, k not equal to i; and determine the contrast loss value based on the third similarity and the fourth similarity.

[0292] The embodiment of the present application provides a computer program product or a computer program, which comprises computer executable instructions stored in a computer readable storage medium. A processor of a computer device reads the computer executable instructions from the computer readable storage medium, and the processor executes the computer executable instructions, so that the computer device executes the information recommendation method provided in the embodiment of the present application.

[0293] The embodiment of the present application provides a computer readable storage medium storing computer executable instructions, wherein the computer executable instructions stored in the computer readable storage medium cause a processor to execute the information recommendation method provided in the embodiment of the present application, for example, the information recommendation method shown in FIG. 4.

[0294] In some embodiments, the computer readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disc, or CD-ROM, and the like; or can be various devices including one or any combination of the above memories.

[0295] In some embodiments, the computer executable instructions can be in the form of a program, software, software module, script or code, written in any form of programming language (including a compiled or interpreted language, or a declarative or procedural language), and can be deployed in any form, including being deployed as a standalone program or being deployed as a module, component, subroutine or other unit suitable for use in a computing environment.

[0296] As an example, the computer executable instructions can but not necessarily correspond to a file in a file system, can be stored in a part of a file storing 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 cooperative files (for example, files storing one or more modules, subprograms or code portions).

[0297] By way of example, computer-executable instructions can be deployed to be executed on one computer or on multiple computers of one site or distributed across multiple sites and

[0298] The above merely provides illustration of the embodiment of the present application, but is not intended to limit the protection scope of the present application. Any modification, equivalent replacement and improvement made within the spirit and range of the present application shall be included in the protection scope of the present application.

Claims

1. An information recommendation method applied to a computer device, the method comprising: obtaining first object data of a plurality of to-be-recommended objects and a plurality of to-be-recommended information; performing feature extraction on the first object data and the to-be-recommended information respectively by using a trained feature extraction model, to obtain object features and information features respectively; the trained feature extraction model is obtained by training a to-be-trained feature extraction model based on a plurality of training sample graphs and at least one training subgraph corresponding to each of the training sample graphs, the training subgraph being obtained by graph sampling on the training sample graph; determining target to-be-recommended information matched to each of the to-be-recommended objects based on the plurality of object features and the plurality of information features; sending the corresponding target to-be-recommended information to a terminal of each of the to-be-recommended objects.

2. The method of claim 1, wherein, The determining of the target to-be-recommended information matched to each of the to-be-recommended objects based on the plurality of object features and the plurality of information features comprises: for each of the to-be-recommended objects, determining a target similarity between the to-be-recommended object and each of the to-be-recommended information based on the object feature of the to-be-recommended object and each of the information features; determining a highest similarity based on the target similarity; determining the to-be-recommended information corresponding to the highest similarity as the target to-be-recommended information matched to the to-be-recommended object.

3. The method of claim 2, wherein, When the plurality of to-be-recommended information comprises at least one to-be-recommended entity information and at least one to-be-recommended display information, the information features are entity features or display features, the target similarity is a first similarity between the to-be-recommended object and the to-be-recommended entity information or a second similarity between the to-be-recommended object and the to-be-recommended display information, and the determining of the target similarity between the to-be-recommended object and each of the to-be-recommended information based on the object feature of the to-be-recommended object and each of the information features comprises: determining the first similarity between the to-be-recommended object and each of the to-be-recommended entity information based on the object feature and each of the entity features; determining a target to-be-recommended entity matched to the to-be-recommended object based on each of the first similarities; determining the second similarity between the to-be-recommended object and each of the to-be-recommended display information based on the entity feature of the target to-be-recommended entity and the display feature of each of the to-be-recommended display information; the determining of the highest similarity based on the target similarity comprises determining a maximum value in the second similarities as the highest similarity.

4. The method of claim 2, wherein, When the plurality of to-be-recommended information are all to-be-recommended display information, the determining of the target similarity between the to-be-recommended object and each of the to-be-recommended information based on the object feature of the to-be-recommended object and each of the information features comprises: performing dot product processing on the object feature and each of the information features respectively to obtain the target similarity between the to-be-recommended object and each of the to-be-recommended information; the determining of the highest similarity based on the target similarity comprises determining a maximum value in the target similarities as the highest similarity.

5. The method according to any one of claims 1 to 4, wherein, Before the feature extraction is performed on the first object data and the information to be recommended by using the trained feature extraction model, the method further comprises: The trained feature extraction model is obtained by the following steps: obtaining a plurality of training sample graphs, at least one training subgraph corresponding to each training sample graph, and a feature extraction model to be trained, wherein the training sample graph comprises a plurality of graph nodes, and the training subgraph comprises a plurality of subgraph nodes; for each training sample graph, determining a first node feature of each graph node in the training sample graph by using the feature extraction model to be trained; for each training subgraph corresponding to the training sample graph, determining a second node feature of each subgraph node in the training subgraph; based on each first node feature and each second node feature, determining a total loss value; based on the total loss value, adjusting the parameters of the feature extraction model to be trained until a model training end condition is reached, to obtain the trained feature extraction model.

6. The method of claim 5, wherein, The method further comprises: obtaining second object data of a plurality of training objects and a plurality of training recommendation information; determining each training object and each training recommendation information as a graph node; based on a plurality of the second object data, constructing a connection edge between the graph nodes to obtain the training sample graph; performing at least one graph sampling processing on the training sample graph to obtain at least one training subgraph corresponding to the training sample graph.

7. The method of claim 6, wherein, The determination of the first node feature of each graph node in the training sample graph by using the feature extraction model to be trained comprises: performing feature extraction on the training sample graph by using the feature extraction model to be trained to obtain a first initial feature of each graph node in the training sample graph; updating the first initial feature of each graph node to obtain the first node feature of each graph node.

8. The method of claim 7, wherein, The updating of the first initial feature of each graph node to obtain the first node feature of each graph node comprises: for each graph node, obtaining neighbor nodes of the graph node from the training sample graph; performing fusion processing on the first initial feature of the graph node and the first initial feature of the neighbor nodes to obtain the first node feature of the graph node.

9. The method of claim 7, wherein, The feature extraction on the training sample graph by using the feature extraction model to be trained to obtain the first initial feature of each graph node in the training sample graph comprises: generating the first initial feature of each graph node in the training sample graph based on a preset dimension in a random manner by using the feature extraction model to be trained; or when the second object data comprises object data of at least two dimensions, performing feature extraction on object data of different dimensions by using the feature extraction model to be trained to obtain dimension object features of different dimensions; and splicing each dimension object feature to obtain the first initial feature of the graph node corresponding to the training object; When the training recommendation information comprises recommendation information of at least two dimensions, different dimensions of the recommendation information are subjected to feature extraction by using the to-be-trained feature extraction model, to obtain dimension information features of different dimensions.

10. The method of claim 7, wherein, The determination of the second node feature of each subgraph node in the training subgraph comprises: The first initial feature of the graph node corresponding to the subgraph node in the training subgraph in the training sample graph is determined as the second initial feature of the subgraph node. The second node feature of each subgraph node is obtained by performing feature updating on the second initial feature of each subgraph node.

11. The method of claim 5, wherein, The determination of the total loss value based on each first node feature and each second node feature comprises: For each training subgraph, the update loss value of the training subgraph is determined based on each second node feature. The contrast loss value is determined based on each first node feature and each second node feature. Each update loss value and each contrast loss value are subjected to weighted processing to obtain the total loss value.

12. The method of claim 11, wherein, The determination of the update loss value of the training subgraph based on each second node feature comprises: The first connection score between the u-th subgraph node and the v-th subgraph node is determined based on the second node feature of the u-th subgraph node and the second node feature of the v-th subgraph node, u=1, 2, …, N, v=1, 2, …, N, u≠v, and N is the total number of subgraph nodes included in the training subgraph. The second connection score between the u-th node and a noise node is determined based on the second node feature of the u-th node and the noise distribution. The update loss value is determined based on the first connection score and the second connection score.

13. The method of claim 12, wherein, The determination of the second connection score between the u-th node and a noise based on the second node feature of the u-th node and the noise distribution comprises: Each subgraph node included in the training subgraph is sampled based on the noise distribution to obtain a noise node corresponding to the noise distribution. The second connection score between the u-th node and the noise node is determined based on the second node feature of the u-th node and the second node feature of the noise node.

14. The method of claim 11, wherein, The determination of the contrast loss value based on each first node feature and each second node feature comprises: The third similarity between the i-th graph node and the i-th subgraph node is determined based on the first node feature of the i-th graph node and the second node feature of the i-th subgraph node, i=1, 2, …, M, and M is the total number of graph nodes included in the training sample graph. The fourth similarity between the i-th graph node and the k-th subgraph node is determined based on the first node feature of the i-th graph node and the second node feature of the k-th subgraph node, i=1, 2, …, M, and k=1, 2, …, N, k≠i. The contrast loss value is determined based on the third similarity and the fourth similarity.

15. An information recommendation device, the device comprising: The first obtaining module is configured to obtain first object data of a plurality of to-be-recommended objects and a plurality of to-be-recommended information; The first feature extraction module is configured to perform feature extraction on the first object data and the to-be-recommended information respectively by using a trained feature extraction model, and obtain object features and information features correspondingly; The trained feature extraction model is obtained by training a to-be-trained feature extraction model based on a plurality of training sample graphs and at least one training subgraph corresponding to each training sample graph, and the training subgraph is obtained by graph sampling on the training sample graph; The first determining module is configured to determine target to-be-recommended information matched with each to-be-recommended object based on a plurality of object features and a plurality of information features; The sending module is configured to send corresponding target to-be-recommended information to a terminal of each to-be-recommended object.

16. A computer device, comprising: a memory configured to store computer executable instructions; a processor configured to execute the computer executable instructions stored in the memory to implement the information recommendation method in any one of claims 1 to 14.

17. A computer readable storage medium storing computer executable instructions, which, when executed by a processor, implement the information recommendation method in any one of claims 1 to 14.

18. A computer program product comprising a computer program or computer executable instructions, which, when executed by a processor, implement the information recommendation method in any one of claims 1 to 14.

Citation Information

Patent Citations

  • Recommendation model training method and device and recommendation method and device

    CN114491263A

  • Heterogeneous graph neural network recommendation method, device and equipment

    CN117391816A

  • Knowledge graph recommendation method based on comparative learning and view mining

    CN117668254A

  • Social recommendation method based on multi-feature heterogeneous graph neural networks

    US20220414792A1