Methods, apparatus, and storage media for determining user interest values

By constructing a knowledge graph to update the feature vectors of users and historical objects, and using a prediction model to determine user interest values, the problem of weak correlation between users and items in existing technologies is solved, resulting in more accurate recommendations and improved user experience.

CN119337979BActive Publication Date: 2026-03-10ZHONGKE YUNGU TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing recommendation methods cannot accurately identify items that users are interested in, nor can they effectively utilize the correlation between users and items, resulting in poor recommendation performance.

Method used

By constructing a knowledge graph, updating the feature vectors of users and historical objects, and using a predictive model to output the user's interest value in the object to be evaluated, the interactivity between users and objects is enhanced.

Benefits of technology

It improves the matching degree between users and objects, enhances the accuracy of recommendations, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119337979B_ABST
    Figure CN119337979B_ABST
Patent Text Reader

Abstract

This application relates to the field of computer technology, and in particular to a method, apparatus, and storage medium for determining user interest values. The method involves: determining a first feature vector of the object to be evaluated; acquiring multiple historical objects that the user has interacted with and determining a second feature vector for each historical object; updating the first feature vector based on a knowledge graph corresponding to the user, and updating each second feature vector based on the knowledge graph; determining a third feature vector for the user based on the weight of each historical object and all updated second feature vectors; concatenating the updated first and third feature vectors to obtain a fourth feature vector corresponding to the object to be evaluated; and inputting the fourth feature vector into a trained prediction model to output the user's interest value for the object to be evaluated, thereby enhancing the interactivity between the user and the object, improving the matching degree between the user and the object, increasing the accuracy of recommendations, and improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more specifically to a method, apparatus, and storage medium for determining user interest values. Background Technology

[0002] Current methods for recommending items of interest to users are generally based on content recommendation, collaborative filtering recommendation, or a hybrid recommendation system. However, with the rapid development of internet technology, people have access to an ever-increasing amount of data. Existing recommendation methods are no longer able to quickly and accurately identify items of interest from massive amounts of data. Furthermore, the three methods mentioned above are also affected by insufficient user-item interaction, failing to consider the correlation between users and items, resulting in an inability to accurately determine the probability of a user's interest in an item. Consequently, item recommendation performance is poor, impacting user experience. Summary of the Invention

[0003] The purpose of this application is to provide a method, apparatus, and storage medium for determining user interest values, in order to solve the problem in the prior art where the correlation between items and users is weak and it is impossible to accurately determine the items that users are interested in.

[0004] To achieve the above objectives, the first aspect of this application provides a method for determining user interest values, the method comprising:

[0005] For any new object to be evaluated, determine the first feature vector of the object to be evaluated;

[0006] Obtain multiple historical objects that the user has interacted with, and determine the second feature vector of each historical object;

[0007] The first feature vector is updated based on the knowledge graph corresponding to the user, and each second feature vector is updated based on the knowledge graph, wherein the knowledge graph is constructed based on multiple historical objects of the user and the interaction information between the user and each historical object;

[0008] The user's third feature vector is determined based on the weight of each historical object and the updated second feature vector.

[0009] The updated first and third feature vectors are concatenated to obtain the fourth feature vector corresponding to the object to be evaluated.

[0010] The fourth feature vector is input into the trained prediction model, which then outputs the user's interest value in the object to be evaluated.

[0011] In this embodiment, the knowledge graph includes multiple directly or indirectly connected nodes. Updating the first feature vector based on the knowledge graph corresponding to the user includes: determining the first node in the knowledge graph that matches the first feature vector; determining the first neighbor node in the knowledge graph that is directly or indirectly connected to the first node; determining the feature vector of the first node and the feature vector of each first neighbor node; and concatenating the first feature vector, the feature vector of the first node, and the feature vectors of all first neighbor nodes to obtain the updated first feature vector.

[0012] In this embodiment, the knowledge graph includes multiple directly or indirectly connected nodes. Updating each second feature vector based on the knowledge graph includes: determining a second node in the knowledge graph that matches each second feature vector; for each second feature vector, determining second neighbor nodes in the knowledge graph that are directly or indirectly connected to the second node that matches the second feature vector; for each second feature vector, determining the feature vector of the second node of the second feature vector and the feature vector of each second neighbor node of the second node of the second feature vector; for each second feature vector, concatenating the second feature vector, the feature vector of the second node of the second feature vector, and the feature vectors of all corresponding second neighbor nodes to obtain the updated second feature vector.

