Resource recommendation methods, devices, electronic equipment and storage media

By combining pre-recommendation and real-time recall results in the recommendation system, the accuracy problem of recommendation systems with large resource volumes is solved, and higher recommendation accuracy and resource utilization are achieved under timeliness requirements.

CN116450901BActive Publication Date: 2026-03-13BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-03
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

When faced with a large amount of resources, existing recommendation systems struggle to improve recommendation accuracy while meeting the timeliness requirements of real-time recommendations. Limited resource recall leads to inaccurate recommendation results.

Method used

By performing pre-recommendation operations in the recommendation system, idle resources are used to obtain pre-recommendation results for target users in advance, and these results are then integrated with real-time recall results to expand the resource recall base and increase the diversity and accuracy of the resource recall stage.

Benefits of technology

While meeting the timeliness requirement of real-time recommendations, the resource recall strategy has been enriched, the accuracy and precision of the recommendation system have been improved, and the utilization rate of idle resources has been increased.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116450901B_ABST
    Figure CN116450901B_ABST
Patent Text Reader

Abstract

This disclosure provides a resource recommendation method, apparatus, electronic device, and storage medium, relating to the field of computer technology, particularly big data and intelligent recommendation technologies. The specific implementation scheme is as follows: in response to a genuine recommendation request from a target user, a recall operation is performed to obtain real-time recall results; and pre-recommendation results for the target user are searched; if pre-recommendation results are found, the resources to be recommended for the target user are selected from the real-time recall results and pre-recommendation results. In this disclosure, the resource recall strategy in the resource recall stage is enriched, and the amount of resources in the resource recall stage is expanded. While meeting the timeliness requirements of real-time recommendations, it is beneficial to obtain more accurate resource recommendation results based on a larger resource recall base, thereby improving the accuracy of the recommendation system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to the fields of big data and intelligent recommendation. Background Technology

[0002] Currently, recommendation systems use traditional resource recommendation methods to achieve real-time recommendations. However, real-time recommendations prioritize the timeliness of obtaining recommendation results, which requires that the amount of resources processed by the resource recommendation method in the recommendation system cannot be too large, otherwise it will consume more time. But as the amount of resources increases, it is necessary to further improve the efficiency of recommendations. Summary of the Invention

[0003] This disclosure provides a resource recommendation method, apparatus, electronic device, and storage medium.

[0004] According to one aspect of this disclosure, a resource recommendation method is provided, comprising:

[0005] In response to genuine recommendation requests from target users, a recall operation is performed to obtain real-time recall results; and,

[0006] Find pre-recommendation results for the target user;

[0007] If pre-recommendation results are found, the resources to be recommended to the target user are filtered from the real-time recall results and pre-recommendation results.

[0008] According to another aspect of this disclosure, a resource recommendation apparatus is provided, comprising:

[0009] The response module is used to respond to genuine recommendation requests from target users, perform recall operations, obtain real-time recall results, and search for pre-recommendation results for target users.

[0010] The filtering module is used to filter out the resources to be recommended to the target user from the real-time recall results and the pre-recommendation results when the pre-recommendation results are found.

[0011] According to another aspect of this disclosure, an electronic device is provided, comprising:

[0012] At least one processor; and

[0013] The memory is communicatively connected to the at least one processor; wherein,

[0014] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the methods of any embodiment of the present disclosure.

[0015] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause the computer to perform a method according to any embodiment of this disclosure.

[0016] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements a method according to any embodiment of this disclosure.

[0017] In this embodiment, real-time recall results are obtained based on the target user's actual recommendation request. If a pre-recommendation result for the target user is found, that pre-recommendation result is also used as a recall result. This enriches the resource recall strategy in the resource recall stage and expands the resource volume of the resource recall stage. While meeting the timeliness requirements of real-time recommendations, it is beneficial to obtain more accurate resource recommendation results based on a larger resource recall base, thereby improving the accuracy of the recommendation system.

[0018] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0019] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:

[0020] Figure 1 This is a flowchart illustrating a resource recommendation method according to an embodiment of the present disclosure;

[0021] Figure 2 This is a schematic diagram of tidal data of a recommendation system according to another embodiment of the present disclosure;

[0022] Figure 3 This is a flowchart illustrating a resource recommendation method according to another embodiment of this disclosure;

[0023] Figure 4 This is a schematic diagram of the structure of a resource recommendation device according to an embodiment of the present disclosure;

[0024] Figure 5 This is a block diagram of an electronic device used to implement the resource recommendation method of the embodiments of this disclosure. Detailed Implementation

