Object recommendation method and related apparatus

By constructing and fusing object feature vectors based on social relationships, the problems of low matching degree and insufficient diversity in cold-start object recommendation are solved, achieving a more efficient object recommendation effect.

CN115964571BActive Publication Date: 2025-12-05TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111172893.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-08
Publication Date
2025-12-05
Estimated Expiration
2041-10-08

AI Technical Summary

Technical Problem

In existing technologies, the object recommendation methods for cold start objects lack social information, resulting in low social matching degree and lack of diversity between recommended objects and cold start objects, making it difficult to retain cold start objects.

Method used

By constructing object feature vectors that represent social relationships, clustering is performed based on social data to generate object clusters, and content feature vectors and group feature vectors are extracted and fused to generate fused feature vectors for object recommendation.

Benefits of technology

It improves the social matching degree and recommendation diversity of cold start objects, helping the platform retain cold start objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115964571B_ABST
    Figure CN115964571B_ABST
Patent Text Reader

Abstract

The application discloses an object recommendation method and related device, and relates to the technical field of artificial intelligence. The application can be applied to the field of map Internet of Vehicles. The method comprises the following steps: constructing an object feature vector representing social relations for an object in a target object set; performing clustering processing on the target object set based on social data to obtain an object cluster; extracting a content feature vector from the object description information of a cold-start object, and determining a target object matching the content feature vector from the target object set; performing calculation and processing on the object feature vector of the target object included in each object cluster to generate a group feature vector; performing fusion processing on the content feature vector and the group feature vector to generate a fusion feature vector; and determining an object to be recommended to the cold-start object from the target object set based on the fusion feature vector. The application effectively improves the social matching degree and recommendation diversity of the recommended object and the cold-start object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence technology, specifically to an object recommendation method and related apparatus. Background Technology

[0002] Object recommendation is the process of recommending other objects to a given object. Taking social platforms as an example, there is often a need to recommend objects to each other on the social platform, especially for cold-start objects that lack historical social behavior information.

[0003] Currently, some technical solutions involve directly matching objects based on the object description information of the cold start object (such as the relevant information registered during registration) or simulating object characteristics based on the object description information to recommend objects to cold start users.

[0004] In these approaches, the lack of socially relevant information in the object description information of cold start objects leads to a low degree of social matching between recommended objects and cold start objects, a lack of recommendation diversity, and makes it difficult for the platform to retain cold start objects formed in modification scenarios. Summary of the Invention

[0005] This application provides an object recommendation method and related apparatus, which can effectively improve the social matching degree and recommendation diversity of recommended objects and cold start objects, and help various platforms retain cold start objects in this scenario. The related apparatus may include an object recommendation device, a computer-readable storage medium, an electronic device, and a computer program product or computer program.

[0006] The embodiments of this application provide the following technical solutions:

[0007] According to one embodiment of this application, an object recommendation method includes: constructing object feature vectors representing social relationships based on social data between objects in a target object set; clustering the objects in the target object set based on the social data to obtain at least one object cluster; extracting content feature vectors based on object description information of cold-start objects, and determining target objects matching the content feature vectors from the target object set; calculating and processing the object feature vectors of the target objects included in each object cluster to generate at least one group feature vector; fusing the content feature vectors with at least one group feature vector to generate a fused feature vector; and determining objects to recommend to the cold-start objects from the target object set based on the fused feature vector.

[0008] According to one embodiment of this application, an object recommendation device includes: a construction module, configured to construct object feature vectors representing social relationships based on social data between objects in a target object set; a clustering module, configured to cluster the objects in the target object set based on the social data to obtain at least one object cluster; a matching module, configured to extract content feature vectors based on object description information of cold-start objects and determine target objects matching the content feature vectors from the target object set; a generation module, configured to calculate and process the object feature vectors of the target objects included in each object cluster to generate at least one group feature vector; a fusion module, configured to fuse the content feature vectors with at least one group feature vector to generate a fused feature vector; and a recommendation module, configured to determine objects to recommend to the cold-start objects from the target object set based on the fused feature vector.

[0009] In some embodiments of this application, the construction module includes: a social data acquisition unit, configured to acquire social data of objects in the target object set, the social data including interaction data between the objects and weights corresponding to the interaction data; an intensity calculation unit, configured to perform calculation processing based on the interaction data between the objects and the weights corresponding to the interaction data to obtain the social relationship strength between the objects; and a construction processing unit, configured to perform feature construction processing based on the social relationship strength between the objects to generate an object feature vector representing the social relationship for each object.

[0010] In some embodiments of this application, the construction processing unit includes: a relationship matrix construction subunit, used to construct a social relationship matrix between the objects by using the strength of social relationships between the objects as matrix elements; and a node embedding processing subunit, used to perform node embedding processing based on the social relationship matrix to generate an embedding vector for each object, forming an object feature vector representing social relationships corresponding to each object.

[0011] In some embodiments of this application, the node embedding processing subunit is configured to: sample objects from the target object set to obtain a predetermined number of sampled objects; perform social object sampling on each sampled object based on the social relationship matrix to obtain positive and negative objects corresponding to each sampled object, wherein a positive object refers to one of the objects with a social relationship strength greater than zero with the sampled object, and a negative object refers to one of the objects with a social relationship strength equal to zero with the sampled object; combine each sampled object and the corresponding positive and negative objects to form a triplet corresponding to each sampled object; perform backpropagation with the goal of maximizing the distance between the positive and negative objects in each triplet to optimize the initialized node embedding matrix and generate an embedding vector for each object.

[0012] In some embodiments of this application, each pair of objects includes at least one interaction data, and each interaction data corresponds to a weight; the strength calculation unit is used to: calculate a weighted sum based on at least one interaction data between each pair of objects and the weight corresponding to each interaction data to obtain the social relationship strength between each pair of objects.

[0013] In some embodiments of this application, the social data includes interaction data between the objects, with at least one interaction data between every two objects; the clustering module includes: a network graph construction unit, used to construct a social relationship network graph between the objects, using the objects as nodes and each interaction data between the objects as connecting edges between nodes; and a community division unit, used to perform community division processing based on the social relationship network graph, so as to divide the objects in the target object set into at least one object community, with each object community corresponding to an object cluster.

[0014] In some embodiments of this application, the community partitioning unit is configured to: initialize at least one target node in the social relationship network graph as a target community; calculate the modularity of each target community based on the first connection sum and the second connection sum corresponding to each target community, wherein the first connection sum refers to the total number of connection edges between nodes in the target community, and the second connection sum refers to the total number of connection edges between nodes in the target community and other nodes outside the target community; and partition the nodes in the other nodes into each target community according to the modularity of each target community and the gain of the updated modularity, thereby generating at least one object community, wherein the updated modularity is the modularity of the updated community formed after the nodes in the other nodes join the target community.