[0013] In this embodiment of the application, determining the user's third feature vector based on the weight of each historical object and all updated second feature vectors includes: for each historical object, determining the product between the weight of the historical object and the updated second feature vector of the historical object; and determining the sum of the products of each historical object as the user's third feature vector.

[0014] In this embodiment of the application, the method further includes a training step for the prediction model. The training step includes: constructing a training set, which includes multiple training samples, each of which is generated by multiple historical objects of the user; sequentially inputting the multiple training samples in the training set into the prediction model, and determining the loss value of each training sample based on the output of the prediction model and the loss function; and determining that the prediction model training is complete when the loss value is within a preset range.

[0015] In this embodiment of the application, constructing a training set includes: sequentially selecting one historical object from all historical objects; determining the historical feature vectors of the selected historical object and each unselected historical object; updating each historical feature vector based on the knowledge graph; determining the user's historical feature vector based on the weights of the unselected historical objects and the updated historical feature vectors of the unselected historical objects; concatenating the updated historical feature vectors of the selected historical objects and the user's historical feature vectors to obtain a training sample; and determining all training samples as the training set.

[0016] In this embodiment of the application, the method further includes: when the loss value is outside the preset range, collecting a preset optimization algorithm to adjust each model parameter of the prediction model, and returning to the step of sequentially inputting multiple training samples from the training set into the prediction model until the loss value is within the preset range.

[0017] In this embodiment of the application, the loss function is as shown in expression (1):

[0018]

[0019] Where Loss is the loss value, and y is the true label, which takes the value of 1 or 0. Let λ be the output of the prediction model, Θ be a hyperparameter, and Θ be all the parameters in the prediction model that need to be trained. for logarithmic function, for The logarithmic function.

[0020] A second aspect of this application provides an apparatus for determining user interest values, comprising:

[0021] The memory is configured to store instructions;

[0022] The processor is configured to retrieve instructions from memory and, when executing the instructions, to implement the aforementioned method for determining user interest values.

[0023] A third aspect of this application provides a machine-readable storage medium storing instructions that cause a machine to perform the aforementioned method for determining user interest values.

[0024] The above technical solution determines the first feature vector of the object to be evaluated and the second feature vector of each historical object that the user has interacted with; the first feature vector is updated based on the knowledge graph corresponding to the user, and each second feature vector is updated based on the knowledge graph; the user's third feature vector is determined according to the weight of each historical object and all updated second feature vectors, and the updated first and third feature vectors are concatenated to obtain the fourth feature vector corresponding to the object to be evaluated; the fourth feature vector is input into the trained prediction model, so that the trained prediction model outputs the user's interest value of the object to be evaluated, thereby strengthening the interactivity between the user and the object, improving the matching degree between the user and the object, increasing the accuracy of recommendations, and improving the user experience.

[0025] Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description

[0026] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings:

[0027] Figure 1 The illustration shows a flowchart of a method for determining user interest values ​​according to an embodiment of this application;

[0028] Figure 2 The illustration shows a schematic diagram of a method for determining user interest values ​​according to an embodiment of this application;

[0029] Figure 3 The diagram illustrates the internal structure of a computer device according to an embodiment of this application. Detailed Implementation

[0030] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the embodiments of this application and are not intended to limit the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.

[0031] It should be noted that if the embodiments of this application involve directional indicators (such as up, down, left, right, front, back, etc.), the directional indicators are only used to explain the relative positional relationship and movement of the components in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indicators will also change accordingly.

[0032] Furthermore, if the embodiments of this application involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, features defined with "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the technical solutions of various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.

[0033] Figure 1 The illustration schematically shows a flowchart of a method for determining user interest values ​​according to an embodiment of this application. Figure 1As shown in the figure, this application provides a method for determining user interest values, which may include the following steps.

[0034] Step 101: For any new object to be evaluated, determine the first feature vector of the object to be evaluated.

[0035] Step 102: Obtain multiple historical objects that the user has interacted with, and determine the second feature vector of each historical object.

[0036] Step 103: Update the first feature vector based on the knowledge graph corresponding to the user, and update each second feature vector based on the knowledge graph, wherein the knowledge graph is constructed based on multiple historical objects of the user and the interaction information between the user and each historical object.