[0025] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0026] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0027] Traditional recommendation algorithms typically include four steps: resource retrieval based on a resource repository, retrieval fusion, coarse ranking, and fine ranking. Since resources in the repository may change over time (e.g., updates or removals), real-time recommendation, combined with the aforementioned steps, often yields more accurate results by retrieving relevant resources from the repository. Real-time recommendation involves responding immediately to a user's recommendation request, retrieving resources from the repository based on the request, performing fusion, coarse ranking, and fine ranking, and finally providing the user with the real-time recommendation. However, real-time recommendation systems have a limited capacity to handle requests within a short timeframe, resulting in a limited amount of resources retrieved during the retrieval phase. Therefore, if the resource retrieval strategy is enriched and the amount of resources retrieved is increased, within the constraints of real-time recommendation and the system's processing capabilities, a larger resource retrieval base can lead to more accurate recommendations and improved system precision.

[0028] Based on this technical concept, embodiments of this disclosure provide a resource recommendation method, such as... Figure 1 The diagram shown is a flowchart of a resource recommendation method in an embodiment of this disclosure, including:

[0029] S101, in response to the target user's genuine recommendation request, execute the recall operation to obtain real-time recall results; and search for the target user's pre-recommendation results.

[0030] The recommendation requests in this embodiment include two types: real recommendation requests, which are recommendation requests sent in real time based on the user's true intentions, and simulated recommendation requests, which are virtual recommendation requests generated to obtain the user's pre-recommendation results. The method for obtaining the pre-recommendation results will be described later; here, it is important to emphasize that the pre-recommendation results can be used as one path of recall results for the recall node.

[0031] The recall operation refers to using different recall methods during the resource recall phase to recall a portion of the resource candidate set, thus achieving multi-path recall. Furthermore, each recall result needs to maintain independence and mutual exclusion as much as possible. This ensures that each recall can be performed in parallel while increasing the diversity of recall results, thereby improving the accuracy of resource recommendations.

[0032] S102, if a pre-recommendation result is found, filter out the resources to be recommended for the target user from the real-time recall result and the pre-recommendation result.

[0033] The key point is that the pre-recommendation results and the real-time recall results found need to be used together as the recall fusion results to be fused in the recall fusion stage of the recommendation algorithm.

[0034] In this embodiment, real-time recall results are obtained based on the target user's actual recommendation request. If a pre-recommendation result for the target user is found, that pre-recommendation result is also used as a recall result. This enriches the resource recall strategy in the resource recall stage and expands the resource volume of the resource recall stage. While meeting the timeliness requirements of real-time recommendations, it is beneficial to obtain more accurate resource recommendation results based on a larger resource recall base, thereby improving the accuracy of the recommendation system.

[0035] To ensure timely recommendations, pre-recommendation results need to be obtained in advance and stored in the recommendation system for future retrieval. In some embodiments, pre-recommendation results for the target user can be obtained using the following methods:

[0036] A1, determine the first free resource to perform the pre-recommended operation.

[0037] Recommendation systems configure resources based on the maximum request traffic to provide corresponding service support. However, the request traffic received by the recommendation system is often uneven across different time periods, and the request traffic during most periods does not reach the maximum supported request traffic. Therefore, if the resource utilization rate of the recommendation system is low, idle resources will be wasted. Based on this, the idle resources of the recommendation system in each time period can be used as the first idle resource for performing pre-recommendation operations.

[0038] A2, if the target user is a pre-recommended user, perform a pre-recommendation operation based on the first idle resource to obtain the pre-recommendation result for the target user.

[0039] Since the processing capacity of the first idle resource is limited, pre-recommendation operations can be performed on some users who are most likely to use the recommendation system. Therefore, it is necessary to pre-judge the target users to determine whether they are users who need to undergo pre-recommendation operations, i.e., pre-recommendation users. Only when the target user is determined to be a pre-recommendation user can the pre-recommendation operation be performed on that target user based on the first idle resource.

[0040] In this embodiment, the first idle resource of the recommendation system is used for pre-recommendation, which improves the utilization rate of the first idle resource while completing the pre-recommendation operation. Instead of performing the pre-recommendation operation on all users, pre-recommendation is performed by selecting users from multiple users, allowing for better allocation of the first idle resource. This enables pre-recommendation only to users with specific needs, allowing the limited first idle resource to play a more crucial role.

[0041] Specifically, some methods can be used to identify the first free resource from the resources of the recommendation system for performing the pre-recommendation operation.

[0042] In some embodiments, determining a first free resource for performing a pre-recommended operation can be implemented as follows:

[0043] B1, Obtain the tidal data of the recommendation system; tidal data is used to represent the trend of resource utilization over time.

[0044] The tidal data comes from historical data of the recommendation system, and it represents the trend of resource utilization over time, determined based on the number of requests received by the recommendation system in different time periods. For example, Figure 2 The image shown is a schematic diagram of tidal data for a recommendation system. This disclosure does not limit the visualization format of the tidal data. Specifically, based on... Figure 2 It can be seen that the larger the number of requests received, the higher the resource utilization rate; the smaller the number of requests received, the lower the resource utilization rate.