[0015] In some embodiments of this application, the generation module includes: a basket processing unit, configured to divide all the target objects into baskets according to the object cluster to which each target object belongs, to obtain at least one sub-object cluster; and a basket calculation unit, configured to calculate and process the object feature vectors of the target objects in each sub-object cluster to generate at least one group feature vector.

[0016] In some embodiments of this application, the basket calculation unit is used to: perform average pooling on the object feature vectors of the target objects in each sub-object cluster to generate a group feature vector corresponding to each sub-object cluster.

[0017] In some embodiments of this application, the fusion module includes: a target content feature vector extraction unit, configured to extract the target content feature vector of each target object based on the object description information of each target object; a target group feature vector calculation unit, configured to calculate and process the target content feature vectors of the target objects included in each object cluster to generate at least one target group feature vector; and a vector fusion unit, configured to fuse at least one target group feature vector, the content feature vector, and at least one group feature vector to generate the fused feature vector.

[0018] In some embodiments of this application, the vector fusion unit includes: a scoring processing subunit, used to perform attention scoring processing based on the content feature vector and at least one target group feature vector to obtain an attention score between the content feature vector and each target group feature vector; a multiplication processing subunit, used to multiply the group feature vectors corresponding to the same object cluster with the attention scores to obtain at least one scored latent vector; and an aggregation processing subunit, used to aggregate the at least one scored latent vector to generate the fused feature vector.

[0019] In some embodiments of this application, the scoring processing subunit is configured to: perform dot product processing on the content feature vector and each target group feature vector respectively to obtain a dot product vector corresponding to each target group feature vector; concatenate the content feature vector with each target group feature vector and the dot product vector corresponding to each target group feature vector respectively to obtain a concatenated vector between the content feature vector and each target group feature vector; and perform attention scoring processing based on the concatenated vector to obtain an attention score between the content feature vector and each target group feature vector.

[0020] In some embodiments of this application, the recommendation module includes: a similarity calculation unit, used to calculate the similarity between the fused feature vector and a preset feature vector of each object in the target object set; and an object matching unit, used to determine the object to be recommended to the cold start object based on the similarity.

[0021] According to another embodiment of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a computer's processor, causes the computer to perform the methods described in the embodiments of this application.

[0022] According to another embodiment of this application, an electronic device includes: a memory storing a computer program; and a processor reading the computer program stored in the memory to execute the methods described in the embodiments of this application.

[0023] According to another embodiment of this application, a computer program product or computer program 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 methods provided in the various optional implementations described in the embodiments of this application.

[0024] In this embodiment, for objects in the target object set, an object feature vector representing social relationships is constructed based on social data between objects; the objects in the target object set are clustered based on social data to obtain at least one object cluster; content feature vectors are extracted based on the object description information of the cold start object, and target objects matching the content feature vectors are determined from the target object set; the object feature vectors of the target objects included in each object cluster are calculated and processed separately to generate at least one group feature vector; the content feature vectors are fused with at least one group feature vector to generate a fused feature vector; and based on the fused feature vector, objects recommended to the cold start object are determined from the target object set.

[0025] In this way, the target object set can be divided into several object clusters based on the clustering processing of social data, according to the goal of maximizing information. The diversity of object clusters can provide a basis for the diversity of object recommendations. Furthermore, based on the preliminary matching between the target object and the cold start object, the group feature vector of each object cluster is adaptively extracted, and the information of the information-complete object in the target object set and the information of the cold start object are effectively fused through fusion processing to form a fused feature vector with maximized information corresponding to the cold start object.

[0026] Furthermore, based on the fused feature vector, the objects to be recommended to the cold start object are determined from the target object set, which effectively improves the social matching degree and recommendation diversity between the recommended objects and the cold start object, and helps various platforms retain the cold start object in this scenario. Attached Figure Description

[0027] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0028] Figure 1 A schematic diagram of a system to which embodiments of this application can be applied is shown.

[0029] Figure 2 A flowchart of an object recommendation method according to an embodiment of this application is shown.

[0030] Figure 3 A flowchart illustrating the construction of an object feature vector according to an embodiment of this application is shown.

[0031] Figure 4 A flowchart of a node embedding process according to an embodiment of this application is shown.

[0032] Figure 5 A flowchart illustrating a community partitioning process according to an embodiment of this application is shown.

[0033] Figure 6 A flowchart illustrating the calculation of a group feature vector according to an embodiment of this application is shown.

[0034] Figure 7 A flowchart illustrating the feature vector fusion process according to one embodiment of this application is shown.

[0035] Figure 8 A block diagram of an object recommendation apparatus according to another embodiment of this application is shown.

[0036] Figure 9 A block diagram of an electronic device according to an embodiment of this application is shown. Detailed Implementation

[0037] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0038] Figure 1 A schematic diagram of a system 100 to which embodiments of this application can be applied is shown. For example... Figure 1 As shown, system 100 may include server 101 and terminal 102. Server 101 and terminal 102 may be directly or indirectly connected via wired or wireless communication, and this application does not impose any special restrictions on this connection.

[0039] Server 101 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.

[0040] In one implementation of this example, server 101 is a cloud server that can provide artificial intelligence cloud services, such as providing AI cloud services for object recommendation. These AI cloud services are generally also referred to as AIaaS (AI as a Service).

[0041] Terminal 102 can be any device, including but not limited to mobile phones, computers, smart voice interaction devices, smart home appliances, in-vehicle terminals, VR / AR devices, smartwatches, and computers, etc.

[0042] In one embodiment of this example, server 101 may: construct object feature vectors representing social relationships based on social data between objects in a target object set; perform clustering processing on the objects in the target object set based on the social data to obtain at least one object cluster; extract content feature vectors based on object description information of cold-start objects, and determine target objects matching the content feature vectors from the target object set; calculate and process the object feature vectors of the target objects included in each object cluster to generate at least one group feature vector; fuse the content feature vectors with at least one group feature vector to generate a fused feature vector; and determine objects to recommend to the cold-start objects from the target object set based on the fused feature vector.

[0043] In one example, the target object set can be a set of objects within a target platform, with each object corresponding to a platform account. A scenario where a user registers or modifies an account within the application of that target platform on terminal 102 forms a cold start object. Server 101 can determine the objects to recommend to that user's account (cold start object) from the target object set. The target platform can include social media platforms or map / vehicle network platforms, etc. Social data between objects in the target object set can be obtained from the target platform through legally agreed-upon procedures.

[0044] In one example, the fused feature vector generated in server 101 can be securely shared and stored in the blockchain network after being uploaded to the fused feature vector.

[0045] Figure 2 A flowchart illustrating an embodiment of an object recommendation method according to this application is shown schematically. The execution subject of this object recommendation method can be any device, such as... Figure 1 The server 101 or terminal 202 shown.

[0046] like Figure 2 As shown, the object recommendation method may include steps S210 to S260.