[0037] The object to be evaluated can be a real-world item or a virtual object. For any new object to be evaluated, the processor can determine a first feature vector, which can be a numerical vector obtained after initializing the object. The processor can acquire multiple historical objects that the user has interacted with and determine a second feature vector for each historical object, which can also be a numerical vector obtained after initializing each historical object. After determining the first feature vector of the object to be evaluated and the second feature vector of each historical object, the processor can update the first feature vector based on the knowledge graph corresponding to the user, and update each second feature vector based on the knowledge graph. The knowledge graph is constructed based on multiple historical objects of the user and the interaction information between the user and each historical object, and represents the strong correlation between the user and the objects. A knowledge graph is a knowledge base that represents entities in the objective world and the relationships between them in the form of a graph.

[0038] In this embodiment, the knowledge graph includes multiple directly or indirectly connected nodes. Updating the first feature vector based on the knowledge graph corresponding to the user includes: determining the first node in the knowledge graph that matches the first feature vector; determining the first neighbor node in the knowledge graph that is directly or indirectly connected to the first node; determining the feature vector of the first node and the feature vector of each first neighbor node; and concatenating the first feature vector, the feature vector of the first node, and the feature vectors of all first neighbor nodes to obtain the updated first feature vector.

[0039] A knowledge graph can include multiple directly or indirectly connected nodes. The processor can update the first feature vector based on the knowledge graph corresponding to the user. Specifically, the processor can determine the first node in the knowledge graph that matches the first feature vector, and determine the first neighbor nodes in the knowledge graph that are directly or indirectly connected to the first node. After determining the first node and the first neighbor nodes, the processor can determine the feature vector of the first node and the feature vector of each first neighbor node. The feature vector of the first node and the feature vector of each first neighbor node can be numerical vectors obtained based on message passing and message aggregation using a knowledge graph attention network. After determining the feature vector of the first node and the feature vector of each of the first neighbor nodes, the processor can concatenate the first feature vector, the feature vector of the first node, and the feature vectors of all first neighbor nodes to obtain the updated first feature vector.

[0040] In this embodiment, the knowledge graph includes multiple directly or indirectly connected nodes. Updating each second feature vector based on the knowledge graph includes: determining a second node in the knowledge graph that matches each second feature vector; for each second feature vector, determining second neighbor nodes in the knowledge graph that are directly or indirectly connected to the second node that matches the second feature vector; for each second feature vector, determining the feature vector of the second node of the second feature vector and the feature vector of each second neighbor node of the second node of the second feature vector; for each second feature vector, concatenating the second feature vector, the feature vector of the second node of the second feature vector, and the feature vectors of all corresponding second neighbor nodes to obtain the updated second feature vector.

[0041] The knowledge graph comprises multiple directly or indirectly connected nodes, and the processor can update each second feature vector based on the knowledge graph. Specifically, the processor can determine the second node in the knowledge graph that matches each second feature vector. For each second feature vector, the processor can determine the second neighbor nodes in the knowledge graph that are directly or indirectly connected to the second node that matches that second feature vector. For example, the historical objects interacted with by user UserA include Question1 and Question3, the historical objects interacted with by user UserB include Question1, the historical objects interacted with by user UserC include Question3, and the historical objects interacted with by user UserD include Question2 and Question3. For the historical object Question2 interacted with by user UserD, the processor can initialize the historical object Question2 to obtain the second feature vector of the historical object Question2. The processor can determine the second feature vector The matching second node and its directly or indirectly connected second neighbor nodes Answer1, Tag2, and Answer2. The processor can determine the feature vector of the second node as follows: The feature vector of the second neighbor node Answer1 is The feature vector of the second neighbor node Tag2 is The feature vector of the second neighbor node Answer2 is And Concatenate to obtain the updated second feature vector. Among them, the updated second feature vector can be represented by a set of vectors. express, This represents the updated second feature vector corresponding to the first historical object that user u has interacted with. This represents the updated second feature vector corresponding to the i-th historical object that user u has interacted with. This represents the updated second feature vector corresponding to the nth historical object that user u has interacted with. A knowledge graph-based attention network is used to aggregate the neighbor entities of each historical object to capture the complex relationship between users and objects and strengthen the association between users and objects.

