Object representation methods, apparatus, devices, storage media, and computer program products
By constructing an object relationship topology graph and mining node similarity using multiple object information sources, the problem of insufficient accuracy in object representation vectors is solved, thereby improving the accuracy of object representation and business processing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT DIGITAL TIANJIN
- Filing Date
- 2021-10-28
- Publication Date
- 2026-06-02
AI Technical Summary
The accuracy of object representation vectors in existing technologies is insufficient, which affects the accuracy of business processing.
By obtaining the topological graph of object relationships, we can mine node similarity using multiple object information sources, construct a similarity matrix, and perform representation processing based on the similarity matrix to obtain node representation vectors, which serve as object representation vectors.
It improves the accuracy of object representation and enhances the accuracy of business processing.
Smart Images

Figure CN116049566B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of Internet technology, specifically to the field of computer technology, and in particular to an object representation method, apparatus, device, storage medium, and computer program product. Background Technology
[0002] Currently, in most business scenarios, it is typically necessary to first generate object representation vectors to represent relevant objects, and then perform related business processing based on these object representation vectors. For example, in a friend recommendation scenario, it is usually necessary to first generate user representation vectors to represent relevant users, and then perform friend recommendation processing based on these user representation vectors; similarly, in an image retrieval scenario, it is usually necessary to first generate image representation vectors to represent relevant images, and then perform image retrieval processing based on these image representation vectors. It is evident that the accuracy of object representation is closely related to the accuracy of business processing; therefore, how to improve the accuracy of object representation by generating object representation vectors has become a research hotspot. Summary of the Invention
[0003] This application provides an object representation method, apparatus, device, storage medium, and computer program product, which can effectively improve the accuracy of object representation.
[0004] On the one hand, embodiments of this application provide an object representation method, the method comprising:
[0005] Obtain an object relationship topology graph, which includes multiple nodes and multiple edges; a node represents an object, and the nodes corresponding to two objects that have an association relationship are connected by at least one edge;
[0006] By utilizing multiple object information sources, the similarity between connected nodes in the object relationship topology graph is mined to obtain a similarity matrix;
[0007] Based on the similarity matrix, each node in the object relationship topology graph is characterized to obtain the node representation vector of each node.
[0008] The node representation vector of each node is used as the object representation vector of the corresponding object, and the object is represented based on the object representation vector of each object.
[0009] On the other hand, embodiments of this application provide an object representation apparatus, the apparatus comprising:
[0010] The acquisition unit is used to acquire an object relationship topology graph, which includes multiple nodes and multiple edges; a node represents an object, and the nodes corresponding to two objects that have an association relationship are connected by at least one edge;
[0011] The processing unit is used to mine the node similarity between connected nodes in the object relationship topology graph by utilizing multiple object information sources, and obtain a similarity matrix;
[0012] The processing unit is further configured to perform characterization processing on each node in the object relationship topology graph based on the similarity matrix, and obtain the node characterization vector of each node.
[0013] The processing unit is further configured to use the node representation vector of each node as the object representation vector of the corresponding object, and to perform object representation based on the object representation vector of each object.
[0014] In one implementation, one object information source corresponds to one information dimension; correspondingly, when the processing unit utilizes multiple object information sources to mine the node similarity between connected nodes in the object relationship topology graph and obtain a similarity matrix, it can specifically be used for:
[0015] Traverse each node in the object relationship topology graph;
[0016] The currently traversed node is designated as the first node, and the nodes connected to the first node in the object relationship topology graph are designated as the second nodes; wherein, the object represented by the first node is the first object, and the object represented by the second node is the second object;
[0017] Using each of the multiple object information sources, determine the object matching degree between the first object and the second object in the corresponding information dimension;
[0018] The object matching degree of the first object and the second object under each information dimension is linearly fused to obtain the node similarity between the first node and the second node.
[0019] After all nodes in the object relationship topology graph have been traversed, a similarity matrix is constructed using the obtained similarity of each node.
[0020] In another embodiment, the plurality of object information sources include the object relationship topology graph, wherein each edge in the object relationship topology graph is a directed edge, and the object represented by the end node of any directed edge is regarded as the associated object of the object represented by the start node of any directed edge.
[0021] When the processing unit determines the object matching degree between the first object and the second object in the corresponding information dimension using each of the plurality of object information sources, it may specifically be used to:
[0022] Based on the connection status of the first node indicated by the object relationship topology graph, the first set of associated objects of the first object is determined;
[0023] Based on the connection status of the second node indicated by the object relationship topology graph, the second set of associated objects of the second object is determined;
[0024] Based on the overlap between the first set of associated objects and the second set of associated objects, the topological similarity between the first object and the second object is determined; and the topological similarity is determined as the object matching degree between the first object and the second object in the dimension of topological graph information.
[0025] In another embodiment, the plurality of object information sources includes an interaction behavior information set, which includes one or more interaction behavior data of each object represented by the object relationship topology graph.
[0026] When the processing unit determines the object matching degree between the first object and the second object in the corresponding information dimension using each of the plurality of object information sources, it may specifically be used to:
[0027] Based on the interactive behavior information set, the total number of first interactive behaviors of the first object and the number of first interactive behaviors of the first object towards the second object are calculated.
[0028] Based on the interactive behavior information set, the total number of second interactive behaviors of the second object and the number of second interactive behaviors of the second object towards the first object are calculated.
[0029] The interaction density between the first object and the second object is determined based on the number of the first interaction behavior, the number of the second interaction behavior, the total number of the first interaction behavior, and the total number of the second interaction behavior.
[0030] The interaction tightness is defined as the object matching degree between the first object and the second object in the dimension of interaction behavior information.
[0031] In another embodiment, the plurality of object information sources include a behavior pipeline set, which includes one or more historical behavior pipelines of each object represented by the object relationship topology graph, wherein a historical behavior pipeline is data generated based on an activity behavior historically executed by the object;
[0032] When the processing unit determines the object matching degree between the first object and the second object in the corresponding information dimension using each of the plurality of object information sources, it may specifically be used to:
[0033] Determine one or more preset preference tags;
[0034] Multiple first historical behavior streams of the first object are filtered from the behavior stream set, and the first preference representation information of the first object is determined based on the matching between each preference tag and the multiple first historical behavior streams.
[0035] Multiple second historical behavior streams of the second object are filtered from the behavior stream set, and the second preference representation information of the second object is determined based on the matching between each preference tag and the multiple second historical behavior streams.
[0036] Based on the difference between the first preference representation information and the second preference representation information, the preference similarity between the first object and the second object is calculated; and the preference similarity is determined as the object matching degree between the first object and the second object in the behavioral flow information dimension.
[0037] In another aspect, embodiments of this application provide a computer device, the computer device including an input interface and an output interface, the computer device further including:
[0038] A processor, adapted to implement one or more instructions; and,
[0039] A computer storage medium storing one or more instructions adapted for loading by the processor and executing the following steps:
[0040] Obtain an object relationship topology graph, which includes multiple nodes and multiple edges; a node represents an object, and the nodes corresponding to two objects that have an association relationship are connected by at least one edge;
[0041] By utilizing multiple object information sources, the similarity between connected nodes in the object relationship topology graph is mined to obtain a similarity matrix;
[0042] Based on the similarity matrix, each node in the object relationship topology graph is characterized to obtain the node representation vector of each node.
[0043] The node representation vector of each node is used as the object representation vector of the corresponding object, and the object is represented based on the object representation vector of each object.
[0044] In another aspect, embodiments of this application provide a computer storage medium storing one or more instructions, which are adapted to be loaded by a processor and executed using the object representation method described above.
[0045] In another aspect, embodiments of this application provide a computer program product, which includes a computer program; when the computer program is executed by a processor, it implements the object representation method mentioned above.
[0046] This application embodiment first obtains an object relationship topology graph, which includes multiple nodes and multiple edges; a node represents an object, and nodes corresponding to two objects with an association relationship are connected by at least one edge. Secondly, multiple object information sources can be used to mine the node similarity between connected nodes in the object relationship topology graph. This allows for node similarity mining by fully learning from multiple object information sources, as well as the rich structural information and node attribute information inherent in the object relationship topology graph itself, effectively improving the accuracy of the similarity matrix. Then, the information contained in the similarity matrix can be integrated into the representation process of each node in the object relationship topology graph. This allows the representation of each node to refer to the relevant node similarities contained in the similarity matrix, effectively improving the representational power and accuracy of the node representation vectors, thereby improving the object representation vectors of the corresponding objects, i.e., improving the accuracy of object representation. Attached Figure Description
[0047] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0048] Figure 1a This is an interactive diagram illustrating the joint execution of an object representation method by a terminal and a server, as provided in an embodiment of this application.
[0049] Figure 1b This is an interactive diagram illustrating another method for jointly executing an object representation by a terminal and a server, as provided in an embodiment of this application.
[0050] Figure 2 This is a flowchart illustrating an object representation method provided in an embodiment of this application;
[0051] Figure 3 This is a schematic diagram of the structure of an object relationship topology graph provided in an embodiment of this application;
[0052] Figure 4 This is a flowchart illustrating an object representation method provided in another embodiment of this application;
[0053] Figure 5a This is a schematic diagram of a process for calculating preference similarity provided in an embodiment of this application;
[0054] Figure 5b This is a schematic diagram illustrating the generation of a sequence of K nodes based on an object relationship topology graph, as provided in an embodiment of this application.
[0055] Figure 6a This is a schematic diagram of a process for vector representation of a user provided in an embodiment of this application;
[0056] Figure 6b This is a schematic diagram of a friend recommendation process provided in an embodiment of this application;
[0057] Figure 6c This is a schematic diagram illustrating the display of friend recommendation results provided in an embodiment of this application;
[0058] Figure 7 This is a schematic diagram of the structure of an object representation device provided in an embodiment of this application;
[0059] Figure 8 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0060] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0061] This application proposes an object representation method to improve the accuracy of object representation. Specifically, the general principle of this object representation method is as follows: First, an object relationship topology graph constructed based on objects and their relationships can be obtained, where each node in the topology graph represents an object. Second, the structural information of the object relationship topology graph, the attribute information of the nodes themselves, and multiple object information sources can be considered simultaneously. The similarity of each object across multiple information dimensions is extracted from the nodes themselves and between nodes. By fusing the similarity of each object across multiple information dimensions, a more accurate similarity matrix between nodes is obtained. Then, based on the more accurate similarity matrix, each node in the object relationship topology graph can be represented using graph embedding learning or other methods. This allows the similarity of related nodes contained in the similarity matrix to be referenced during the representation of each node, effectively improving the representational power and accuracy of the node representation vectors. Finally, the more accurate node representation vectors of each node can be used as the object representation vectors of the corresponding objects to achieve accurate object representation and improve the accuracy of object representation.
[0062] In practical implementation, the object representation methods mentioned above can be executed by a computer device, which can be a terminal or a server. The terminal mentioned here can include, but is not limited to, smartphones, tablets, laptops, desktop computers, smartwatches, smart TVs, smart vehicle terminals, etc.; various clients (apps) can run within the terminal, such as video playback clients, social media clients, browser clients, news feed clients, educational clients, etc. The server mentioned here can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms, etc. It should be noted that the computer device can be located either outside or inside the blockchain network; there is no limitation on this. A blockchain network is a network composed of a peer-to-peer (P2P) network and a blockchain. A blockchain refers to a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. Essentially, it is a decentralized database, a chain of data blocks (or blocks) linked together using cryptographic methods. When the computer device is located within the blockchain network, it can upload its internal data to the blockchain for storage to prevent malicious tampering, thereby improving data security. Furthermore, when the computer device executes each step of the object representation method proposed in this application embodiment, the execution results of each step are uploaded to the blockchain for storage, thus realizing the on-chain processing of the object representation method and improving the reliability of object representation.
[0063] Alternatively, the object representation method mentioned above can also be executed jointly by the terminal and the server. The terminal and server can communicate using any communication method, such as mobile communication based on fourth-generation mobile communication technology (4G), fifth-generation mobile communication technology (5G), Long Term Evolution (LTE), Worldwide Interoperability for Microwave Access (WiMAX), or computer network communication based on the TCP / IP protocol suite (TCP / IP) and User Datagram Protocol (UDP). During the joint execution of this object representation method by the terminal and server, the terminal can be responsible for constructing an object relationship topology graph based on objects and the relationships between them, and sending the constructed object relationship topology graph to the server. The server then performs subsequent similarity matrix mining and representation processing of each node based on this object relationship topology graph, such as... Figure 1a As shown. It should be understood that, Figure 1a This merely illustrates the interaction logic between the terminal and the server and is not intended to be limiting. For example, the terminal could also be responsible for constructing the object relationship topology graph and mining the similarity matrix, thereby sending the constructed object relationship topology graph and similarity matrix to the server. The server then uses this object relationship topology graph and similarity matrix to perform subsequent representation processing operations, such as... Figure 1b As shown; for example, the server can perform the construction of the object relationship topology graph, and the terminal can perform similarity matrix mining and representation processing, etc.
[0064] Based on the principle description of the above object representation method, the following will combine... Figure 2 The flowchart shown illustrates the specific implementation process of the object representation method proposed in this application embodiment. In this application embodiment, the execution of the object representation method by a computer device is mainly used as an example for explanation; please refer to [link to relevant documentation]. Figure 2 The object representation method may include the following steps S201-S204:
[0065] S201, Obtain the object relationship topology graph.
[0066] In this embodiment, the object relationship topology graph is constructed based on multiple objects and the relationships between them. "Multiple" here means at least two. Specifically, the object relationship topology graph includes multiple nodes and multiple edges; a node represents an object, and the nodes corresponding to two objects with an association relationship are connected by at least one edge. For example, if there is an association relationship between object A and object B (an association relationship arising from object B actively associating with object A), and the node representing object A is node A, and the node representing object B is node B, then node A and node B are connected by one edge. Figure 3 As shown. For example, if there are two associations between object A and object D (the association caused by object A actively associating with object D, and the association caused by object D actively associating with object A), and the node representing object D is node D, then node A and node D are connected by two edges.
[0067] The objects can include, but are not limited to, any of the following: users, animals, multimedia data (such as images, music, videos, etc.), advertising data, etc. Accordingly, when the object is a user, the relationships between objects can include user-following relationships; a follower relationship refers to the relationship formed when one user follows another user in a social application. If user A follows user B in a social application, then user A can be called a fan of user B, and user B can be called a follower of user A. When the object is an animal, the relationships between objects can include similar relationships between animals; similar relationships refer to relationships belonging to the same species. When the object is multimedia data, the relationships between objects can include similar relationships between multimedia data or multimedia co-occurrence relationships between multimedia data; multimedia co-occurrence relationships refer to relationships where they have appeared together in the same playlist. When the object is advertising data, the relationships between objects can include similar relationships between advertising data or advertising co-occurrence relationships between advertising data; advertising co-occurrence data refers to relationships where they have appeared together on the same advertising platform.
[0068] It should be understood that the above are merely illustrative examples illustrating the specific content of the relationships, and are not exhaustive. Furthermore, when the object is a user, the object relationship topology graph can also be called a user social topology graph; a user social topology graph can be understood as: in a social network, users are considered as nodes (i.e., users are represented by nodes), and the following relationships between users are considered as edges (i.e., edges are constructed based on following relationships), thus forming a topology graph. Here, social networks refer to all forms of network services centered on humans. Additionally, it should be emphasized that: when the object is a user, the user privacy-related data involved in the embodiments of this application (such as the following relationships mentioned here, and the user's interaction behavior data and activity behavior data mentioned later) are all obtained with the user's authorization (i.e., with the user's consent). The interaction behavior data of any user can be used to indicate: the interaction behavior performed by that user towards other users; such interaction behavior may include, but is not limited to: liking behavior (the behavior of expressing agreement with other users), commenting behavior (the behavior of posting comments on other users), forwarding behavior (the behavior of forwarding relevant data posted by other users), etc. Any user's activity data can be used to indicate: any user's historical social activities on social networks, such as watching a video, playing a song, downloading an image, etc.
[0069] S202, using multiple object information sources, mine the node similarity between connected nodes in the object relationship topology graph to obtain a similarity matrix.
[0070] In this embodiment, an object information source can be used to indicate the object matching degree between objects under an information dimension. Since nodes are used to represent objects, the computer device can use the object matching degree between objects to mine the node similarity between two corresponding connected nodes. Based on this, in the specific process of executing step S202, the computer device can regard the two objects represented by each pair of connected nodes in the object relationship topology graph as an object pair. For any object pair, the object matching degree of the object pair under the corresponding information dimension can be calculated using each object information source, and the object matching pairs of the object pair under each information dimension can be linearly fused to obtain the node similarity between the two connected nodes corresponding to the object pair; based on this principle, the node similarity between all connected nodes can be mined to obtain a similarity matrix.
[0071] In practical implementation, considering that the object relationship topology graph itself contains relatively rich structural information, which can be used to indicate the associations between various objects, the object relationship topology graph can be used as an object information source. In addition, other object information sources can be obtained based on the characteristics of the objects themselves. For example, for objects such as users or animals, interaction behavior information sets and behavior flow sets can also be obtained as object information sources. Specifically: ① Interaction behavior information sets can be used to indicate the interactive behaviors of various objects. For example, interaction behavior information sets about users can be used to indicate the interactive behaviors performed by each user in a social network (such as liking, commenting, and forwarding). Interaction behavior information sets about animals can be used to indicate the interactive behaviors performed by each user in their daily life or performance (such as snuggling with other animals, touching other animals, and responding to the calls of other animals). ② Behavioral log sets can be used to indicate the historical activities performed by each user. For example, a user's behavioral log set can indicate the social activities performed by each user in a social network, and an animal's behavioral log set can indicate the animal's historical animal activities (such as foraging, food storage, aggression, defense, and reproduction) during its life. Furthermore, for objects such as multimedia data or advertising data, publisher information sets and execution level information sets can also be obtained as object information sources. Specifically, the publisher information set indicates the sender of each object, and the execution level information set indicates the number of times a user action has been performed on each object. This user action could be an object download, an object sharing, an object liking, etc.
[0072] S203, based on the similarity matrix, performs characterization processing on each node in the object relationship topology graph to obtain the node characterization vector of each node.
[0073] In one specific implementation, the computer device can use a pre-trained graph processing model based on the similarity matrix to extract features from each node in the object relationship topology graph, and then perform representation processing on the corresponding nodes based on the extracted node features to obtain the node representation vector of each node.
[0074] In another specific implementation, considering that object relationship topology graphs are usually highly sparse graph structures, and that the structural data of object relationship topology graphs may grow exponentially as the number of objects increases, in order to reduce the storage and computational costs of node representation vectors, computer devices can use low-dimensional graph embedding vectors (hereinafter referred to as embedding vectors) as node representation vectors. Based on this, when executing step S203, the computer device can use graph embedding technology and based on the similarity matrix to represent each node in the object relationship topology graph, thereby obtaining the node representation vector of each node. Graph embedding technology refers to the technique of converting nodes into embedding vectors for representation. The embedding vectors may include the attribute information contained in the nodes. Specifically, graph embedding technology learns the representation of node features of each node in the topology graph by using a walk + graph embedding learning model in the topology graph, thereby learning the representation of the embedding vector of each node, realizing the mapping of each node to a low-dimensional space to represent each node in the low-dimensional space.
[0075] Based on this, when a computer device uses graph embedding technology and a similarity matrix to represent nodes in an object relationship topology graph, it can utilize the similarity of nodes in the similarity matrix to perform K weighted walks in the graph to generate K node sequences. Each weighted walk traverses all nodes in a single sequence, and K is a positive integer. A weighted walk refers to assigning edge weights to each edge in the object relationship topology graph and performing the walk while considering these weights. Then, the computer device can use the model parameters of the graph embedding model to represent each node in the topology graph, obtaining node representation vectors for each node. In this embodiment, by applying the information contained in the similarity matrix during the walk, the similarity and popularity information between nodes can be considered during the walk in the object relationship topology graph. This effectively increases the information content of the node sequences obtained from the walk, resulting in higher accuracy and enriching the information contained in the node representation vectors obtained from the node sequences, thus improving the accuracy of the node representation vectors.
[0076] S204 uses the node representation vector of each node as the object representation vector of the corresponding object.
[0077] This application embodiment first obtains an object relationship topology graph, which includes multiple nodes and multiple edges; a node represents an object, and nodes corresponding to two objects with an association relationship are connected by at least one edge. Secondly, multiple object information sources can be used to mine the node similarity between connected nodes in the object relationship topology graph. This allows for node similarity mining by fully learning from multiple object information sources, as well as the rich structural information and node attribute information inherent in the object relationship topology graph itself, effectively improving the accuracy of the similarity matrix. Then, the information contained in the similarity matrix can be integrated into the representation process of each node in the object relationship topology graph. This allows the representation of each node to refer to the relevant node similarities contained in the similarity matrix, effectively improving the representational power and accuracy of the node representation vectors, thereby improving the object representation vectors of the corresponding objects, i.e., improving the accuracy of object representation.
[0078] Based on the above Figure 2 The description of the method embodiments shown in this application further provides an object representation method. In this application embodiment, the execution of the object representation method by a computer device is still used as an example for explanation; please refer to [link to relevant documentation]. Figure 4 The object representation method may include the following steps S401-S404:
[0079] S401, Obtain the object relationship topology graph.
[0080] The object relationship topology graph includes multiple nodes and multiple edges; a node represents an object, and the nodes corresponding to two objects that have an association relationship are connected by at least one edge.
[0081] S402 utilizes multiple object information sources to mine the node similarity between connected nodes in the object relationship topology graph, and obtains a similarity matrix.
[0082] In the specific implementation process, the computer device can traverse each node in the object relationship topology graph; and take the currently traversed node as the first node, and the nodes connected to the first node in the object relationship topology graph as the second nodes; the object represented by the first node is the first object, and the object represented by the second node is the second object. Next, the computer device can use each of the multiple object information sources to determine the object matching degree of the first object and the second object under the corresponding information dimension. Then, the object matching degrees of the first object and the second object under each information dimension can be linearly fused to obtain the node similarity between the first node and the second node. After all the nodes in the object relationship topology graph have been traversed, the computer device can construct a similarity matrix using the obtained node similarities.
[0083] One specific implementation of linearly fusing the object matching degrees of the first and second objects across various information dimensions to obtain the node similarity between the first and second nodes can be: directly performing linear fusing the object matching degrees of the first and second objects across various information dimensions to obtain the node similarity between the first and second nodes. Alternatively, the weights (or fusion factor parameters) of each information dimension can be obtained, and the object matching degrees of the first and second objects across various information dimensions can be weighted and fused using the weights of each information dimension to obtain the node similarity between the first and second nodes. This node similarity can be used to represent the confidence score of interest between the first and second objects. Taking multiple object information sources, including an object relationship topology graph, an interaction behavior information set, and a behavior flow set, as an example, α represents the weight of the information dimension corresponding to the object relationship topology graph, and SocaiSim is used... ab This represents the object matching degree between the first and second objects under this information dimension; β is used to represent the weight of the information dimension corresponding to the interaction behavior information set, and ActionTrust is used. ab This represents the object matching degree between the first and second objects under this information dimension; γ is used to represent the weight of the information dimension corresponding to the behavior pipeline set, and InsterestSim is used. ab The node similarity (using result) represents the object matching degree between the first and second objects in this information dimension. ab The formula for calculating (represented) can be as follows:
[0084] result ab =α*SocailSim ab +β*ActionTrust ab +γ*InsterestlSim ab
[0085] Based on the above description, the step of determining the object matching degree of the first object and the second object under the corresponding information dimension using each of the multiple object information sources can include one or more of the following specific implementations:
[0086] (1) In one specific implementation, multiple object information sources may include an object relationship topology graph, and the information dimension corresponding to this object relationship topology graph can be called the topology graph information dimension. Since the object relationship topology graph can intuitively represent the associations between objects, and the more objects two objects are jointly associated with, the more similar the two objects are, and thus the more matched the two objects are; therefore, the computer device can determine the object matching degree between the first object and the second object based on the number of objects jointly associated with the first object and the second object. In this graph, each edge is a directed edge, and the object represented by the ending node of any directed edge is considered an associated object of the object represented by the starting node of any directed edge. For example, see the aforementioned... Figure 3 The object relationship topology diagram shown: For the directed edge connecting node A and node B, since node A is the ending node of directed edge 31 and node B is the starting node of directed edge 31, the object A represented by node A can be regarded as the associated object of object B represented by node B.
[0087] In this specific implementation, when the computer device determines the object matching degree of the first object and the second object in the corresponding information dimension using each of the multiple object information sources, it can first determine the first associated object set of the first object based on the connection status of the first node indicated by the object relationship topology graph; and determine the second associated object set of the second object based on the connection status of the second node indicated by the object relationship topology graph. Then, based on the overlap between the first associated object set and the second associated object set, the topological similarity between the first object and the second object can be determined; and this topological similarity is determined as the object matching degree of the first object and the second object in the topology graph information dimension.
[0088] Furthermore, when determining the topological similarity between a first object and a second object based on the overlap between the first and second sets of associated objects, one possible approach is to: perform intersection processing on the first and second sets of associated objects to obtain an intersection of associated objects; and perform merging processing on the first and second sets of associated objects to obtain a union of associated objects. Then, the ratio between the number of associated objects in the intersection of associated objects and the number of associated objects in the union of associated objects is determined as the topological similarity between the first and second objects, thus eliminating the bias caused by the different number of associations for different objects. Based on this, the method for determining the topological similarity can be seen in Formula 1.1 below:
[0089]
[0090] In formula 1.1 above, socaiSim abThe topological similarity is expressed as follows: 'a' represents the first object, and 'follower(a)' represents the first set of associated objects; 'b' represents the second object, and 'follower(b)' represents the second set of associated objects; '∩' represents intersection, and '∪' represents union. For example: Suppose the first set of associated objects includes objects E, R, T, and U, and the second set of associated objects includes objects E, T, and W. Then the intersection of associated objects includes two associated objects (E and T), and the union of associated objects includes five associated objects (E, R, T, U, and W). Therefore, the topological similarity is 2 / 5.
[0091] Alternatively, when determining the topological similarity between a first object and a second object based on the overlap between the first and second sets of associated objects, another implementation method used by the computer device could be: performing intersection processing on the first and second sets of associated objects to obtain an intersection of associated objects; and performing quantity balancing processing on the first number of associated objects in the first set and the second number of associated objects in the second set of associated objects to obtain a quantity balancing value. Then, the ratio between the number of associated objects included in the intersection of associated objects and the quantity balancing value is determined as the topological similarity between the first object and the second object. Further, the quantity balancing processing may include averaging the first and second numbers; or, the quantity balancing processing may include multiplying the first and second numbers and taking the square root of the multiplication result. In this case, the formula for determining the topological similarity can be found in Formula 1.2 below.
[0092]
[0093] In Formula 1.2 above, |follower(a)| represents the first quantity, and |follower(b)| represents the second quantity. For example: suppose the first set of associated objects includes 4 objects, the second set of associated objects includes 9 objects, and the intersection of the associated objects includes 2 associated objects; since the first quantity is 4 and the second quantity is 9, the quantity balance value is equal to the square root of 36 (i.e., 4 × 9), which is 6. Therefore, the topological similarity is 2 / 6. It should be noted that the above are only examples illustrating several ways to determine topological similarity, and are not exhaustive.
[0094] (2) In another specific implementation, multiple object information sources include an interaction behavior information set, the information dimension corresponding to which the interaction behavior information set can be called the interaction behavior information dimension; and the interaction behavior information set includes: one or more interaction behavior data of each object represented by the object relationship topology diagram. Since the more interaction behaviors between two objects, the closer (closer) the two objects are, and thus the more matched the two objects are; therefore, the computer device can use the proportion of interaction behaviors between the first object and the second object as a representation of the interaction closeness (or interaction closeness) between the first object and the second object, and then use the interaction closeness to reflect the object matching degree between the first object and the second object.
[0095] In this specific implementation, when the computer device uses each of the multiple object information sources to determine the object matching degree of the first object and the second object under the corresponding information dimension, it can count the total number of first interactive behaviors of the first object and the number of first interactive behaviors of the first object towards the second object based on the interactive behavior information set. Additionally, it can also count the total number of second interactive behaviors of the second object and the number of second interactive behaviors of the second object towards the first object based on the interactive behavior information set. Then, based on the number of first interactive behaviors, the number of second interactive behaviors, the total number of first interactive behaviors, and the total number of second interactive behaviors, the interaction tightness between the first object and the second object can be determined; and the interaction tightness is defined as the object matching degree of the first object and the second object under the interactive behavior information dimension. The method for determining the interaction tightness is shown in Formula 1.3 below:
[0096]
[0097] In formula 1.3 above, actionTrust ab The formula represents the interaction intimacy level; action(a, b) represents the number of first interaction behaviors, and action(a) represents the total number of first interaction behaviors; action(b, a) represents the number of second interaction behaviors, and action(b) represents the total number of second interaction behaviors. It should be noted that Formula 1.3 is merely an exemplary representation of one way to determine interaction intimacy, and is not exhaustive; for example, in other embodiments, the multiplication factor (i.e., the value 2) in the denominator of Formula 1.3 can be removed; or, in other embodiments, the denominator in Formula 1.3 can be replaced with the following formula: (action(a) + action(b)) ÷ 2, etc.
[0098] (3) In another specific implementation, multiple object information sources include a set of behavior streams, the information dimension corresponding to which the set of behavior streams can be called the behavior stream information dimension; and the set of behavior streams includes: one or more historical behavior streams of each object represented by the object relationship topology graph, where a historical behavior stream is data generated based on an activity behavior executed by an object in the past. Since the activity behavior executed by an object can reflect the object's preferences to a certain extent, and the more similar the preferences of two objects are, the more matched the two objects are; therefore, the computer device can extract preference labels based on the activity behaviors of the first object and the second object, thereby determining the object matching degree between the first object and the second object.
[0099] In this specific implementation, when the computer device uses each of the multiple object information sources to determine the object matching degree of the first object and the second object under the corresponding information dimension, it can filter out multiple first historical behavior streams of the first object from the behavior stream set and determine the category label (i.e., category tag) of each first historical behavior stream; and filter out multiple second historical behavior streams of the second object from the behavior stream set and determine the category label of each second historical behavior stream; wherein the number of first historical behavior streams and second historical behavior streams can both be n, where n is a positive integer. The label intersection-union ratio (IUU) between the category labels of the multiple first historical behavior streams and the multiple second historical behavior streams is calculated, and this IUU is used as the object matching degree between the first object and the second object. The so-called label intersection-union ratio refers to the ratio between the number of identical category labels and the total number of category labels.
[0100] Or see Figure 5a As shown: When a computer device uses each of multiple object information sources to determine the object matching degree of a first object and a second object in the corresponding information dimension, it can determine one or more preset preference tags. Additionally, multiple first historical behavior streams of the first object can be filtered from the behavior stream set, and the first preference representation information of the first object can be determined based on the matching between each preference tag and the multiple first historical behavior streams. Similarly, multiple second historical behavior streams of the second object can be filtered from the behavior stream set, and the second preference representation information of the second object can be determined based on the matching between each preference tag and the multiple second historical behavior streams. Then, based on the difference between the first preference representation information and the second preference representation information, the preference similarity between the first object and the second object is calculated; specifically, the information similarity between the first preference representation information and the second preference representation information can be calculated, and the calculated information similarity is determined as the preference similarity between the first object and the second object. After obtaining the preference similarity, the computer device can determine the preference similarity as the object matching degree of the first object and the second object in the behavior stream information dimension.
[0101] The specific process for determining the first preference information may include the following steps s11-s15:
[0102] s11, determine the category tag of each first historical behavior flow, and traverse each preference tag, taking the currently traversed preference tag as the current preference tag.
[0103] s12: From multiple first-historical behavior streams, filter out the first-historical behavior streams whose category tag matches the current preference tag. Specifically, matching the category tag and the current preference tag can include the following meanings: the category tag and the current preference tag are the same, or the category tag and the current preference tag are similar, etc.
[0104] s13, Calculate the preference degree of the first object with respect to the current preference tag based on the number of first historical behavior flows and the total number of first historical behavior flows.
[0105] Specifically, the ratio between the number of selected first historical behavior transactions and the total number of first historical behavior transactions can be determined as the preference degree of the first object regarding the current preference label. Therefore, the preference degree of the first object regarding the current preference label can be understood as the frequency of the current preference label appearing in all first historical behavior transactions of the first object. Let m represent the number of selected first historical behavior transactions, M represent the total number of first historical behavior transactions, and T represent the preference degree of the first object regarding the current preference label. This preference degree can be expressed by the following formula 1.4:
[0106]
[0107] s14, Based on the first object's preference for the current preference label, determine the importance of the current preference label to the first object.
[0108] In one specific implementation of step s14, the preference degree of the first object with respect to the current preference label can be directly determined as the importance of the current preference label to the first object. Furthermore, research has shown that object preferences may be biased; in reality, overall object preferences may exhibit a 20 / 80 distribution, which may result in the current preference label belonging to the popular preference label. Since the preference partitioning ability of popular preference labels is weak, to reduce the impact of the current preference label being a popular preference label on the accuracy of subsequent results, the computer device can also adjust the preference degree of the first object with respect to each preference label based on the contribution of the current preference label to the preference information representation of the first object, thereby obtaining the importance of the current preference label to the first object.
[0109] Accordingly, in another specific embodiment of step s14, the computer device can count the total number of objects involved in the behavior flow set and the number of targets for the target objects. The target objects satisfy the following condition: they have at least one historical behavior flow category tag that matches the current preference tag; for example, assuming the current preference tag is video, if object A has one or more historical behavior flow category tags that are also video, then object A can be considered a target object. Then, the computer device can calculate the contribution of the current preference tag to the preference representation of the first object based on the number of targets for the target objects and the total number of objects; and use the calculated contribution and the first object's preference for the current preference tag to determine the importance of the current preference tag to the first object. Specifically, the calculation formulas for contribution and importance can be found in Formulas 1.5 and 1.6 below:
[0110]
[0111] w = T × F Equation 1.6
[0112] In Formulas 1.5 and 1.6 above, F represents the contribution of the current preference label to the preference representation of the first object, D represents the total number of objects, Dm represents the target number of target objects, and w represents the importance of the current preference label to the first object. As shown in Formula 1.5, the more target objects the current preference label involves, the more likely it is to be a popular preference label. Therefore, Formula 1.5 can be used to reduce the contribution of the current preference label to the preference representation of the first object, thus reducing the importance of the current preference label to the first object.
[0113] s15 After all preference labels have been traversed, the first preference representation information of the first object is constructed by using the importance of each preference label to the first object.
[0114] Specifically, the computer device can construct a label set based on the importance of each preference label to the first object, and then use the constructed label set as the first preference representation information of the first object. Alternatively, the computer device can construct a vector based on the importance of each preference label to the first object, and then use the constructed preference vector as the first preference representation information of the first object; in this method, the first preference representation information is... a It can be represented as follows:
[0115] vecotr a =[(p1, w a1 ),(p2,w a2 ),…(p n w an )]
[0116] Where, p i (i = 1, 2, ..., n) represents the i-th preference label, and n is the preset number of preference labels; w ai This represents the importance of the i-th preference label to the first object.
[0117] Since the determination principle of the second preference representation information mentioned above is the same as that of the first preference representation information, the second preference representation information vecotr can be obtained similarly. b It is expressed as follows:
[0118] vecotr b =[(p1, w b1 ),(p2,w b2 ),…(p n w bn )]
[0119] Among them, w bi This represents the importance of the i-th preference label to the second object. Based on this, insterestSim is used. ab This represents the preference similarity calculated based on the first preference representation information and the second preference representation information. The formula for calculating this preference similarity is shown in Formula 1.7 below:
[0120]
[0121] Based on the above description, it should be noted that: the above only uses the three object information sources of object relationship topology diagram, interactive behavior information set and behavior flow set as examples to illustrate the relevant object matching degree determination method; as mentioned above, when the object is advertising data or multimedia data, multiple object information sources may also include publisher information set, execution degree information set, etc., so the object matching degree between the first object and the second object is not limited to the methods mentioned above.
[0122] S403, based on the similarity matrix, perform K weighted walks in the object relationship topology graph to generate K node sequences; where all nodes visited in a single weighted walk constitute a node sequence, and K is a positive integer.
[0123] In a concrete implementation, the computer device can assign edge weights to each edge in the object relationship topology graph based on a similarity matrix; where the edge weight of any edge is equal to the node similarity between the nodes connected by that edge. Then, the computer device can repeatedly perform K random walks in the object relationship topology graph according to the edge weights of each edge to generate K node sequences. Each random walk may include: selecting a node in the object relationship topology graph to place the walker; the walker can be understood as a virtual location marker that can jump between adjacent nodes in the object relationship topology graph, and the walker's current location can be used to indicate the currently visited node in the object relationship topology graph; when the walker is in the object relationship topology graph, the following process is iteratively executed:
[0124] s21, set the current node of the wanderer as the current node.
[0125] s22, if the current node has one or more neighboring nodes, determine the walk random number for each neighboring node. The walk random number for each neighboring node can be the same or different. Based on the edge weights of the edges between the current node and each neighboring node, and the corresponding walk random numbers, determine the walk probability of the walker moving from the current node to each neighboring node. Also, control the walker to move to the neighboring node with the highest walk probability. The walk probability of the walker moving from the current node to any neighboring node can be determined using the following formula 1.8:
[0126] Probality pq =w pq / ∑w px *Y, x∈N(p) Equation 1.8
[0127] In Formula 1.8 above, p represents the current node, q represents any neighboring node, and Probality pq w represents the probability that a walker will move from the current node to any of its neighbors; pq Let represent the edge weight between p and q, N(p) represent the set of all neighboring nodes including the current node, and Y represent the walk random number for any neighboring node.
[0128] s23, if the current node has no neighboring nodes, then control the walker to leave the object relationship topology graph so that the computer device will not execute the next iteration process. When the walker leaves the object relationship topology graph, the nodes it traversed during the walk are used to construct a node sequence.
[0129] For example, suppose the object relationship topology graph is as follows: Figure 5b As shown in the left figure, Figure 5b The numbers on the edges in the object relationship topology graph shown on the left side of the diagram represent the edge weights. See also... Figure 5b As shown in the left-hand diagram, the object relationship topology graph may include five nodes, from node 1 to node 5. Assuming the walker is initially placed on node 1, and subsequently visits node 3, node 5, and node 1 again..., then after the walker leaves the object relationship topology graph, the sequence of nodes traversed during its walk is used. (See [reference needed]). Figure 5b The sequence of nodes in the first row of the right-hand diagram. Based on this principle, by performing multiple walk operations, we can obtain... Figure 5b The right-hand side of the diagram shows three node sequences. It should be noted that... Figure 5b The numbers on each edge in the object relationship topology graph shown on the left side of the diagram represent the edge weights.
[0130] S404 uses K node sequences to iteratively optimize the graph embedding learning model so that the graph embedding model can converge.
[0131] In this embodiment, convergence of the graph embedding learning model means that: the model parameters of the graph embedding learning model no longer change, or the change in the model parameters is less than a threshold; or, convergence of the graph embedding learning model means that: the loss value of the graph embedding learning model no longer decreases, or the decrease in the loss value of the graph embedding learning model is less than a threshold; or, convergence of the graph embedding learning model means that: the number of optimization attempts of the graph embedding learning model reaches a threshold, and so on. Specifically, the graph embedding learning model refers to a neural network model built based on graph embedding learning technology. The pseudocode for graph embedding learning is as follows:
[0132] Input: Graph structure data G(V, E) / / V represents the set of all nodes represented by the object relation topology graph, and E represents the set of all edges represented by the object relation topology graph.
[0133] Context window size ω
[0134] The size of the node's embedding vector d
[0135] Step size r
[0136] Total steps t
[0137] Output: The vector representation matrix A∈R of the nodes |V|×d
[0138]
[0139] As can be seen from the pseudocode above, graph embedding learning mainly includes two steps: generating a node sequence using random walks and generating the node embedding vectors using a graph embedding model.
[0140] In an alternative implementation, the graph embedding learning model can be the SkipGram model (a three-layer neural network model for word embeddings) within Word2Vec (a relevance model for generating word vectors). The conventional training objective of the SkipGram model is to find word vector representations to predict the surrounding vocabulary of a word in a sentence or document; however, the training objective of the SkipGram model mentioned in this embodiment is to predict the nearest node given a given node. The objective function (i.e., the loss function) of the SkipGram model can be as shown in Equation 1.9 below:
[0141] J=min∑-logPr(u k |A(u)) Formula 1.9
[0142] Among them, u k ∈W u [u-ω,u+ω],W u ω represents a node sequence from a set of K node sequences, which can be equated to a statement in NLP (Natural Language Processing). ω is the size of the context window centered on node u, and W... u [u-ω, u+ω] represents the target set consisting of the nodes located in the context window, u k Let A(u) represent any node in the target set, A(u) represent the embedding vector of node u, and J represent the function value of the objective function, which can be understood as the model loss value of the SkipGram model. Furthermore, to ensure that the node embedding vectors contain the similarity between nodes, this embodiment of the application, based on the objective function shown in Equation 1.9, further incorporates the similarity matrix into the SkipGram model, thus proposing a new objective function to ensure that the dot product of the node embedding vectors can contain similarity matrix information; specifically, this new objective function is shown in Equation 2.0 below:
[0143]
[0144] in, Represents node u in the similarity matrix k and node u j Node similarity between them.
[0145] Therefore, since the embedding vector of any node is essentially derived from all or part of the model parameters of the graph embedding learning model, updating the model parameters can also be understood as updating the node's embedding vector. Thus, the update formula for the model parameters (i.e., the node's embedding vector) of the SkipGram model can be obtained by differentiating Equation 2.0 above. Let the learning rate be η, and the update formula obtained by differentiating Equation 1.9 above is shown in Equation 2.1:
[0146]
[0147] By taking the derivative of Equation 2.0 with respect to the newly added part of Equation 1.9 using gradient descent, we can obtain Equation 2.2 as follows:
[0148]
[0149] For simplicity and ease of calculation, the coefficients in Formula 2.2 above are removed; then, by integrating Formulas 2.1 and 2.2, the update formula for the node's embedding vector is obtained as shown in Formula 2.3 below:
[0150]
[0151] Based on the above description, the general principle of optimizing the graph embedding learning model once using H nodes in the k-th node sequence is explained below; where k∈[1,K], H is a positive integer; and H nodes refer to nodes located in a context window centered on a node in the k-th node sequence.
[0152] Specifically, an optimization process for a graph embedding learning model may include:
[0153] First, traverse the H nodes in the k-th node sequence, taking the currently traversed node as the reference node and the nodes connected to the reference node in the object relationship topology graph as associated nodes. Second, using the model parameters of the graph embedding learning model, perform node representation on the reference node and associated nodes respectively, obtaining the embedding vectors of the reference node and associated nodes. Then, calculate the similarity between the reference node and associated nodes based on their embedding vectors; specifically, perform a dot product operation on the embedding vectors of the reference node and associated nodes, using the result as the calculated similarity. Next, obtain the node similarity between the reference node and associated nodes from the similarity matrix, and calculate a representation loss value based on the difference between the calculated similarity and the node similarity. After all H nodes have been traversed, sum the calculated H representation loss values to obtain the total representation loss value; then, optimize the model parameters of the graph embedding learning model based on the total representation loss value.
[0154] S405 uses the model parameters of the converged graph embedding model to represent each node in the object relation topology graph, obtaining the node representation vector of each node.
[0155] S406 uses the node representation vector of each node as the object representation vector of the corresponding object.
[0156] Furthermore, after obtaining the object representation vectors of each object, a series of business processes can be performed based on these vectors, such as object recommendation processing, object retrieval processing, etc. In one implementation, when there is an object recommendation requirement for the target object, the object representation vector of the target object can be determined based on the object representation vectors of Q objects represented by the object relationship topology graph, where Q equals the number of nodes in the object relationship topology graph. One or more candidate objects are determined from the Q objects; candidate objects refer to objects that have no association with the target object. Then, the matching degree between each candidate object and the target object can be determined based on the object representation vectors of each candidate object and the target object. For any candidate object, similarity calculation formulas such as cosine similarity and Euclidean distance can be used to calculate the similarity between the object representation vector of any candidate object and the object representation vector of the target object, and the calculated similarity is used as the matching degree between any candidate object and the target object. After determining the matching degree between each candidate object and the target object, candidate objects with a matching degree greater than a matching threshold can be selected from one or more candidate objects as the target object, and the target object is recommended to the target object.
[0157] The specific implementation of determining the object representation vector of the target object based on the object representation vectors of the Q objects represented by the object relationship topology graph can be as follows: If the target object is included among the Q objects represented by the object relationship topology graph, then the object representation vector of the target object is obtained from the object representation vectors of the Q objects; if the target object is not included among the Q objects represented by the object relationship topology graph, then a reference object of the target object is determined from the Q objects, and the object representation vector of the target object is determined based on the object representation vector of the reference object; wherein, a reference object refers to an object that has an association relationship with the target object. Specifically, if there is only one reference object, then the object representation vector of the reference object can be directly used as the object representation vector of the target object; if there are at least two reference objects, then the object representation vector of one reference object can be randomly selected as the object representation vector of the target object, or the object representation vector of the target object can be obtained by averaging the object representation vectors of each reference object. This embodiment of the application can effectively solve the problem of cold start for new objects by approximating the object representation vector of the target object based on the object representation vector of the reference object.
[0158] This application's embodiments fuse multiple object information sources and utilize information such as topological similarity, interaction density, and preference similarity to mine a similarity matrix, which can solve problems such as sparse links in networks and improve the accuracy of object representation. Furthermore, it proposes using graph embedding learning to learn the vector representation of nodes, mapping the nodes of the object relationship topology graph to a low-dimensional space, thereby representing objects with low-dimensional vectors. This effectively reduces time costs and computational complexity, and solves the problems of high complexity and large storage requirements in large object relationship topology graphs. Moreover, by using elements in the similarity matrix as edge weights for node connections and improving the node update formula and objective function of the graph embedding learning model, the information contained in the similarity matrix is integrated into each stage of the graph embedding learning model, thereby improving the vector representation capability.
[0159] It should be noted that ① the above Figure 4 The illustrated implementation first uses the RandomWalk module based on the similarity matrix to apply the node similarity (i.e., elements) in the similarity matrix as edge weights between nodes in the object relationship topology graph. Then, it uses a graph embedding learning model to learn node representations. This method is a two-stage learning approach. In other embodiments, it is also possible to directly model the object's own features and their interaction features into the object relationship topology graph to achieve end-to-end optimization and reach a globally optimal result. ②The above Figure 4 The illustrated method embodiment is a graph embedding learning model based on a similarity matrix, which incorporates the similarity matrix into its training process. In other embodiments, better results can also be achieved by optimizing the model structure and objective function of the graph embedding learning model. ③ The object representation method proposed in this application embodiment can be applied to various application scenarios, such as friend recommendation scenarios, advertising push scenarios, multimedia retrieval scenarios, etc.
[0160] In the friend recommendation scenario, the object representation method proposed in this application can be used first to obtain the user representation vector of each user in the social network by training data through the user social topology graph (or social network graph, which is equivalent to the object relationship topology graph mentioned above). For details, see... Figure 6aAs shown: The topological similarity between users can be determined by the distribution of friends in the social network indicated by relational data (i.e., the following status of each user). The interaction density between users can be determined by the interaction behavior data between users. Text processing methods are used to extract users' historical behavior flow to construct preference representation information, thereby calculating preference similarity. The similarity of multiple dimensions is linearly fused to obtain the node similarity between each node in the user's social topology graph. Then, a similarity matrix is constructed using the node similarity between each node. Then, based on the similarity matrix, the nodes in the user's social topology graph can be mapped to a low-dimensional space. The final user representation vector learned from the user attributes is the result. Specifically, a weighted walk can be performed on the user's social topology graph based on the similarity matrix to generate K node sequences. These K node sequences are then used to train a graph embedding learning model. After the graph embedding learning model converges, the model parameters of the graph embedding learning model are used to represent each user, resulting in the user representation vector for each user.
[0161] Furthermore, each user's user identifier (user ID) can be used as an index to store the user representation vector of each user in a vector library. When user A requests the friend recommendation interface, the computer device can... Figure 6b The processing logic shown responds to user A's friend recommendation request. Specifically, the computer device can retrieve user A's user vector representation from a trained vector library using user A's user ID to obtain the target user's user vector representation. If user A's user vector representation cannot be found in the vector retrieval library, it can retrieve user A's first-degree friends (i.e., reference objects) and their user vector representations from the vector library. The retrieved user vector representations of first-degree friends can be used to approximate user A's user vector representation. For example, the user vector representations of first-degree friends can be averaged, and the averaged user vector representation can be used as user A's user vector representation. After obtaining user A's user vector representation, a nearest neighbor retrieval method can be used to retrieve multiple similar users of interest based on user A's user vector representation as friend recommendation results. These friend recommendation results are then returned to user A's terminal or client for display, such as... Figure 6c As shown in the figure. The principle of the nearest neighbor retrieval method is as follows: based on the user representation vectors of each unfamiliar user (users who have no interest relationship (i.e., association relationship) with user A) and the user representation vector of user A, the matching degree between each unfamiliar user and user A can be determined. Then, multiple unfamiliar users are selected as similar users of interest in descending order of matching degree.
[0162] Based on the description of the above object representation method embodiments, this application also discloses an object representation apparatus, which may be a computer program (including program code) running on a computer device. This object representation apparatus can execute... Figure 2 as well as Figure 4 The method shown. Please refer to [link / reference]. Figure 7 The object representation device can operate the following units:
[0163] The acquisition unit 701 is used to acquire an object relationship topology graph, which includes multiple nodes and multiple edges; a node represents an object, and the nodes corresponding to two objects that have an association relationship are connected by at least one edge;
[0164] Processing unit 702 is used to mine the node similarity between connected nodes in the object relationship topology graph by utilizing multiple object information sources, and obtain a similarity matrix;
[0165] The processing unit 702 is further configured to perform characterization processing on each node in the object relationship topology graph based on the similarity matrix, and obtain the node characterization vector of each node.
[0166] The processing unit 702 is further configured to use the node representation vector of each node as the object representation vector of the corresponding object.
[0167] In one implementation, one object information source corresponds to one information dimension; correspondingly, when processing unit 702 uses multiple object information sources to mine the node similarity between connected nodes in the object relationship topology graph to obtain a similarity matrix, it can specifically be used for:
[0168] Traverse each node in the object relationship topology graph;
[0169] The currently traversed node is designated as the first node, and the nodes connected to the first node in the object relationship topology graph are designated as the second nodes; wherein, the object represented by the first node is the first object, and the object represented by the second node is the second object;
[0170] Using each of the multiple object information sources, determine the object matching degree between the first object and the second object in the corresponding information dimension;
[0171] The object matching degree of the first object and the second object under each information dimension is linearly fused to obtain the node similarity between the first node and the second node.
[0172] After all nodes in the object relationship topology graph have been traversed, a similarity matrix is constructed using the obtained similarity of each node.
[0173] In another embodiment, the plurality of object information sources include the object relationship topology graph, wherein each edge in the object relationship topology graph is a directed edge, and the object represented by the end node of any directed edge is regarded as the associated object of the object represented by the start node of any directed edge.
[0174] When processing unit 702 determines the object matching degree of the first object and the second object in the corresponding information dimension using each of the plurality of object information sources, it may specifically be used to:
[0175] Based on the connection status of the first node indicated by the object relationship topology graph, the first set of associated objects of the first object is determined;
[0176] Based on the connection status of the second node indicated by the object relationship topology graph, the second set of associated objects of the second object is determined;
[0177] Based on the overlap between the first set of associated objects and the second set of associated objects, the topological similarity between the first object and the second object is determined; and the topological similarity is determined as the object matching degree between the first object and the second object in the dimension of topological graph information.
[0178] In another embodiment, when determining the topological similarity between the first object and the second object based on the overlap between the first set of associated objects and the second set of associated objects, the processing unit 702 may specifically be used to:
[0179] Perform intersection processing on the first set of associated objects and the second set of associated objects to obtain the intersection of associated objects;
[0180] The first set of associated objects and the second set of associated objects are merged to obtain the union of associated objects.
[0181] The ratio between the number of associated objects in the intersection of the associated objects and the number of associated objects in the union of the associated objects is determined as the topological similarity between the first object and the second object.
[0182] In another embodiment, the plurality of object information sources includes an interaction behavior information set, which includes one or more interaction behavior data of each object represented by the object relationship topology graph.
[0183] When processing unit 702 determines the object matching degree of the first object and the second object in the corresponding information dimension using each of the plurality of object information sources, it may specifically be used to:
[0184] Based on the interactive behavior information set, the total number of first interactive behaviors of the first object and the number of first interactive behaviors of the first object towards the second object are calculated.
[0185] Based on the interactive behavior information set, the total number of second interactive behaviors of the second object and the number of second interactive behaviors of the second object towards the first object are calculated.
[0186] The interaction density between the first object and the second object is determined based on the number of the first interaction behavior, the number of the second interaction behavior, the total number of the first interaction behavior, and the total number of the second interaction behavior.
[0187] The interaction tightness is defined as the object matching degree between the first object and the second object in the dimension of interaction behavior information.
[0188] In another embodiment, the plurality of object information sources include a behavior pipeline set, which includes one or more historical behavior pipelines of each object represented by the object relationship topology graph, wherein a historical behavior pipeline is data generated based on an activity behavior historically executed by the object;
[0189] When processing unit 702 determines the object matching degree of the first object and the second object in the corresponding information dimension using each of the plurality of object information sources, it may specifically be used to:
[0190] Determine one or more preset preference tags;
[0191] Multiple first historical behavior streams of the first object are filtered from the behavior stream set, and the first preference representation information of the first object is determined based on the matching between each preference tag and the multiple first historical behavior streams.
[0192] Multiple second historical behavior streams of the second object are filtered from the behavior stream set, and the second preference representation information of the second object is determined based on the matching between each preference tag and the multiple second historical behavior streams.
[0193] Based on the difference between the first preference representation information and the second preference representation information, the preference similarity between the first object and the second object is calculated; and the preference similarity is determined as the object matching degree between the first object and the second object in the behavioral flow information dimension.
[0194] In another implementation, when determining the first preference representation information of the first object based on the matching between each preference tag and the plurality of first historical behavior streams, the processing unit 702 may specifically be used for:
[0195] Determine the category tag for each first historical behavior stream, and iterate through each preference tag, taking the currently iterated preference tag as the current preference tag;
[0196] From the multiple first historical behavior streams, filter out the first historical behavior streams whose category tags match the current preference tags;
[0197] Based on the number of first historical behavior flows selected and the total number of first historical behavior flows, calculate the preference degree of the first object with respect to the current preference tag;
[0198] Based on the first object's preference for the current preference tag, determine the importance of the current preference tag to the first object;
[0199] After all the preference tags have been traversed, the importance of each preference tag to the first object is used to construct the first preference representation information of the first object.
[0200] In another implementation, the processing unit 702, in determining the importance of the current preference tag to the first object based on the first object's preference for the current preference tag, may specifically be used for:
[0201] The total number of objects involved in the behavior flow set and the number of target objects are counted; wherein, the target object satisfies the following condition: there is at least one class target tag of historical behavior flow that matches the current preference tag;
[0202] Based on the target number of the target objects and the total number of objects, calculate the contribution of the current preference label to the preference representation of the first object;
[0203] The importance of the current preference label to the first object is determined by using the calculated contribution and the first object's preference for the current preference label.
[0204] In another embodiment, when processing unit 702 performs representation processing on each node in the object relationship topology graph based on the similarity matrix to obtain the node representation vector of each node, it may specifically be used for:
[0205] Based on the similarity matrix, K weighted walks are performed in the object relationship topology graph to generate K node sequences; wherein all nodes visited in one weighted walk constitute a node sequence, and K is a positive integer;
[0206] The graph embedding learning model is iteratively optimized using the K node sequences to achieve convergence. The model parameters of the converged graph embedding model are used to represent each node in the object relationship topology graph to obtain the node representation vector of each node.
[0207] In another embodiment, when processing unit 702 performs K weighted walks on the object relationship topology graph based on the similarity matrix to generate K node sequences, it can specifically be used to:
[0208] Based on the similarity matrix, edge weights are assigned to each edge in the object relationship topology graph; wherein, the edge weight of any edge is equal to the node similarity between the nodes connected by the edge.
[0209] Based on the edge weights of each edge, K random walks are repeatedly performed in the object relation topology graph to generate K node sequences.
[0210] In another implementation, a random walk includes: selecting a node from the object relation topology graph to place the walker; and iteratively executing the following process when the walker is located in the object relation topology graph:
[0211] The node where the wanderer is currently located is taken as the current node;
[0212] If the current node has one or more neighboring nodes, then determine the walk random number for each neighboring node; based on the edge weight of the edge between the current node and each neighboring node, and the corresponding walk random number, determine the walk probability of the walker walking from the current node to each neighboring node; and control the walker to walk to the neighboring node with the highest walk probability.
[0213] If the current node has no neighboring nodes, the walker is controlled to leave the object relationship topology graph; wherein, after the walker leaves the object relationship topology graph, the nodes that the walker passes through during the walk are used to construct a node sequence.
[0214] In another implementation, the first optimization process of the graph embedding learning model includes:
[0215] Traverse the H nodes in the k-th node sequence, take the currently traversed node as the base node, and take the nodes connected to the base node in the object relationship topology graph as associated nodes; where k∈[1,K], and H is a positive integer;
[0216] Using the model parameters of the graph embedding learning model, node representations are performed on the base node and the associated node respectively to obtain the embedding vector of the base node and the embedding vector of the associated node.
[0217] Based on the embedding vector of the baseline node and the embedding vector of the associated node, a similarity calculation is performed between the baseline node and the associated node;
[0218] Obtain the node similarity between the baseline node and the associated node from the similarity matrix, and calculate a representation loss value based on the difference between the calculated similarity and the node similarity.
[0219] After all H nodes have been traversed, the calculated H representation loss values are summed to obtain the total representation loss value; and based on the total representation loss value, the model parameters of the graph embedding learning model are optimized.
[0220] In another embodiment, the processing unit 702 may also be used for:
[0221] When there is a need for object recommendation for the target object, the object representation vector of the target object is determined based on the object representation vectors of Q objects represented by the object relationship topology graph, where Q is equal to the number of nodes in the object relationship topology graph;
[0222] One or more candidate objects are determined from the Q objects, where a candidate object is an object that does not have the association relationship with the target object;
[0223] The matching degree between each candidate object and the target object is determined based on the object representation vector of each candidate object and the object representation vector of the target object;
[0224] From the one or more candidate objects, select the candidate object with a matching degree greater than the matching threshold as the target object, and recommend the target object to the target object.
[0225] In another embodiment, when the processing unit 702 determines the object representation vector of the target object based on the object representation vectors of the Q objects represented by the object relationship topology graph, it specifically performs the following:
[0226] If the target object is included among the Q objects represented by the object relationship topology graph, then the object representation vector of the target object is obtained from the object representation vectors of the Q objects;
[0227] If the target object is not included among the Q objects represented by the object relationship topology graph, then a reference object of the target object is determined from the Q objects, and the object representation vector of the target object is determined according to the object representation vector of the reference object; wherein, the reference object refers to an object that has the association relationship with the target object.
[0228] According to another embodiment of this application, Figure 7 The various units in the object representation device shown can be individually or entirely merged into one or more other units, or some of the units can be further divided into multiple functionally smaller units. This achieves the same operation without affecting the technical effects of the embodiments of this application. The above units are based on logical function division. In practical applications, the function of one unit can also be implemented by multiple units, or the function of multiple units can be implemented by one unit. In other embodiments of this application, the object representation device may also include other units. In practical applications, these functions can also be implemented with the assistance of other units, and can be implemented collaboratively by multiple units.
[0229] According to another embodiment of this application, the following can be achieved by running on a general-purpose computing device, such as a computer, which includes processing elements and storage elements such as a central processing unit (CPU), random access memory (RAM), and read-only memory (ROM), a device capable of performing operations such as... Figure 2 or Figure 4 The computer program (including program code) for each step involved in the corresponding method shown, to construct such... Figure 7 The object representation apparatus shown herein, and the object representation method for implementing the embodiments of this application, are described. The computer program may be recorded on, for example, a computer-readable recording medium, loaded onto the aforementioned computing device via the computer-readable recording medium, and run therein.
[0230] This application embodiment first obtains an object relationship topology graph, which includes multiple nodes and multiple edges; a node represents an object, and nodes corresponding to two objects with an association relationship are connected by at least one edge. Secondly, multiple object information sources can be used to mine the node similarity between connected nodes in the object relationship topology graph. This allows for node similarity mining by fully learning from multiple object information sources, as well as the rich structural information and node attribute information inherent in the object relationship topology graph itself, effectively improving the accuracy of the similarity matrix. Then, the information contained in the similarity matrix can be integrated into the representation process of each node in the object relationship topology graph. This allows the representation of each node to refer to the relevant node similarities contained in the similarity matrix, effectively improving the representational power and accuracy of the node representation vectors, thereby improving the object representation vectors of the corresponding objects, i.e., improving the accuracy of object representation.
[0231] Based on the description of the above method and apparatus embodiments, this application also provides a computer device. Please refer to... Figure 8 The computer device includes at least a processor 801, an input interface 802, an output interface 803, and a computer storage medium 804. The processor 801, input interface 802, output interface 803, and computer storage medium 804 within the computer device can be connected via a bus or other means. The computer storage medium 804 can be stored in the computer device's memory. The computer storage medium 804 is used to store computer programs, which include program instructions. The processor 801 is used to execute the program instructions stored in the computer storage medium 804. The processor 801 (or CPU (Central Processing Unit)) is the computing and control core of the computer device, suitable for implementing one or more instructions, specifically suitable for loading and executing one or more instructions to achieve a corresponding method flow or function.
[0232] In one embodiment, the processor 801 described in this application embodiment can be used to perform a series of object representations, specifically including: obtaining an object relationship topology graph, the object relationship topology graph including multiple nodes and multiple edges; a node represents an object, and the nodes corresponding to two objects with an association relationship are connected by at least one edge; using multiple object information sources, mining the node similarity between connected nodes in the object relationship topology graph to obtain a similarity matrix; based on the similarity matrix, performing representation processing on each node in the object relationship topology graph to obtain the node representation vector of each node; using the node representation vector of each node as the object representation vector of the corresponding object, and performing object representation based on the object representation vector of each object, etc.
[0233] This application embodiment also provides a computer storage medium (memory), which is a memory device in a computer device used to store programs and data. It is understood that the computer storage medium here can include both the built-in storage medium in the computer device and extended storage media supported by the computer device. The computer storage medium provides storage space that stores the operating system of the computer device. Furthermore, the storage space also stores one or more instructions suitable for loading and execution by the processor 801. These instructions can be one or more computer programs (including program code). It should be noted that the computer storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device; optionally, it can also be at least one computer storage medium located remotely from the aforementioned processor.
[0234] In one embodiment, a processor may load and execute one or more instructions stored in a computer storage medium to achieve the aforementioned... Figure 2 or Figure 4 The objects shown represent the corresponding steps of the method in the method embodiment; in specific implementation, one or more instructions in the computer storage medium are loaded by the processor 801 and executed as follows:
[0235] Obtain an object relationship topology graph, which includes multiple nodes and multiple edges; a node represents an object, and the nodes corresponding to two objects that have an association relationship are connected by at least one edge;
[0236] By utilizing multiple object information sources, the similarity between connected nodes in the object relationship topology graph is mined to obtain a similarity matrix;
[0237] Based on the similarity matrix, each node in the object relationship topology graph is characterized to obtain the node representation vector of each node.
[0238] The node representation vector of each node is used as the object representation vector of the corresponding object.
[0239] In one implementation, one object information source corresponds to one information dimension; correspondingly, when using multiple object information sources to mine the node similarity between connected nodes in the object relationship topology graph and obtain a similarity matrix, the one or more instructions can be loaded and executed by the processor:
[0240] Traverse each node in the object relationship topology graph;
[0241] The currently traversed node is designated as the first node, and the nodes connected to the first node in the object relationship topology graph are designated as the second nodes; wherein, the object represented by the first node is the first object, and the object represented by the second node is the second object;
[0242] Using each of the multiple object information sources, determine the object matching degree between the first object and the second object in the corresponding information dimension;
[0243] The object matching degree of the first object and the second object under each information dimension is linearly fused to obtain the node similarity between the first node and the second node.
[0244] After all nodes in the object relationship topology graph have been traversed, a similarity matrix is constructed using the obtained similarity of each node.
[0245] In another embodiment, the plurality of object information sources include the object relationship topology graph, wherein each edge in the object relationship topology graph is a directed edge, and the object represented by the end node of any directed edge is regarded as the associated object of the object represented by the start node of any directed edge.
[0246] When determining the object matching degree between the first object and the second object in the corresponding information dimension using each of the plurality of object information sources, the one or more instructions can be loaded and executed by the processor:
[0247] Based on the connection status of the first node indicated by the object relationship topology graph, the first set of associated objects of the first object is determined;
[0248] Based on the connection status of the second node indicated by the object relationship topology graph, the second set of associated objects of the second object is determined;
[0249] Based on the overlap between the first set of associated objects and the second set of associated objects, the topological similarity between the first object and the second object is determined; and the topological similarity is determined as the object matching degree between the first object and the second object in the dimension of topological graph information.
[0250] In another implementation, when determining the topological similarity between the first object and the second object based on the overlap between the first set of associated objects and the second set of associated objects, the one or more instructions can be loaded and executed by the processor:
[0251] Perform intersection processing on the first set of associated objects and the second set of associated objects to obtain the intersection of associated objects;
[0252] The first set of associated objects and the second set of associated objects are merged to obtain the union of associated objects.
[0253] The ratio between the number of associated objects in the intersection of the associated objects and the number of associated objects in the union of the associated objects is determined as the topological similarity between the first object and the second object.
[0254] In another embodiment, the plurality of object information sources includes an interaction behavior information set, which includes one or more interaction behavior data of each object represented by the object relationship topology graph.
[0255] When determining the object matching degree between the first object and the second object in the corresponding information dimension using each of the plurality of object information sources, the one or more instructions can be loaded and executed by the processor:
[0256] Based on the interactive behavior information set, the total number of first interactive behaviors of the first object and the number of first interactive behaviors of the first object towards the second object are calculated.
[0257] Based on the interactive behavior information set, the total number of second interactive behaviors of the second object and the number of second interactive behaviors of the second object towards the first object are calculated.
[0258] The interaction density between the first object and the second object is determined based on the number of the first interaction behavior, the number of the second interaction behavior, the total number of the first interaction behavior, and the total number of the second interaction behavior.
[0259] The interaction tightness is defined as the object matching degree between the first object and the second object in the dimension of interaction behavior information.
[0260] In another embodiment, the plurality of object information sources include a behavior pipeline set, which includes one or more historical behavior pipelines of each object represented by the object relationship topology graph, wherein a historical behavior pipeline is data generated based on an activity behavior historically executed by the object;
[0261] When determining the object matching degree between the first object and the second object in the corresponding information dimension using each of the plurality of object information sources, the one or more instructions can be loaded and executed by the processor:
[0262] Determine one or more preset preference tags;
[0263] Multiple first historical behavior streams of the first object are filtered from the behavior stream set, and the first preference representation information of the first object is determined based on the matching between each preference tag and the multiple first historical behavior streams.
[0264] Multiple second historical behavior streams of the second object are filtered from the behavior stream set, and the second preference representation information of the second object is determined based on the matching between each preference tag and the multiple second historical behavior streams.
[0265] Based on the difference between the first preference representation information and the second preference representation information, the preference similarity between the first object and the second object is calculated; and the preference similarity is determined as the object matching degree between the first object and the second object in the behavioral flow information dimension.
[0266] In another implementation, when determining the first preference representation information of the first object based on the matching between each preference tag and the plurality of first historical behavior pipelines, the one or more instructions can be loaded and specifically executed by the processor:
[0267] Determine the category tag for each first historical behavior stream, and iterate through each preference tag, taking the currently iterated preference tag as the current preference tag;
[0268] From the multiple first historical behavior streams, filter out the first historical behavior streams whose category tags match the current preference tags;
[0269] Based on the number of first historical behavior flows selected and the total number of first historical behavior flows, calculate the preference degree of the first object with respect to the current preference tag;
[0270] Based on the first object's preference for the current preference tag, determine the importance of the current preference tag to the first object;
[0271] After all the preference tags have been traversed, the importance of each preference tag to the first object is used to construct the first preference representation information of the first object.
[0272] In another implementation, when determining the importance of the current preference tag to the first object based on the first object's preference for the current preference tag, the one or more instructions can be loaded and executed by the processor:
[0273] The total number of objects involved in the behavior flow set and the number of target objects are counted; wherein, the target object satisfies the following condition: there is at least one class target tag of historical behavior flow that matches the current preference tag;
[0274] Based on the target number of the target objects and the total number of objects, calculate the contribution of the current preference label to the preference representation of the first object;
[0275] The importance of the current preference label to the first object is determined by using the calculated contribution and the first object's preference for the current preference label.
[0276] In another implementation, when representing each node in the object relationship topology graph based on the similarity matrix to obtain the node representation vector of each node, the one or more instructions can be loaded and executed by the processor:
[0277] Based on the similarity matrix, K weighted walks are performed in the object relationship topology graph to generate K node sequences; wherein all nodes visited in one weighted walk constitute a node sequence, and K is a positive integer;
[0278] The graph embedding learning model is iteratively optimized using the K node sequences to achieve convergence. The model parameters of the converged graph embedding model are used to represent each node in the object relationship topology graph to obtain the node representation vector of each node.
[0279] In another implementation, when performing K weighted walks on the object relationship topology graph based on the similarity matrix to generate K node sequences, the one or more instructions can be loaded and executed by the processor:
[0280] Based on the similarity matrix, edge weights are assigned to each edge in the object relationship topology graph; wherein, the edge weight of any edge is equal to the node similarity between the nodes connected by the edge.
[0281] Based on the edge weights of each edge, K random walks are repeatedly performed in the object relation topology graph to generate K node sequences.
[0282] In another implementation, a random walk includes: selecting a node from the object relation topology graph to place the walker; and iteratively executing the following process when the walker is located in the object relation topology graph:
[0283] The node where the wanderer is currently located is taken as the current node;
[0284] If the current node has one or more neighboring nodes, then determine the walk random number for each neighboring node; based on the edge weight of the edge between the current node and each neighboring node, and the corresponding walk random number, determine the walk probability of the walker walking from the current node to each neighboring node; and control the walker to walk to the neighboring node with the highest walk probability.
[0285] If the current node has no neighboring nodes, the walker is controlled to leave the object relationship topology graph; wherein, after the walker leaves the object relationship topology graph, the nodes that the walker passes through during the walk are used to construct a node sequence.
[0286] In another implementation, the first optimization process of the graph embedding learning model includes:
[0287] Traverse the H nodes in the k-th node sequence, take the currently traversed node as the base node, and take the nodes connected to the base node in the object relationship topology graph as associated nodes; where k∈[1,K], and H is a positive integer;
[0288] Using the model parameters of the graph embedding learning model, node representations are performed on the base node and the associated node respectively to obtain the embedding vector of the base node and the embedding vector of the associated node.
[0289] Based on the embedding vector of the baseline node and the embedding vector of the associated node, a similarity calculation is performed between the baseline node and the associated node;
[0290] Obtain the node similarity between the baseline node and the associated node from the similarity matrix, and calculate a representation loss value based on the difference between the calculated similarity and the node similarity.
[0291] After all H nodes have been traversed, the calculated H representation loss values are summed to obtain the total representation loss value; and based on the total representation loss value, the model parameters of the graph embedding learning model are optimized.
[0292] In another implementation, the one or more instructions may also be loaded and executed by the processor:
[0293] When there is a need for object recommendation for the target object, the object representation vector of the target object is determined based on the object representation vectors of Q objects represented by the object relationship topology graph, where Q is equal to the number of nodes in the object relationship topology graph;
[0294] One or more candidate objects are determined from the Q objects, where a candidate object is an object that does not have the association relationship with the target object;
[0295] The matching degree between each candidate object and the target object is determined based on the object representation vector of each candidate object and the object representation vector of the target object;
[0296] From the one or more candidate objects, select the candidate object with a matching degree greater than the matching threshold as the target object, and recommend the target object to the target object.
[0297] In another implementation, when determining the object representation vector of the target object based on the object representation vectors of the Q objects represented by the object relationship topology graph, the one or more instructions can be loaded and executed by the processor:
[0298] If the target object is included among the Q objects represented by the object relationship topology graph, then the object representation vector of the target object is obtained from the object representation vectors of the Q objects;
[0299] If the target object is not included among the Q objects represented by the object relationship topology graph, then a reference object of the target object is determined from the Q objects, and the object representation vector of the target object is determined according to the object representation vector of the reference object; wherein, the reference object refers to an object that has the association relationship with the target object.
[0300] This application embodiment first obtains an object relationship topology graph, which includes multiple nodes and multiple edges; a node represents an object, and nodes corresponding to two objects with an association relationship are connected by at least one edge. Secondly, multiple object information sources can be used to mine the node similarity between connected nodes in the object relationship topology graph. This allows for node similarity mining by fully learning from multiple object information sources, as well as the rich structural information and node attribute information inherent in the object relationship topology graph itself, effectively improving the accuracy of the similarity matrix. Then, the information contained in the similarity matrix can be integrated into the representation process of each node in the object relationship topology graph. This allows the representation of each node to refer to the relevant node similarities contained in the similarity matrix, effectively improving the representational power and accuracy of the node representation vectors, thereby improving the object representation vectors of the corresponding objects, i.e., improving the accuracy of object representation.
[0301] It should be noted that, according to one aspect of this application, a computer program product or computer program is also provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and executes the computer instructions, causing the computer device to perform the aforementioned... Figure 2 or Figure 4 The methods provided in various alternative ways of representing the objects shown are examples of methods.
[0302] Furthermore, it should be understood that the above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application are still within the scope of this application.
Claims
1. An object representation method, characterized by, include: Obtain an object relationship topology graph, which includes multiple nodes and multiple edges; A node represents an object, and the nodes corresponding to two related objects are connected by at least one edge. By utilizing multiple object information sources, the similarity between connected nodes in the object relationship topology graph is mined to obtain a similarity matrix; Based on the similarity matrix, each node in the object relationship topology graph is represented to obtain a node representation vector. The node representation vector is generated by a converged graph embedding learning model. This model is iteratively optimized based on K node sequences to achieve convergence, where K is a positive integer. The K node sequences are generated by performing K random walks in the object relationship topology graph. Each random walk includes: selecting a node in the object relationship topology graph as a placer; when the walker is located in the object relationship topology graph, the following process is iteratively executed: the node where the walker is currently located is used as... The current node; if the current node has one or more neighboring nodes, then determine the walk random number for each neighboring node; based on the edge weight of the edge between the current node and each neighboring node, and the corresponding walk random number, determine the walk probability of the walker walking from the current node to each neighboring node; and control the walker to walk to the neighboring node with the highest walk probability; if the current node has no neighboring nodes, then control the walker to leave the object relationship topology graph; wherein, when the walker leaves the object relationship topology graph, the nodes traversed by the walker during the walk are used to construct a node sequence; The node representation vector of each node is used as the object representation vector of the corresponding object.
2. The method of claim 1, wherein, One information source corresponds to one information dimension; The method of utilizing multiple object information sources to mine the node similarity between connected nodes in the object relationship topology graph to obtain a similarity matrix includes: Traverse each node in the object relationship topology graph; The currently traversed node is designated as the first node, and the nodes connected to the first node in the object relationship topology graph are designated as the second nodes; wherein, the object represented by the first node is the first object, and the object represented by the second node is the second object; Using each of the multiple object information sources, determine the object matching degree between the first object and the second object in the corresponding information dimension; The object matching degree of the first object and the second object under each information dimension is linearly fused to obtain the node similarity between the first node and the second node. After all nodes in the object relationship topology graph have been traversed, a similarity matrix is constructed using the obtained similarity of each node.
3. The method of claim 2, wherein, The multiple object information sources include the object relationship topology graph, where each edge in the object relationship topology graph is a directed edge, and the object represented by the end node of any directed edge is regarded as the associated object of the object represented by the start node of any directed edge. The step of determining the object matching degree between the first object and the second object in the corresponding information dimension using each of the plurality of object information sources includes: Based on the connection status of the first node indicated by the object relationship topology graph, the first set of associated objects of the first object is determined; Based on the connection status of the second node indicated by the object relationship topology graph, the second set of associated objects of the second object is determined; Based on the overlap between the first set of associated objects and the second set of associated objects, the topological similarity between the first object and the second object is determined; and the topological similarity is determined as the object matching degree between the first object and the second object in the dimension of topological graph information.
4. The method as described in claim 3, characterized in that, Determining the topological similarity between the first object and the second object based on the overlap between the first set of associated objects and the second set of associated objects includes: Perform intersection processing on the first set of associated objects and the second set of associated objects to obtain the intersection of associated objects; The first set of associated objects and the second set of associated objects are merged to obtain the union of associated objects. The ratio between the number of associated objects in the intersection of the associated objects and the number of associated objects in the union of the associated objects is determined as the topological similarity between the first object and the second object.
5. The method as described in claim 2, characterized in that, The multiple object information sources include an interaction behavior information set, which includes one or more interaction behavior data for each object represented by the object relationship topology graph. The step of determining the object matching degree between the first object and the second object in the corresponding information dimension using each of the plurality of object information sources includes: Based on the interactive behavior information set, the total number of first interactive behaviors of the first object and the number of first interactive behaviors of the first object towards the second object are calculated. Based on the interactive behavior information set, the total number of second interactive behaviors of the second object and the number of second interactive behaviors of the second object towards the first object are calculated. The interaction density between the first object and the second object is determined based on the number of the first interaction behavior, the number of the second interaction behavior, the total number of the first interaction behavior, and the total number of the second interaction behavior. The interaction tightness is defined as the object matching degree between the first object and the second object in the dimension of interaction behavior information.
6. The method as described in claim 2, characterized in that, The multiple object information sources include a behavior flow set, which includes one or more historical behavior flows of each object represented by the object relationship topology graph. A historical behavior flow is data generated based on an activity behavior executed in the history of an object. The step of determining the object matching degree between the first object and the second object in the corresponding information dimension using each of the plurality of object information sources includes: Determine one or more preset preference tags; Multiple first historical behavior streams of the first object are filtered from the behavior stream set, and the first preference representation information of the first object is determined based on the matching between each preference tag and the multiple first historical behavior streams. Multiple second historical behavior streams of the second object are filtered from the behavior stream set, and the second preference representation information of the second object is determined based on the matching between each preference tag and the multiple second historical behavior streams. Based on the difference between the first preference representation information and the second preference representation information, the preference similarity between the first object and the second object is calculated; and the preference similarity is determined as the object matching degree between the first object and the second object in the behavioral flow information dimension.
7. The method as described in claim 6, characterized in that, The step of determining the first preference representation information of the first object based on the matching between each preference tag and the multiple first historical behavior streams includes: Determine the category tag for each first historical behavior stream, and iterate through each preference tag, taking the currently iterated preference tag as the current preference tag; From the multiple first historical behavior streams, filter out the first historical behavior streams whose category tags match the current preference tags; Based on the number of first historical behavior flows selected and the total number of first historical behavior flows, calculate the preference degree of the first object with respect to the current preference tag; Based on the first object's preference for the current preference tag, determine the importance of the current preference tag to the first object; After all the preference tags have been traversed, the importance of each preference tag to the first object is used to construct the first preference representation information of the first object.
8. The method as described in claim 7, characterized in that, The step of determining the importance of the current preference tag to the first object based on the first object's preference for the current preference tag includes: The total number of objects involved in the behavior flow set and the number of target objects are counted; wherein, the target object satisfies the following condition: there is at least one class target tag of historical behavior flow that matches the current preference tag; Based on the target number of the target objects and the total number of objects, calculate the contribution of the current preference label to the preference representation of the first object; The importance of the current preference label to the first object is determined by using the calculated contribution and the first object's preference for the current preference label.
9. The method as described in claim 1, characterized in that, The process of representing each node in the object relationship topology graph based on the similarity matrix to obtain the node representation vector of each node includes: Based on the similarity matrix, K weighted walks are performed in the object relationship topology graph to generate K node sequences; wherein all nodes visited in one weighted walk constitute a node sequence, and K is a positive integer; The graph embedding learning model is iteratively optimized using the K node sequences to achieve convergence. The model parameters of the converged graph embedding learning model are used to represent each node in the object relationship topology graph to obtain the node representation vector of each node.
10. The method as described in claim 9, characterized in that, The step of performing K weighted walks on the object relationship topology graph based on the similarity matrix to generate K node sequences includes: Based on the similarity matrix, edge weights are assigned to each edge in the object relationship topology graph; wherein, the edge weight of any edge is equal to the node similarity between the nodes connected by the edge. Based on the edge weights of each edge, K random walks are repeatedly performed in the object relation topology graph to generate K node sequences.
11. The method as described in claim 9, characterized in that, One optimization process of the graph embedding learning model includes: Traverse the H nodes in the k-th node sequence, take the currently traversed node as the base node, and take the nodes connected to the base node in the object relationship topology graph as associated nodes; where k∈[1,K], and H is a positive integer; Using the model parameters of the graph embedding learning model, node representations are performed on the base node and the associated node respectively to obtain the embedding vector of the base node and the embedding vector of the associated node. Based on the embedding vector of the baseline node and the embedding vector of the associated node, a similarity calculation is performed between the baseline node and the associated node; Obtain the node similarity between the baseline node and the associated node from the similarity matrix, and calculate a representation loss value based on the difference between the calculated similarity and the node similarity. After all H nodes have been traversed, the calculated H representation loss values are summed to obtain the total representation loss value; and based on the total representation loss value, the model parameters of the graph embedding learning model are optimized.
12. The method as described in claim 1, characterized in that, The method further includes: When there is a need for object recommendation for the target object, the object representation vector of the target object is determined based on the object representation vectors of Q objects represented by the object relationship topology graph, where Q is equal to the number of nodes in the object relationship topology graph; One or more candidate objects are determined from the Q objects, where a candidate object is an object that does not have the association relationship with the target object; The matching degree between each candidate object and the target object is determined based on the object representation vector of each candidate object and the object representation vector of the target object; From the one or more candidate objects, select candidate objects with a matching degree greater than the matching threshold, and recommend the selected candidate objects to the target object.
13. The method as described in claim 12, characterized in that, Determining the object representation vector of the target object based on the object representation vectors of the Q objects represented by the object relationship topology graph includes: If the target object is included among the Q objects represented by the object relationship topology graph, then the object representation vector of the target object is obtained from the object representation vectors of the Q objects; If the target object is not included among the Q objects represented by the object relationship topology graph, then a reference object of the target object is determined from the Q objects, and the object representation vector of the target object is determined according to the object representation vector of the reference object; wherein, the reference object refers to an object that has the association relationship with the target object.
14. An object representation device, characterized in that, include: The acquisition unit is used to acquire an object relationship topology graph, which includes multiple nodes and multiple edges; A node represents an object, and the nodes corresponding to two related objects are connected by at least one edge. The processing unit is used to mine the node similarity between connected nodes in the object relationship topology graph by utilizing multiple object information sources, and obtain a similarity matrix; The processing unit is further configured to perform representation processing on each node in the object relationship topology graph based on the similarity matrix, to obtain the node representation vector of each node; the node representation vector is generated by a converged graph embedding learning model, which is iteratively optimized based on K node sequences to achieve convergence, where K is a positive integer, and the K node sequences are generated by performing K random walks in the object relationship topology graph. Each random walk includes: selecting a node in the object relationship topology graph as a placer; when the visitor is located in the object relationship topology graph, iteratively executing the following process: setting the current position of the visitor... The node is taken as the current node; if the current node has one or more neighboring nodes, the walk random number of each neighboring node is determined; based on the edge weight of the edge between the current node and each neighboring node, and the corresponding walk random number, the walk probability of the walker walking from the current node to each neighboring node is determined; and the walker is controlled to walk to the neighboring node with the highest walk probability; if the current node has no neighboring nodes, the walker is controlled to leave the object relationship topology graph; wherein, when the walker leaves the object relationship topology graph, the nodes traversed by the walker during the walk are used to construct a node sequence; The processing unit is further configured to use the node representation vector of each node as the object representation vector of the corresponding object.
15. A computer device, comprising an input interface and an output interface, characterized in that, Also includes: A processor, adapted to implement one or more instructions; as well as, A computer storage medium storing one or more instructions, said one or more instructions being adapted to be loaded by said processor and executed as the object representation method as described in any one of claims 1-13.
16. A computer storage medium, characterized in that, The computer storage medium stores one or more instructions, which are adapted to be loaded by a processor and executed as described in any one of claims 1-13.
17. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the object representation method as described in any one of claims 1-13.