[0047] Step S210: For objects in the target object set, construct object feature vectors representing social relationships based on social data between objects; Step S220: Cluster the objects in the target object set based on social data to obtain at least one object cluster; Step S230: Extract content feature vectors based on object description information of cold start objects, and determine target objects matching the content feature vectors from the target object set; Step S240: Calculate and process the object feature vectors of the target objects included in each object cluster to generate at least one group feature vector; Step S250: Fuse the content feature vectors with at least one group feature vector to generate a fused feature vector; Step S260: Based on the fused feature vector, determine the objects to be recommended to the cold start objects from the target object set.

[0048] In this way, based on steps S210 to S260, the target object set can be divided into several object clusters based on social data clustering, according to the goal of maximizing information. The diversity of object clusters can provide a foundation for the diversity of object recommendations. Furthermore, based on the preliminary matching between the target object and the cold-start object, the group feature vector of each object cluster is adaptively extracted, and the information of the information-complete objects in the target object set and the information of the cold-start object are effectively fused through fusion processing to form a fused feature vector that maximizes and perfects the information of the cold-start object. Then, based on the fused feature vector, the objects to be recommended to the cold-start object are determined from the target object set, which effectively improves the social matching degree and recommendation diversity between the recommended objects and the cold-start object, and is conducive to retaining the cold-start objects formed in the modification scenario on various platforms.

[0049] The following describes the specific steps involved in making object recommendations.

[0050] In step S210, for objects in the target object set, an object feature vector representing social relationships is constructed based on the social data between the objects.

[0051] In this example implementation, the target object set is a collection of at least one object. The target object set may originate from a target platform (such as a social networking platform or a map-based vehicle networking platform), and each object may correspond to an account on the target platform. In one example, the target platform is a social networking platform with local matchmaking functionality.

[0052] Social data refers to the interaction data between objects. There may or may not be social data between two objects in the target object set.

[0053] Object feature vectors are used to uniquely describe an object. Constructing object feature vectors that represent social relationships means using vectors to uniquely describe an object and describe the relationship between objects in a social network. That is, object feature vectors are similar between objects with strong social relationships, while object feature vectors differ more between objects with weak social relationships.

[0054] Interaction data between objects can reflect the social relationships between them. Based on this social data, each object can be vectorized, and a feature vector representing the social relationship can be constructed for each object.

[0055] In one embodiment, see Figure 3 Step S210: For objects in the target object set, construct object feature vectors representing social relationships based on social data between objects, including:

[0056] Step S211: Obtain social data of objects in the target object set. The social data includes interaction data between objects and the weights corresponding to the interaction data. Step S212: Calculate and process the interaction data between objects and the weights corresponding to the interaction data to obtain the strength of social relationships between objects. Step S213: Perform feature construction processing based on the strength of social relationships between objects to generate an object feature vector representing social relationships for each object.

[0057] Social data refers to the interaction data between objects. There may or may not be social data between two objects in a target object set. Social data includes the interaction data between objects and the weights corresponding to these interactions. That is, two objects with social data have at least one interaction, and each interaction is assigned a corresponding weight.

[0058] Interaction data includes the number of interactions, cumulative interaction duration, number of interaction rounds, interaction frequency, and number of interaction days in the past week. Each interaction data can be assigned a corresponding weight, which can be set according to the actual situation.

[0059] When calculating based on interaction data between objects and the corresponding weights, the strength of the social relationship between objects (e.g., the strength R of the social relationship between object i and object j) can be obtained by weighted summation of the interaction data and its corresponding weights, or by calculation according to a specific formula. ij Social relationship strength refers to information used to describe the intensity of interaction between two objects, such as strength level or strength score.

[0060] The strength of social relationships can accurately reflect the social relationships between objects. Therefore, based on the strength of social relationships between objects, each object can be vectorized and a feature vector representing the social relationship can be constructed for each object.

[0061] In one embodiment, at least one set of interaction data is included between every two objects, and each set of interaction data corresponds to a weight; step S212, calculating the social relationship strength between objects based on the interaction data between objects and the weights corresponding to the interaction data, includes:

[0062] The strength of the social relationship between each pair of objects is obtained by calculating a weighted sum based on at least one interaction data between each pair of objects and the weight corresponding to each interaction data.

[0063] In this embodiment, the strength of social relationships between objects is obtained by performing a weighted sum calculation.

[0064] Specifically, it can be based on the formula: Perform a weighted sum, where Rij is the strength of the social relationship between object i and object j; This is the count corresponding to the nth interaction data between object i and object j, for example, if the number of interaction rounds is 5. This represents the weight corresponding to the nth interaction data between object i and object j. For example, the weight for the interaction round is 0.6, and K is the number of interaction data. In one example,

[0065] In one embodiment, see Figure 4 Step S213 involves feature construction based on the strength of social relationships between objects to generate object feature vectors representing social relationships for each object, including:

[0066] Step S2131: Use the strength of social relationships between objects as matrix elements to construct a social relationship matrix between objects; Step S2132: Perform node embedding processing based on the social relationship matrix to generate an embedding vector for each object, forming an object feature vector representing social relationships for each object.

[0067] By using the strength of social relationships between objects as matrix elements—for example, using the strength of the social relationship between object i and object j as the intersection of the i-th row and j-th column of the matrix—a social relationship matrix R∈R can be constructed based on the strength of social relationships between all objects in the target object set. N×N , where N is the total number of all objects in the target object set.

[0068] Node embedding can be performed based on the social relationship matrix. Node embedding methods can include matrix factorization, network embedding, and graph embedding. Node embedding can generate an embedding vector for each object, which is the object feature vector representing the social relationship of each object.

[0069] In one embodiment, step S2132, which involves performing node embedding processing based on the social relationship matrix to generate an embedding vector for each object, includes:

[0070] Objects are sampled from the target object set to obtain a predetermined number of sampled objects. Social object sampling is performed on each sampled object based on the social relationship matrix to obtain the positive and negative objects corresponding to each sampled object. A positive object refers to one of the objects with a social relationship strength greater than zero with the sampled object, and a negative object refers to one of the objects with a social relationship strength equal to zero with the sampled object. Each sampled object and its corresponding positive and negative objects are combined to form a triplet corresponding to each sampled object. Backpropagation is performed with the optimization objective of maximizing the distance between the positive and negative objects in each triplet to optimize the initialized node embedding matrix and generate the embedding vector of each object.

[0071] Object sampling from the target object set can be performed by: performing mini-batch sampling on all objects U = {1, 2, ..., N} in the target object set. The sampling method can be sampling without replacement, with a batch size nb ≤ N, where nb is the predetermined number and N is the total number of objects in the target object set. b Local adoption can be formed when n < N, b When the value is equal to N, global sampling can be achieved.