[0045] B2, based on tidal data, identifies the target time period when resource utilization is below the utilization threshold.

[0046] In some embodiments, the utilization threshold can be set according to actual needs. For example, if the average resource utilization rate shown by the tidal data is high within a specified time period, the utilization threshold can be set lower to avoid the recommendation system from frequently reallocating resources; if the average resource utilization rate shown by the tidal data is low, the utilization threshold can be set higher so that the recommendation system can effectively utilize most of the idle resources.

[0047] like Figure 2As shown, based on tidal data, the resource utilization rate of the recommendation system becomes lower during the time periods indicated by the two arrows. These two time periods can be used as target time periods to achieve the reuse of the first idle resource. It should be noted that each target time period corresponds to a first idle resource, and the amount of the first idle resource corresponding to different target time periods can be the same or different.

[0048] B3 identifies the second available resource within the target time period as the first available resource for performing the pre-recommended operation.

[0049] In this embodiment, a first idle resource for performing the pre-recommendation operation is first determined, which helps to make effective use of the first idle resource of the recommendation system in a scientific and reasonable manner. Only when the target user is a pre-recommendation user is the first idle resource utilized to perform the pre-recommendation operation on the corresponding target user, which helps to efficiently and accurately complete the pre-recommendation using the first idle resource of the recommendation system.

[0050] When searching for pre-recommendation results for a target user in a recommendation system, the system may or may not store these results. Therefore, there are two possibilities: the pre-recommendation results can be found, or they cannot be found.

[0051] In some embodiments, when pre-recommendation results are found, the resources to be recommended for the target user can be filtered from the real-time recall results and pre-recommendation results based on the following method, which can be implemented as follows: Figure 3 As shown:

[0052] S301, the real-time recall results and the pre-recommendation results are merged to obtain the first fusion result.

[0053] In implementation, the recall phase may include one recall result obtained through ICF (item-based collaborative filtering) and another recall result obtained through UCF (user-based collaborative filtering). To improve the accuracy of recommendations, in this embodiment, the pre-recommendation result is used as one recall result and fused with other recall results during the recall fusion phase.

[0054] S302, perform coarse sorting on the first fusion result to obtain the first coarse sorting result.

[0055] S303, perform fine sorting on the first coarse sorting result to obtain the resources to be recommended for the target user.

[0056] In implementation, all resources in the pre-recommendation results can be retained, the total number of resources in the pre-recommendation results can be calculated, and resources of that total number can be removed from the real-time recall results. Then, recall fusion is performed based on the remaining resources in the real-time recall results and all resources in the pre-recommendation results. Specifically, resources with lower recommendation values ​​can be removed from the real-time recall results based on the order of recommendation values ​​from low to high.

[0057] In this embodiment, using real-time recall results as the recall result helps meet the timeliness requirements of real-time recommendations and improves the accuracy of resource recommendation results. Merging pre-recommendation results and real-time recall results into a single recall result during the resource recall stage is equivalent to adding an additional recall path. This allows for obtaining more accurate resource recommendation results based on a larger resource recall base, thereby improving the accuracy of the recommendation system.

[0058] In some embodiments, a pre-recommendation operation based on a first idle resource can be performed to obtain a pre-recommendation result for the target user, specifically implemented as follows: Figure 3 As shown:

[0059] S304, Generate a simulated recommendation request for the target user.

[0060] The target user is a pre-recommended user. The simulated recommendation request is an automatically generated recommendation request by the recommendation system to facilitate the pre-recommendation operation on the target user.

[0061] S305, in response to the simulated recommendation request, perform a recall operation using the first available resource to obtain the pre-recommendation recall result.

[0062] The recommendation system responds to simulated recommendation requests in the same way it responds to real recommendation requests.

[0063] S306, the pre-recommendation recall results are fused to obtain the second fused result.

[0064] S307, perform coarse sorting on the second fusion result to obtain the second coarse sorting result.

[0065] S308, perform fine sorting on the second coarse sorting results to obtain the pre-recommendation results for the target users.

[0066] In this embodiment, utilizing the first idle resource to perform the pre-recommendation operation is beneficial for better leveraging the role of the first idle resource and preventing its waste. It also facilitates the early recommendation operation for target users to obtain pre-recommendation results, enabling the resources to be recommended to be obtained based on more diversified recall results, thus improving the accuracy of the recommended resources and consequently enhancing the overall accuracy of the recommendation system.

[0067] The steps for performing pre-recommendation operations are basically the same as the overall steps for performing real-time recommendation operations, but the amount of resources required at each stage may differ.

[0068] In some embodiments, the pre-recommended operation needs to meet at least one of the following conditions:

[0069] 1) The amount of resources in the pre-recommendation recall results is greater than the amount of resources in the real-time recall results;