[0042] Step 104: Determine the user's third feature vector based on the weight of each historical object and the updated second feature vector.

[0043] After obtaining the updated second feature vector, the processor can determine the user's third feature vector based on the weight of each historical object and all the updated second feature vectors. The third feature vector can be a numerical vector used to characterize the user's features.

[0044] In this embodiment of the application, determining the user's third feature vector based on the weight of each historical object and all updated second feature vectors includes: for each historical object, determining the product between the weight of the historical object and the updated second feature vector of the historical object; and determining the sum of the products of each historical object as the user's third feature vector.

[0045] The processor can determine the user's third feature vector based on the weights of each historical object and the updated second feature vectors of all historical objects. Specifically, for each historical object, the processor can determine the product between the weight of that historical object and its updated second feature vector. After obtaining the product for each historical object, the processor can determine the user's third feature vector by summing the products of all historical objects. The weight of each historical object can be determined based on the relevance between each historical object and the object to be evaluated, with historical objects with higher relevance having greater weights than those with lower relevance.

[0046] Step 105: Concatenate the updated first feature vector and the third feature vector to obtain the fourth feature vector corresponding to the object to be evaluated.

[0047] Step 106: Input the fourth feature vector into the trained prediction model to output the user's interest value for the object to be evaluated through the trained prediction model.