[0072] Secondly, regarding the predetermined number n b Social object sampling is performed on each sampled object, and social object sampling can include positive sampling and negative sampling.

[0073] Positive sampling is based on the strength of social relationships R in the social relationship matrix R. ij To obtain all neighbors of a given sampled object u in the target object set U = {1, 2, ..., N}. Then, random sampling One of the objects is taken as positive object t, R um >0 means that the social relationship strength between object u and object m is greater than zero.

[0074] Negative sampling is based on the social relationship strength R in the social relationship matrix R. ij Obtain all non-neighbors of the sampled object u in the target object set U = {1, 2, ..., N}. Then, random sampling One of the objects is taken as the negative object f, R uv =0 means that the strength of the social relationship between object u and object v is zero.

[0075] Next, each sampled object and its corresponding positive and negative objects are combined to form a triplet for each sampled object. For example, for sampled object u, the positive object t and the negative object f are combined to form a triplet (u, t, v).

[0076] Based on the triplet corresponding to each sampled object in the combination, backpropagation can be performed with the objective loss function to maximize the distance between the positive and negative objects in each triplet as the optimization objective, and the initialized node embedding matrix can be optimized to generate the embedding vector of each object.

[0077] The initialized node embedding matrix can be Where l0 is the node embedding dimension, which is the dimension of the embedding vector of each object; N is the total number of all objects. The initialized node embedding matrix can be initialized before object sampling.