[0070] In some embodiments, the resource quantity of the real-time recall result is in units of tens of thousands. In the pre-recommendation operation, the resource quantity can be recalled in units of hundreds of thousands, so that the resource quantity in the pre-recommendation recall result is greater than the resource quantity of the real-time recall result.

[0071] 2) The resource quantity of the second fusion result is greater than the resource quantity of the first fusion result;

[0072] In some embodiments, such as Figure 3 As shown, the resource quantity of the first fusion result is in thousands. In the pre-recommendation operation, the second fusion result can be obtained in tens of thousands, so that the resource quantity of the second fusion result is greater than that of the first fusion result.

[0073] 3) The resource quantity of the second coarse sort result is greater than the resource quantity of the first coarse sort result;

[0074] In some embodiments, such as Figure 3 As shown, the resource quantity of the first coarse sorting result is in hundreds. In the pre-recommendation operation, the second coarse sorting result can be obtained in thousands, so that the resource quantity of the second coarse sorting result is greater than that of the first coarse sorting result.

[0075] 4) The amount of resources in the pre-recommendation results for the target user is greater than the amount of resources to be recommended for the target user.

[0076] In some embodiments, such as Figure 3 As shown, the number of resources to be recommended for the target user is in units of one. Therefore, in the pre-recommendation operation, the pre-recommendation results for the target user can be obtained in units of thousands, so that the number of resources in the pre-recommendation results for the target user is greater than the number of resources to be recommended for the target user.

[0077] In this embodiment of the disclosure, when performing the pre-recommendation operation, the amount of resources in each stage of the pre-recommendation operation is expanded as much as possible. This is beneficial to obtaining more accurate resource recommendation results based on a larger amount of resources, thereby improving the accuracy of the recommendation system.

[0078] In some embodiments, to improve the accuracy of recommendations and the utilization rate of the first idle resource, this disclosure embodiment selectively performs pre-recommendation operations on a subset of target users. The selected pre-recommendation users can be the same or different for each idle time period. Regardless of whether the selected pre-recommendation users are the same for each idle time period, the pre-recommendation results are only effectively utilized when a pre-recommendation user issues a genuine recommendation request. All pre-recommendation results need to be saved to await genuine recommendation requests from target users. However, some special cases may occur, where a pre-recommendation operation is performed on the same target user once, and the same pre-recommendation operation is performed on that target user the next time the first idle resource is used. This will result in multiple pre-recommendation results for the same target user. To improve recommendation accuracy, this disclosure embodiment, when storing historical pre-recommendation results for target users, updates the historical pre-recommendation results based on newly obtained pre-recommendation results for target users.

[0079] Specifically, for example, after identifying a target user as a pre-recommendation user, a pre-recommendation operation will be performed on that target user to obtain a pre-recommendation result. After obtaining the pre-recommendation result, it needs to be stored in the recommendation system. Before storing the pre-recommendation result in the recommendation system, it is necessary to first check if a historical pre-recommendation result for that target user exists in the recommendation system. If no historical pre-recommendation result exists, the newly obtained pre-recommendation result for that target user needs to be used to replace the historical result, ensuring that the recommendation system stores only one copy of the pre-recommendation result for each target user.

[0080] In this embodiment, when a new pre-recommendation result for a target user is obtained, it is checked whether a historical pre-recommendation result for that target user exists. If it does, it is replaced with the newly obtained pre-recommendation result for the target user. This helps avoid storing too many pre-recommendation results for the same target user, thereby avoiding data redundancy caused by storing pre-recommendation results.

[0081] In other embodiments, besides replacing historical recommendation results with the pre-recommendation results of newly acquired target users, the pre-recommendation results of newly acquired target users and historical recommendation results can be merged to obtain the final stored pre-recommendation results. For example, the pre-recommendation results of newly acquired target users and historical recommendation results can be re-weighted and sorted in descending order. During the re-weighting process, the weight of the pre-recommendation results of newly acquired target users can be higher than the resource weights in the historical recommendation results. When sorting the pre-recommendation results of newly acquired target users and historical recommendation results in descending order using a weighted summation method, the first half of the resources are retained as the final stored pre-recommendation results.

[0082] Of course, during implementation, it is also possible to find the same resources in the newly obtained pre-recommendation results and historical recommendation results, and increase the recommendation value of the same resources. The increase can be achieved by adding a specified score or increasing a specified percentage. Then, the resources in the newly obtained pre-recommendation results and historical recommendation results are sorted in descending order, and the top half of the resources are finally stored.

[0083] In some embodiments, a target user can be identified as a pre-recommended user based on the following method, provided that the target user meets at least one of the following conditions:

[0084] C1, the target user's activity frequency is higher than the preset frequency.

[0085] For example, if the preset frequency is 3 times per week, and the target user's activity frequency is 4 times or more per week, then the target user is identified as a pre-recommended user.

