Resource allocation method and apparatus, computer readable medium, and electronic device
By weighting the basic performance data of historical resource allocation periods, global performance data is obtained to guide resource allocation, solving the problem of unreasonable traffic resource allocation, achieving more accurate prediction of resource allocation performance, and avoiding Simpson's paradox.
Patent Information
- Application Number
- CN202110231230.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-02
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2041-03-02
AI Technical Summary
In existing technologies, the problem of unreasonable allocation of traffic resources mainly stems from the simple accumulation of effect data after dividing the data into batches by time period, which leads to Simpson's paradox and fails to accurately reflect the true effect of each sub-traffic.
By acquiring resource allocation and basic performance data for multiple objects during historical resource allocation periods, weighted processing is performed to obtain global performance data, which is used to predict the effect of allocating full resources to objects, and resource allocation is performed based on the global performance data.
This effectively avoids the Simpson paradox, improves the rationality and accuracy of resource allocation, and ensures more accurate prediction of the effects when allocating all resources.
Smart Images

Figure CN114997895B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the field of computer and network technology, and particularly relates to a resource allocation method, a resource allocation device, a computer readable medium and an electronic device. BACKGROUND
[0002] For effect calculation in the problem of flow dynamic adjustment, the mainstream scheme in the field of recommending advertisements is to divide batches according to time periods and then process the batches, to sample and accumulate the flow in batches; and then according to the effect data of each sub-flow in the current time period batch, a flow dynamic adjustment algorithm is applied to give the allocation proportion of each sub-flow in the next time period. However, simple accumulation of the effect data of each time period cannot completely reflect the real effect of each sub-flow, thus leading to the problem of unreasonable allocation of flow resources. SUMMARY
[0003] The present application aims to provide a resource allocation method, a resource allocation device, a computer readable medium and an electronic device, which at least to some extent overcome the technical problem of unreasonable allocation of resources in the related art.
[0004] Other characteristics and advantages of the present application will become apparent from the following detailed description, or will be learned by practice of the present application.
[0005] According to an aspect of an embodiment of the present application, a resource allocation method is provided, which comprises: obtaining resource allocation amounts of a plurality of objects respectively obtained in at least one historical resource allocation time period; collecting basic effect data of each of the objects in the historical resource allocation time period, the basic effect data being used to evaluate the resource allocation effect of the object in the corresponding time period; performing weighted processing on the basic effect data of the historical resource allocation time period according to the resource allocation amounts, to obtain global effect data of the object, the global effect data being used to predict the resource allocation effect when the object is allocated with a full amount of resources; and allocating resources to each of the objects according to the global effect data.
[0006] According to an aspect of an embodiment of the present application, a resource allocation device is provided, which comprises: an obtaining module configured to obtain resource allocation amounts of a plurality of objects respectively obtained in at least one historical resource allocation time period; a collecting module configured to collect basic effect data of each of the objects in the historical resource allocation time period, the basic effect data being used to evaluate the resource allocation effect of the object in the corresponding time period; a weighting module configured to perform weighted processing on the basic effect data of the historical resource allocation time period according to the resource allocation amounts, to obtain global effect data of the object, the global effect data being used to predict the resource allocation effect when the object is allocated with a full amount of resources; and an allocating module configured to allocate resources to each of the objects according to the global effect data.
[0007] In some embodiments of the present application, based on the above technical solutions, the global effect data includes basic index data corresponding to a single index parameter; the weighting module includes: a coefficient determination unit configured to determine a weighting coefficient corresponding to the historical resource allocation period according to the resource allocation amount; and a weighted summation unit configured to perform weighted summation on the basic effect data of the plurality of historical resource allocation periods based on the weighting coefficient to obtain the basic index data of the object.
[0008] In some embodiments of the present application, based on the above technical solutions, the coefficient determination unit includes: a total amount obtaining sub-unit configured to obtain a total resource amount allocated to a plurality of objects in the historical resource allocation period; a proportion determination sub-unit configured to determine a resource allocation proportion of the resource allocation amount in the total resource amount; and a coefficient determination sub-unit configured to determine the reciprocal of the resource allocation proportion as the weighting coefficient corresponding to the historical resource allocation period.
[0009] In some embodiments of the present application, based on the above technical solutions, the global effect data further includes composite index data corresponding to a plurality of index parameters; and the weighting module further includes: a function obtaining unit configured to obtain a mapping function used to represent a mapping relationship between the composite index data and the basic index data; and a data mapping unit configured to perform mapping processing on the basic index data based on the mapping function to obtain the composite index data of the object.
[0010] In some embodiments of the present application, based on the above technical solutions, the allocation module includes: an algorithm determination unit configured to determine a resource allocation algorithm used to allocate resources to each of the objects; a probability calculation unit configured to input the basic information data of the object and the global effect data of the object into the resource allocation algorithm to calculate a resource allocation probability of each of the objects through the resource allocation algorithm; and a resource allocation unit configured to allocate resources to each of the objects according to the resource allocation probability.
[0011] In some embodiments of the present application, based on the above technical solutions, the resource allocation device further includes: a data obtaining module configured to obtain basic effect data and global effect data of resources allocated to a plurality of objects in the historical resource allocation period; and an effect index determination module configured to determine an algorithm effect index used to evaluate a resource allocation algorithm according to the basic effect data and the global effect data.
[0012] In some embodiments of the present application, based on the above technical solutions, the algorithm effect indicator comprises a cumulative regret indicator; and the effect indicator determination module comprises: an ideal effect data determination unit, configured to compare the global effect data of each object in the historical resource allocation period, and determine the maximum value of the global effect data in the historical allocation period as the ideal effect data of the historical resource allocation period; an actual effect data determination unit, configured to accumulate the basic effect data of each object in the historical resource allocation period to obtain the actual effect data of the historical resource allocation period; a regret indicator determination unit, configured to determine the difference between the ideal effect data and the actual effect data as the regret indicator of the historical resource allocation period; and a cumulative regret determination unit, configured to accumulate the regret indicators of multiple historical resource allocation periods to obtain the cumulative regret indicator of the resource allocation algorithm.
[0013] In some embodiments of the present application, based on the above technical solutions, the resource allocation apparatus further comprises a performance indicator determination module, configured to determine an algorithm performance indicator for evaluating the resource allocation algorithm according to the resource allocation proportion of each object in the historical resource allocation period.
[0014] In some embodiments of the present application, based on the above technical solutions, the algorithm performance indicator comprises an algorithm stability indicator; and the performance indicator determination module comprises: a period determination unit, configured to determine two adjacent first and second resource allocation periods; a proportion acquisition unit, configured to respectively acquire a first resource allocation proportion of each object in the first resource allocation period and a second resource allocation proportion of each object in the second resource allocation period; a stability determination unit, configured to determine the absolute value of the difference between the first resource allocation proportion and the second resource allocation proportion as the stability indicator of the object; and a stability accumulation unit, configured to acquire the cumulative value of the stability indicators of each object, and determine the stability indicator of the resource allocation algorithm according to the cumulative value.
[0015] In some embodiments of the present application, based on the above technical solutions, the algorithm performance indicator further comprises an algorithm convergence degree indicator; and the performance indicator determination module further comprises: an information entropy determination unit, configured to determine the information entropy of the resource allocation algorithm in the historical resource allocation period according to the resource allocation proportion of the object in the historical resource allocation period; and a convergence degree determination unit, configured to determine the convergence degree indicator of the resource allocation algorithm according to the stability indicators and the information entropies of multiple historical resource allocation periods.
[0016] In some embodiments of the present application, based on the above technical solution, the algorithm performance indicator further comprises an algorithm convergence time indicator; the performance indicator determination module further comprises: a convergence degree indicator acquisition unit configured to acquire a convergence degree indicator corresponding to each historical resource allocation period respectively; an accumulated time length acquisition unit configured to acquire an accumulated time length corresponding to each historical resource allocation period, the accumulated time length being a total time length of all resource allocation periods before the historical resource allocation period; a convergence degree comparison unit configured to compare the convergence degree indicator with a preset convergence degree threshold, to determine a historical resource allocation period with the convergence degree indicator less than or equal to the convergence degree threshold as an algorithm convergence period; and a convergence time determination unit configured to determine a shortest accumulated time length of the algorithm convergence period as an algorithm convergence time indicator of the resource allocation algorithm.
[0017] In some embodiments of the present application, based on the above technical solution, the resource allocation apparatus further comprises: an object group determination module configured to determine a plurality of object groups for which resource allocation is performed using the resource allocation algorithm; a performance indicator acquisition module configured to acquire an algorithm performance indicator corresponding to each of the object groups respectively; and a performance indicator averaging module configured to take an average value of the algorithm performance indicators corresponding to the plurality of object groups as a performance evaluation indicator for evaluating the performance of the resource allocation algorithm.
[0018] According to an aspect of an embodiment of the present application, there is provided a computer readable medium having stored thereon a computer program, which, when executed by a processor, implements the resource allocation method in the above technical solution.
[0019] According to an aspect of an embodiment of the present application, there is provided an electronic device, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the resource allocation method in the above technical solution via execution of the executable instructions.
[0020] According to an aspect of an embodiment of the present application, there is provided a computer program product or computer program, comprising computer instructions stored in a computer readable storage medium. A processor of a computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer device executes the resource allocation method in the above technical solution.
[0021] In the technical solution provided in the embodiments of the present application, the basic effect data of each object is weighted according to the resource allocation amount, and the global effect data that the object can obtain when the full amount of resources is allocated to the object can be obtained. Compared with the basic effect data, the global effect data is used to evaluate the resource allocation effect of the object, which can effectively avoid the occurrence of Simpson's paradox and improve the rationality of resource allocation.
[0022] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory and are not restrictive of the present application. BRIEF DESCRIPTION OF DRAWINGS
[0023] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and serve to explain the principles of the present application. It is readily apparent to one of ordinary skill in the art that the accompanying drawings do not limit the present application to any specific embodiment described herein and that other embodiments, in addition to those shown, can be achieved from an appreciation of the drawings, without engaging in an exercise of creativity supported by the present application.
[0024] Figure 1 An exemplary system architecture block diagram to which the technical solution of the present application is applied is shown.
[0025] Figure 2 A structural block diagram for implementing dynamic flow allocation in the related art of the present application is shown.
[0026] Figure 3 A structural block diagram for implementing dynamic flow allocation in the embodiments of the present application is shown.
[0027] Figure 4 A step flowchart of a resource allocation method in one embodiment of the present application is shown.
[0028] Figure 5 A step flowchart of obtaining global effect data in one embodiment of the present application is shown.
[0029] Figure 6 A step flowchart of determining a cumulative regret index in one embodiment of the present application is shown.
[0030] Figure 7 A comparative example of the cumulative regret index of two resource allocation algorithms in one embodiment of the present application is shown. R T A comparative example of the stability index distribution of two resource allocation algorithms in one embodiment of the present application is shown.
[0031] Figure 8 <000008A><000008B><000008C><000008D><000008E> <000008F>
[0032] Figure 9This paper presents a comparative example of the convergence index distribution of two resource allocation algorithms in one embodiment of this application.
[0033] Figure 10 A structural block diagram of the resource allocation device provided in an embodiment of this application is shown.
[0034] Figure 11 A computer system architecture block diagram suitable for implementing the embodiments of this application is shown. Detailed Implementation
[0035] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art.
[0036] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.
[0037] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0038] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the actual situation. In the embodiments of this application, "multiple" refers to at least two.
[0039] Figure 1 An exemplary system architecture block diagram illustrating the application of the technical solution of this application is shown schematically.
[0040] like Figure 1As shown, the system architecture 100 can include a terminal device 110, a network 120 and a server 130. The terminal device 110 can include various electronic devices such as a smartphone, a tablet computer, a notebook computer, a desktop computer, etc. The server 130 can be a standalone physical server, or a server cluster composed of multiple physical servers or a distributed system, or a cloud server providing cloud computing services. The network 120 can be various connection types of communication media capable of providing a communication link between the terminal device 110 and the server 130, for example, can be a wired communication link or a wireless communication link.
[0041] According to the implementation needs, the system architecture in the embodiments of the present application can have any number of terminal devices, networks and servers. For example, the server 130 can be a server group composed of multiple server devices. In addition, the technical solutions provided by the embodiments of the present application can be applied to the terminal device 110, can be applied to the server 130, or can be jointly implemented by the terminal device 110 and the server 130, and the present application does not make special limitations on this.
[0042] Taking an advertisement recommendation system as an example, the specific advertisement form and element combination used by an advertiser when launching an advertisement can be referred to as an advertisement creative. For example, an advertisement can include multiple elements such as a title, a picture and a link, and different advertisement creatives will be generated by using different titles or pictures. When creating multi-creative advertisements or dynamic creative advertisements, the advertiser can select different playing modes: a round playing mode, i.e., playing the same specification creative with equal probability; and a preferred mode, i.e., selecting high-quality creatives for playing.
[0043] The key point of the preferred mode is how to select high-quality creatives. In the advertisement creative selection process, the set of creatives is regarded as traffic, the playing probability of the creatives is regarded as traffic allocation, and based on a traffic dynamic allocation algorithm, dynamic adjustment of the playing probability of the creatives can be realized.
[0044] For another example, when launching an advertisement, an advertiser can select multiple different advertisement launching media at the same time, for example, can include a video playing platform, a music playing platform, a social media platform, a network shopping platform, a network payment platform, etc. According to the advertisement launching effect in a period of time, the advertisement launching proportion of different media can be dynamically adjusted to maximize the revenue of the advertisement launching.
[0045] In the above example, the advertisement creative and the advertisement delivery medium can be regarded as a traffic resource, and the server 130 where the advertisement recommendation system is located can first push the advertisement to the terminal device 110 according to the set advertisement delivery strategy. Each time a user uses the terminal device 110 to browse the advertisement, an exposure is generated. If the user clicks to view the detailed content of the advertisement, an advertisement click is generated. The server 130 can collect and count the advertisement effect data such as the exposure and click volume generated in a certain period of time in a time division manner, so as to dynamically adjust the advertisement delivery strategy to maximize the advertisement revenue.
[0046] In an embodiment of the present application, the advertisement effect data can be saved on the blockchain, and the server 130 where the advertisement recommendation system is located can be a blockchain node to form a blockchain network.
[0047] The blockchain is a new application mode of distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm and other computer technologies. The blockchain is essentially a decentralized database, which is a series of data blocks associated using cryptographic methods. Each data block contains information about a batch of network transactions, which is used to verify the validity of the information (anti-fake) and generate the next block. The blockchain can include a blockchain underlying platform, a platform product service layer and an application service layer.
[0048] The blockchain underlying platform can include user management, basic services, smart contracts and operation detection processing modules. Among them, the user management module is responsible for the identity information management of all blockchain participants, including maintaining the generation of public and private keys (account management), key management and the correspondence between the real identity of the user and the blockchain address (permission management), etc. And under authorization, supervise and audit the transaction of some real identities, provide rules configuration for risk control (risk audit); the basic service module is deployed on all blockchain node devices to verify the validity of business requests, and record them to the storage after consensus. For a new business request, the basic service first performs interface adaptation analysis and authentication processing (interface adaptation), then encrypts the business information through a consensus algorithm (consensus management), and then transmits it to the shared ledger (network communication) after the encryption is complete and consistent, and records it. The smart contract module is responsible for the registration and issuance of contracts, as well as the triggering and execution of contracts. Developers can define contract logic through a certain programming language and publish it to the blockchain (contract registration). According to the logic of the contract terms, the key or other events are triggered to execute, complete the contract logic, and also provide the function of contract upgrade and cancellation. The operation detection module is mainly responsible for the deployment, configuration modification, contract setting, cloud adaptation in the product release process, and the real-time state visualization output in the product running, such as alarm, detection of network conditions, detection of node device health status, etc.
[0049] The platform product service layer provides basic capabilities and implementation frameworks of typical applications, and developers can add business features based on the basic capabilities to complete blockchain implementation of business logic. The application service layer provides application services based on the blockchain solution to business participants for use.
[0050] Figure 2 A structural block diagram for implementing traffic dynamic allocation in the related technology of the present application is shown. As shown in Figure 2 The core module of the dynamic adjustment algorithm is based on the Spark streaming real-time data stream framework, and a real-time data stream task 201 is established. The real-time data stream task 201 can calculate the play strategy 204 (such as the play probability of different ad creatives) of the ad creative according to the traffic dynamic adjustment algorithm by reading the creative information data 202 and creative effect data 203 of the ad creative, and apply the corresponding play strategy 204 to the ad system 205. The ad system 205 performs ad placement according to the corresponding play strategy, and after a certain period of data statistics, the latest creative information data can be recorded and output, and the accumulated creative effect data can be output. The related data is transmitted into the algorithm core module again, that is, a closed loop of algorithm execution is completed. The creative information data 202 of the ad creative may, for example, include basic information data such as the title, picture, link, etc. of an ad creative, and the creative effect data 203 may, for example, include relevant data such as the click volume, exposure volume, click rate, etc. representing the ad placement effect.
[0051] In the related technology of the present application, for the ad placement effect of different time periods or different media, when performing data analysis, a simple cumulative data method is often used for calculation. However, this direct cumulative method may cause the Simpson Paradox. The Simpson Paradox refers to when people try to explore whether two variables (such as new admission rate and gender) have a correlation, they will conduct separate group studies. However, the party that is dominant in the group comparison may be the losing party in the overall evaluation. As can be seen, the contradiction between group evaluation and overall evaluation will lead to unreasonable evaluation results. Table 1 shows a case of the Simpson Paradox problem caused by traffic changes in the ad recommendation system (total traffic is 10).
[0052] Table 1 Simpson Paradox in the ad recommendation system
[0053]
[0054] As shown in Table 1, sub-flow 1 and sub-flow 2 can correspond to two different ad creatives. Taking the number of ad slots as the total flow, the sub-flow 1 flow and the sub-flow 2 flow can be the number of ad slots allocated to different ad creatives. For example, the total number of ad slots is 10, in time period 1, there is 1 ad slot playing the ad creative corresponding to sub-flow 1, and there are 3 ad slots playing the ad creative corresponding to sub-flow 2; in time period 2, there are 5 ad slots playing the ad creative corresponding to sub-flow 1, and there are 2 ad slots playing the ad creative corresponding to sub-flow 2.
[0055] In different time periods, the ad delivery effect data of each sub-flow, such as click volume and exposure volume, can be collected, and based on the click volume and the exposure volume, the corresponding click rate can be calculated. As can be seen from the data collection result in Table 1, in time period 1, the click rate of sub-flow 1 is 1.60%, and the click rate of sub-flow 2 is 3.30%. In time period 2, the click rate of sub-flow 1 is 4.40%, and the click rate of sub-flow 2 is 4.60%. When data statistics are performed in time period 1 and time period 2 respectively, the click rate of sub-flow 2 is higher than the click rate of sub-flow 1.
[0056] However, after the effect data in time period 1 and time period 2 are summarized, the click rate of sub-flow 1 is 3.93%, and the click rate of sub-flow 2 is 3.84%. It can be seen that the click rate of sub-flow 1 is higher than the click rate of sub-flow 2. Simpson's paradox is generated, which causes the problem of unreasonable flow allocation when the flow of the ad recommendation system is adjusted subsequently.
[0057] In view of the Simpson's paradox problem existing in the related art, an embodiment of the present application provides a scheme for resource allocation based on effect index conversion. Still taking the ad recommendation application scenario as an example, Figure 3 The structure block diagram for implementing flow dynamic allocation in the embodiment of the present application is shown.
[0058] As Figure 3 shown, in Figure 2Based on the structure framework, the embodiment of the present application adds a logical module of effect index conversion in the core module real-time data stream task 201, which is used to introduce the method of effect conversion of creative effect data 203. The specific implementation scheme will be described in the following embodiment. In addition, the embodiment of the present application can also add an offline data stream task 301 for effect evaluation of the traffic dynamic adjustment algorithm. The creative effect data 203 and the creative play probability 204 output by the real-time data stream task 201 are jointly input into the offline data stream task 301, and the algorithm evaluation index such as relevant index and performance index can be output through the algorithm evaluation index calculation logic. The specific implementation scheme will be described in the following embodiment. The relevant evaluation index data can be saved to the database 302, and further through the front-end display interface 303, the query and display functions of the relevant index data are realized.
[0059] The technical solutions of the resource allocation method, the resource allocation device, the computer readable medium and the electronic device provided by the present application will be described in detail below in combination with specific embodiments.
[0060] It should be noted that the embodiment of the present application mainly takes the advertisement recommendation scene as an example for description, but the embodiment of the present application can also be applied to other arbitrary application scenes involving resource allocation.
[0061] The traffic in the embodiment of the present application generally refers to a set of elements with common characteristics generated over time. In the scene of recommending an advertisement, the request set, the user set and the advertisement set will all generate new elements over time, so they can all be regarded as traffic.
[0062] The traffic allocation in the embodiment of the present application refers to dividing the traffic into several sub-traffic according to certain rules based on a certain purpose, so as to facilitate the subsequent link to exert different strategies on different sub-traffic or to perform other processing. In the scene of recommending an advertisement, the purpose of traffic allocation generally has two, one is to verify the difference between different strategies exerted on different sub-traffic, and the other is to maximize the overall effect of the traffic. The effect here can include the click rate, the conversion rate and other general advertisement effect indexes.
[0063] The traffic dynamic adjustment in the embodiment of the present application refers to automatically allocating the traffic according to certain algorithms without human intervention for the purpose of traffic allocation. The corresponding algorithm is the traffic dynamic adjustment algorithm.
[0064] Figure 4 The step flowchart of the resource allocation method in one embodiment of the present application is shown. As shown in Figure 4 The resource allocation method can mainly include the following steps S410 to S440.
[0065] Step S410: Obtain resource allocation amounts of the plurality of objects in at least one historical resource allocation period respectively.
[0066] The historical resource allocation period is a time interval divided according to a fixed time window before the current resource allocation period. For example, the length of the time window is set to 1 day, and the length of each historical resource allocation period is 1 day. In the embodiments of the present application, a plurality of historical resource allocation periods can be selected before the current resource allocation period, and the number of historical resource allocation periods selected can be a fixed number. For example, a specified number of historical resource allocation periods closest to the current resource allocation period can be selected, for example, the previous 7 days adjacent to the current time are selected as historical resource allocation periods. In addition, the number of historical resource allocation periods selected can also be a non-fixed number, for example, it can be constantly accumulated with the passage of time.
[0067] The object is an element that receives resource allocation in each resource allocation period, for example, it can be an ad creative with different content forms. For example, in the application scenario of ad recommendation, according to the ad placement demand of the advertiser, a plurality of ad creatives are formed by combining various contents such as titles, pictures, links, etc. Each ad creative will obtain a certain amount of traffic resource allocation in each resource allocation period. The more traffic resources an ad creative obtains, the greater the probability of exposure and display.
[0068] Step S420: Collect basic effect data of each object in the historical resource allocation period. The basic effect data is used to evaluate the resource allocation effect of the object in the corresponding period.
[0069] The object can bring certain resource allocation effect after obtaining resource allocation. For example, in the application scenario of ad recommendation, the basic effect data of the ad creative can include the exposure amount, click amount, conversion amount, cost, gross merchandise volume (GMV) and other data of the ad.
[0070] Step S430: Perform weighted processing on the basic effect data of the historical resource allocation period according to the resource allocation amount, to obtain global effect data of the object. The global effect data is used to predict the resource allocation effect when the object is allocated with the full amount of resources.
[0071] For each object in each historical resource allocation stage, the resource allocation amount and the basic effect data of the object can be obtained through the above steps. The global effect data of the object can be obtained by weighting the basic effect data according to the weighting coefficient related to the resource allocation amount. The weighting coefficient used for weighting the basic effect data has a negative correlation with the resource allocation amount. For example, in a historical resource allocation stage, object A and object B have similar basic effect data, such as the same click volume. However, in the historical resource allocation stage, the resource allocation amount obtained by object A is much less than the resource allocation amount obtained by object B. Therefore, it can be predicted that when the same amount of traffic resources is allocated to object A and object B, such as the total amount of resources is allocated to object A and object B respectively, object A will obtain much more click volume than object B. Therefore, the global effect data obtained through the weighting process can more accurately reflect the actual resource allocation effect of the object.
[0072] Step S440: allocating resources to each object according to the global effect data.
[0073] In an embodiment of the present application, a resource allocation algorithm for allocating resources to each object can be determined first; then the basic information data of the object and the global effect data of the object are input into the resource allocation algorithm to calculate the resource allocation probability of each object through the resource allocation algorithm; finally, resources are allocated to each object according to the resource allocation probability. For example, in an advertising recommendation system, the resource allocation algorithm used in the embodiment of the present application can include a greedy allocation algorithm, a bid scaling algorithm, a HWM algorithm (High water mark), a SHALE algorithm, etc.
[0074] In the resource allocation method provided by the embodiment of the present application, the basic effect data of each object is weighted according to the resource allocation amount, and the global effect data that can be obtained when the total amount of resources is allocated to the object can be obtained. Compared with the basic effect data, the resource allocation effect of the object can be evaluated by using the global effect data, which can effectively avoid the occurrence of Simpson's paradox and improve the rationality of resource allocation.
[0075] In an embodiment of the present application, the global effect data includes basic index data corresponding to a single index parameter. For example, in an advertising recommendation application scenario, the basic index data can include click volume, exposure volume, conversion volume, etc.
[0076] In an embodiment of the present application, the global effect data further includes composite index data corresponding to multiple index parameters. For example, in an advertising recommendation application scenario, the composite index data can include click rate, conversion rate, etc.
[0077] Figure 5 A flow chart of steps for obtaining global effect data in one embodiment of the present application is shown. As shown, on the basis of the above embodiments, the step S430 of weighting the basic effect data of the historical resource allocation period according to the resource allocation amount to obtain the global effect data of the object can include the following steps S510 to S540. Figure 5
[0078] Step S510: determining a weighting coefficient corresponding to the historical resource allocation period according to the resource allocation amount.
[0079] The weighting coefficient in the embodiments of the present application can be a coefficient negatively correlated with the resource allocation amount. In an optional implementation, the method for determining the weighting coefficient in the embodiments of the present application can include: obtaining a total resource amount allocated to the plurality of objects in the historical resource allocation period; determining a resource allocation proportion of the resource allocation amount in the total resource amount; and determining the reciprocal of the resource allocation proportion as the weighting coefficient corresponding to the historical resource allocation period.
[0080] Step S520: weighting and summing the basic effect data of the plurality of historical resource allocation periods based on the weighting coefficient to obtain the basic index data of the object.
[0081] In the embodiments of the present application, the basic effect data of each historical resource allocation period can be weighted and summed according to the following formula.
[0082]
[0083] wherein, effect t represents the basic effect data of the object in the historical resource allocation period t The basic effect data obtained, for example, can be the click volume of an advertisement creative in a historical time period. p t represents the resource allocation proportion of the object in the historical resource allocation period t, which can be equal to the ratio of the resource allocation amount to the total resource amount. After the basic effect data is weighted and summed according to the formula, the basic index data of the object is obtained effect D .
[0084] The click volume shown in Table 1 is taken as an example of the basic effect data and the basic index data. In time period 1, sub-flow 1 obtains an allocated flow of 1, corresponding to an obtained click volume of 8. In time period 2, sub-flow 1 obtains an allocated flow of 5, corresponding to an obtained click volume of 110. In the case of a total flow of 10, sub-flow 1 obtains an allocated resource ratio of 1 / 10 in time period 1 and an allocated resource ratio of 5 / 10 in time period 2. On this basis, the converted click volume obtained by weighted summation of the click volume is 8 / (1 / 10)+110 / (5 / 10)=300.
[0085] Step S530: Obtain a mapping function used to represent a mapping relationship between the composite index data and the basic index data.
[0086] The composite index data can be composite index data obtained by mapping processing of one or more basic index data according to a certain mapping function. For example, the basic index data is click volume and exposure volume, and the composite index data can be click rate, and the corresponding mapping function is: click rate=click volume / exposure volume.
[0087] Step S540: Perform mapping processing on the basic index data based on the mapping function to obtain the composite index data of the object.
[0088] Continue to take the related data shown in Table 1 as an example. After effect conversion of the click volume, the converted click volume of sub-flow 1 in time period 1 and time period 2 is 8 / (1 / 10)+110 / (5 / 10)=300. In the same way, after effect conversion of the exposure volume, the converted exposure volume of sub-flow 1 in time period 1 and time period 2 is 500 / (1 / 10)+2500 / (5 / 10)=10000. According to the mapping function of the click rate, the converted click rate of sub-flow 1 in time period 1 and time period 2 is determined to be 300 / 10000=3.00%.
[0089] Similarly, after effect conversion of the related basic effect data of sub-flow 2, the converted click volume of sub-flow 2 in time period 1 and time period 2 is 50 / (3 / 10)+46 / (2 / 10)=396.7. In the same way, after effect conversion of the exposure volume, the converted exposure volume of sub-flow 2 in time period 1 and time period 2 is 1500 / (3 / 10)+1000 / (2 / 10)=10000. According to the mapping function of the click rate, the converted click rate of sub-flow 2 in time period 1 and time period 2 is determined to be 396.7 / 10000=3.97%.
[0090] The global effect data obtained by weighted processing the basic effect data can be considered as the ideal value of resource allocation effect that can be obtained when allocating full resources to an object. In the example shown in Table 1, when the data statistics for time period 1 and time period 2 are performed separately, the click-through rate of sub-traffic 2 is higher than that of sub-traffic 1. Based on the calculation of the adjusted click-through rate in the above example, it can be seen that the adjusted click-through rate of sub-traffic 2, when aggregated within time period 1 and time period 2, is also higher than that of sub-traffic 1, which is consistent with the conclusion of the time period statistics. Therefore, the technical solution provided by the embodiments of this application can effectively avoid the occurrence of Simpson's paradox and improve the rationality of resource allocation.
[0091] When allocating resources, various resource allocation algorithms can be used. To compare the merits of these algorithms, embodiments of this application can introduce multiple performance metrics to evaluate them.
[0092] In one embodiment of this application, a method for evaluating a resource allocation algorithm may include: obtaining basic effect data and global effect data of allocating resources to multiple objects during a historical resource allocation period; and determining an algorithm performance index for evaluating the resource allocation algorithm based on the basic effect data and global effect data.
[0093] In one embodiment of this application, the resource allocation algorithm can be evaluated using Cumulative Regret Analysis. The basic principle of Cumulative Regret Analysis is as follows.
[0094] Firstly, for a given set of options (Bandits), the profit after executing T steps according to an algorithm is... U ( T , B ):
[0095]
[0096] in, r t,at Indicates the first t Step-by-step execution of the action a t The gains obtained at that time.
[0097] For different algorithms, the benefits U ( T , B They are different, based on U *( T , B () represents the reward obtained when the algorithm performs the optimal action at every step. U *( T ,B )and U ( T , B The difference between the two is the cumulative regret of the algorithm. That is:
[0098]
[0099] Obviously, for different algorithms, at the same time... T The smaller the cumulative regret within the algorithm, the better the algorithm performs.
[0100] Figure 6 A flowchart illustrating the steps for determining a cumulative regret index in one embodiment of this application is shown. Figure 6 As shown, based on the above embodiments, the method for determining the algorithm performance index for evaluating the resource allocation algorithm according to the basic performance data and the global performance data may include the following steps S610 to S640.
[0101] Step S610: Compare the global effect data of each object in the historical resource allocation period, and determine the maximum value of the global effect data in the historical allocation period as the ideal effect data of the historical resource allocation period.
[0102] In this application embodiment, B represents an option combination (Bandits), and below it refers to an object group consisting of multiple objects. a As an example, the ideal performance data can be represented as:
[0103]
[0104] in, i Represents object group a Each object in; p i,t-1 For the previous object i The percentage of resources allocated to them; effect i For object i The basic performance data can be any one of the following parameters: impressions, clicks, spending, GMV, etc. effect i / p i,t-1 This is the global effect data obtained after weighted processing.
[0105] Step S620: Accumulate the basic effect data of each object in the historical resource allocation period to obtain the actual effect data of the historical resource allocation period.
[0106] Actual results data can be expressed as:
[0107]
[0108] Actual effect data is the sum of actual effects obtained by adding up the basic effect data of each object within a resource allocation period.
[0109] Step S630: Determine the difference between the ideal effect data and the actual effect data as the regret index for the historical resource allocation period.
[0110] From the perspective of the business significance of each parameter in the application scenario, the ideal effect data is always greater than or equal to the actual effect data. Therefore, the regret index of a historical resource allocation period can be expressed as:
[0111]
[0112] Step S640: The regret indices of multiple historical resource allocation periods are summed to obtain the cumulative regret index of the resource allocation algorithm.
[0113] The cumulative regret index can be expressed as:
[0114]
[0115] From a theoretical perspective:
[0116]
[0117]
[0118] This proves that:
[0119]
[0120] That is, the cumulative regret index R ( T , B ) is a parameter that is always greater than or equal to 0, used to evaluate the performance of resource allocation algorithms. Cumulative Regret Index R ( T , B The smaller the value of ), the better the effect of the resource allocation algorithm.
[0121] Figure 7 The cumulative regret index of two resource allocation algorithms in one embodiment of this application is shown. R ( T Examples of comparisons showing changes over time. For example... Figure 7 As shown in the figure, at each time point, the cumulative regret index of algorithm A is less than that of algorithm B, indicating that algorithm A has better algorithm performance.
[0122] The cumulative regret analysis can evaluate the flow dynamic adjustment algorithm to a certain extent, but in the recommended advertisement scene, the stability and convergence of the resource allocation algorithm need to be evaluated more carefully and accurately. The application designs a set of resource allocation algorithm evaluation methods based on cumulative regret analysis and information entropy concept, which can evaluate the stability, convergence and other aspects of the resource allocation algorithm while evaluating the pros and cons of the resource allocation algorithm.
[0123] In an embodiment of the application, the algorithm performance index for evaluating the resource allocation algorithm can be determined according to the resource allocation proportion of each object in the historical resource allocation period. The algorithm performance index can include one or more of the algorithm stability index, the algorithm convergence degree index, the algorithm convergence time index and the like.
[0124] In an embodiment of the application, the algorithm performance index includes the algorithm stability index. The method for determining the algorithm performance index for evaluating the resource allocation algorithm according to the resource allocation proportion of each object in the historical resource allocation period can include: determining two adjacent first resource allocation period and second resource allocation period; obtaining the first resource allocation proportion of each object in the first resource allocation period and the second resource allocation proportion of each object in the second resource allocation period; determining the absolute value of the difference between the first resource allocation proportion and the second resource allocation proportion as the stability index of the object; obtaining the cumulative value of the stability index of each object, and determining the stability index of the resource allocation algorithm according to the cumulative value.
[0125] In the embodiment of the application, p i,t represents the first resource allocation proportion of the first resource allocation period, and p i,t-1 represents the second resource allocation proportion of the second resource allocation period. On this basis, the stability index of the resource allocation algorithm can be determined as S ( t , B ):
[0126]
[0127] From a theoretical point of view:
[0128]
[0129] It can be seen that the stability index S ( t , B ) is an index with a value range of 0~1, which can be used to evaluate the algorithm stability of the resource allocation algorithm. S ( t , B ) is smallert Time option combination B The better the stability of the adjustment, the worse the stability.
[0130] Figure 8 A comparison example of the stability index distribution of two resource allocation algorithms in an embodiment of the present application is shown. As shown in the figure, algorithm A is distributed on the left side of algorithm B as a whole, indicating that algorithm A has better algorithm stability than algorithm B. Figure 8
[0131] In an embodiment of the present application, the algorithm performance index further includes an algorithm convergence degree index. The method for determining the algorithm performance index for evaluating the resource allocation algorithm according to the resource allocation proportion of each object in the historical resource allocation period further includes: determining the information entropy of the resource allocation algorithm in the historical resource allocation period according to the resource allocation proportion of the object in the historical resource allocation period; and determining the convergence degree index of the resource allocation algorithm according to the stability index and the information entropy of the plurality of historical resource allocation periods.
[0132] In an embodiment of the present application, the information entropy of the resource allocation algorithm in the historical resource allocation period can be expressed as:
[0133]
[0134] The information entropy is used to measure the uncertainty of the system and is a parameter greater than or equal to 0. When the resource proportions of each object i are equal, the entropy value is maximum, and when the difference is greater, the entropy value is smaller. Based on the information entropy and the stability index, the convergence degree index of the resource allocation algorithm can be determined as: p i,t p i,t The smaller the (H, S), the higher the convergence degree of the object group (i.e., the object group ), and the lower the convergence degree.
[0135]
[0136] C ( t , B ) is smaller, indicating that the convergence degree of the object group (i.e., the object group t ) is higher, and the lower the convergence degree. B Time option combination a
[0137] A comparison example of the convergence degree index distribution of two resource allocation algorithms in an embodiment of the present application is shown. As shown in the figure, algorithm A is distributed on the left side of algorithm B as a whole, indicating that algorithm A has a higher convergence degree than algorithm B. Figure 9 Figure 9
[0138] In an embodiment of the present application, the algorithm performance indicator further comprises an algorithm convergence time indicator. The method for determining the algorithm performance indicator for evaluating the resource allocation algorithm according to the resource allocation proportion of each object in the historical resource allocation period further comprises: obtaining a convergence degree indicator corresponding to each historical resource allocation period respectively; obtaining a cumulative duration corresponding to each historical resource allocation period, the cumulative duration being the total duration of all resource allocation periods before the historical resource allocation period; comparing the convergence degree indicator with a preset convergence degree threshold to determine a historical resource allocation period with a convergence degree indicator less than or equal to the convergence degree threshold as an algorithm convergence period; and determining the shortest cumulative duration of the algorithm convergence period as the algorithm convergence time indicator of the resource allocation algorithm.
[0139] In an embodiment of the present application, the convergence degree threshold is represented by ε, and the algorithm convergence time indicator can be determined as follows:
[0140]
[0141] Algorithm convergence time indicator CT ( B ) represents the combination of options B The time required from the start to the convergence.
[0142] Each algorithm performance indicator in the above embodiments is taken as an example of a single option combination B, which represents the combination of creatives under each advertisement in the creative optimization case. When the influence of the resource allocation algorithm on multiple option groups needs to be considered, for example, in the creative optimization case, the comprehensive influence of the algorithm on multiple advertisements or even the entire advertisement needs to be investigated, and in this case, the average of the above indicators can be investigated.
[0143] In an embodiment of the present application, the method for comprehensively evaluating the resource allocation algorithm can comprise: determining a plurality of object groups to which the resource allocation algorithm is applied; obtaining the algorithm performance indicator (or algorithm effect indicator) corresponding to each object group respectively; and taking the average of the algorithm performance indicators corresponding to the plurality of object groups as the performance evaluation indicator for evaluating the resource allocation algorithm. For example, the algorithm performance indicator (or algorithm effect indicator) obtained for each object group is averaged in an embodiment of the present application. Figure 7 The cumulative regret indicator in R ( T ) can be the average R avg ( T ).
[0144] Based on the above description of each embodiment, it can be known that the effect index conversion method avoids the occurrence of Simpson's paradox in the flow dynamic adjustment process and the incorrect interpretation of the effect index; the flow dynamic adjustment algorithm effect and performance evaluation index in the recommended advertisement scene are designed, so as to more objectively and comprehensively compare the effects and performance advantages and disadvantages between different algorithms; the effect index conversion method and algorithm evaluation index proposed in the application are simple and efficient in engineering implementation, have good migration ability, and can be applied to various business scenes.
[0145] It should be noted that although the steps of the method in the application are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired result. In addition or alternatively, some steps can be omitted, a plurality of steps can be combined into one step, and / or one step can be divided into a plurality of steps, etc.
[0146] The device embodiment of the application is introduced below, which can be used to execute the resource allocation method in the above embodiments of the application. Figure 10 The structural block diagram of the resource allocation device provided by the embodiment of the application is schematically shown. As shown in Figure 10 The resource allocation device 1000 mainly includes: an acquisition module 1010 configured to acquire resource allocation amounts obtained by a plurality of objects in at least one historical resource allocation period; a collection module 1020 configured to collect basic effect data of each of the objects in the historical resource allocation period, the basic effect data being used to evaluate the resource allocation effect of the object in the corresponding period; a weighting module 1030 configured to perform weighting processing on the basic effect data of the historical resource allocation period according to the resource allocation amounts, to obtain global effect data of the object, the global effect data being used to predict the resource allocation effect when allocating a full amount of resources to the object; and an allocation module 1040 configured to allocate resources to each of the objects according to the global effect data.
[0147] In some embodiments of the application, based on the above embodiments, the global effect data includes basic index data corresponding to a single index parameter; the weighting module 1030 includes: a coefficient determination unit configured to determine a weighting coefficient corresponding to the historical resource allocation period according to the resource allocation amount; and a weighted summation unit configured to perform weighted summation on the basic effect data of a plurality of the historical resource allocation periods based on the weighting coefficient, to obtain the basic index data of the object.
[0148] In some embodiments of the present application, based on the above embodiments, the coefficient determination unit comprises: a total amount acquisition sub-unit configured to acquire a total amount of resources allocated to the plurality of objects in the historical resource allocation period; a proportion determination sub-unit configured to determine a resource allocation proportion of the resource allocation amount in the total amount of resources; and a coefficient determination sub-unit configured to determine a reciprocal of the resource allocation proportion as the weighting coefficient corresponding to the historical resource allocation period.
[0149] In some embodiments of the present application, based on the above embodiments, the global effect data further comprises composite index data corresponding to the plurality of index parameters; and the weighting module 1030 further comprises: a function acquisition unit configured to acquire a mapping function used to represent a mapping relationship between the composite index data and the basic index data; and a data mapping unit configured to perform mapping processing on the basic index data based on the mapping function to obtain the composite index data of the object.
[0150] In some embodiments of the present application, based on the above embodiments, the allocation module 1040 comprises: an algorithm determination unit configured to determine a resource allocation algorithm used to allocate resources to each of the objects; a probability calculation unit configured to input the basic information data of the object and the global effect data of the object into the resource allocation algorithm to calculate a resource allocation probability of each of the objects through the resource allocation algorithm; and a resource allocation unit configured to allocate resources to each of the objects according to the resource allocation probability.
[0151] In some embodiments of the present application, based on the above embodiments, the resource allocation apparatus 1000 further comprises: a data acquisition module configured to acquire basic effect data and global effect data of resources allocated to a plurality of objects in the historical resource allocation period; and an effect index determination module configured to determine an algorithm effect index used to evaluate a resource allocation algorithm according to the basic effect data and the global effect data.
[0152] In some embodiments of the present application, based on the above embodiments, the algorithm effect indicator comprises a cumulative regret indicator; the effect indicator determination module comprises: an ideal effect data determination unit configured to compare the global effect data of each object in the historical resource allocation period, and determine the maximum value of the global effect data in the historical allocation period as the ideal effect data of the historical resource allocation period; an actual effect data determination unit configured to accumulate the basic effect data of each object in the historical resource allocation period to obtain the actual effect data of the historical resource allocation period; a regret indicator determination unit configured to determine the difference between the ideal effect data and the actual effect data as the regret indicator of the historical resource allocation period; and a cumulative regret determination unit configured to accumulate the regret indicators of multiple historical resource allocation periods to obtain the cumulative regret indicator of the resource allocation algorithm.
[0153] In some embodiments of the present application, based on the above embodiments, the resource allocation apparatus 1000 further comprises a performance indicator determination module configured to determine an algorithm performance indicator for evaluating the resource allocation algorithm according to the resource allocation proportion of each object in the historical resource allocation period.
[0154] In some embodiments of the present application, based on the above embodiments, the algorithm performance indicator comprises an algorithm stability indicator; and the performance indicator determination module comprises: a period determination unit configured to determine two adjacent first and second resource allocation periods; a proportion acquisition unit configured to respectively acquire a first resource allocation proportion of each object in the first resource allocation period and a second resource allocation proportion of each object in the second resource allocation period; a stability determination unit configured to determine the absolute value of the difference between the first resource allocation proportion and the second resource allocation proportion as the stability indicator of the object; and a stability accumulation unit configured to acquire the cumulative value of the stability indicators of each object, and determine the stability indicator of the resource allocation algorithm according to the cumulative value.
[0155] In some embodiments of the present application, based on the above embodiments, the algorithm performance indicator further comprises an algorithm convergence degree indicator; and the performance indicator determination module further comprises: an information entropy determination unit configured to determine the information entropy of the resource allocation algorithm in the historical resource allocation period according to the resource allocation proportion of the object in the historical resource allocation period; and a convergence degree determination unit configured to determine the convergence degree indicator of the resource allocation algorithm according to the stability indicators and information entropies of multiple historical resource allocation periods.
[0156] In some embodiments of the present application, based on the above embodiments, the algorithm performance indicator further comprises an algorithm convergence time indicator; the performance indicator determination module further comprises: a convergence degree indicator acquisition unit configured to acquire a convergence degree indicator corresponding to each historical resource allocation period respectively; an accumulated time length acquisition unit configured to acquire an accumulated time length corresponding to each historical resource allocation period, the accumulated time length being a total time length of all resource allocation periods before the historical resource allocation period; a convergence degree comparison unit configured to compare the convergence degree indicator with a preset convergence degree threshold to determine a historical resource allocation period with a convergence degree indicator less than or equal to the convergence degree threshold as an algorithm convergence period; and a convergence time determination unit configured to determine a shortest accumulated time length of the algorithm convergence period as an algorithm convergence time indicator of the resource allocation algorithm.
[0157] In some embodiments of the present application, based on the above embodiments, the resource allocation apparatus further comprises: an object group determination module configured to determine a plurality of object groups for which resource allocation is performed using the resource allocation algorithm; a performance indicator acquisition module configured to acquire an algorithm performance indicator corresponding to each of the object groups respectively; and a performance indicator averaging module configured to take an average of the algorithm performance indicators corresponding to the plurality of object groups as a performance evaluation indicator for evaluating the performance of the resource allocation algorithm.
[0158] The specific details of the resource allocation apparatus provided in the embodiments of the present application have been described in detail in the corresponding method embodiments, and will not be described here.
[0159] Figure 11 A computer system structure block diagram of an electronic device for implementing the embodiments of the present application is schematically shown.
[0160] It should be noted that, Figure 11 The computer system 1100 of the electronic device shown is only an example and should not impose any limitation on the functions and use range of the embodiments of the present application.
[0161] As Figure 11As shown, the computer system 1100 includes a central processing unit 1101 (CPU), which can execute various appropriate actions and processes according to programs stored in a read-only memory 1102 (ROM) or loaded into a random access memory 1103 (RAM) from a storage section 1108. In the random access memory 1103, various programs and data required for the operation of the system are also stored. The central processing unit 1101, the read-only memory 1102, and the random access memory 1103 are connected to each other through a bus 1104. An input / output interface 1105 (I / O interface) is also connected to the bus 1104.
[0162] Connected to the input / output interface 1105 are an input section 1106 including a keyboard, a mouse, etc.; an output section 1107 including a display such as a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1108 including a hard disk, etc.; and a communication section 1109 including a network interface card such as a local area network card, a modem, etc. The communication section 1109 performs communication processing via a network such as the Internet. A drive 1110 is also connected to the input / output interface 1105 as necessary. A removable recording medium 1111 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc. is attached to the drive 1110 as necessary, so that a computer program read therefrom is installed in the storage section 1108 as necessary.
[0163] In particular, according to embodiments of the present application, the processes described in the various method flowcharts can be implemented as a computer software program. For example, embodiments of the present application include a computer program product comprising a computer program carried on a computer readable medium, the computer program containing program code for executing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 1109, and / or installed from the removable recording medium 1111. When the computer program is executed by the central processing unit 1101, various functions defined in the system of the present application are executed.
[0164] It should be noted that the computer-readable medium in the embodiments of the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination thereof. The computer-readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination thereof. More specific examples of the computer-readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this application, the computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus or device. In this application, the computer-readable signal medium can include a data signal carried in a baseband or as a part of a carrier wave, which carries computer-readable program code. Such a propagated data signal can take many forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium that can transmit, propagate or transport a program for use by or in connection with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium can be transmitted or propagated using any suitable medium, including but not limited to wireless, wired, or the like, or any suitable combination thereof.
[0165] The flowcharts and block diagrams in the drawings illustrate the possible implementation architectures, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowcharts or block diagrams can represent a module, a program segment, or a portion of code that contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions noted in the blocks can occur in different orders than that shown in the figures. For example, two blocks noted in succession can actually be executed substantially concurrently, or they can sometimes be executed in reverse order, depending on the functionality involved. It should also be noted that each block in the flowcharts or block diagrams, and combinations of blocks in the flowcharts or block diagrams, can be implemented by special-purpose hardware-based systems that perform the specified functions or operations, or can be implemented by a combination of special-purpose hardware and computer instructions.
[0166] It should be noted that, although several modules or units for a device for action execution are mentioned in the above detailed description, such a division is not mandatory. Indeed, according to an embodiment of the application, the features and functionalities of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functionalities of one module or unit described above can be further divided into several modules or units embodied.
[0167] Those skilled in the art can easily understand, through the above description of the embodiments, that the example embodiments described herein can be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solutions according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a U disk, a mobile hard disk, etc.) or a network, and includes several instructions to make a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) execute the methods according to the embodiments of the present application.
[0168] Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the present application cover any and all variations of the application that come within the scope of the present application, along with all of the equivalents thereof. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the application being indicated by the following claims.
[0169] It should be understood that the application is not limited to the precise construction that has been described above and illustrated in the accompanying drawings, and that various modifications and changes can be made by those skilled in the art without departing from the scope of the application. The scope of the application should only be limited by the appended claims.
Claims
1. A resource allocation method, characterized in that, include: Retrieve the resource allocation amounts obtained by multiple objects in at least one historical resource allocation period; The basic performance data of each of the objects is collected during the historical resource allocation period. The objects include advertising creatives, and the resources include traffic used to recommend the advertising creatives. The basic performance data is used to evaluate the advertising performance of the advertising creatives during the corresponding period. The basic performance data of the historical resource allocation period is weighted based on the resource allocation amount to obtain the global performance data of the object. The global performance data is used to predict the advertising performance when all traffic is allocated to the advertising creative. Resources are allocated to each of the objects based on the global effect data; The global effect data includes basic indicator data corresponding to a single indicator parameter. The global effect data of the object is obtained by weighting the basic effect data of the historical resource allocation period based on the resource allocation amount, including: obtaining the total amount of resources allocated to multiple objects during the historical resource allocation period; determining the resource allocation ratio of the resource allocation amount in the total resource amount; determining the reciprocal of the resource allocation ratio as a weighting coefficient corresponding to the historical resource allocation period; and weighting and summing the basic effect data of multiple historical resource allocation periods based on the weighting coefficient to obtain the basic indicator data of the object.
2. The resource allocation method according to claim 1, characterized in that, The global performance data also includes composite indicator data corresponding to multiple indicator parameters; after obtaining the basic indicator data of the object, the method further includes: Obtain a mapping function that represents the mapping relationship between the composite index data and the basic index data; The basic indicator data is mapped based on the mapping function to obtain the composite indicator data of the object.
3. The resource allocation method according to claim 1, characterized in that, Allocating resources to each of the objects based on their global effect data includes: Determine a resource allocation algorithm for allocating resources to each of the objects; The basic information data of the object and the global effect data of the object are input into the resource allocation algorithm so that the resource allocation probability of each object can be calculated by the resource allocation algorithm. Resources are allocated to each of the objects according to the resource allocation probability.
4. The resource allocation method according to claim 1, characterized in that, The method further includes: Obtain basic and global effect data of resource allocation to multiple objects during the historical resource allocation period; Based on the basic performance data and the global performance data, an algorithm performance index is determined to evaluate the resource allocation algorithm.
5. The resource allocation method according to claim 4, characterized in that, The algorithm performance metrics include a cumulative regret metric; the algorithm performance metrics for evaluating the resource allocation algorithm are determined based on the basic performance data and the global performance data, including: Compare the global effect data of each object in the historical resource allocation period, and determine the maximum value of the global effect data in the historical resource allocation period as the ideal effect data of the historical resource allocation period. The actual effect data for the historical resource allocation period is obtained by summing the basic effect data of each object in the historical resource allocation period. The difference between the ideal effect data and the actual effect data is determined as the regret index for the historical resource allocation period; The cumulative regret index of the resource allocation algorithm is obtained by summing the regret indices of multiple historical resource allocation periods.
6. The resource allocation method according to any one of claims 1 to 5, characterized in that, The method further includes: Based on the resource allocation percentage of each object during the historical resource allocation period, an algorithm performance index is determined to evaluate the resource allocation algorithm.
7. The resource allocation method according to claim 6, characterized in that, The algorithm performance metrics include algorithm stability metrics; based on the resource allocation proportion of each object during the historical resource allocation period, algorithm performance metrics for evaluating the resource allocation algorithm are determined, including: Determine two adjacent first resource allocation periods and second resource allocation periods; Obtain the first resource allocation percentage of each object during the first resource allocation period and the second resource allocation percentage during the second resource allocation period; The absolute value of the difference between the first resource allocation ratio and the second resource allocation ratio is determined as the stability index of the object; Obtain the cumulative value of the stability index of each of the objects, and determine the stability index of the resource allocation algorithm based on the cumulative value.
8. The resource allocation method according to claim 7, characterized in that, The algorithm performance metrics also include algorithm convergence metrics; based on the resource allocation proportion of each object during the historical resource allocation period, algorithm performance metrics for evaluating the resource allocation algorithm are determined, and also include: The information entropy of the resource allocation algorithm during the historical resource allocation period is determined based on the resource allocation ratio of the object during that period. The convergence index of the resource allocation algorithm is determined based on the stability index and information entropy of multiple historical resource allocation periods.
9. The resource allocation method according to claim 8, characterized in that, The algorithm performance metrics also include the algorithm convergence time metric; based on the resource allocation proportion of each object during the historical resource allocation period, the algorithm performance metrics used to evaluate the resource allocation algorithm are determined, and also include: Obtain the convergence index corresponding to each historical resource allocation period; Obtain the cumulative duration corresponding to each historical resource allocation period, wherein the cumulative duration is the total duration of all resource allocation periods prior to the historical resource allocation period; The convergence index is compared with a preset convergence threshold to determine the historical resource allocation period in which the convergence index is less than or equal to the convergence threshold as the algorithm convergence period. The shortest cumulative duration of the convergence period of the algorithm is determined as the convergence time index of the resource allocation algorithm.
10. The resource allocation method according to claim 6, characterized in that, The method further includes: Identify multiple groups of objects for resource allocation using the resource allocation algorithm; Obtain the algorithm performance metrics for each of the object groups; The average value of the algorithm performance metrics corresponding to multiple object groups is used as the performance evaluation metric for evaluating the resource allocation algorithm.
11. A resource allocation device, characterized in that, include: The acquisition module is configured to acquire the resource allocation amounts obtained by multiple objects in at least one historical resource allocation period. The data collection module is configured to collect basic performance data of each of the objects during the historical resource allocation period. The objects include advertising creatives, and the resources include traffic used to recommend the advertising creatives. The basic performance data is used to evaluate the advertising performance of the advertising creatives during the corresponding period. The weighting module is configured to perform weighted processing on the basic performance data of the historical resource allocation period based on the resource allocation amount to obtain the global performance data of the object. The global performance data is used to predict the advertising performance when all traffic is allocated to the advertising creative. The allocation module is configured to allocate resources to each of the objects based on the global effect data; The global effect data includes basic indicator data corresponding to a single indicator parameter. The global effect data of the object is obtained by weighting the basic effect data of the historical resource allocation period based on the resource allocation amount, including: obtaining the total amount of resources allocated to multiple objects during the historical resource allocation period; determining the resource allocation ratio of the resource allocation amount in the total resource amount; determining the reciprocal of the resource allocation ratio as a weighting coefficient corresponding to the historical resource allocation period; and weighting and summing the basic effect data of multiple historical resource allocation periods based on the weighting coefficient to obtain the basic indicator data of the object.
12. A computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the resource allocation method according to any one of claims 1 to 10.
13. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the resource allocation method of any one of claims 1 to 10 by executing the executable instructions.
14. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by the processor, they implement the resource allocation method as described in any one of claims 1 to 10.
Citation Information
Patent Citations
Advertisement target group reach ratio assessment method and device
CN106227743A
Advertisement putting method and device
CN106651459A