[0078] Optimizing the initial node embedding matrix can improve the representation of the node embedding vectors in the matrix, generating a set E of embedding vectors. (0) ={s i |i∈{1,2,...,N},s i That is, the embedding vector of the i-th object.

[0079] The objective loss function can be the BPR loss, which effectively maximizes the distance between positive and negative samples as the optimization objective. For the triple (u, t, v), the BPR loss L... BPR As shown in the formula below:

[0080]

[0081] In step S220, objects in the target object set are clustered based on social data to obtain at least one object cluster.

[0082] In this example implementation, objects in the target object set are clustered based on social data, meaning that closely related objects in the target object set are grouped into object clusters. By clustering the objects in the target object set, several object clusters are obtained. The diversity of object clusters provides a foundation for diverse object recommendations and allows for the extraction of group feature vectors. Specifically, a clustering algorithm is used to cluster the objects in the target object set.

[0083] See Figure 5 In one embodiment, the social data includes interaction data between objects, with at least one interaction data between every two objects; step S220, clustering the objects in the target object set based on the social data to obtain at least one object cluster, including:

[0084] Step S221: Construct a social relationship network graph between objects by treating objects as nodes and each interaction data between objects as a connection edge between nodes; Step S222: Perform community division processing based on the social relationship network graph to divide the objects in the target object set into at least one object community, with each object community corresponding to an object cluster.

[0085] In this embodiment, graph clustering (i.e., community detection algorithm) is used to cluster objects in the target object set.

[0086] By treating objects as nodes and each interaction data between objects as connecting edges between nodes, a social relationship network graph is constructed between objects. The social relationship network graph can exist in the form of an adjacency matrix, where each interaction data can correspond to a weight, and thus, each connecting edge can correspond to a weight.

[0087] Unlike traditional clustering algorithms, which divide objects into clusters based on distances between nodes in a spatial space, community detection algorithms target nodes in a social network. They divide the network into communities based on the connections and weights between nodes, identifying closely connected nodes known as object communities (node ​​clusters). This process separates individual object communities. Each node corresponds to one object, and each object community corresponds to one object cluster. Community-based partitioning effectively improves the segmentation of object clusters, thus enhancing the overall performance of object recommendations.

[0088] In one embodiment, step S222, performing community segmentation processing based on a social relationship network graph to divide objects in the target object set into at least one object community, includes:

[0089] Initialize at least one target node in the social relationship network graph as a target community; calculate the modularity of each target community based on the first connection sum and the second connection sum corresponding to each target community. The first connection sum refers to the total number of connecting edges between nodes in the target community, and the second connection sum refers to the total number of connecting edges between nodes in the target community and other nodes outside the target community; according to the modularity of each target community and the gain of the updated modularity, assign nodes in other nodes to each target community to generate at least one object community, and update the modularity to the modularity of the updated community formed after the nodes in other nodes join the target community.

[0090] Modularity Q is a metric for evaluating the quality of a community partitioning. The initial number of target communities can be set according to actual conditions. For target community c, modularity Q can be calculated based on the following:

[0091]

[0092]

[0093] Where ezc is the connection value between communities z and c, i.e., the sum of connections between communities z and c (i.e., the number of edges connecting communities z and c). az represents the total number of edges connecting community Z, a z =∑ z e zc .

[0094] Ultimately, the modularity of target community c Let ∑ represent the sum of all connected edges within the target community c (i.e., the first connection sum). tot This represents the sum of the edges connecting nodes outside the target community c to nodes inside the target community c (i.e., the second sum of edges).

[0095] When updating community partitioning, the modularity gain ΔQ resulting from the new partitioning can be calculated using the following formula:

[0096]

[0097] Where, k i,in It is the sum of the edges connecting node i and nodes within community c, k i This is the degree of node i (i.e., the number of edges connected to node i). The preceding term... This indicates that after node i is added to community c, the modularity of the updated community is obtained (i.e., the updated modularity), and the following item... This represents the sum of the modularity of node i before it joins the community c, and when community c and node i are each a community.

[0098] The community is updated according to this formula. Node i is added to community c based on the gain ΔQ. Finally, when the modularity gain ΔQ is less than 0, the community update stops. This is the final community partitioning result, generating at least one object community. For example... n represents the partition obtained c A community of objects.

[0099] In step S230, the content feature vector is extracted based on the object description information of the cold start object, and the target object matching the content feature vector is determined from the target object set.

[0100] In this example implementation, the object description information of the cold start object is the description information that lacks historical social behavior information. For example, the object description information of the cold start object is the form information with a relatively fixed format filled in when the cold start object registers an account on the target platform.

[0101] These content features (i.e., the object description information of the cold start object) are used as side information, and the content feature vector of the cold start object can be extracted through transformation methods such as feature mapping and statistical methods.

[0102] By using content feature vectors, we can find target objects that match the content feature vectors from the target object set (i.e., target objects that match cold start objects).

[0103] In one example, the method for determining the target object that matches the content feature vector can be based on the K-Nearest Neighbor (KNN) algorithm to search for k matching target objects using the content feature vector, which can effectively improve the object recommendation effect. In another example, the similarity can be directly matched between the content feature vector and the content feature vector of each object in the target object set, and the object whose similarity meets the predetermined conditions can be determined as the matching target object.

[0104] In step S240, the object feature vectors of the target objects included in each object cluster are calculated and processed to generate at least one group feature vector.

[0105] In this example implementation, after a target object is matched from the target object set, the target object may include at least one, and the objects in the target object set are divided into at least one object cluster. Furthermore, each target object has an object cluster to which it belongs, but a certain object cluster may not include the target object.

[0106] For example, if 20 target objects are matched, the object clusters include 3. In one case, the first object cluster may include 6 target objects, the second object cluster may include 14 target objects, and the third object cluster may not include any target objects. In another case, the first object cluster may include 6 target objects, the second object cluster may include 10 target objects, and the third object cluster may include 4 target objects.

[0107] The object feature vectors of the target objects included in each object cluster are calculated and processed separately. For example, the object feature vectors of the 6 target objects included in the first object cluster are calculated and processed, and the object feature vectors of the 14 target objects included in the second object cluster are calculated and processed, thereby generating at least one group feature vector.

[0108] Furthermore, if |C u |A cluster of objects includes the target object, and |C| can ultimately be calculated. u |Group feature vector, where the calculation and processing methods can be average pooling or summation, etc. Average pooling can be particularly effective in improving object recommendation performance.

[0109] See Figure 6 In one embodiment, step S240 involves calculating and processing the object feature vectors of the target objects included in each object cluster to generate at least one group feature vector, including:

[0110] Step S241: Based on the object cluster to which each target object belongs, divide all target objects into baskets to obtain at least one sub-object cluster; Step S242: Calculate and process the object feature vectors of the target objects in each sub-object cluster to generate at least one group feature vector.

[0111] Basket splitting involves determining the object cluster to which each target object belongs, and then dividing all target objects into sub-object clusters according to their respective object clusters. For example, if 20 target objects are matched, and there are 3 object clusters, in one scenario, the first object cluster may contain 6 target objects, forming a sub-object cluster; the second object cluster may contain 14 target objects, forming another sub-object cluster; and the third object cluster may not contain any target objects, thus resulting in 2 sub-object clusters from the basket splitting process.

[0112] The object feature vectors of the target objects in each sub-object cluster are calculated separately to avoid redundant calculations for object clusters that do not include the target object cluster, thus efficiently generating at least one group feature vector. If |C u |A cluster of sub-objects, which can ultimately be calculated to obtain|C u | Group feature vectors. The calculation and processing methods can include average pooling or summation, with average pooling being particularly effective in improving object recommendation performance.

[0113] In one embodiment, the object feature vectors of the target objects in each sub-object cluster are calculated and processed to generate at least one group feature vector, including:

[0114] The object feature vectors of the target objects in each sub-object cluster are subjected to average pooling to generate the group feature vectors corresponding to each sub-object cluster.

[0115] In this embodiment, the group feature vector is calculated using average pooling. During average pooling, for example, if a sub-object cluster includes two target objects, the object feature vector of the first target object is 421132 and the object feature vector of the second target object is 261132, then the average of the vectors in each dimension is calculated and concatenated to obtain the group feature vector 341132 corresponding to the sub-object cluster.

[0116] In step S250, the content feature vector is fused with at least one group feature vector to generate a fused feature vector.

[0117] In this example implementation, the aforementioned steps adaptively extract group feature vectors for each object cluster based on the initial matching between the target object and the cold start object. Through fusion processing, information from fully informed objects in the target object set and information from the cold start object can be effectively merged to form a fused feature vector that maximizes and perfects the information corresponding to the cold start object.

[0118] One method of fusion processing is to directly aggregate the content feature vector with at least one group feature vector; another method is to fuse according to the following embodiments, which can effectively improve the fusion effect and improve the overall object recommendation effect.

[0119] See Figure 7 In one embodiment, step S250 involves fusing the content feature vector with at least one group feature vector to generate a fused feature vector, including:

[0120] Step S251: Extract the target content feature vector of each target object based on the object description information of each target object; Step S252: Calculate and process the target content feature vectors of the target objects included in each object cluster to generate at least one target group feature vector; Step S253: Merge the at least one target group feature vector, the content feature vector and the at least one group feature vector to generate a fused feature vector.

[0121] Similar to cold start objects, the object description information of the target object can be obtained, and its content feature vector can be extracted to obtain the target content feature vector of each target object.

[0122] The target content feature vectors of the target objects included in each object cluster are calculated and processed separately. For example, the target content feature vectors of the 6 target objects included in the first object cluster are calculated and processed, and the target content feature vectors of the 14 target objects included in the second object cluster are calculated and processed, thereby generating at least one target group feature vector.

[0123] Furthermore, if |C u |A cluster of objects includes the target object, and |C| can ultimately be calculated. u |Group feature vector, where the calculation and processing methods can be average pooling or summation, etc. Average pooling can be particularly effective in improving object recommendation performance.

[0124] By fusing at least one target group feature vector, content feature vector, and at least one group feature vector to generate a more comprehensive and information-maximizing fused feature vector, the object recommendation effect can be further improved.

[0125] In one embodiment, step S253 involves fusing at least one target group feature vector, a content feature vector, and at least one group feature vector to generate a fused feature vector, including:

[0126] Attention scoring is performed on the content feature vector and at least one target group feature vector to obtain the attention score between the content feature vector and each target group feature vector; the group feature vectors corresponding to the same object cluster are multiplied with the attention scores to obtain at least one scored latent vector; the at least one scored latent vector is aggregated to generate a fused feature vector.

[0127] Each target group feature vector corresponds to an object cluster (since the target group feature vector is calculated based on the vectors of the target objects included in the object cluster). Consequently, the attention score corresponding to the target group feature vector also corresponds to the object cluster corresponding to the target group feature vector. At the same time, each group feature vector also corresponds to an object cluster (since the group feature vector is calculated based on the vectors of the target objects included in the object cluster).

[0128] Multiplying the group feature vectors corresponding to the same object clusters with the attention scores can be done based on the formula a(f) u f (u,i ))e (u,i) Perform, where a(f) u f (u,i) This refers to the attention score between the content feature vector of the cold-start object u and the target group feature vector corresponding to the i-th object cluster (including the target object's cluster), e (u,i) That is, the group feature vector corresponding to the i-th object cluster, a(f u f (u,i) )e (u,i) That is, the scored latent vector corresponding to the i-th object cluster. Furthermore, if |C u |A cluster of objects includes the target object (i.e., it will be divided into |C) u |a cluster of sub-objects), which can ultimately be calculated to obtain |C u | A latent vector after scoring.

[0129] Finally, at least one scored latent vector is aggregated to generate a fused feature vector. An example of this aggregation method is shown in the following formula: summing all scored latent vectors. The fused feature vector g(u) is obtained:

[0130]

[0131] Among them, f (u,i) Let be the target group feature vector corresponding to the i-th object cluster.

[0132] Specifically, attention scoring is performed based on the content feature vector (the content feature vector of the cold-start object u) and at least one target group feature vector to obtain the attention score between the content feature vector and each target group feature vector, a(f u f (u,i) That is, the attention score between the content feature vector of the cold start object u and the target group feature vector corresponding to the i-th object cluster. The attention scoring process can be as described in the following embodiments.

[0133] In one embodiment, attention scoring is performed based on the content feature vector and at least one target group feature vector to obtain an attention score between the content feature vector and each target group feature vector, including:

[0134] The content feature vector is multiplied by each target group feature vector to obtain the dot product vector corresponding to each target group feature vector. The content feature vector is concatenated with each target group feature vector and the dot product vector corresponding to each target group feature vector to obtain the concatenated vector between the content feature vector and each target group feature vector. Attention scoring is performed based on the concatenated vector to obtain the attention score between the content feature vector and each target group feature vector.

[0135] The content feature vector is f u The target group feature vector corresponding to the i-th object cluster (including the target object cluster) is f. (u,i) The content feature vector is multiplied by the feature vector of each target group, i.e., f. u ⊙f (u,i) f u ⊙f (u,i) That is, the dot product vector corresponding to the target group feature vector of the i-th object cluster.

[0136] The content feature vector is concatenated with each target group feature vector and the corresponding dot product vector of each target group feature vector, respectively. This can be done by concatenating f... u f (u,i) and f u ⊙f (u,i) The concatenation results in the spliced ​​vector f. u ⊙f (u,i) ||f u ||f (u,i) f u ⊙f (u,i) ||f u ||f (u,i) That is, the concatenation vector between the content feature vector fu and the target group feature vector corresponding to the i-th object cluster, and thus, the concatenation vector between the content feature vector and each target group feature vector.

[0137] Finally, attention scoring is performed based on the concatenated vector. The concatenated vector can be input into a multilayer perceptron (MLP). The number of layers and the dimension of the hidden layers of the MLP are pre-trained hyperparameters. The output layer is the attention score between the content feature vector and the feature vector of each target group.

[0138] In step S260, based on the fused feature vector, objects to be recommended to the cold start object are determined from the target object set.

[0139] In this example implementation, the fused feature vectors form a feature vector that maximizes and improves the information corresponding to the cold start object. Based on the fused feature vectors, methods such as cosine distance can be used to perform similarity matching between the fused feature vectors and the preset feature vectors of each object in the target object set, thereby determining at least one matched object (such as at least one object with a similarity higher than a predetermined threshold) as the object to be recommended to the cold start object.

[0140] In this way, the recommended objects are determined from the target object set and recommended to the cold start object, which effectively improves the social matching degree and recommendation diversity between the recommended objects and the cold start object. This allows new objects (cold start objects) to have a social and dating experience comparable to that of old objects (objects with historical social behavior), and old objects can also easily match with new objects. This is beneficial for various platforms to retain cold start objects in this scenario.

[0141] In one embodiment, step S260, based on the fused feature vector, determines the objects to be recommended to the cold start object from the target object set, including: calculating the similarity between the fused feature vector and the preset feature vector of each object in the target object set; and determining the objects to be recommended to the cold start object based on the similarity.

[0142] The preset feature vector of an object can be a feature vector extracted based on the object's complete information (such as information on historical social behavior). Using methods such as cosine distance, the similarity between the fused feature vector and the preset feature vector of each object in the target object set can be calculated. Then, at least one object (such as at least one object with a similarity higher than a predetermined threshold) can be selected based on the similarity to recommend objects to the cold start object.

[0143] To facilitate better implementation of the object recommendation method provided in the embodiments of this application, the embodiments of this application also provide an object recommendation apparatus based on the above-described object recommendation method. The meanings of the terms used are the same as in the object recommendation method described above, and specific implementation details can be found in the descriptions in the method embodiments. Figure 8 A block diagram of an object recommendation apparatus according to an embodiment of this application is shown.

[0144] like Figure 8As shown, the object recommendation device 300 may include a construction module 310, a clustering module 320, a matching module 330, a generation module 340, a fusion module 350, and a recommendation module 360.

[0145] The construction module 310 can be used to construct object feature vectors representing social relationships based on social data between objects in the target object set; the clustering module 320 can be used to cluster objects in the target object set based on the social data to obtain at least one object cluster; the matching module 330 can be used to extract content feature vectors based on object description information of cold start objects and determine target objects that match the content feature vectors from the target object set; the generation module 340 can be used to calculate and process the object feature vectors of the target objects included in each object cluster to generate at least one group feature vector; the fusion module 350 can be used to fuse the content feature vectors with at least one group feature vector to generate a fused feature vector; and the recommendation module 360 ​​can be used to determine objects to recommend to the cold start objects from the target object set based on the fused feature vector.

[0146] In some embodiments of this application, the construction module includes: a social data acquisition unit, configured to acquire social data of objects in the target object set, the social data including interaction data between the objects and weights corresponding to the interaction data; an intensity calculation unit, configured to perform calculation processing based on the interaction data between the objects and the weights corresponding to the interaction data to obtain the social relationship strength between the objects; and a construction processing unit, configured to perform feature construction processing based on the social relationship strength between the objects to generate an object feature vector representing the social relationship for each object.

[0147] In some embodiments of this application, the construction processing unit includes: a relationship matrix construction subunit, used to construct a social relationship matrix between the objects by using the strength of social relationships between the objects as matrix elements; and a node embedding processing subunit, used to perform node embedding processing based on the social relationship matrix to generate an embedding vector for each object, forming an object feature vector representing social relationships corresponding to each object.

[0148] In some embodiments of this application, the node embedding processing subunit is configured to: sample objects from the target object set to obtain a predetermined number of sampled objects; perform social object sampling on each sampled object based on the social relationship matrix to obtain positive and negative objects corresponding to each sampled object, wherein a positive object refers to one of the objects with a social relationship strength greater than zero with the sampled object, and a negative object refers to one of the objects with a social relationship strength equal to zero with the sampled object; combine each sampled object and the corresponding positive and negative objects to form a triplet corresponding to each sampled object; perform backpropagation with the goal of maximizing the distance between the positive and negative objects in each triplet to optimize the initialized node embedding matrix and generate an embedding vector for each object.

[0149] In some embodiments of this application, the interaction data between every two objects includes at least one, and each interaction data corresponds to a weight; the strength calculation unit is used to: calculate a weighted sum based on at least one interaction data between every two objects and the weight corresponding to each interaction data to obtain the social relationship strength between every two objects.

[0150] In some embodiments of this application, the social data includes interaction data between the objects, and the interaction data between every two objects includes at least one; the clustering module includes: a network graph construction unit, used to construct a social relationship network graph between the objects by using the objects as nodes and each interaction data between the objects as a connection edge between the nodes; and a community division unit, used to perform community division processing based on the social relationship network graph to divide the objects in the target object set into at least one object community, and each object community corresponds to an object cluster.

[0151] In some embodiments of this application, the community partitioning unit is configured to: initialize at least one target node in the social relationship network graph as a target community; calculate the modularity of each target community based on the first connection sum and the second connection sum corresponding to each target community, wherein the first connection sum refers to the total number of connection edges between nodes in the target community, and the second connection sum refers to the total number of connection edges between nodes in the target community and other nodes outside the target community; and partition the nodes in the other nodes into each target community according to the modularity of each target community and the gain of the updated modularity, thereby generating at least one object community, wherein the updated modularity is the modularity of the updated community formed after the nodes in the other nodes join the target community.

[0152] In some embodiments of this application, the generation module includes: a basket processing unit, configured to divide all the target objects into baskets according to the object cluster to which each target object belongs, to obtain at least one sub-object cluster; and a basket calculation unit, configured to calculate and process the object feature vectors of the target objects in each sub-object cluster to generate at least one group feature vector.

[0153] In some embodiments of this application, the basket calculation unit is used to: perform average pooling on the object feature vectors of the target objects in each sub-object cluster to generate a group feature vector corresponding to each sub-object cluster.

[0154] In some embodiments of this application, the fusion module includes: a target content feature vector extraction unit, configured to extract the target content feature vector of each target object based on the object description information of each target object; a target group feature vector calculation unit, configured to calculate and process the target content feature vectors of the target objects included in each object cluster to generate at least one target group feature vector; and a vector fusion unit, configured to fuse at least one target group feature vector, the content feature vector, and at least one group feature vector to generate the fused feature vector.

[0155] In some embodiments of this application, the vector fusion unit includes: a scoring processing subunit, used to perform attention scoring processing based on the content feature vector and at least one target group feature vector to obtain an attention score between the content feature vector and each target group feature vector; a multiplication processing subunit, used to multiply the group feature vectors corresponding to the same object cluster with the attention scores to obtain at least one scored latent vector; and an aggregation processing subunit, used to aggregate the at least one scored latent vector to generate the fused feature vector.

[0156] In some embodiments of this application, the scoring processing subunit is configured to: perform dot product processing on the content feature vector and each target group feature vector respectively to obtain a dot product vector corresponding to each target group feature vector; concatenate the content feature vector with each target group feature vector and the dot product vector corresponding to each target group feature vector respectively to obtain a concatenated vector between the content feature vector and each target group feature vector; and perform attention scoring processing based on the concatenated vector to obtain an attention score between the content feature vector and each target group feature vector.

[0157] In some embodiments of this application, the recommendation module includes: a similarity calculation unit, used to calculate the similarity between the fused feature vector and a preset feature vector of each object in the target object set; and an object matching unit, used to determine the object to be recommended to the cold start object based on the similarity.

[0158] In this way, based on the object recommendation device 300, the target object set can be divided into several object clusters according to the goal of maximizing information. The diversity of object clusters can provide a foundation for the diversity of object recommendations. Furthermore, based on the preliminary matching between the target object and the cold-start object, the group feature vector of each object cluster is adaptively extracted. Through fusion processing, the information of the information-complete objects in the target object set and the information of the cold-start object are effectively fused to form a fused feature vector that maximizes and perfects the information of the cold-start object. Then, based on the fused feature vector, the objects to be recommended to the cold-start object are determined from the target object set, which effectively improves the social matching degree and recommendation diversity between the recommended objects and the cold-start object, and helps various platforms retain the cold-start objects in this scenario.

[0159] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0160] Furthermore, embodiments of this application also provide an electronic device, which can be a terminal or a server, such as... Figure 9 As shown, it illustrates a structural schematic diagram of the electronic device involved in the embodiments of this application, specifically:

[0161] The electronic device may include components such as a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, a power supply 403, and an input unit 404. Those skilled in the art will understand that... Figure 9 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:

[0162] The processor 401 is the control center of the electronic device. It connects to various parts of the computer device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 402, and by calling data stored in the memory 402, it performs various functions of the computer device and processes data, thereby providing overall monitoring of the electronic device. Optionally, the processor 401 may include one or more processing cores; preferably, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user page, and application programs, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 401.

[0163] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 402 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.

[0164] The electronic device also includes a power supply 403 that supplies power to the various components. Preferably, the power supply 403 can be logically connected to the processor 401 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 403 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.

[0165] The electronic device may also include an input unit 404, which can be used to receive input digital or character information, and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.

[0166] Although not shown, the electronic device may also include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 401 in the electronic device loads the executable files corresponding to the processes of one or more computer programs into the memory 402 according to the following instructions, and the processor 401 runs the computer programs stored in the memory 402 to realize various functions, such as the processor 401 executing:

[0167] For objects in the target object set, an object feature vector representing social relationships is constructed based on social data between the objects; the objects in the target object set are clustered based on the social data to obtain at least one object cluster; content feature vectors are extracted based on the object description information of the cold start object, and target objects matching the content feature vectors are determined from the target object set; the object feature vectors of the target objects included in each object cluster are calculated and processed to generate at least one group feature vector; the content feature vectors are fused with at least one group feature vector to generate a fused feature vector; and based on the fused feature vector, objects recommended to the cold start object are determined from the target object set.

[0168] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by a computer program, or by a computer program controlling related hardware. The computer program can be stored in a computer-readable storage medium and loaded and executed by a processor.

[0169] Therefore, embodiments of this application also provide a computer-readable storage medium storing a computer program that can be loaded by a processor to perform the steps in any of the methods provided in embodiments of this application.

[0170] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0171] Since the computer program stored in the computer-readable storage medium can execute the steps in any of the methods provided in the embodiments of this application, the beneficial effects that the methods provided in the embodiments of this application can achieve can be realized. For details, please refer to the previous embodiments, which will not be repeated here.