[0086] C2: The target user spends more time browsing resources than the preset time.

[0087] For example, the preset time is 2 hours per day or 12 hours per week. If the target user browses the resource for 3 hours per day or 40 hours per week, then the target user is identified as a pre-recommended user.

[0088] In this embodiment, target users with highly active behavior are identified as pre-recommendation users. This increases the likelihood that the pre-recommendation results for these target users will be selected as recommended resources and recommended to them, thereby improving the utilization rate of the pre-recommendation results. Furthermore, it minimizes the need to perform pre-recommendation operations on target users without highly active behavior, thus saving idle resources and preventing the recommendation system from wasting storage resources by storing pre-recommendation results for target users without highly active behavior.

[0089] In some embodiments, tidal data is based on patterns derived from historical data and cannot accurately predict future situations. During the pre-recommendation operation using the first idle resource, the number of real recommendation requests may surge; for example, during a trending event, the total number of real recommendation requests may be much larger than the data collected from the tidal data. To ensure that real recommendation requests are prioritized, this embodiment of the disclosure also requires the following operations before generating simulated recommendation requests for the target user:

[0090] D1 retrieves the total number of actual recommendation requests within the previous statistical period.

[0091] D2, based on the maximum number of recommendation requests supported by the recommendation system and the total number of real recommendation requests in the previous statistical period, determines the total number of simulated recommendation requests supported in the current statistical period; the simulated recommendation requests of the target user are included in the total number of simulated recommendation requests.

[0092] The total number of simulated recommendation requests supported in the current statistical period is calculated by subtracting the maximum number of recommendation requests supported by the recommendation system from the total number of actual recommendation requests in the previous statistical period. For example, if the total number of actual recommendation requests in the previous statistical period is M, and the maximum number of recommendation requests supported by the recommendation system is N, then the total number of simulated recommendation requests supported in the current statistical period is NM.

[0093] In this embodiment of the disclosure, the total number of simulated recommendation requests supported in the current statistical period is determined based on the maximum number of recommendation requests supported by the recommendation system and the total number of real recommendation requests in the previous statistical period. This helps to maintain the performance of the recommendation system at a stable level, prevents the recommendation system from crashing because the sum of the total number of generated simulated recommendation requests and the total number of real recommendation requests exceeds the maximum number of recommendation requests supported by the recommendation system, and effectively utilizes the first idle resource.

[0094] In some embodiments, the following methods are also required to intervene in the pre-recommended operation:

[0095] E1 monitors changes in the total number of real recommendation requests in real time within the current statistical period.

[0096] E2: When the total number of real recommendation requests increases and exceeds the preset increase, the total number of simulated recommendation requests in the current statistical period will be reduced.

[0097] Specifically, when the total number of genuine recommendation requests increases and exceeds a preset growth rate, it indicates that the resources in the recommendation system are insufficient to support responding to more simulated recommendation requests generated within the current statistical period. In implementation, each statistical period can be at the minute level, such as 1 minute, 2 minutes, or 5 minutes. Minute-level statistical periods allow for real-time monitoring of genuine recommendation requests, enabling timely responses to unexpected events and ensuring that resources are prioritized for genuine recommendation requests.

[0098] E3: If it is determined that the number of simulated recommendation requests for the target user needs to be reduced from the total number of simulated recommendation requests, then the pre-recommendation operation for the target user shall be stopped.

[0099] Specifically, when it is determined that the number of simulated recommendation requests for target users needs to be reduced from the total number of simulated recommendation requests, pre-recommendation operations based on the simulated requests for target users that have already been generated should also be stopped, so as to ensure to a greater extent that no more resources in the recommendation system are occupied by pre-recommendation operations during the current statistical period.

[0100] Furthermore, if a trending topic emerges in a certain region, causing the total number of real recommendation requests in that region to exceed the maximum recommendation request limit supported by the recommendation system in that region's data center, then some of the real recommendation requests from that region need to be distributed to data centers in other adjacent regions. Correspondingly, the simulated request traffic generated by data centers in other adjacent regions will also be adaptively reduced.

[0101] In this embodiment of the disclosure, when the total number of genuine recommendation requests increases and exceeds a preset increase, causing resource strain on the recommendation system, the system is first ensured to respond promptly to the genuine recommendation requests of the target user. This reduces the resources used for performing pre-recommendation operations, which helps ensure that the recommendation system completes real-time recommendations for the genuine recommendation requests of the target user, thereby helping to ensure that the target user can receive timely feedback.

[0102] In some embodiments, in order to save limited storage resources, the pre-recommendation results of the target user are deleted if the storage time of the pre-recommendation results of the target user exceeds a specified time.

