Recommendation method and system
By predicting the estimated exposure probability of recommendation requests and determining the expression of recommendation evaluation indicators, the problem of performance degradation of recommendation system when processing multiple requests is solved, and more reasonable resource allocation and the achievement of expected recommendation effects are achieved.
Patent Information
- Application Number
- CN202411844265.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2025-05-06
AI Technical Summary
When existing recommendation systems process multiple recommendation requests, they may cause overall performance to decline and fail to achieve the expected recommendation results.
By receiving M recommendation requests, the estimated exposure probability of each request is predicted, and the expression of the recommendation evaluation indicator is determined based on this, and the recommendation action corresponding to each recommendation request is solved to achieve the optimization of resource allocation and recommendation effect.
With the current spare resources of the recommendation system, a recommendation solution that can achieve the expected recommendation effect is determined, which improves the overall performance and recommendation effect of the recommendation system.
Smart Images

Figure CN119939016A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of Internet technology, and in particular to a recommendation method and system. Background Art
[0002] Due to the continuous growth of Internet users, the computing resources required to recommend corresponding content to each user in the recommendation system are also growing significantly.
[0003] At present, in order to achieve better recommendation effects (such as a higher conversion rate of recommended content), response time is usually used as a constraint for resource allocation decisions. For example, for each recommendation request, the recommendation action corresponding to the recommendation request (such as the content to be recommended) is determined with the goal of minimizing the response time of the recommendation request.
[0004] However, the above solution may cause the overall performance of the recommendation system to deteriorate, resulting in failure to achieve the expected recommendation effect.
[0005] The content of the background technology section is only the information known to the inventor personally, and does not mean that the above information has entered the public domain before the application date of this disclosure, nor does it mean that it can become the prior art of the present disclosure. Summary of the invention
[0006] This specification provides a recommendation method and system, which can determine a reasonable recommendation plan for M recommendation requests (i.e., the recommendation action corresponding to each of the M recommendation requests), so that the determined recommendation plan is a recommendation plan that can truly achieve the expected recommendation effect under the current free resources of the recommendation system.
[0007] In a first aspect, the present specification provides a recommendation method, which is applied to a recommendation system, the method comprising: receiving M recommendation requests, and obtaining the current free resource amount of the recommendation system, where M is an integer greater than or equal to 1; predicting the estimated exposure probability of the M recommendation requests based on the free resource amount and the resource amount consumed by the recommendation system to execute the recommendation actions corresponding to the M recommendation requests, and determining an expression of a recommendation evaluation index based on the estimated exposure probability of the M recommendation requests; solving the recommendation actions corresponding to the M recommendation requests by taking the expression of the recommendation evaluation index satisfying a preset condition as the solution goal, wherein the following constraints are adopted in the solution process: the recommendation action corresponding to each recommendation request is one of a set of candidate recommendation actions; and executing the recommendation actions corresponding to the M recommendation requests to achieve a response to the M recommendation requests.
[0008] In a second aspect, the present specification provides a recommendation system, comprising: at least one storage medium storing at least one instruction set for performing data processing related to content recommendation; and at least one processor communicatively connected to the at least one storage medium, wherein when the recommendation system is running, the at least one processor reads the at least one instruction set and implements the recommendation method provided in the first aspect according to the instructions of the at least one instruction set.
[0009] In a third aspect, the present specification also provides a computer-readable non-volatile storage medium, wherein the computer-readable non-volatile storage medium stores at least one instruction set, and when the at least one instruction set is executed by at least one processor, the recommended method provided in the first aspect is implemented.
[0010] Other functions of the recommended method and system provided in this specification will be partially listed in the following description. The creative aspects of the recommended method and system provided in this specification can be fully explained by practicing or using the methods, devices and combinations described in the following detailed examples. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In order to more clearly illustrate the technical solutions in the embodiments of this specification, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0012] Figure 1 A schematic diagram of an application scenario of a recommended method provided according to an embodiment of this specification is shown;
[0013] Figure 2 A hardware structure diagram of a computing system 200 provided according to an embodiment of this specification is shown;
[0014] Figure 3 A flowchart of a recommended method provided according to an embodiment of this specification is shown;
[0015] Figure 4 A schematic diagram showing a prediction process of an estimated exposure probability of a recommendation request provided according to an embodiment of the present specification; and
[0016] Figure 5 A flowchart of another recommendation method provided according to an embodiment of the present specification is shown. DETAILED DESCRIPTION
[0017] The following description provides specific application scenarios and requirements of this specification, with the purpose of enabling those skilled in the art to make and use the contents of this specification. Various local modifications to the disclosed embodiments will be apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of this specification. Therefore, this specification is not limited to the embodiments shown, but to the widest scope consistent with the claims.
[0018] The terms used herein are only used for the purpose of describing specific example embodiments and are not restrictive. For example, unless the context clearly indicates otherwise, as used herein, the singular forms "a", "an" and "the" may also include plural forms. When used in this specification, the terms "include", "comprise" and / or "contain" mean that the associated integers, steps, operations, elements and / or components exist, but do not exclude the existence of one or more other features, integers, steps, operations, elements, components and / or groups or that other features, integers, steps, operations, elements, components and / or groups may be added in the system / method.
[0019] In view of the following description, these and other features of the present specification, as well as the operation and function of the related elements of the structure, and the economy of the combination and manufacture of the parts can be significantly improved. Reference is made to the accompanying drawings, all of which form a part of this specification. However, it should be clearly understood that the drawings are for illustration and description purposes only and are not intended to limit the scope of this specification. It should also be understood that the drawings are not drawn to scale.
[0020] The flowcharts used in this specification illustrate the operations implemented by the system according to some embodiments in this specification. It should be clearly understood that the operations of the flowcharts may not be implemented in sequence. On the contrary, the operations may be implemented in reverse order or simultaneously. In addition, one or more other operations may be added to the flowchart. One or more operations may be removed from the flowchart.
[0021] The following is an introduction to the application scenarios of this manual.
[0022] The technical solution provided in this specification is applicable to the scenario of using a recommendation system to recommend information to users. In this scenario, when a user performs a preset operation through a client, the client can send a recommendation request to the recommendation system. After receiving the recommendation request, the recommendation system determines the recommendation action corresponding to each recommendation request through the recommendation method provided in this specification. The recommendation action can represent the content to be recommended. Then, the recommendation system executes the recommendation action so that the client can display the recommended content. Among them, the recommended content can be any form of information, including but not limited to: goods, services, information, etc.
[0023] The present specification provides a recommendation method that can be executed by a recommendation system. The recommendation system can first receive M recommendation requests and obtain the current amount of free resources of the recommendation system. Then, based on the amount of free resources and the amount of resources consumed by the recommendation system to execute the recommendation actions corresponding to the M recommendation requests, the recommendation system predicts the estimated exposure probability of the M recommendation requests, and determines the expression of the recommendation evaluation index based on the estimated exposure probability of the M recommendation requests. With the expression of the recommendation evaluation index satisfying the preset conditions as the solution goal, the recommendation action corresponding to each recommendation request is obtained, and the recommendation actions corresponding to each of the M recommendation requests are executed to achieve the response to the M recommendation requests.
[0024] In this specification, the recommendation evaluation index is an evaluation index related to the expected recommendation effect, which is used to evaluate whether the recommendation achieves the expected recommendation effect. The expected recommendation effect is related to the needs of the actual application scenario, and this specification does not limit the expected recommendation effect. For example, the expected recommendation effect may include but is not limited to one or more of the following: high conversion rate, high revenue, high click-through rate, etc.
[0025] In the recommendation scheme provided in this specification, when determining the recommended actions corresponding to each of the M recommendation requests, the recommendation system not only considers the current free resources of the recommendation system, but also predicts the estimated exposure probability of the M recommendation requests based on the resources consumed by the recommendation system to execute the recommended actions corresponding to each of the M recommendation requests. The estimated exposure probability predicted in this way can reflect the actual exposure situation, that is, the accuracy of the predicted estimated exposure probability is high. Furthermore, the expression of the recommendation performance index determined based on the estimated exposure probability is more accurate, so that the recommended actions corresponding to each of the M recommendation requests obtained by solving the expression can achieve the expected recommendation effect. It can be seen that the recommendation scheme provided in this specification fully considers the relationship between the resources of the recommendation system and the recommendation effect when determining the recommendation scheme, so that more reasonable and detailed resource allocation can be achieved, thereby achieving the expected recommendation effect.
[0026] Figure 1 FIG. 1 is a schematic diagram showing a recommendation scenario provided according to an embodiment of this specification. Figure 1 As shown, the scenario 100 may include a recommendation system 11 and N clients 12, where N is an integer greater than or equal to 1.
[0027] The client 12 may send a recommendation request to the recommendation system 11. When the number of clients 12 is large, the recommendation system 11 may receive multiple recommendation requests in a short time window. For the convenience of description, it is assumed in the following description that the recommendation system 11 receives M recommendation requests in a time window, where M is an integer greater than or equal to 1.
[0028] See also Figure 1 After receiving M recommendation requests, the recommendation system 11 predicts the estimated exposure probability of the M recommendation requests based on the amount of free resources and the amount of resources consumed by the recommendation system 11 to execute the recommendation actions corresponding to each of the M recommendation requests. Then, the recommendation system 11 determines the expression of the recommendation evaluation index based on the estimated exposure probability of the M recommendation requests, and solves the recommendation actions corresponding to each of the M recommendation requests with the goal of satisfying the preset conditions. Finally, the recommendation system 11 executes the recommendation actions corresponding to each of the M recommendation requests to respond to the M recommendation requests. For example, in combination with Figure 1 The recommendation system 1 executes the recommendation actions corresponding to the M recommendation requests to send the recommendation information (or recommended content) corresponding to the M recommendation requests to the client 12.
[0029] In some embodiments, the recommendation method provided in this specification can be executed on the recommendation system 11. At this time, the recommendation system 11 can store data or instructions for executing the recommendation method described in this specification, and can execute or be used to execute the data or instructions. In some embodiments, the recommendation system 11 can include a hardware device with data information processing functions and the necessary programs required to drive the hardware device to work.
[0030] The recommendation system 11 may correspond to a single computing device or a computing cluster composed of multiple computing devices. The recommendation system 11 may also be referred to as a server corresponding to the client 12, or as a subsystem of the server.
[0031] The client 12 may send a recommendation request to the recommendation system 11 in response to a preset operation of the user.
[0032] In some embodiments, the client 12 may be installed with one or more application programs (APPs). The APPs can provide the ability to receive preset operations and interfaces. The APPs include, but are not limited to: financial APPs, web browser APPs, search APPs, chat APPs, shopping APPs, video APPs, financial management APPs, instant messaging tools, email clients, social platform software, etc.
[0033] In some embodiments, a target APP may be installed on the client 12. The client 12 may receive a preset operation through the target APP. In some embodiments, the target APP may send a recommendation request to the recommendation system in response to receiving the preset operation. The target APP may also receive recommendation information from the recommendation system 11 and display the recommendation information on the client 12. The recommendation information may be regarded as the result of the recommendation system executing the recommendation action corresponding to the recommendation request.
[0034] It should be understood that Figure 1 The number of clients 12 in FIG. 1 is only illustrative. Any number of clients 12 may be provided according to implementation requirements.
[0035] Figure 2 FIG. 2 shows a hardware structure diagram of a computing system 200 provided according to an embodiment of the present specification. The computing system 200 can be used as Figure 1 The recommendation system 11 in the embodiment executes the recommendation method described in this specification.
[0036] like Figure 2 As shown, the computing system 200 may include at least one storage medium 230 and at least one processor 220. In some embodiments, the computing system 200 may also include a communication port 250 and an internal communication bus 210. The computing system 200 may also include an I / O component 260.
[0037] The internal communication bus 210 can connect different system components. For example, the internal communication bus 210 can connect the storage medium 230, the processor 220, the communication port 250, and the I / O component 260, etc.
[0038] I / O components 260 support input / output between computing system 200 and other components.
[0039] The communication port 250 is used for data communication between the computing system 200 and the outside world. For example, the communication port 250 can be used for data communication between the computing system 200 and a network. The communication port 250 can be a wired communication port or a wireless communication port.
[0040] The storage medium 230 may include a data storage device. The data storage device may be a non-temporary storage medium or a temporary storage medium. For example, the data storage device may include one or more of a disk 232, a read-only storage medium (ROM) 234, or a random access storage medium (RAM) 235. The storage medium 230 also includes at least one instruction set stored in the data storage device. The instruction set may include computer program code, and the computer program code may include a program, a routine, an object, a component, a data structure, a process, a module, and the like.
[0041] At least one processor 220 may be in communication with at least one storage medium 230. When the computing system 200 is running, at least one processor 220 reads the at least one instruction set and executes the recommended method provided in this specification according to the instructions of the at least one instruction set. The processor 220 may perform the steps included in the recommended method. The processor 220 may be in the form of one or more processors. In some embodiments, the processor 220 may include one or more hardware processors, such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC), an application-specific integrated circuit (ASIC), an application-specific instruction set processor (ASIP), a central processing unit (CPU), a graphics processing unit (GPU), a physical processing unit (PPU), a microcontroller unit, a digital signal processor (DSP), a field programmable gate array (FPGA), an advanced RISC machine (ARM), a programmable logic device (PLD), any circuit or processor capable of performing one or more functions, etc., or any combination thereof.
[0042] For illustration purposes only, the computing system 200 in the figure shows only one processor 220. However, it should be noted that the computing system 200 in this specification may also include multiple processors, and therefore, the operations and / or method steps disclosed in this specification may be performed by one processor or by multiple processors in combination. For example, if the processor 220 of the computing system 200 is described in this specification as performing step A and step B, it should be understood that step A and step B may also be performed jointly or separately by two different processors 220 (e.g., the first processor performs step A, the second processor performs step B, or the first and second processors perform steps A and B together).
[0043] Figure 3 A flow chart of a recommendation method provided according to an embodiment of the present specification is shown. As before, the recommendation system 11 can execute the recommendation method of the present specification.
[0044] like Figure 3 As shown, recommended methods may include:
[0045] S310: Receive M recommendation requests and obtain the current free resource amount of the recommendation system, where M is an integer greater than or equal to 1.
[0046] The recommendation request may be a recommendation request sent by a client to a recommendation system. The triggering of a recommendation request may include a variety of situations, which are not limited in this specification. The recommendation system may predefine a set of candidate recommendation actions, and for each recommendation request, a target recommendation action may be selected from the set of candidate recommendation actions, and the target recommendation action may be executed to achieve a response to the recommendation request.
[0047] In some embodiments, the M recommendation requests include The recommendation requests generated in the following scenarios. It can be an integer greater than or equal to 1. The scenario is used to characterize the dimension on which the recommendation is based. As an example, the above dimensions may include a behavior dimension, a time dimension, a geographic dimension, etc. That is, according to the dimension on which the recommendation is based, the following scenarios can be divided: a recommendation scenario based on a behavior dimension, a recommendation scenario based on a time dimension, and a recommendation scenario based on a geographic dimension.
[0048] Among them, in the recommendation scenario based on the behavior dimension, the recommendation system recommends information based on the operations performed by the user. For example, the operations performed by the user may include payment operations, browsing operations, search operations, adding to shopping cart operations, submitting order operations, confirming receipt operations, etc. When it is detected that the user performs one or more of the above operations, the recommendation system is triggered to recommend information to the user.
[0049] In the recommendation scenario based on the time dimension, the recommendation system recommends information based on the time period in which the user performs the operation. For example, the above time period may include working time period, dining time period, rest time period, etc. For example, when it is detected that the user performs an operation in a specific time period (such as dining time period), the recommendation system is triggered to recommend information to the user.
[0050] In the recommendation scenario based on geographic dimension, the recommendation system recommends information based on the region where the user performs the operation. For example, the above region can include national region, city region, business district region, etc. For example, when it is detected that the user performs an operation in a specific region, the recommendation system is triggered to recommend information to the user.
[0051] In some embodiments, when The recommendation system can predefine different candidate recommendation action sets for different scenarios. That is, each scenario corresponds to a candidate recommendation action set. For the recommendation request generated in each scenario, a suitable recommendation action is selected from the corresponding candidate recommendation action set. Using different candidate recommendation action sets for different scenarios can avoid overly homogenized recommendations, make personalized recommendations for different scenarios, and improve the recommendation effect.
[0052] In some embodiments, the recommendation system can respond to different recommendation requests generated in the same scenario using the same recommendation action. This approach helps reduce the amount of computation required for the recommendation process, reduces the consumption of computing resources, and thus improves the performance of the recommendation system.
[0053] In some embodiments, the recommendation system may also use different recommendation actions to respond to different recommendation requests generated in the same scenario. For example, the recommendation system may respond to a recommendation request generated in a specific scenario by selecting a recommendation action suitable for the user from the candidate recommendation action set corresponding to the specific scenario based on the user information corresponding to the client sending the recommendation request. This method can make personalized recommendations more detailed and improve the recommendation effect.
[0054] In some embodiments, for any i-th recommendation request among M recommendation requests, receiving the i-th recommendation request includes: when the target user performs a preset operation through the client, receiving the i-th recommendation request from the client, wherein the preset operation includes at least one of the following: a payment operation, an add to shopping cart operation, an order submission operation, and a receipt confirmation operation.
[0055] Among them, when the client detects that the target user performs a preset operation through the client, a recommendation request can be generated based on the preset operation, the time when the preset operation occurs, and the current location information of the client. For example, the client can generate a feature code of the scene based on the preset operation, the time when the preset operation occurs, and the current location information of the client, and then generate a recommendation request based on the feature code of the recommendation scene and send it to the recommendation system. Alternatively, the client can also directly generate a recommendation request based on the preset operation, the time when the preset operation occurs, and the current location information of the client and send it to the recommendation system.
[0056] In some embodiments, when the recommendation request is generated based on the feature code of the scene, the recommendation system can directly obtain the recommendation parameters related to the scene through the feature code of the scene after receiving the recommendation request. When the recommendation request is generated based on data such as the preset operation, the time when the preset operation occurs, and the current location information of the client, the recommendation system can determine the corresponding scene based on the data contained in the recommendation request after receiving the recommendation request, and then obtain the recommendation data related to the scene. Among them, the recommendation parameters may include a preset response time threshold, a baseline response time, etc.
[0057] In this specification, the total resource amount of the recommended system refers to the total computing power that can be supported in the recommended system. The computing power can be represented by the number of floating-point operations supported. Assuming that the computing power (i.e., the number of floating-point operations) corresponding to each processor core is C, and the total number of cores in the recommended system is S, then the total resource amount of the recommended system is S*C.
[0058] The current free resources of the recommendation system refer to the computing power that is not currently occupied (or remaining / idle) in the recommendation system. In some embodiments, obtaining the current free resources of the recommendation system includes: multiplying the number of processor cores currently free of the recommendation system by the computing resources corresponding to each core to obtain the current free resources of the recommendation system. For example, assuming that the number of processor cores that are not currently occupied by the recommendation system is s, and the computing power (i.e., the number of floating-point operations) corresponding to each processor core is C, then the current free resources of the recommendation system are s*C.
[0059] S320: Based on the amount of free resources and the amount of resources consumed by the recommendation system to execute the recommendation actions corresponding to the M recommendation requests, the estimated exposure probabilities of the M recommendation requests are predicted, and the expression of the recommendation evaluation index is determined based on the estimated exposure probabilities of the M recommendation requests.
[0060] In this specification, after the recommendation system receives M recommendation requests, it needs to determine the recommended actions (i.e., specific recommendation schemes) corresponding to each of the M recommendation requests through computational analysis. Furthermore, the recommendation system responds to the M recommendation requests by executing the recommended actions corresponding to each of the M recommendation requests. As mentioned above, for each recommendation request, the recommendation system can select one of the recommended actions from the candidate recommended action set. When the recommendation system selects different recommended actions for the recommendation request, different recommendation effects will be achieved. Therefore, the recommendation scheme provided in this specification is expected to achieve the effect that the recommendation system can select appropriate recommended actions from the candidate recommended action set for different recommendation requests, so that the M recommendation requests can ultimately achieve a better recommendation effect.
[0061] Based on the above analysis, the process of determining the recommendation scheme can be converted into a modeling and solving process. That is, taking the recommended actions corresponding to each of the M recommendation requests as unknown quantities, based on the expected recommendation effect, the modeling is used to obtain the expression of the preset recommendation index (an index related to the expected recommendation effect), and then, by solving the expression, the recommended actions corresponding to each of the M recommendation requests are obtained.
[0062] Furthermore, considering that the actual exposure requests of the M recommendation requests are the main factors that determine the recommendation effect, in order to make the expression of the preset recommendation index more accurately reflect the expected recommendation effect, this specification adopts the following method when modeling: taking the recommendation actions corresponding to each of the M recommendation requests as unknown quantities, based on the amount of free resources of the recommendation system and the amount of resources consumed by the recommendation system to execute the recommendation actions corresponding to each of the M recommendation requests, the estimated exposure probability of the M recommendation requests is predicted, and the expression of the recommendation evaluation index is determined based on the estimated exposure probability of the M recommendation requests. Among them, the expressions of the above-mentioned estimated exposure probability and recommendation evaluation index are both expressions containing unknown quantities (the recommendation actions corresponding to each of the M recommendation requests).
[0063] Those skilled in the art will understand that the above prediction process not only takes into account the amount of free resources of the recommendation system, but also takes into account the amount of resources consumed by the recommendation system to execute the recommendation actions corresponding to each of the M recommendation requests. In other words, the above prediction process actually reflects the execution process of the recommendation system using the free resources to execute the recommendation actions corresponding to each of the M recommendation requests. The estimated exposure probability predicted in this way can reflect the actual exposure situation, that is, the predicted estimated exposure probability has a high accuracy. Furthermore, the expression of the recommendation performance indicator determined based on the estimated exposure probability is more accurate, so that the recommended actions corresponding to each of the M recommendation requests obtained by solving the expression can achieve the expected recommendation effect.
[0064] In some embodiments, when predicting the estimated exposure probability of M recommendation requests, the recommendation system may adopt the following method: based on the amount of free resources and the amount of resources consumed by the recommendation system to execute the recommendation actions corresponding to each of the M recommendation requests, the estimated response time of the M recommendation requests is predicted; and based on the estimated response time of the M recommendation requests, the estimated exposure probability of the M recommendation requests is predicted. In other words, the recommendation system may first predict the estimated response time, and then predict the estimated exposure probability based on the estimated response time. Those skilled in the art will understand that the response time is the fundamental factor affecting the exposure probability. Therefore, the recommendation system first predicts the estimated response time, and then predicts the estimated exposure probability based on the estimated response time, which can improve the accuracy of the predicted estimated exposure probability.
[0065] Figure 4 A schematic diagram showing a prediction process of an estimated exposure probability of a recommendation request provided in accordance with an embodiment of the present specification is shown. Figure 5 FIG. 1 is a flowchart of another recommended method provided according to an embodiment of this specification. Figure 4 and Figure 5 The modeling process of the expression of the recommended performance indicators is described in detail.
[0066] refer to Figure 4and Figure 5 , the modeling process of the expression of the recommended evaluation index may include S3201 to S3205.
[0067] S3201 : Predict an estimated load rate of the recommendation system based on the amount of free resources and the amount of resources consumed by the recommendation system to execute the recommendation actions corresponding to each of the M recommendation requests.
[0068] In the modeling process, the recommendation system uses the recommendation actions corresponding to each of the M recommendation requests (or the decisions corresponding to the M recommendation requests) as unknown quantities. This unknown quantity can be recorded as Indicates whether to respond to recommendation request i generated in scenario k with recommended action j. is a binary variable, When the value of is 0, it means that no recommended action j is used to respond to the recommendation request i. When the value of is 1, it means using recommended action j to respond to recommendation request i.
[0069] The amount of resources consumed by the recommendation system when executing the recommendation actions corresponding to the M recommendation requests may refer to the total amount of resources consumed by the recommendation system when executing the recommendation actions corresponding to the M recommendation requests. In some embodiments, the recommendation system may first determine the amount of resources consumed when executing the recommendation actions corresponding to each recommendation request, and then obtain the total amount of resources consumed by summing the amount of resources required for the M recommendation requests. Then, the recommendation system predicts the estimated load rate of the recommendation system based on the total amount of resources consumed and the amount of free resources.
[0070] The estimated load factor ρ can be expressed by the following formula:
[0071]
[0072] In the denominator of the above formula, S indicates that the recommended system contains S processor cores in total, s indicates s idle processor cores among the S processor cores, and s is a positive integer greater than 1. C indicates the computing power of each processor core. Therefore, the denominator of the above formula indicates the amount of idle resources of the recommended system.
[0073] For the numerator of the above formula, i represents one of the M recommendation requests, and k represents One of the scenarios, j represents the set of candidate recommended actions One of the recommended actions is Represents the decision on recommendation request i generated in scenario k (i.e., whether to respond with recommended action j). It means using The amount of resources consumed when deciding to process recommendation request i (i.e., responding to recommendation request i with recommendation action j). Therefore, the numerator of the above formula represents the total amount of resources consumed when the recommendation system executes the recommendation actions corresponding to M recommendation requests.
[0074] S3202: Based on the estimated load rate, determine a response delay coefficient of the recommended system.
[0075] In some embodiments, the baseline response time refers to the response time required for the recommendation system to execute the recommended action j in scenario k when the amount of resources is sufficient. The response delay coefficient of the recommendation system is used to indicate the multiple of the response time required for the recommendation system to execute the recommended action i in scenario k under the current amount of available free resources and the baseline response time.
[0076] refer to Figure 4 When the estimated load rate is greater than or equal to 1, the recommendation system updates the estimated load rate to the preset load rate, and substitutes the updated estimated load rate into the first constraint expression to obtain the response delay coefficient, wherein the preset load rate is less than 1, and the first constraint expression represents the relationship between the load rate and the response delay coefficient of the recommendation system.
[0077] In some embodiments, the recommendation system may evaluate whether the estimated load rate is greater than or equal to 1 or less than 1 according to the following expression as a constraint:
[0078] ρ-(1+∈)≤M1·z
[0079] ρ-(1-∈)≥-M1·(1-z)
[0080] Among them, M1 represents the large constant (M) introduced by the Big-M method under the current constraint expression, ∈ is used to represent an infinitesimal positive number, and z is an auxiliary variable used to select different logical branches in the Big-M method.
[0081] When the estimated load rate ρ is greater than or equal to 1, it indicates that the recommendation system is fully loaded, that is, a queue is needed to process the recommendation requests in sequence. However, when the recommendation system is calculating, if the estimated load rate ρ is greater than or equal to 1, the response delay coefficient will become negative, and subsequent calculations will not be possible. Therefore, when the estimated load rate ρ is greater than or equal to 1, the recommendation system can update the estimated load rate ρ, that is, update the estimated load rate ρ to the preset load rate ρ. adjusted , preset load rate ρ adjusted Less than 1. As an example, the preset load rate ρ adjusted It can be a number infinitely close to 1, for example, 0.99, 0.999, 0.9999, etc., and there is no limitation here.
[0082] In some embodiments, when the estimated load rate ρ is greater than or equal to 1, the estimated load rate ρ is updated to the preset load rate ρ adjusted , and the updated estimated load factor ρ adjusted Substitute into the first constraint expression to obtain the response delay coefficient. The first constraint expression may include but is not limited to:
[0083]
[0084] Among them, r k Represents the response delay coefficient, β k To pre-set the parameters used to describe the relationship between different response time ratios and CPU utilization in the kth scenario, M2 represents the large constant (M) introduced by the Big-M method under the current constraint expression, and z is an auxiliary variable used to select different logical branches in the Big-M method.
[0085] When the estimated load rate ρ is less than 1, the recommendation system may substitute the estimated load rate ρ into the second constraint expression to obtain the response delay coefficient, wherein the second constraint expression represents the relationship between the load rate and the response delay coefficient of the recommendation system. In some embodiments, when the estimated load rate ρ is less than 1, the estimated load rate ρ is substituted into the second constraint expression to obtain the response delay coefficient. The second constraint expression may include but is not limited to:
[0086]
[0087] Among them, r k , β k , z have the same meaning as in the first constraint expression, and M3 represents the large constant (M) introduced by the Big-M method under the current constraint expression.
[0088] S3203: Determine estimated response times of the M recommendation requests based on the response delay coefficient and the baseline response time required to execute the recommendation actions corresponding to the M recommendation requests.
[0089] In some embodiments, for each recommendation request, the product of the response delay coefficient and the baseline response time required to execute the recommendation action corresponding to the recommendation request is used as the estimated response time of the recommendation request. It can be expressed by the following formula:
[0090]
[0091] in, is the baseline response time, α kIn the kth scenario, the response time required for each unit action is α. Each unit action refers to the recommendation system performing a recommendation operation. A recommendation action j can include at least one recommendation operation. For example, suppose that in scenario k, the response time required for the recommendation system to perform a recommendation operation is α k The recommendation system can obtain a recommendation information by performing a recommendation operation. If a recommendation action j needs to output 3 recommendation information, then the recommendation action j includes 3 unit actions. The baseline response time of the recommendation system responding to the recommendation request through the recommendation action j is 3*α k .
[0092] As an example, suppose for recommendation request i, it belongs to scenario k, the corresponding recommended action is j, and the baseline response time is 10ms. If r k is 1.5, then Right now
[0093] After predicting the estimated response times of the M recommendation requests, the recommendation system may predict the estimated exposure probabilities of the M recommendation requests based on the estimated response times of the M recommendation requests. For details, see the description of S3204.
[0094] S3204. Obtain a third constraint expression, where the third constraint expression represents the relationship between the response time of multiple recommendation requests and the exposure probabilities of the multiple recommendation requests. Substitute the estimated response time of the M recommendation requests into the third constraint expression to obtain the estimated exposure probabilities of the M recommendation requests.
[0095] In this specification, recommended content is determined by a recommendation action. If the recommendation system determines to perform a recommendation action for a recommendation request sent by a client, the recommendation action determines the recommended content sent to the client. Recommended content exposure means that the recommended content is successfully displayed to the client on the client.
[0096] In some embodiments, the third constraint expression may be:
[0097]
[0098] Wherein, exp represents the estimated exposure probability, x represents the estimated response time, x0 represents the preset response time threshold, a represents the first preset constant, and b represents the second preset constant.
[0099] It should be noted that the third constraint expression may represent, for each recommendation request, the relationship between the estimated response time and the estimated exposure probability when the corresponding recommendation action is used.
[0100] In some embodiments, in the same scenario, the recommendation system can use the same recommendation action to process different recommendation requests in the scenario. When using the same recommendation action to process different recommendation requests, the recommendation system also needs to consider the following constraints during the modeling and solving process:
[0101]
[0102]
[0103] in, Indicates that in scenario k, recommended action j is used to respond to recommendation requests. is also a binary variable. When the value of is 0, it means that the recommended action j is not used to respond to the recommendation request in scenario k. When the value of is 1, it means that the recommended action j is used to respond to the recommendation request in scenario k. When the same recommended action is used to process the recommendation request,
[0104] Therefore, in this specification, a fourth constraint expression may be used to characterize the relationship between the response time of multiple recommendation requests and the exposure probability of the kth scene. The fourth constraint expression is:
[0105]
[0106] Among them, exp k represents the exposure probability of the kth scene, represents the preset response time threshold, η k represents the first preset constant in scene k, γ k Represents the second preset constant in scene k.
[0107] The estimated response time of M recommendation requests Substituting them into the fourth constraint expression respectively, the exposure probability of the k-th scene can be obtained. That is to say, in the k-th scene, the exposure probability of the k-th scene can be used to represent the estimated exposure probability of each recommendation request in the scene.
[0108] S3205. Determine an expression of a recommendation evaluation index based on the estimated exposure probabilities of the M recommendation requests.
[0109] In some embodiments, an evaluation indicator corresponding to each recommendation request is obtained respectively, the evaluation indicator representing the performance value obtained by the recommendation system in the target dimension due to the exposure of the recommendation action corresponding to the recommendation request; and an expression of the recommendation evaluation indicator is determined based on the estimated exposure probability of M recommendation requests and the evaluation indicators corresponding to the M recommendation requests.
[0110] In some embodiments, the evaluation index corresponding to each recommendation request can be expressed as In this case, when the recommendation system executes the recommendation actions corresponding to M recommendation requests, the sum of the evaluation indicators corresponding to the M recommendation requests can be expressed as
[0111]
[0112] in, It represents the evaluation index that can be obtained when the recommended action j is executed for the recommendation request i generated in the kth scenario and the recommended action j is exposed. It represents a random variable that follows a binomial distribution, which is used to determine whether the recommended content provided after the recommendation request is responded to by the recommendation system can be exposed. , pk represents the probability that the recommendation request evaluation index returns to zero (i.e., the recommendation request is not exposed and the user cannot see the recommended content). When 1-p k Indicates the probability of recommended content being exposed. k It is related to the estimated exposure probability of the recommendation request and can be expressed by the following formula:
[0113] p k =1-exp k
[0114] In some embodiments, based on the estimated exposure probabilities of the M recommendation requests and the evaluation indicators corresponding to the M recommendation requests, an expression of the recommendation evaluation indicator is determined, including: taking the estimated exposure probabilities of the M recommendation requests as weights, weighted summing the evaluation indicators corresponding to the M recommendation requests; and subtracting the opportunity cost corresponding to the amount of free resources in the target dimension from the result of the weighted summation to obtain the expression of the recommendation evaluation indicator. The expression of the recommendation evaluation indicator π can be expressed by the following formula:
[0115]
[0116] in, Pick Substituting it in, we get:
[0117]
[0118] Among them, C opportunity represents the opportunity cost of using each processor core, C opportunity ·s represents the opportunity cost of the free resources in the target dimension. The recommendation evaluation index is the evaluation index corresponding to each recommendation request multiplied by the exposure probability (1-p k =exp k) minus the opportunity cost of the spare resources corresponding to the target dimension.
[0119] S330: Taking the expression of the recommendation evaluation index satisfying the preset conditions as the solution goal, the recommended actions corresponding to each of the M recommendation requests are obtained, wherein the following constraint is adopted in the solution process: the recommended action corresponding to each recommendation request is one of the candidate recommended action sets.
[0120] In some embodiments, when the recommendation evaluation index is positively correlated with the expected recommendation effect (i.e., the larger the recommendation evaluation index, the better the recommendation effect), the recommendation system can use the value of the expression that maximizes the recommendation evaluation index as the solution target. That is, the recommendation system can use the following formula as the solution target:
[0121]
[0122] in, Pick Substituting it in, we get:
[0123]
[0124] The meaning of each parameter is the same as that in the expression of the above-mentioned recommended evaluation index, and will not be repeated here.
[0125] In some embodiments, the recommendation system may consider some other constraints in the process of solving the above expression, so that the solved recommendation scheme is a recommendation scheme that satisfies the above constraints. For example, in the case where M recommendation requests are generated in multiple scenarios, the recommendation system may also adopt at least one of the following constraints in the solution process: different scenarios correspond to different sets of candidate recommended actions, or different recommendation requests generated in the same scenario correspond to the same recommended action. By adopting the above constraints, the recommendation system can achieve different requirements. If it is necessary to explain, this specification does not limit the constraints required to be adopted in the solution process, and the above are only some examples. In actual applications, appropriate constraints can be added in combination with actual recommendation needs, so that the solution of this application can be applied to a wider range of scenarios.
[0126] S340: Execute the recommendation actions corresponding to the M recommendation requests respectively to achieve a response to the M recommendation requests.
[0127] In some embodiments, the M recommendation requests may come from multiple clients. After determining the recommendation actions corresponding to the M recommendation requests, the recommendation system may execute the corresponding recommendation actions for each recommendation request, thereby sending the recommendation information determined by the recommendation action to the corresponding client, so that the recommendation information is displayed on the corresponding client.
[0128] For example, assuming that the recommendation request is generated based on the user's payment operation, the recommended action may be to display the product link related to the payment operation on the successful payment interface. Alternatively, assuming that the recommendation request is generated based on the user's order submission operation, the recommended action may be to display the "Take One" product link related to the order product on the order payment interface.
[0129] In summary, in the recommendation method and system provided in this specification, when determining the recommended actions corresponding to each of the M recommendation requests, the recommendation system predicts the estimated exposure probabilities of the M recommendation requests based on the current amount of free resources of the recommendation system and the amount of resources consumed by the recommendation system to execute the recommended actions corresponding to each of the M recommendation requests. The estimated exposure probability predicted in this way can reflect the actual exposure situation, that is, the predicted estimated exposure probability has a high accuracy. Furthermore, the expression of the recommendation performance index determined based on the estimated exposure probability is more accurate, so that the recommended actions corresponding to each of the M recommendation requests obtained by solving the expression can achieve the expected recommendation effect. It can be seen that the recommendation scheme provided in this specification fully considers the relationship between the resources of the recommendation system and the recommendation effect when determining the recommendation scheme, so that more reasonable and detailed resource allocation can be achieved, thereby achieving the expected recommendation effect.
[0130] On the other hand, the present specification provides a computer-readable non-transitory storage medium storing at least one instruction set for making recommendations. When the at least one instruction set is executed by a processor, the at least one instruction set instructs the processor to implement the steps of the recommendation method described in the present specification. In some possible implementations, various aspects of the present specification can also be implemented in the form of a program product, which includes a program code. When the program product is run on a computing system 200, the program code is used to enable the computing system 200 to perform the steps of the recommendation method described in the present specification. The program product for implementing the above method can use a portable compact disk read-only memory (CD-ROM) to include program code and can be run on the computing system 200. However, the program product of the present specification is not limited to this. In the present specification, the readable storage medium can be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system. The program product can use any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media include: an electrical connection with one or more conductors, a portable disk, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. The computer-readable storage medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the above. Program code for performing the operations of the present specification may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the computing system 200, partially on the computing system 200, as a stand-alone software package, partially on the computing system 200 and partially on a remote computing device, or entirely on a remote computing device.
[0131] The above is a description of a specific embodiment of the present specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require a specific order or a continuous order to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0132] In summary, after reading this detailed disclosure, those skilled in the art will appreciate that the foregoing detailed disclosure may be presented only by way of example and may not be limiting. Although not explicitly stated herein, those skilled in the art will appreciate that this specification requires various reasonable changes, improvements and modifications to the embodiments. These changes, improvements and modifications are intended to be proposed by this specification and are within the spirit and scope of the exemplary embodiments of this specification.
[0133] In addition, certain terms in this specification have been used to describe embodiments of this specification. For example, "one embodiment", "an embodiment" and / or "some embodiments" mean that a particular feature, structure or characteristic described in conjunction with the embodiment may be included in at least one embodiment of this specification. Therefore, it can be emphasized and should be understood that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various parts of this specification do not necessarily refer to the same embodiment. In addition, specific features, structures or characteristics may be appropriately combined in one or more embodiments of this specification.
[0134] It should be understood that in the foregoing description of the embodiments of this specification, in order to help understand a feature and for the purpose of simplifying this specification, this specification combines various features in a single embodiment, figure or its description. However, this does not mean that the combination of these features is necessary. When reading this specification, it is entirely possible for a person skilled in the art to mark out some of the devices as separate embodiments. In other words, the embodiments in this specification can also be understood as the integration of multiple secondary embodiments. And the content of each secondary embodiment is also valid when it is less than all the features of a single aforementioned disclosed embodiment.
[0135] Each patent, patent application, publication of patent applications, and other materials, such as articles, books, specifications, publications, documents, articles, etc., cited herein, except to the extent that it is inconsistent or conflicting with this document or that has a limiting effect on the broadest scope of the claims, may be incorporated herein by reference and used for all purposes now or hereafter associated with this document. In addition, in the event of any inconsistency or conflict between the description, definition, and / or use of a term in any material and the description, definition, and / or use of a term in this document, the term in this document shall prevail.
[0136] Finally, it should be understood that the embodiments of the application disclosed herein are explanations of the principles of the embodiments of this specification. Other modified embodiments are also within the scope of this specification. Therefore, the embodiments disclosed in this specification are only used as examples and not as limitations. Those skilled in the art can adopt alternative configurations according to the embodiments in this specification to implement the applications in this specification. Therefore, the embodiments of this specification are not limited to the embodiments accurately described in the application.
Claims
1. A recommendation method, applied to a recommendation system, comprising: Receive M recommendation requests and obtain the current free resource amount of the recommendation system, where M is an integer greater than or equal to 1; Based on the free resource amount and the resource amount required for the recommendation system to execute the recommendation actions corresponding to the M recommendation requests, the estimated exposure probabilities of the M recommendation requests are predicted, and an expression of a recommendation evaluation index is determined based on the estimated exposure probabilities of the M recommendation requests; Taking the expression of the recommendation evaluation index satisfying the preset condition as the solving goal, the recommended actions corresponding to each of the M recommendation requests are solved, wherein the following constraints are adopted in the solving process: the recommended action corresponding to each recommendation request is one of the candidate recommended action set; as well as Execute recommendation actions corresponding to the M recommendation requests respectively to achieve response to the M recommendation requests.
2. The method according to claim 1, wherein: The predicting the estimated exposure probabilities of the M recommendation requests based on the free resource amount and the resource amount consumed by the recommendation system to execute the recommendation actions corresponding to the M recommendation requests respectively includes: Predicting estimated response times of the M recommendation requests based on the free resources and the resources consumed by the recommendation system to execute the recommendation actions corresponding to the M recommendation requests; and Based on the estimated response times of the M recommendation requests, estimated exposure probabilities of the M recommendation requests are predicted.
3. The method according to claim 2, wherein: The predicting the estimated response time of the M recommendation requests based on the free resource amount and the resource amount consumed by the recommendation system to execute the recommendation actions corresponding to the M recommendation requests respectively includes: Predicting an estimated load rate of the recommendation system based on the free resource amount and the resource amount consumed by the recommendation system to execute the recommendation actions corresponding to the M recommendation requests; Based on the estimated load rate, determining a response delay coefficient of the recommendation system; and Based on the response delay coefficient and a baseline response time required to execute the recommendation actions corresponding to the M recommendation requests, an estimated response time of the M recommendation requests is determined.
4. The method according to claim 3, wherein: The determining, based on the estimated load rate, a response delay coefficient of the recommendation system includes: When the estimated load rate is greater than or equal to 1, updating the estimated load rate to a preset load rate, and substituting the updated estimated load rate into a first constraint expression to obtain the response delay coefficient, wherein the preset load rate is less than 1, and the first constraint expression represents the relationship between the load rate of the recommendation system and the response delay coefficient; or When the estimated load rate is less than 1, the estimated load rate is substituted into a second constraint expression to obtain the response delay coefficient, wherein the second constraint expression represents the relationship between the load rate of the recommendation system and the response delay coefficient.
5. The method according to claim 3, wherein: The determining, based on the response delay coefficient and the baseline response time required to execute the recommendation actions corresponding to the M recommendation requests, the estimated response time of the M recommendation requests includes: For each recommendation request, the product of the response delay coefficient and the baseline response time required to execute the recommendation action corresponding to the recommendation request is used as the estimated response time of the recommendation request.
6. The method according to claim 2, wherein: The predicting, based on the estimated response times of the M recommendation requests, estimated exposure probabilities of the M recommendation requests includes: Obtaining a third constraint expression, wherein the third constraint expression represents a relationship between response times of a plurality of recommendation requests and exposure probabilities of the plurality of recommendation requests; Substituting the estimated response times of the M recommendation requests into the third constraint expression, the estimated exposure probabilities of the M recommendation requests are obtained.
7. The method according to claim 6, wherein: The third constraint expression is: Wherein, exp represents the estimated exposure probability, x represents the estimated response time, x0 represents a preset response time threshold, a represents a first preset constant, and b represents a second preset constant.
8. The method according to claim 1, wherein: The expression for determining the recommendation evaluation index based on the estimated exposure probabilities of the M recommendation requests includes: Obtaining evaluation indicators corresponding to each recommendation request respectively, wherein the evaluation indicators represent performance values obtained by the recommendation system in a target dimension due to exposure of the recommendation action corresponding to the recommendation request; and Based on the estimated exposure probabilities of the M recommendation requests and the evaluation indicators corresponding to the M recommendation requests, an expression of the recommendation evaluation indicator is determined.
9. The method according to claim 8, wherein: The step of determining an expression of the recommendation evaluation index based on the estimated exposure probabilities of the M recommendation requests and the evaluation indexes corresponding to the M recommendation requests comprises: Taking the estimated exposure probabilities of the M recommendation requests as weights, performing weighted summation on the evaluation indicators corresponding to the M recommendation requests; and The opportunity cost of the free resource amount corresponding to the target dimension is subtracted from the result of the weighted sum to obtain an expression for the recommended evaluation index.
10. The method according to claim 1, wherein: The solving goal is to ensure that the expression of the recommended evaluation index meets the preset conditions, including: The solution objective is to maximize the value of the expression of the recommendation evaluation index.
11. The method according to claim 1, wherein: The M recommendation requests include recommendation requests generated in K scenarios, and at least one of the following constraints is also used in the solution process: Different scenarios correspond to different sets of candidate recommended actions, or Different recommendation requests generated in the same scenario correspond to the same recommendation action.
12. The method according to claim 1, wherein: For any i-th recommendation request among the M recommendation requests, receiving the i-th recommendation request includes: When the target user performs a preset operation through a client, an i-th recommendation request is received from the client, wherein the preset operation includes at least one of the following: a payment operation, an add-to-cart operation, an order submission operation, and a delivery confirmation operation.
13. The method according to claim 1, wherein: The obtaining of the current free resource amount of the recommendation system includes: The current free resource amount of the recommendation system is obtained by multiplying the number of free processor cores of the recommendation system by the computing power corresponding to each core.
14. A recommendation system comprising: at least one storage medium storing at least one instruction set for performing data processing related to content recommendation; as well as At least one processor is communicatively connected to the at least one storage medium, wherein when the recommendation system is running, the at least one processor reads the at least one instruction set and implements the method as described in claims 1-13 according to the instructions of the at least one instruction set.