[0172] According to one aspect of this application, a computer program product or computer program is provided, comprising 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 methods provided in the various optional implementations of the above embodiments of this application.

[0173] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.

[0174] It should be understood that this application is not limited to the embodiments described above and shown in the accompanying drawings, but various modifications and changes can be made without departing from its scope.

Claims

1. An object recommendation method characterized by comprising: The method comprises the following steps: constructing an object feature vector representing a social relationship for an object in a target object set according to social data between the objects; performing clustering processing on the objects in the target object set based on the social data to obtain at least one object cluster; extracting a content feature vector from object description information of a cold-start object, and determining a target object matching the content feature vector from the target object set; performing calculation processing on the object feature vectors of the target objects included in each of the object clusters to generate at least one group feature vector; performing fusion processing on the content feature vector and at least one of the group feature vectors to generate a fusion feature vector, comprising: extracting a target content feature vector of each of the target objects according to the object description information of each of the target objects; performing calculation processing on the target content feature vectors of the target objects included in each of the object clusters to generate at least one target group feature vector; and performing fusion processing on the at least one target group feature vector, the content feature vector, and at least one of the group feature vectors to generate the fusion feature vector; determining an object to be recommended to the cold-start object from the target object set based on the fusion feature vector.

2. The method of claim 1, wherein, The method comprises the following steps: obtaining social data of the objects in the target object set, the social data comprising interaction data between the objects and weights corresponding to the interaction data; performing calculation processing on the interaction data between the objects and the weights corresponding to the interaction data to obtain social relationship strengths between the objects; performing feature construction processing according to the social relationship strengths between the objects to generate an object feature vector representing a social relationship for each of the objects.