[0103] For example, if a specified duration is 3 days, and the pre-recommendation results for a target user are stored in the recommendation system for more than 3 days, it indicates that the likelihood of that target user making a genuine recommendation request in the near future is very low. In this case, there is no need to continue retaining the pre-recommendation results for that target user. Even if they are retained, the accuracy and usability of the pre-recommendation results will gradually decrease as the interval between the pre-recommendation operation and the real-time recommendation operation increases, thus rendering the pre-recommendation results meaningless. In this case, the pre-recommendation results that have been stored for longer than the specified duration should be deleted.

[0104] In this embodiment of the disclosure, periodically deleting pre-recommendation results stored in the recommendation system for a period exceeding a specified time helps ensure that the accuracy and usability of the pre-recommendation results are maintained at a high level. Deleting pre-recommendation results with low accuracy and usability helps save storage resources of the recommendation system.

[0105] In this embodiment of the disclosure, to improve the efficiency of querying and retrieving pre-recommendation results, the pre-recommendation results can be stored in a cache. During storage, only the resource indexes can be stored, thereby saving storage space. During recall, after reading the indexes of each resource in the pre-recommendation results, other information about the resources (such as cover images, titles, etc.) is retrieved based on the indexes to facilitate fusion.

[0106] Based on the same technical concept, this disclosure also provides a resource recommendation device 400, such as... Figure 4 As shown, the device includes:

[0107] The response module 401 is used to respond to the real recommendation request from the target user, perform a recall operation, obtain real-time recall results, and search for the pre-recommendation results of the target user.

[0108] The filtering module 402 is used to filter out the resources to be recommended to the target user from the real-time recall results and the pre-recommendation results when the pre-recommendation results are found.

[0109] In some embodiments, it also includes:

[0110] The first determining module is used to determine the first available resource for performing the pre-recommended operation;

[0111] The pre-recommendation module is used to perform a pre-recommendation operation based on the first available resource when the target user is a pre-recommendation user, and obtain the pre-recommendation result for the target user.

[0112] In some embodiments, the first determining module includes:

[0113] The acquisition submodule is used to acquire tidal data from the recommendation system; tidal data is used to represent the trend of resource utilization over time.

[0114] The first determination submodule is used to determine the target time period when the resource utilization rate is lower than the utilization rate threshold based on tidal data;

[0115] The second determination submodule is used to determine the second idle resource within the target time period as the first idle resource for performing the pre-recommended operation.

[0116] In some embodiments, the filtering module includes:

[0117] The first fusion submodule is used to fuse the real-time recall results and the pre-recommendation results to obtain the first fusion result;

[0118] The first coarse sorting submodule is used to coarsely sort the first fusion result to obtain the first coarse sorting result.

[0119] The first fine sorting submodule is used to fine sort the first coarse sorting results to obtain the resources to be recommended to the target user.

[0120] In some embodiments, the pre-recommendation module includes:

[0121] The generation submodule is used to generate simulated recommendation requests for the target user;

[0122] The recall submodule is used to respond to simulated recommendation requests, perform recall operations using the first available resource, and obtain pre-recommendation recall results;

[0123] The second fusion submodule is used to fuse the pre-recommendation recall results to obtain the second fusion result;

[0124] The second coarse sorting submodule is used to coarsely sort the second fusion result to obtain the second coarse sorting result.

[0125] The second fine sorting submodule is used to fine sort the second coarse sorting results to obtain the pre-recommendation results for the target users.

[0126] In some embodiments, the pre-recommended operation satisfies at least one of the following conditions:

[0127] The amount of resources in the pre-recommendation recall results is greater than the amount of resources in the real-time recall results;

[0128] The resource quantity of the second fusion result is greater than the resource quantity of the first fusion result;

[0129] The resource quantity of the second coarse sort result is greater than the resource quantity of the first coarse sort result;

[0130] The amount of resources in the pre-recommendation results for the target user is greater than the amount of resources to be recommended for the target user.

[0131] In some embodiments, it also includes:

[0132] The update module is used to update the historical pre-recommendation results based on the newly obtained pre-recommendation results for the target user, provided that the historical pre-recommendation results for the target user are stored.

[0133] In some embodiments, it also includes:

[0134] The second determining module is used to determine a target user as a pre-recommended user if the target user meets at least one of the following conditions:

[0135] The target users' activity frequency is higher than the preset frequency;

[0136] The target user's browsing time for the resource exceeds the preset time.

[0137] In some embodiments, it also includes:

[0138] The acquisition module is used to acquire the total number of real recommendation requests in the previous statistical period before the generation submodule generates the simulated recommendation request for the target user;

[0139] The third determining module is used to determine the total number of simulated recommendation requests supported within the current statistical period based on the maximum number of supported recommendation requests and the total number of actual recommendation requests; wherein, the simulated recommendation requests of the target user are included in the total number of simulated recommendation requests.

[0140] In some embodiments, it also includes:

[0141] The monitoring module is used to monitor changes in the total number of real recommendation requests in real time within the current statistical period.