[0048] After determining the user's third feature vector, the processor can concatenate the updated first and third feature vectors to obtain a fourth feature vector corresponding to the object to be evaluated. After obtaining the fourth feature vector, the processor can input it into the trained prediction model to output the user's interest value in the object to be evaluated. For example, the processor can input the updated first feature vector e... Q The third feature vector d is concatenated with the fourth feature vector x corresponding to the object to be evaluated, x = concat(e Q (d) The processor can input the fourth feature vector x into the trained prediction model to output the user's interest value for the object to be evaluated. The prediction model can be a three-layer fully connected neural network. The outputs of the prediction model to the fourth feature vector x include h1 = ReLU(w1x + b1) and h2 = ReLU(w2h1 + b2), where w1, w2, w3, b1, b2, and b3 are the model parameters. h1 is the output of the first fully connected layer and serves as the input to the second fully connected layer, and h2 is the output of the second fully connected layer and serves as the input to the third fully connected layer. ReLU(w1x + b1) is the activation function of the first fully connected layer, ReLU(w2h1 + b2) is the activation function of the second fully connected layer, and sigmoid(w3h2 + b3) is the activation function of the third fully connected layer.

[0049] In this embodiment of the application, the method further includes a training step for the prediction model. The training step includes: constructing a training set, which includes multiple training samples, each of which is generated by multiple historical objects of the user; sequentially inputting the multiple training samples in the training set into the prediction model, and determining the loss value of each training sample based on the output of the prediction model and the loss function; and determining that the prediction model training is complete when the loss value is within a preset range.

[0050] The processor can construct a training set, which may include multiple training samples, each of which may be generated from multiple historical objects of the user. After constructing the training set, the processor can sequentially input the multiple training samples in the training set into the prediction model, and determine the loss value of each training sample based on the output of the prediction model and the loss function. In this embodiment, the loss function is as shown in expression (1):

[0051]

[0052] Where Loss is the loss value, and y is the true label, which takes the value of 1 or 0. Let λ be the output of the prediction model, Θ be a hyperparameter, and Θ be all the parameters in the prediction model that need to be trained. for logarithmic function, for The logarithmic function.

[0053] After determining the loss value for each training sample, the processor can judge whether the loss value is within a preset range. If the loss value is within the preset range, the processor can determine that the prediction model training is complete. In a specific embodiment, the prediction model can be obtained by modeling the concatenated feature vector using a three-layer fully connected neural network. Specifically, the first fully connected neural network can have 512 neurons, and the activation function can be the ReLU function (Linear Rectification function, also known as the Modified Linear Unit), a commonly used activation function in artificial neural networks, usually referring to nonlinear functions represented by the ramp function and its variants. The second fully connected neural network can have 256 neurons, and the activation function is the ReLU function. The third fully connected neural network can have 1 neuron, and the activation function can be the sigmoid function, also called the Logistic function, used for the output of the hidden layer neurons, with a value range of (0, 1). It can map a real number to the interval (0, 1) and can be used for binary classification.

[0054] In one specific embodiment, the trained prediction model is compared with existing representative baseline models CQARank, QR-DSSM, and KGQR to determine that the trained prediction model exhibits the best performance in all evaluation metrics. The evaluation metrics include the metrics Precision@k, Normalized Diminished Cumulative Gain@k, and Mean Reciprocal Rank (MRR), with k values ​​of 3, 5, and 10. The comparison results are shown in Tables 1, 2, and 3, respectively.

[0055] Table 1 Comparison of Precision@k models

[0056]

[0057] Table 2 Comparison of NDCG@k models

[0058]

[0059] Table 3 Comparison of MRR models

[0060]

[0061] In this embodiment of the application, the method further includes: when the loss value is outside the preset range, collecting a preset optimization algorithm to adjust each model parameter of the prediction model, and returning to the step of sequentially inputting multiple training samples from the training set into the prediction model until the loss value is within the preset range.

[0062] If the loss value is outside the preset range, the processor can use a preset optimization algorithm to adjust the model parameters of the prediction model, and then return to the step of sequentially inputting multiple training samples from the training set into the prediction model until the loss value is within the preset range. In a specific embodiment, the preset optimization algorithm can be a gradient descent-based optimization algorithm.

[0063] In this embodiment of the application, constructing a training set includes: sequentially selecting one historical object from all historical objects; determining the historical feature vectors of the selected historical object and each unselected historical object; updating each historical feature vector based on the knowledge graph; determining the user's historical feature vector based on the weights of the unselected historical objects and the updated historical feature vectors of the unselected historical objects; concatenating the updated historical feature vectors of the selected historical objects and the user's historical feature vectors to obtain a training sample; and determining all training samples as the training set.

[0064] The processor can construct a training set. Specifically, it can sequentially select one historical object from all historical objects and determine the historical feature vectors of both the selected and unselected historical objects. After determining the historical feature vector of each historical object, the processor can update each historical feature vector based on the knowledge graph. After updating each historical feature vector, the processor can determine the user's historical feature vector based on the weights of the unselected historical objects and their updated historical feature vectors. After determining the user's historical feature vector, the processor can concatenate the updated historical feature vectors of the selected historical objects and the user's historical feature vector to obtain a training sample. The processor can then use all training samples as the training set.

[0065] In the embodiments of this application, such as Figure 2 As shown, the processor can use KGAT (Knowledge Graph Attention Network) to process new item entities (corresponding to the objects to be evaluated above) and candidate user historical interaction item entities (corresponding to historical objects above) to obtain new item embeddings (vectors) and vectors of each historical interaction item. The processor can also use an Attention Network to process new item entities and a specific historical interaction item entity to determine the weight of that historical interaction item entity. Specifically, in the Attention Network, the Concat function is used to concatenate the new item entity and a specific historical interaction item entity, and then the Dropout (regularization), ReLU, and Sigmoid functions are used to assign weights to each historical interaction item entity. Finally, a weighted sum of each historical interaction item entity and its corresponding weight is calculated to obtain the user embedding (vector). The processor can also use the Concat function to concatenate the new item embedding and the user embedding, and then use the Dropout and Sigmoid functions to obtain the probability that the user is interested in the new item entity (corresponding to the interest value above). When there are multiple new item entities, the processor can determine the probability that the user is interested in each new item entity and recommend the new item entity with the highest probability of interest to the user, so as to meet the user's needs and improve the user experience.

[0066] The above technical solutions enhance the interactivity between users and objects, improve the matching degree between users and objects, increase the accuracy of recommendations, and improve the user experience.

[0067] Figure 1 This is a flowchart illustrating a method for determining user interest values ​​in one embodiment. It should be understood that, although... Figure 1The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.

[0068] This application also provides an apparatus for determining user interest values, including:

[0069] The memory is configured to store instructions;

[0070] The processor is configured to retrieve instructions from memory and, when executing the instructions, to implement the aforementioned method for determining user interest values.

[0071] This application also provides a machine-readable storage medium storing instructions that cause a machine to perform the above-described method for determining user interest values.

[0072] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 3 As shown, the computer device includes a processor A01, a network interface A02, a memory (not shown), and a database (not shown) connected via a system bus. The processor A01 provides computational and control capabilities. The memory includes internal memory A03 and a non-volatile storage medium A04. The non-volatile storage medium A04 stores an operating system B01, a computer program B02, and a database (not shown). The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 stored in the non-volatile storage medium A04. The database stores data such as a first feature vector, a second feature vector, a third feature vector, a fourth feature vector, and interest values. The network interface A02 communicates with external terminals via a network connection. When executed by the processor A01, the computer program B02 implements a method for determining user interest values.

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

[0074] This application provides a device including a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it performs the following steps: for any new object to be evaluated, determining a first feature vector of the object; acquiring multiple historical objects that the user has interacted with, and determining a second feature vector for each historical object; updating the first feature vector based on a knowledge graph corresponding to the user, and updating each second feature vector based on the knowledge graph, wherein the knowledge graph is constructed based on multiple historical objects of the user and the interaction information between the user and each historical object; determining a third feature vector of the user based on the weight of each historical object and all updated second feature vectors; concatenating the updated first feature vector and the third feature vector to obtain a fourth feature vector corresponding to the object to be evaluated; and inputting the fourth feature vector into a trained prediction model to output the user's interest value for the object to be evaluated through the trained prediction model.

[0075] In one embodiment, the knowledge graph includes multiple directly or indirectly connected nodes. Updating the first feature vector based on the knowledge graph corresponding to the user includes: determining the first node in the knowledge graph that matches the first feature vector; determining the first neighbor node in the knowledge graph that is directly or indirectly connected to the first node; determining the feature vector of the first node and the feature vector of each first neighbor node; and concatenating the first feature vector, the feature vector of the first node, and the feature vectors of all first neighbor nodes to obtain the updated first feature vector.

[0076] In one embodiment, the knowledge graph includes multiple directly or indirectly connected nodes. Updating each second feature vector based on the knowledge graph includes: determining a second node in the knowledge graph that matches each second feature vector; for each second feature vector, determining second neighbor nodes in the knowledge graph that are directly or indirectly connected to the second node that matches the second feature vector; for each second feature vector, determining the feature vector of the second node of the second feature vector and the feature vector of each second neighbor node of the second node of the second feature vector; and for each second feature vector, concatenating the second feature vector, the feature vector of the second node of the second feature vector, and the feature vectors of all corresponding second neighbor nodes to obtain the updated second feature vector.

[0077] In one embodiment, determining the user's third feature vector based on the weight of each historical object and all updated second feature vectors includes: for each historical object, determining the product between the weight of the historical object and the updated second feature vector of the historical object; and determining the sum of the products of each historical object as the user's third feature vector.

[0078] In one embodiment, the method further includes a training step for the prediction model, the training step comprising: constructing a training set, the training set including multiple training samples, each training sample being generated by multiple historical objects of the user; sequentially inputting the multiple training samples in the training set into the prediction model, and determining the loss value of each training sample based on the output of the prediction model and the loss function; and determining that the prediction model training is complete when the loss value is within a preset range.

[0079] In one embodiment, constructing a training set includes: sequentially selecting a historical object from all historical objects; determining the historical feature vectors of the selected historical object and each unselected historical object; updating each historical feature vector based on the knowledge graph; determining the user's historical feature vector based on the weights of the unselected historical objects and their updated historical feature vectors; concatenating the updated historical feature vectors of the selected historical objects and the user's historical feature vectors to obtain a training sample; and determining all training samples as the training set.

[0080] In one embodiment, the method further includes: when the loss value is outside a preset range, using a preset optimization algorithm to adjust each model parameter of the prediction model, and returning to the step of sequentially inputting multiple training samples from the training set into the prediction model until the loss value is within the preset range.

[0081] In one embodiment, the loss function is as shown in expression (1):

[0082]

[0083] Where Loss is the loss value, and y is the true label, which takes the value of 1 or 0. Let λ be the output of the prediction model, Θ be a hyperparameter, and Θ be all the parameters in the prediction model that need to be trained. for logarithmic function, for The logarithmic function.

[0084] This application also provides a computer program product that, when executed on a data processing device, is adapted to perform a program that initializes method steps for determining user interest values.

[0085] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0086] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0087] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0088] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0089] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0090] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0091] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0092] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0093] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for determining a user interest value, characterized in that, The method comprises: For any one new to-be-evaluated object, determining a first feature vector of the to-be-evaluated object; Obtaining a plurality of historical objects interacted by the user, and determining a second feature vector of each historical object; Updating the first feature vector based on a knowledge graph corresponding to the user, and updating each second feature vector based on the knowledge graph, wherein the knowledge graph is constructed based on a plurality of historical objects of the user and interaction information between the user and each historical object; Determining a third feature vector of the user according to a weight of each historical object and all updated second feature vectors; Splicing the updated first feature vector and the third feature vector to obtain a fourth feature vector corresponding to the to-be-evaluated object; Inputting the fourth feature vector into a trained prediction model to output an interest value of the user for the to-be-evaluated object through the trained prediction model.