3. The method of claim 2, wherein, The method comprises the following steps: constructing a social relationship matrix between the objects by taking the social relationship strengths between the objects as matrix elements; performing node embedding processing based on the social relationship matrix to generate an embedding vector of each of the objects, forming an object feature vector representing a social relationship corresponding to each of the objects.

4. The method of claim 3, wherein, The method comprises the following steps: sampling objects from the target object set to obtain a predetermined number of sampling objects; performing social object sampling on each of the sampling objects based on the social relationship matrix to obtain a positive object and a negative object corresponding to each sampling object, the positive object being one of the objects having a social relationship strength greater than zero with the sampling object, and the negative object being one of the objects having a social relationship strength equal to zero with the sampling object; combining each of the sampling objects and the positive object and the negative object corresponding to each of the sampling objects to form a triple corresponding to each of the sampling objects; The initialized node embedding matrix is optimized by back propagation with the distance maximization of positive objects and negative objects in each of the triplets as an optimization objective, to generate an embedding vector of each of the objects.

5. The method of claim 2, wherein, Each of the interactions includes at least one interaction data between two of the objects, and each of the interaction data corresponds to a weight; The calculation processing based on the interaction data between the objects and the weight corresponding to the interaction data to obtain the social relationship strength between the objects includes: The social relationship strength between each of the objects is obtained by calculating a weighted sum based on at least one of the interaction data between each of the objects and the weight corresponding to each of the interaction data.