[0142] The adjustment module is used to reduce the total number of simulated recommendation requests in the current statistical period when the total number of real recommendation requests increases and exceeds the preset increase amount.

[0143] The cancellation module is used to stop performing pre-recommendation operations for a target user if it is determined that the number of simulated recommendation requests for the target user needs to be reduced from the total number of simulated recommendation requests.

[0144] In some embodiments, it also includes:

[0145] The deletion module is used to delete the pre-recommendation results of a target user if the storage time of the pre-recommendation results exceeds a specified time.

[0146] The specific functions and examples of each unit and subunit of the apparatus in this disclosure embodiment can be found in the relevant descriptions of the corresponding steps in the above method embodiments, and will not be repeated here.

[0147] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0148] Figure 5A schematic block diagram of an example electronic device 500 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0149] like Figure 5 As shown, device 500 includes a computing unit 501, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 502 or a computer program loaded from storage unit 508 into random access memory (RAM) 503. RAM 503 may also store various programs and data required for the operation of device 500. The computing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. Input / output (I / O) interface 505 is also connected to bus 504.

[0150] Multiple components in device 500 are connected to I / O interface 505, including: input unit 506, such as keyboard, mouse, etc.; output unit 507, such as various types of monitors, speakers, etc.; storage unit 508, such as disk, optical disk, etc.; and communication unit 509, such as network card, modem, wireless transceiver, etc. Communication unit 509 allows device 500 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0151] The computing unit 501 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above, such as the resource recommendation method. For example, in some embodiments, the resource recommendation method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by the computing unit 501, one or more steps of the resource recommendation method described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to perform the resource recommendation method by any other suitable means (e.g., by means of firmware).

[0152] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, 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 may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0153] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0154] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction 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 be, 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 machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0155] 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 pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, 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 sound input, voice input, or tactile input).

[0156] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0157] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0158] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0159] The specific embodiments described above do not constitute a limitation on 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 principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A resource recommendation method, comprising: In response to genuine recommendation requests from target users, execute recall operations and obtain real-time recall results; and, Find the pre-recommendation results for the target user; If the pre-recommendation results are found, the total amount of resources in the pre-recommendation results is counted, and resources of that total amount are deleted from the real-time recall results; wherein, resources are deleted from the real-time recall results in order of recommendation value from low to high. The remaining resources and pre-recommendation results from the real-time recall results are merged to obtain the first fusion result; The first fusion result is coarsely sorted to obtain the first coarse sorting result; The first coarse sorting result is then fine sorted to obtain the resources to be recommended for the target user. The pre-recommendation results are obtained based on the following method: Generate a simulated recommendation request for the target user; In response to the simulated recommendation request, a recall operation is performed using the first idle resource to obtain the pre-recommendation recall result; the first idle resource is the idle resource of the recommendation system; The pre-recommendation recall results are fused to obtain a second fusion result; The second fusion result is coarsely sorted to obtain the second coarse sorting result; The second coarse sorting result is then fine sorted to obtain the pre-recommendation result for the target user.

2. The method according to claim 1, further comprising obtaining the pre-recommendation result of the target user based on the following method: Determine the first available resource to perform the pre-recommended operation; If the target user is a pre-recommended user, a pre-recommendation operation is performed based on the first idle resource to obtain the pre-recommendation result for the target user.

3. The method according to claim 2, wherein, The determination of the first free resource for performing the pre-recommended operation includes: Acquire tidal data from the recommendation system; the tidal data is used to represent the trend of resource utilization over time. Based on the tidal data, the target time period when the resource utilization rate is lower than the utilization rate threshold is determined; The second idle resource within the target time period is determined as the first idle resource for performing the pre-recommended operation.

4. The method according to claim 2, wherein, The pre-recommended operation satisfies at least one of the following conditions: The amount of resources in the pre-recommended recall results is greater than the amount of resources in the real-time recall results; The resource quantity of the second fusion result is greater than the resource quantity of the first fusion result; The resource quantity of the second coarse sorting result is greater than the resource quantity of the first coarse sorting result; The amount of resources in the pre-recommendation results for the target user is greater than the amount of resources to be recommended for the target user.

5. The method according to claim 2, further comprising: If the historical pre-recommendation results for the target user are stored, the historical pre-recommendation results are updated based on the newly obtained pre-recommendation results for the target user.

6. The method according to claim 2, further comprising determining the target user as the pre-recommended user based on the following method: The target user is determined to be the pre-recommended user if the target user meets at least one of the following conditions: The target user's activity frequency is higher than the preset frequency; The target user's browsing time for the resource is longer than the preset time.

7. The method according to claim 1, further comprising: Get the total number of actual recommendation requests in the previous statistical period; Based on the maximum supported recommendation request volume and the total actual recommendation request volume, the total number of simulated recommendation requests supported in the current statistical period is determined; wherein, the simulated recommendation requests of the target user are included in the total number of simulated recommendation requests.

