Resource recommendation method and device, equipment, medium and product
By generating a relationship diagram and sorting the resource recommendation method based on the current weight, the problem of insufficient accuracy of the cloud platform resource list page is solved, personalized resource recommendation is achieved, and user experience is improved.
Patent Information
- Application Number
- CN202510330222.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-19
- Publication Date
- 2025-08-01
AI Technical Summary
The resource recommendation method of the existing cloud platform resource list page is insufficiently accurate and cannot meet personalized needs. Users need to search before obtaining the required resources, which affects the user experience.
By generating a relationship diagram, the target edge of the target object is determined, and the resources are sorted and recommended based on the current weight of the target edge, and the weight is updated using preset events and preset update time to improve the accuracy of resource recommendation.
Improve the accuracy and personalized effect of resource recommendations, ensuring that users can obtain the required resources on the homepage and improve user experience.
Smart Images

Figure CN120407914A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of artificial intelligence technology, specifically to the fields of intelligent cloud, intelligent recommendation, etc., and particularly relates to a resource recommendation method, apparatus, device, medium and product. Background Art
[0002] The resource list page of the cloud platform is an operation entry for users to manage resources, and the resources available for users to operate are displayed thereon. Summary of the Invention
[0003] The present disclosure provides a resource recommendation method, apparatus, device, medium and product.
[0004] According to one aspect of the present disclosure, there is provided a resource recommendation method, including: determining a target edge corresponding to a target object among candidate edges included in a pre-generated relationship graph; the relationship graph includes: object nodes and resource nodes, and the candidate edges between the object nodes and the resource nodes; sorting the resources corresponding to the resource nodes based on the current weight of the target edge to obtain sorted resources; and recommending the sorted resources to the target object.
[0005] According to another aspect of the present disclosure, there is provided a resource recommendation apparatus, including: a determination module, configured to determine a target edge corresponding to a target object among candidate edges included in a pre-generated relationship graph; the relationship graph includes: object nodes and resource nodes, and the candidate edges between the object nodes and the resource nodes; a sorting module, configured to sort the resources corresponding to the resource nodes according to the current weight of the target edge to obtain sorted resources; and a recommendation module, configured to recommend the sorted resources to the target object.
[0006] According to another aspect of the present disclosure, there is provided an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method according to any one of the above aspects.
[0007] According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the method according to any one of the above aspects.
[0008] According to another aspect of the present disclosure, there is provided a computer program product, including a computer program, and the computer program realizes the method according to any one of the above aspects when executed by a processor.
[0009] The present disclosure can improve the resource recommendation effect.
[0010] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood from the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The drawings are used to better understand the solution and do not constitute a limitation to the present disclosure. Among them:
[0012] Figure 1 is a schematic diagram according to the first embodiment of the present disclosure;
[0013] Figure 2 is a schematic diagram according to the second embodiment of the present disclosure;
[0014] Figure 3 is a schematic diagram of a relationship diagram provided according to an embodiment of the present disclosure;
[0015] Figure 4 is a schematic diagram of a method for updating weights based on a preset event provided according to an embodiment of the present disclosure;
[0016] Figure 5 is a schematic diagram of a method for updating weights based on a preset update time provided according to an embodiment of the present disclosure;
[0017] Figure 6 is a schematic diagram of a method for obtaining event weights through a fitting process provided according to an embodiment of the present disclosure;
[0018] Figure 7 is a schematic diagram according to the third embodiment of the present disclosure;
[0019] Figure 8 is a schematic diagram according to the fourth embodiment of the present disclosure;
[0020] Figure 9 is a schematic diagram of an electronic device for implementing the resource recommendation method according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0021] The following describes exemplary embodiments of the present disclosure with reference to the accompanying drawings. Various details of the embodiments of the present disclosure are included to facilitate understanding and should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0022] The resource list page of the cloud platform provides capabilities such as a global resource view, resource retrieval and sorting, resource operation and maintenance, and monitoring, and jumping to the resource details page. When the number of resources under the same account is too large, the cloud platform generally displays the resource list under this account in pages. After the user enters the list page, if the requirements are not met on the home page, the user can only trigger resource retrieval through the table header filter or search term.
[0023] In related technologies, resources on the resource list page are usually recommended in reverse chronological order. However, in this recommendation method, the resources required by the user may not be displayed on the home page and need to be retrieved by the user, resulting in insufficient accuracy and affecting the user experience. In addition, the display effect for all users under the same account is the same, and personalized needs cannot be met.
[0024] To improve the resource recommendation effect, the present disclosure provides the following embodiments.
[0025] Figure 1 is a schematic diagram according to the first embodiment of the present disclosure. This embodiment provides a resource recommendation method, which includes:
[0026] 101. Among the candidate edges included in the pre-generated relationship graph, determine the target edge corresponding to the target object; the relationship graph includes: object nodes and resource nodes, and the candidate edges between the object nodes and the resource nodes.
[0027] 102. Based on the current weight of the target edge, sort the resources corresponding to the resource nodes to obtain the sorted resources.
[0028] 103. Recommend the sorted resources to the target object.
[0029] The relationship graph is used to represent the relationship between objects and resources, and it can be pre-generated.
[0030] The relationship graph is a graph structure, and the graph structure includes nodes and edges.
[0031] Specifically in the relationship graph, the nodes in the relationship graph include: object nodes and resource nodes.
[0032] The object node is used to represent an object.
[0033] The object can specifically be a user. Assuming that there are two users under the same account, then there are two object nodes, and each object node corresponds to a user.
[0034] The resource node is used to represent a resource.
[0035] For example, if the resources under the above account include three resources, then there can be three resource nodes, and each resource node corresponds to a resource.
[0036] The edge between each object node and each resource node can be called a candidate edge.
[0037] For example, taking two object nodes and three resource nodes as an example, 3*2 = 6 candidate edges can be constructed.
[0038] Candidate edges have weights, and the weights are updatable.
[0039] For example, when generating a relationship graph, the initial weight of each candidate edge can be set, such as setting the initial weight to 1. After that, the initial weight can be updated according to a preset event and / or a preset update time.
[0040] The target object is the object for which resources are to be recommended. For example, when the first user among the above two users opens the resource list page, the first user is taken as the target object.
[0041] The target edge refers to the edge between the object node corresponding to the target object and each resource node, and it is all or part of the candidate edges.
[0042] For example, if the target object is the first user and the first user corresponds to the first object node, then the edges between the first object node and each resource node are taken as the target edges. Specifically, if there are 3 resource nodes, then there are 3 target edges.
[0043] After determining the target edges, resource sorting is performed based on the current weights of the target edges.
[0044] Since the weights of the edges are updatable, therefore, if no update occurs, the current weight is the initial weight, and if an update occurs, the target weight is the updated weight.
[0045] Specifically, the resources can be sorted in descending order of the current weights of the target edges to obtain the sorted resources. After that, the sorted resources are recommended to the target object.
[0046] For example, if the target object is the first user and the sorted resources include: the first resource, the third resource, and the second resource, then they are recommended to the first user in this order. Specifically, if only two resources can be displayed on the home page, then the first resource and the third resource are displayed on the home page, and the second resource is displayed on subsequent pages.
[0047] In this embodiment, sorting the resources based on the current weights of the target edges corresponding to the target object and recommending the sorted resources to the target object can improve the resource recommendation effect.
[0048] Figure 2 It is a schematic diagram according to the second embodiment of the present disclosure. This embodiment provides a resource recommendation method, and the method includes:
[0049] 201. Generate a relationship graph, where the relationship graph includes: object nodes and resource nodes, and candidate edges between the object nodes and the resource nodes.
[0050] 202. Set the initial weights of the candidate edges.
[0051] 203. Update the initial weights based on a preset event and a preset update time to obtain the current weights of the candidate edges.
[0052] 204. When a resource recommendation event for a target object occurs, determine the target edge corresponding to the target object among the candidate edges.
[0053] 205. Obtain the current weight of the target edge from the current weights of the candidate edges.
[0054] 206. Sort the resources corresponding to the resource nodes based on the current weight of the target edge to obtain sorted resources.
[0055] 207. Recommend the sorted resources to the target object.
[0056] Among them, the object nodes correspond to objects one by one, and the resource nodes correspond to resources one by one. Therefore, a relationship graph can be created according to the number of objects and resources.
[0057] Figure 3 It is a schematic diagram of the relationship graph provided according to an embodiment of the present disclosure.
[0058] Taking the object being a user as an example, referring to Figure 3 , assuming the number of users is two and the number of resources is three, a relationship graph including two object nodes (denoted as A and B) and three resource nodes (denoted as a, b, and c) can be created. Each object node represents a user, each resource node represents a resource, and the edge between each object node and each resource node is called a candidate edge.
[0059] The current weight of each candidate edge can be represented by w 11 ~w 13 , and w 21 ~w 23 respectively.
[0060] Initially, the initial weights can be set, such as 1. That is, in the initial state, w 11 ~w 13 , and w 21 ~w 23 are all 1.
[0061] The current weights are updatable. In this embodiment, taking updating based on a preset event and a preset update time as an example.
[0062] Taking w 11 as an example, its initial value is w 11 = 1; assuming that a preset event occurs first, then w 11 is updated according to the preset event, such as obtaining w1'1 = 2; then when the preset update time is reached, w1'1 is updated again according to the preset update time, such as obtaining w1”1 = 1.5.
[0063] Specifically, the process of weight update based on the preset event and the preset update time can be seen in the following description.
[0064] The above update process can be executed repeatedly. For example, if the preset event occurs again, it can be updated again based on w1”1.
[0065] Based on this, as the update process is continuously executed, the latest current weight of each candidate edge can be obtained.
[0066] For the resource recommendation event of the target object, for example, the target object opens the resource list page. When it is detected that the target object opens the resource list page, the target edge corresponding to the target object can be determined among the candidate edges of the relationship graph.
[0067] For example, if the first user opens the resource list page, and the first user corresponds to the object node A, then the candidate edges corresponding to A (the edges between A and a, between A and b, and between A and c) are used as the target edges.
[0068] After determining the target edge, the current weight of the target edge can be obtained from the current weights of the candidate edges. For example, from the above w 11 ~w 13 , and w 21 ~w 23 Among these 6 weights, obtain w 11 ~w 13 as the current weight of the target edge.
[0069] After obtaining the current weight of the target edge, the resources can be sorted based on this current weight to obtain the sorted resources.
[0070] For example, sort in descending order of the current weight, and w 11 >w 13 >w 12 , then the sorted resources are: resource a, resource c, and resource b.
[0071] When recommending resources, the sorted resources are displayed in order, such as displaying the above resource a, resource c, and resource b in order. Specifically, if only two resources can be displayed on the home page, then resource a and resource c are displayed on the home page, and resource b is displayed on subsequent pages.
[0072] In this embodiment, by updating the initial weight of the candidate edge, the current weight can be obtained, and resource sorting can be performed based on the current weight of the target edge, thereby improving the accuracy of resource sorting and further improving the resource recommendation effect.
[0073] The above involves weight update. The processes of weight update based on a preset event and based on a preset update time are described below respectively.
[0074] Figure 4 It is a schematic diagram of the method for weight update based on a preset event provided by an embodiment of the present disclosure. As Figure 4 shown, the method includes:
[0075] 401. When a preset event occurs, determine the associated edge corresponding to the preset event among the candidate edges, and update the existing weight of the associated edge based on the event weight corresponding to the preset event to obtain the current weight of the associated edge.
[0076] 402. Based on the current weight of the associated edge, obtain the current weight of the candidate edge.
[0077] Among them, the preset event is an event related to resources, and the specific content can be set. For example, it can include at least one of the following items:
[0078] User purchases a resource, user modifies the configuration of a resource, user renews a resource, user retrieves a resource, resource alarm message, resource renewal message.
[0079] Each of the above preset events corresponds to an event weight, and each event weight is a value within a preset range (such as 0 to 9). The event weights corresponding to different preset events can be the same or different.
[0080] For example, the event weight corresponding to a user purchasing a resource is the first event weight, and the event weight corresponding to a user modifying the configuration of a resource is the second event weight. The first event weight and the second event weight can be the same or different.
[0081] When a preset event occurs, the associated edge corresponding to the preset event can be determined, and then the initial weight of the associated edge is updated using the event weight.
[0082] Specifically, the above preset events can be divided into user operation resource types and resource event types.
[0083] The user operation resource type can indicate user information and resource information. For example, the above user purchases a resource, user modifies the configuration of a resource, user renews a resource, user retrieves a resource, and at this time, the edge corresponding to the user information and resource information is used as the associated edge of the preset event.
[0084] For example, the preset event is that a user purchases a resource. Specifically, the first user purchases the first resource. Assume that the first user corresponds to the object node A and the first resource corresponds to the resource node a. Then, the edge between A and a is used as the associated edge of this preset event.
[0085] The resource event class can indicate resource information, such as the above-mentioned resource alarm message and resource renewal message. At this time, all the edges corresponding to this resource can be used as the associated edges of the preset event.
[0086] For example, the preset event is a resource alarm message. Specifically, the first resource alarms. Assume that the first resource corresponds to the resource node a. Then, all the edges corresponding to a, that is, the edges between a and A, a and B, and a and C, are all used as the associated edges of this preset event.
[0087] After determining the associated edges of the preset event, use the event weight corresponding to this preset event to update the initial weight of this associated edge. Specifically, it can be an addition operation, which is expressed by the formula:
[0088] w1 = w0 + w_event.
[0089] Among them, w1 is the current weight updated based on the preset event, w0 is the initial weight, and w_event is the event weight corresponding to the preset event.
[0090] Specifically, for example, assume that the initial weight is 1 and the event weight corresponding to the preset event is 2. Then, the current weight updated based on the preset event is 3.
[0091] Through the above method, the current weight of the associated edge can be obtained. For the non-associated edges in the candidate edges, the weight remains unchanged, that is, the current weight of the non-associated edge is the initial weight. In this way, the current weight of each candidate edge can be obtained.
[0092] In this embodiment, the current weight of the associated edge is obtained based on the event weight, and then the current weight of the candidate edge is obtained based on the current weight of the associated edge. Thus, when the preset event occurs, the current weight of the candidate edge can be obtained efficiently and accurately.
[0093] Furthermore, by adding the event weight and the initial weight to obtain the current weight, the current weight can be obtained simply.
[0094] Figure 5 It is a schematic diagram of the method for weight update based on the preset update time provided by the embodiment of the present disclosure. As Figure 5 shown, the method includes:
[0095] 501. When the preset update time is reached, obtain the current duration between the preset update time and the initial time corresponding to the initial weight.
[0096] 502. Update the initial weight of the candidate edge based on the current duration to obtain the current weight of the candidate edge.
[0097] When setting the initial weight, the initial time corresponding to the set initial weight can also be recorded, such as t1.
[0098] When reaching the preset update time, such as t2, the current duration t between the two can be calculated, such as t = t2 - t1.
[0099] After obtaining the current duration t, update the initial weight based on this current duration. Specifically, it can be attenuation, that is, the current weight is less than the initial weight, and the larger the duration t, the smaller the current weight.
[0100] For example, the initial weight can be attenuated by an exponential decay method to obtain the current weight. The calculation formula can be:
[0101] w = w0e -kt
[0102] where w is the current weight, w0 is the initial weight, k is the preset decay coefficient, and t is the current duration.
[0103] In addition, when updating the weight based on the preset update time, it is a global update, that is, the weights of each candidate edge are updated. For example, the above exponential decay is performed to obtain the current weight of each candidate edge.
[0104] In this embodiment, the initial weight is updated based on the current duration between the preset update duration and the initial time to obtain the current weight of the candidate edge. Thus, when reaching the preset update time, the current weight of the candidate edge can be obtained efficiently and accurately.
[0105] Furthermore, attenuating the initial weight based on the current duration to obtain the current weight can reduce the correlation between the object and the resource over time and improve the accuracy of the current weight.
[0106] In the above embodiment, the event weight is involved. The event weight can be an empirical value, and the empirical value is an integer value within a preset range (such as 0 - 9). For example, the event weight of the first event (such as a user purchasing a resource) is set to a first value (such as 3), and the event weight of the second event (such as a user changing the configuration of a resource) is set to a second value (such as 2). In this way, the event weight can be obtained by an empirical setting method.
[0107] Alternatively, the event weight can also be obtained through a fitting process.
[0108] Figure 6 It is a schematic diagram of the method for obtaining the event weight through a fitting process according to the embodiments of the present disclosure, such asFigure 6 As shown, the method includes:
[0109] 601. Obtain the historical retrieval resources of the target object within the historical period of a preset duration after setting the initial weight.
[0110] 602. Obtain multiple candidate weight combinations based on the candidate weights of the preset event.
[0111] 603. Based on each candidate weight combination, sort the resources within the historical period to obtain the resource sorting result corresponding to each candidate weight combination.
[0112] 604. Determine the target weight combination from the multiple candidate weight combinations based on the historical retrieval resources and the resource sorting result.
[0113] 605. Determine the event weight of the preset event based on the target weight combination.
[0114] Among them, after generating the relationship graph and setting the initial weight of the candidate edge, data within a subsequent period of time can be collected. This period of time can be referred to as the historical period of the preset duration. For example, if the time when setting the initial weight of the candidate edge is t1 and the preset duration is T, then the period (t1 + T) can be used as the historical period to obtain the historical retrieval resources of the target object within this historical period. For example, within this historical period, if the target object retrieves resource a, then resource a is used as the historical retrieval resource.
[0115] The candidate weights of the preset event are preset. For example, each integer value within a preset range (such as 0 - 9) is used as a candidate weight respectively.
[0116] When there are multiple preset events, the candidate weights of different preset events can form multiple candidate weight combinations.
[0117] For example, if the preset events include the first event and the second event, and the candidate weights of each event include 0 and 1, then candidate weight combinations such as 00, 01, 10, and 11 can be obtained.
[0118] For each candidate weight combination, the initial weight of the candidate edge can be updated using the corresponding candidate weight, and the resources can be sorted according to the updated weight to obtain the resource sorting result.
[0119] Among them, when updating the weight, the candidate weight is used as the event weight, and the weight is updated in a manner similar to the weight update process involved in the above embodiments.
[0120] For example, for candidate weight combination 00, the obtained resource sorting results include: resource c, resource b, and resource a; for candidate weight combination 01, the obtained resource sorting results include: resource c, resource a, and resource b.
[0121] After that, based on the historical retrieved resources and the resource sorting results corresponding to each candidate weight combination, the target weight combination can be determined.
[0122] For example, for a certain resource sorting result, if the historical retrieved resource is in the top N of the resource sorting result, then the candidate weight combination corresponding to the resource sorting result is used as the target weight combination. Here, top N represents the top N positions, and N is a preset value. Specifically, if the historical retrieved resource is resource a and N = 2, then the above candidate weight combination 01 is used as the target weight combination.
[0123] In addition, since there can be multiple historical retrieval results, candidate weight combinations can also be scored for each historical retrieval result. After that, the candidate weight combination with the highest score is used as the target weight combination.
[0124] For example, based on the above example, when the historical retrieval result is resource a, the score of candidate weight combination 01 can be increased by 1, and the scores of candidate weight combinations that do not meet the above conditions (such as the historical retrieved resource is in the top N of the resource sorting result) remain unchanged. For example, the score of candidate weight combination 00 remains unchanged, and the initial value of the score of each candidate weight combination can be set, such as 0.
[0125] Assume that the historical retrieval result also includes resource b, and resource b is in the top N in the resource sorting result corresponding to candidate weight combination 10. Then, the score of candidate weight combination 10 can also be increased by 1 at this time.
[0126] And so on, the total score of each candidate weight combination can be obtained, and the candidate weight combination with the highest total score is used as the target weight combination.
[0127] After obtaining the target weight combination, the candidate weights in the target weight combination are used as the event weights of each preset event. For example, if the target weight combination is 10, then the event weight of the first event is 1, and the event weight of the second event is 0.
[0128] The above process of determining the target weight combination based on the resource sorting result and the historical retrieval result can be considered as fitting with the historical retrieval result. Therefore, this embodiment can be called obtaining the event weight through a fitting process.
[0129] In this embodiment, obtaining the event weight of the preset event through the fitting process can improve the accuracy of the event weight, and further improve the accuracy of resource recommendation.
[0130] Figure 7 It is a schematic diagram according to the third embodiment of the present disclosure. This embodiment provides a resource recommendation method, and the method includes:
[0131] 701. Generate a relationship graph, where the relationship graph includes: object nodes and resource nodes, and candidate edges between the object nodes and the resource nodes.
[0132] 702. Set the initial weights of the candidate edges.
[0133] For the specific implementation of 701 to 702, reference can be made to the relevant descriptions of 201 to 202 in the above embodiments.
[0134] 703. Obtain the event weights of preset events.
[0135] Among them, for the process of obtaining the event weights, reference can be made to Figure 6 the corresponding embodiment.
[0136] 704. Based on the preset event and the preset update time, update the initial weights to obtain the current weights of the candidate edges.
[0137] Among them, for the process of updating the weights based on the preset event, reference can be made to Figure 4 the corresponding embodiment.
[0138] For the process of updating the weights based on the preset update time, reference can be made to Figure 5 the corresponding embodiment.
[0139] 705. When a resource recommendation event for a target object occurs, determine the target edge corresponding to the target object among the candidate edges.
[0140] 706. Among the current weights of the candidate edges, obtain the current weight of the target edge.
[0141] 707. Based on the current weight of the target edge, sort the resources corresponding to the resource nodes to obtain the sorted resources.
[0142] 708. Recommend the sorted resources to the target object.
[0143] Among them, for the specific implementation of 705 to 708, reference can be made to the relevant descriptions of 204 to 207 in the above embodiments.
[0144] In this embodiment, the event weight can be obtained through the fitting process, which can improve the accuracy of the event weight, and further improve the accuracy of weight update based on the preset event; weight update based on the preset event and the preset update time can achieve more comprehensive weight update, improve the accuracy of the current weight of the target edge, and further improve the accuracy of sorting and recommendation when sorting and recommending resources based on the current weight of the target edge.
[0145] Figure 8 It is a schematic diagram according to the fourth embodiment of the present disclosure. This embodiment provides a resource recommendation device, as Figure 8 shown, the device 800 includes: a determination module 801, a sorting module 802, and a recommendation module 803.
[0146] The determination module 801 is configured to determine a target edge corresponding to a target object among candidate edges included in a pre-generated relationship graph; the relationship graph includes: object nodes and resource nodes, and the candidate edges between the object nodes and the resource nodes; the sorting module 802 is configured to sort the resources corresponding to the resource nodes according to the current weight of the target edge to obtain sorted resources; the recommendation module 803 is configured to recommend the sorted resources to the target object.
[0147] The relationship graph is used to represent the relationship between objects and resources, and it can be pre-generated.
[0148] The relationship graph is a graph structure, and the graph structure includes nodes and edges.
[0149] Specifically in the relationship graph, the nodes in the relationship graph include: object nodes and resource nodes.
[0150] The object node is used to represent an object.
[0151] The object can specifically be a user. Assuming that there are two users under the same account, then, there are two object nodes, and each object node corresponds to a user.
[0152] The resource node is used to represent a resource.
[0153] For example, if the resources under the above account include three resources, then, there can be three resource nodes, and each resource node corresponds to a resource.
[0154] The edge between each object node and each resource node can be called a candidate edge.
[0155] For example, taking two object nodes and three resource nodes as an example, 3*2 = 6 candidate edges can be constructed.
[0156] The candidate edge has a weight, and the weight is updatable.
[0157] For example, when generating a relationship graph, the initial weight of each candidate edge can be set, such as setting the initial weight to 1. Subsequently, the initial weight can be updated according to a preset event and / or a preset update time.
[0158] The target object is the object for which resources are to be recommended. When the first user among the above two users opens the resource list page, the first user is taken as the target object.
[0159] The target edge refers to the edge between the object node corresponding to the target object and each resource node, which is all or part of the candidate edges.
[0160] For example, if the target object is the first user and the first user corresponds to the first object node, then the edges between the first object node and each resource node are taken as the target edges. Specifically, if there are 3 resource nodes, then there are 3 target edges.
[0161] After determining the target edges, resource sorting is performed based on the current weights of the target edges.
[0162] Since the weight of an edge is updatable, therefore, if no update occurs, the current weight is the initial weight; if an update occurs, the target weight is the updated weight.
[0163] Specifically, the resources can be sorted in descending order according to the current weights of the target edges to obtain the sorted resources. Subsequently, the sorted resources are recommended to the target object.
[0164] For example, if the target object is the first user and the sorted resources include: the first resource, the third resource, the second resource, and the fourth resource, then the recommendation is made to the first user in this order. Specifically, if only two resources can be displayed on the home page, then the first resource and the third resource are displayed on the home page, and the second resource and the fourth resource are displayed on subsequent pages.
[0165] In this embodiment, sorting the resources based on the current weights of the target edges corresponding to the target object and recommending the sorted resources to the target object can improve the resource recommendation effect.
[0166] In some embodiments, the apparatus 800 may further include:
[0167] A generation module, configured to generate the relationship graph and set the initial weights of the candidate edges;
[0168] An update module, configured to update the initial weights of the candidate edges according to a preset event and / or a preset update time to obtain the current weights of the candidate edges;
[0169] An acquisition module, configured to acquire the current weights of the target edges from the current weights of the candidate edges.
[0170] In this embodiment, by updating the initial weight of the candidate edge, the current weight can be obtained, and resource sorting can be performed based on the current weight of the target edge, thereby improving the accuracy of resource sorting and further improving the resource recommendation effect.
[0171] In some embodiments, the updating module is further configured to:
[0172] When a preset event occurs, determine the associated edge corresponding to the preset event among the candidate edges, and update the initial weight of the associated edge based on the event weight of the preset event to obtain the current weight of the associated edge;
[0173] Based on the current weight of the associated edge, obtain the current weight of the candidate edge.
[0174] In this embodiment, the current weight of the associated edge is obtained based on the event weight, and then the current weight of the candidate edge is obtained based on the current weight of the associated edge, so that when a preset event occurs, the current weight of the candidate edge can be obtained efficiently and accurately.
[0175] In some embodiments, the updating module is further configured to:
[0176] Add the event weight and the initial weight to obtain the current weight of the associated edge.
[0177] In this embodiment, the current weight can be simply obtained by adding the event weight and the initial weight.
[0178] In some embodiments, the apparatus 800 may further include:
[0179] A weight module, configured to obtain the historical retrieval resources of the target object within a historical period of a preset duration after setting the initial weight; obtain multiple candidate weight combinations based on the candidate weights of the preset event; sort the resources within the historical period based on each candidate weight combination to obtain a resource sorting result corresponding to each candidate weight combination; determine a target weight combination among the multiple candidate weight combinations based on the historical retrieval resources and the resource sorting result; and determine the event weight of the preset event based on the target weight combination.
[0180] In this embodiment, the event weight of the preset event can be obtained through a fitting process, which can improve the accuracy of the event weight and further improve the accuracy of resource recommendation.
[0181] In some embodiments, the updating module is further configured to:
[0182] When the preset update time is reached, obtain the current duration between the preset update time and the initial time corresponding to the initial weight;
[0183] Update the initial weight of the candidate edge based on the current duration to obtain the current weight of the candidate edge.
[0184] In this embodiment, the initial weight is updated based on the duration between the preset update duration and the initial time to obtain the current weight of the candidate edge, so that the current weight of the candidate edge can be obtained efficiently and accurately when the preset update time is reached.
[0185] In some embodiments, the update module is further configured to:
[0186] Decay the initial weight of the candidate edge based on the current duration to obtain the current weight of the candidate edge.
[0187] In this embodiment, decaying the initial weight based on the duration to obtain the current weight can reduce the relevance between the object and the resource over time and improve the accuracy of the current weight.
[0188] It can be understood that in the embodiments of the present disclosure, the same or similar content in different embodiments can be referred to each other.
[0189] It can be understood that the "first", "second", etc. in the embodiments of the present disclosure are only used for distinction and do not represent the level of importance, the order of time sequence, etc.
[0190] It can be understood that if there is no special limitation on the sequence of steps involved in the process, it indicates that the timing relationship between these steps is not limited.
[0191] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision, and disclosure of the user's personal information involved all comply with the provisions of relevant laws and regulations and do not violate public order and good customs.
[0192] According to the embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product. <*
[0193] Figure 9 FIG. shows a schematic block diagram of an exemplary electronic device 900 that can be used to implement the embodiments of the present disclosure. The electronic device 900 is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, a personal digital assistant, a cellular phone, a smart phone, a wearable device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are only examples and are not intended to limit the implementation of the present disclosure described herein and / or claimed.
[0194] AsFigure 9 As shown, the electronic device 900 includes a computing unit 901, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 902 or a computer program loaded from a storage unit 908 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the electronic device 900 can also be stored. The computing unit 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0195] Multiple components in the electronic device 900 are connected to the I / O interface 905, including: an input unit 906, such as a keyboard, a mouse, etc.; an output unit 907, such as various types of displays, speakers, etc.; a storage unit 908, such as a magnetic disk, an optical disc, etc.; and a communication unit 909, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 909 allows the electronic device 900 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0196] The computing unit 901 can be various general-purpose and / or dedicated processing components with processing and computing capabilities. Some examples of the computing unit 901 include but are not limited to a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 901 executes the various methods and processes described above, such as the resource recommendation method. For example, in some embodiments, the resource recommendation method can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as the storage unit 908. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded into the RAM 903 and executed by the computing unit 901, one or more steps of the resource recommendation method described above can be executed. Alternatively, in other embodiments, the computing unit 901 can be configured to execute the resource recommendation method in any other appropriate way (e.g., by means of firmware).
[0197] The various embodiments of the systems and techniques described above in this specification can be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which may be a special-purpose or general-purpose programmable processor that receives data and instructions from, and transmits data and instructions to, a storage system, at least one input device, and at least one output device.
[0198] The program code for implementing the methods of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions / operations specified in the flowchart and / or block diagram to be implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package partially on the machine and partially on a remote machine, or entirely on the remote machine or server.
[0199] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0200] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, speech input, or tactile input).
[0201] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), and the Internet.
[0202] A computer system can include a client and a server. The client and the server are generally remote from each other and typically interact through a communication network. The relationship between the client and the server is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system, solving the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services ("Virtual Private Server", or simply "VPS"). The server can also be a server of a distributed system, or a server combined with blockchain.
[0203] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in this disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and no limitation is imposed herein.
[0204] The above specific embodiments do not constitute a limitation to the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub - combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principle of this disclosure shall be included within the scope of protection of this disclosure.
Claims
1. A resource recommendation method, comprising: Determining a target edge corresponding to a target object among candidate edges included in a pre-generated relationship graph; The relationship graph includes: object nodes and resource nodes, and the candidate edges between the object nodes and the resource nodes; Sorting the resources corresponding to the resource nodes based on the current weight of the target edge to obtain sorted resources; Recommending the sorted resources to the target object.
2. The method according to claim 1, further comprising: Generating the relationship graph and setting an initial weight for the candidate edges; Updating the initial weight of the candidate edges based on a preset event and / or a preset update time to obtain the current weight of the candidate edges; Obtaining the current weight of the target edge from the current weights of the candidate edges.
3. The method according to claim 2, wherein, The updating the initial weight of the candidate edges based on a preset event to obtain the current weight of the candidate edges includes: When a preset event occurs, determining associated edges corresponding to the preset event among the candidate edges, and updating the initial weight of the associated edges based on the event weight of the preset event to obtain the current weight of the associated edges; Obtaining the current weight of the candidate edges based on the current weight of the associated edges.
4. The method according to claim 3, wherein, The updating the initial weight of the associated edges based on the event weight of the preset event to obtain the current weight of the associated edges includes: Adding the event weight and the initial weight to obtain the current weight of the associated edges.
5. The method according to claim 3, further comprising: Obtaining historical retrieval resources of the target object within a historical period of a preset duration after setting the initial weight; Obtaining multiple candidate weight combinations based on the candidate weights of the preset event; Sorting the resources within the historical period based on each candidate weight combination to obtain a resource sorting result corresponding to each candidate weight combination; Determining a target weight combination among the multiple candidate weight combinations based on the historical retrieval resources and the resource sorting results; Determining the event weight of the preset event based on the target weight combination.
6. The method according to claim 2, wherein, The updating the initial weight of the candidate edges based on a preset update time to obtain the current weight of the candidate edges includes: When the preset update time is reached, obtaining the current duration between the preset update time and the initial time corresponding to the initial weight; Updating the initial weight of the candidate edges based on the current duration to obtain the current weight of the candidate edges.
7. The method according to claim 6, wherein The updating the initial weight of the candidate edges based on the current duration to obtain the current weight of the candidate edges includes: Attenuating the initial weight of the candidate edges based on the current duration to obtain the current weight of the candidate edges.
8. A resource recommendation apparatus, comprising: A determination module, configured to determine a target edge corresponding to a target object among candidate edges included in a pre-generated relationship graph; The relationship graph includes: object nodes and resource nodes, and the candidate edges between the object nodes and the resource nodes; A sorting module, configured to sort the resources corresponding to the resource nodes according to the current weight of the target edge to obtain sorted resources; A recommendation module, configured to recommend the sorted resources to the target object.
9. An electronic device, comprising: At least one processor; And A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and when the instructions are executed by the at least one processor, the at least one processor is enabled to execute the method according to any one of claims 1-7.
10. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to execute the method according to any one of claims 1-7.
11. A computer program product, comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1-7.
Citation Information
Patent Citations
Resource recommending method and device
CN105528379A
Information recommendation method and apparatus, and electronic device
WO2021082123A1