6. The method of claim 1, wherein, The social data includes the interaction data between the objects, and each of the objects includes at least one of the interaction data between two of the objects. The clustering processing based on the social data to the objects in the target object set to obtain at least one object cluster includes: The social relationship network graph between the objects is constructed by taking the objects as nodes and taking each of the interaction data between the objects as a connection edge between the nodes. The community division processing based on the social relationship network graph to divide the objects in the target object set into at least one object community, and each of the object communities corresponds to an object cluster.

7. The method of claim 6, wherein, The community division processing based on the social relationship network graph to divide the objects in the target object set into at least one object community includes: At least one target node in the social relationship network graph is initialized as a target community. The modularity of each of the target communities is calculated based on a first connection sum and a second connection sum corresponding to each of the target communities, the first connection sum refers to the total number of connection edges between nodes in a target community, and the second connection sum refers to the total number of connection edges between nodes in the target community and other nodes outside the target community. At least one object community is generated by dividing the nodes in the other nodes into each of the target communities according to the modularity of each of the target communities and the gain of the updated modularity, and the updated modularity is the modularity of an updated community formed after the nodes in the other nodes join the target community.

8. The method of claim 1, wherein, The object feature vectors of the target objects included in each of the object clusters are respectively calculated to generate at least one group feature vector, including: All the target objects are divided into at least one sub-object cluster according to the object cluster to which each of the target objects belongs. The object feature vectors of the target objects in each of the sub-object clusters are respectively calculated to generate at least one group feature vector.

9. The method of claim 8, wherein, The object feature vectors of the target objects in each of the sub-object clusters are respectively calculated to generate at least one group feature vector, including: The object feature vectors of the target objects in each of the sub-object clusters are respectively averaged and pooled to generate a group feature vector corresponding to each of the sub-object clusters.

10. The method of claim 1, wherein, The fusion processing of at least one of the target group feature vectors, the content feature vector, and at least one of the group feature vectors to generate the fusion feature vector includes: performing attention scoring processing based on the content feature vector and at least one of the target group feature vectors, to obtain an attention score between the content feature vector and each of the target group feature vectors; performing multiplication processing on the group feature vectors corresponding to the same object cluster and the attention scores, to obtain at least one scored latent vector; performing aggregation processing on the at least one scored latent vector, to generate the fusion feature vector.

11. The method of claim 10, wherein, The performing attention scoring processing based on the content feature vector and at least one of the target group feature vectors, to obtain an attention score between the content feature vector and each of the target group feature vectors, includes: performing dot multiplication processing on the content feature vector and each of the target group feature vectors, to obtain a dot multiplication vector corresponding to each of the target group feature vectors; performing concatenation processing on the content feature vector, each of the target group feature vectors, and the dot multiplication vector corresponding to each of the target group feature vectors, to obtain a concatenation vector between the content feature vector and each of the target group feature vectors; performing attention scoring processing based on the concatenation vector, to obtain an attention score between the content feature vector and each of the target group feature vectors.

12. The method of claim 1, wherein, Based on the fusion feature vector, determining an object to be recommended to the cold-start object from the target object set, includes: calculating a similarity between the fusion feature vector and a preset feature vector of each object in the target object set; determining the object to be recommended to the cold-start object according to the similarity.

13. An object recommendation apparatus characterized by comprising: includes: a construction module configured to construct, for an object in a target object set, an object feature vector representing a social relationship between the object and another object in the target object set according to social data between the object and the another object; a clustering module configured to perform clustering processing on the object in the target object set based on the social data, to obtain at least one object cluster; a matching module configured to extract a content feature vector according to object description information of a cold-start object, and determine a target object matching the content feature vector from the target object set; a generation module configured to perform calculation processing on an object feature vector of a target object included in each of the object clusters, to generate at least one group feature vector; a fusion module configured to perform fusion processing on the content feature vector and at least one of the group feature vectors, to generate a fusion feature vector, including: extracting a target content feature vector of each of the target objects according to object description information of each of the target objects; performing calculation processing on the target content feature vector of the target object included in each of the object clusters, to generate at least one target group feature vector; and performing fusion processing on the at least one target group feature vector, the content feature vector, and at least one of the group feature vectors, to generate the fusion feature vector; a recommendation module configured to determine an object to be recommended to the cold-start object from the target object set based on the fusion feature vector.

14. A computer-readable storage medium, characterized in that, A computer program is stored thereon, and when the computer program is executed by a processor of a computer, the computer executes the method of any one of claims 1 to 12.

15. An electronic device, comprising: includes: a memory storing a computer program; a processor reading the computer program stored in the memory to execute the method of any one of claims 1 to 12.

16. A computer program product, characterised in that, The computer program product comprises a computer program which, when executed by the processor, implements the method of any one of claims 1 to 12.

Citation Information

Patent Citations

  • Cold-start recommendation method based on user preferences and trust

    CN107301583A

  • Insurance type recommendation method in user cold start scene and related equipment

    CN112488863A