2. The method for determining a user interest value according to claim 1, characterized in that, The knowledge graph comprises a plurality of directly connected or indirectly connected nodes, and updating the first feature vector based on the knowledge graph corresponding to the user comprises: Determining a first node in the knowledge graph matching the first feature vector; Determining a first neighbor node in the knowledge graph directly connected or indirectly connected with the first node; Determining a feature vector of the first node and a feature vector of each first neighbor node; Splicing the first feature vector, the feature vector of the first node and the feature vectors of all first neighbor nodes to obtain the updated first feature vector.

3. The method for determining a user interest value according to claim 1, wherein, The knowledge graph comprises a plurality of directly connected or indirectly connected nodes, and updating each second feature vector based on the knowledge graph comprises: Determining a second node in the knowledge graph matching each second feature vector; For each second feature vector, determining a second neighbor node in the knowledge graph directly connected or indirectly connected with the second node matching the second feature vector; For each second feature vector, determining a feature vector of the second node of the second feature vector and a feature vector of each second neighbor node of the second node of the second feature vector; For each second feature vector, splicing the second feature vector, the feature vector of the second node of the second feature vector and the feature vectors of all corresponding second neighbor nodes to obtain the updated second feature vector.

4. The method for determining a user interest value according to claim 1, wherein, The determination of the third feature vector of the user according to the weight of each historical object and all updated second feature vectors comprises: For each historical object, determining a product between the weight of the historical object and the updated second feature vector of the historical object; Determining a sum of the products of each historical object as the third feature vector of the user.