8. The method according to claim 7, further comprising: Real-time monitoring of changes in the total number of actual recommendation requests within the current statistical period; When the total number of real recommendation requests increases and exceeds the preset increase, the total number of simulated recommendation requests in the current statistical period is reduced. If it is determined that the simulated recommendation requests for the target user need to be reduced from the total number of simulated recommendation requests, the pre-recommendation operation for the target user shall be stopped.

9. The method according to any one of claims 1-8, further comprising: If the storage time of the pre-recommendation results for the target user exceeds a specified time, the pre-recommendation results for the target user shall be deleted.

10. A resource recommendation device, comprising: The response module is used to respond to genuine recommendation requests from target users, perform recall operations, and obtain real-time recall results. Then, find the pre-recommendation results for the target user; The filtering module includes: The first fusion submodule is used to calculate the total amount of resources in the pre-recommendation results and delete resources of that total amount from the real-time recall results. Specifically, resources are deleted from the real-time recall results based on the order of recommendation values ​​from low to high. The remaining resources in the real-time recall results and the pre-recommendation results are fused to obtain the first fusion result. The first coarse sorting submodule is used to coarsely sort the first fusion result to obtain the first coarse sorting result. The first fine sorting submodule is used to perform fine sorting on the first coarse sorting result to obtain the resources to be recommended for the target user. It also includes a pre-recommendation module, which includes: A generation submodule is used to generate a simulated recommendation request for the target user; The recall submodule is used to respond to the simulated recommendation request, perform a recall operation using the first idle resource, and obtain the pre-recommendation recall result; the first idle resource is the idle resource of the recommendation system; The second fusion submodule is used to fuse the pre-recommendation recall results to obtain a second fusion result; The second coarse sorting submodule is used to coarsely sort the second fusion result to obtain the second coarse sorting result. The second fine sorting submodule is used to fine sort the second coarse sorting result to obtain the pre-recommendation result for the target user.

11. The apparatus of claim 10, further comprising: The first determining module is used to determine the first available resource for performing the pre-recommended operation; The pre-recommendation module is used to perform a pre-recommendation operation based on the first idle resource when the target user is a pre-recommendation user, so as to obtain the pre-recommendation result of the target user.

12. The apparatus according to claim 11, wherein, The first determining module includes: The acquisition submodule is used to acquire tidal data from the recommendation system; the tidal data is used to represent the trend of resource utilization over time. The first determining submodule is used to determine the target time period when the resource utilization rate is lower than the utilization rate threshold based on the tidal data. The second determining submodule is used to determine the second idle resource within the target time period as the first idle resource for performing the pre-recommended operation.

13. The apparatus according to claim 11, wherein, The pre-recommended operation satisfies at least one of the following conditions: The amount of resources in the pre-recommended recall results is greater than the amount of resources in the real-time recall results; The resource quantity of the second fusion result is greater than the resource quantity of the first fusion result; The resource quantity of the second coarse sorting result is greater than the resource quantity of the first coarse sorting result; The amount of resources in the pre-recommendation results for the target user is greater than the amount of resources to be recommended for the target user.

14. The apparatus of claim 11, further comprising: An update module is used to update the historical pre-recommendation results based on newly obtained pre-recommendation results for the target user, provided that the historical pre-recommendation results for the target user are stored.

15. The apparatus of claim 11, further comprising: The second determining module is configured to determine the target user as the pre-recommended user if the target user meets at least one of the following conditions: The target user's activity frequency is higher than the preset frequency; The target user's browsing time for the resource is longer than the preset time.

16. The apparatus of claim 10, further comprising: The acquisition module is used to acquire the total number of real recommendation requests in the previous statistical period before the generation submodule generates the simulated recommendation request for the target user; The third determining module is used to determine the total number of simulated recommendation requests supported in the current statistical period based on the maximum number of supported recommendation requests and the total number of actual recommendation requests; wherein, the simulated recommendation requests of the target user are included in the total number of simulated recommendation requests.

17. The apparatus of claim 16, further comprising: The monitoring module is used to monitor the changes in the total number of real recommendation requests in real time during the current statistical period. The adjustment module is used to reduce the total number of simulated recommendation requests in the current statistical period when the total number of real recommendation requests increases and exceeds a preset increase. The cancellation module is used to stop performing the pre-recommendation operation for the target user when it is determined that the simulated recommendation requests for the target user need to be reduced from the total number of simulated recommendation requests.

18. The apparatus according to any one of claims 10-17, further comprising: The deletion module is used to delete the pre-recommendation results of the target user if the storage time of the pre-recommendation results of the target user exceeds a specified time.

19. An electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-9.

20. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-9.

21. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-9.

Citation Information

Patent Citations

  • Resource recommendation method and device, equipment, medium and program product

    CN115730149A