5. The method for determining a user interest value according to claim 1, wherein, The method further comprises a training step for the prediction model, and the training step comprises: Constructing a training set comprising a plurality of training samples generated by a plurality of historical objects of the user; Inputting the plurality of training samples in the training set into the prediction model in sequence, and determining a loss value of each training sample based on the output of the prediction model and a loss function; In a case where the loss value is within a preset range, it is determined that the prediction model is trained.

6. The method for determining a user interest value according to claim 5, characterized in that, The constructing the training set comprises: sequentially selecting a historical object from all historical objects; respectively determining a historical feature vector of the selected historical object and each historical object not selected; updating each historical feature vector based on a knowledge graph; determining a historical feature vector of the user according to a weight of the historical object not selected and the updated historical feature vector of the historical object not selected; splicing the updated historical feature vector of the selected historical object and the historical feature vector of the user to obtain a training sample; determining all training samples as the training set.

7. The method for determining a user interest value according to claim 5, wherein, The method further comprises: In a case where the loss value is outside a preset range, a preset optimization algorithm is used to adjust each model parameter of the prediction model, and the step of sequentially inputting the plurality of training samples in the training set to the prediction model is returned again until the loss value is within the preset range.

8. The method for determining a user interest value according to claim 5, wherein, The loss function is shown in expression (1): Wherein, Loss is the loss value, y is a real label, and takes a value of 1 or 0, is an output of the prediction model, λ is a hyperparameter, and Θ is all parameters to be trained in the prediction model, is a logarithmic function of is a logarithmic function of 9. An apparatus for determining a user interest value, the apparatus comprising: comprises: a memory configured to store instructions; a processor configured to call the instructions from the memory and capable of implementing the method for determining a user interest value according to any one of claims 1 to 8 when executing the instructions.

10. A machine-readable storage medium, characterized in that, The machine readable storage medium has instructions stored thereon for causing a machine to perform the method for determining a user interest value according to any one of claims 1 to 8. The machine readable storage medium has instructions stored thereon for causing a machine to perform the method for determining a user interest value according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Interest point recommendation method and device based on node relation, equipment and medium

    CN117390285A

  • Information recommendation method and device based on time sequence knowledge graph

    CN117909583A