WO2015085969A1 - 推荐算法优化方法、装置及系统 - Google Patents

推荐算法优化方法、装置及系统 Download PDF

Info

Publication number
WO2015085969A1
WO2015085969A1 PCT/CN2015/072713 CN2015072713W WO2015085969A1 WO 2015085969 A1 WO2015085969 A1 WO 2015085969A1 CN 2015072713 W CN2015072713 W CN 2015072713W WO 2015085969 A1 WO2015085969 A1 WO 2015085969A1
Authority
WO
WIPO (PCT)
Prior art keywords
recommendation
recommendation algorithm
algorithm
time period
effect data
Prior art date
Application number
PCT/CN2015/072713
Other languages
English (en)
French (fr)
Inventor
程章敏
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to US15/102,175 priority Critical patent/US20160379122A1/en
Publication of WO2015085969A1 publication Critical patent/WO2015085969A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a method, device and system for recommending algorithm optimization.
  • the recommendation engine of the recommendation system usually runs multiple recommendation algorithms at the same time, and collects the effect data of each recommendation algorithm when offline; then adjusts the traffic distribution of each recommendation algorithm based on the results of offline statistics, thereby further optimizing the overall recommendation effect. .
  • the process of optimizing the traditional recommendation algorithm is as follows: determining a new recommendation algorithm and corresponding small amount of traffic; after the recommendation engine is ready, the manager performs traffic distribution for the new recommendation algorithm at the front end; observing the recommended effect of the new recommendation algorithm, if recommended The effect is better, the manager continues to allocate traffic to the new recommendation algorithm; repeat the above process until the traffic is assigned to the recommendation algorithm with the best recommendation.
  • the embodiment of the present invention provides a recommendation algorithm optimization method, device and system.
  • the technical solution is as follows:
  • a recommendation algorithm optimization method comprising:
  • effect data of each recommendation algorithm of the statistics where the effect data is used to reflect a recommendation success rate corresponding to each recommendation algorithm in the same statistical time window;
  • a traffic request is allocated for each recommendation algorithm according to the traffic offload probability.
  • a recommendation algorithm optimization apparatus comprising:
  • An obtaining module configured to obtain effect data of each recommendation algorithm of the statistics, where the effect data is used to reflect a recommendation success rate corresponding to each recommendation algorithm in the same statistical time window;
  • a calculation module configured to obtain, according to the specific gravity of each effect algorithm of each recommendation algorithm acquired by the obtaining module, a traffic offload probability of each recommendation algorithm
  • an allocating module configured to allocate a traffic request to each recommendation algorithm according to the traffic offload probability calculated by the computing module.
  • a recommendation algorithm optimization apparatus comprising at least a processor, a memory, and a non-volatile memory;
  • the non-volatile memory stores a computer program for implementing optimization of a recommendation algorithm
  • the processor is configured to load the computer program in the non-volatile memory into the memory to form a computer executable instruction, where the computer executable instruction is stored in an acquisition module, a calculation module, and an allocation module. ,among them:
  • the obtaining module is configured to obtain effect data of each recommendation algorithm of the statistics, where the effect data is used to reflect a recommendation success rate corresponding to each recommendation algorithm in the same statistical time window;
  • the calculation module is configured to obtain a traffic offload probability of each recommended algorithm according to the proportion of the effect data of each recommendation algorithm acquired by the obtaining module in each recommendation algorithm;
  • the allocating module is configured to allocate a traffic request to each recommendation algorithm according to the traffic offload probability calculated by the computing module.
  • a recommendation algorithm optimization system comprising a server and at least one terminal;
  • the server includes the recommendation algorithm optimization apparatus as described in the second aspect or the third aspect.
  • the effect data of each recommendation algorithm of the statistics calculating the traffic offload probability of each recommendation algorithm according to the effect data of each recommendation algorithm; and assigning the traffic request to each recommendation algorithm according to the traffic offload probability of each recommendation algorithm;
  • the effect data of the recommended algorithm reflects the recommendation success rate of the recommendation algorithm, because the recommendation can be successfully based on the recommendation of each recommendation algorithm.
  • the rate automatically allocates traffic for each recommendation algorithm, which can better allocate more traffic for the recommendation algorithm with higher recommendation success rate, thereby achieving the effect of greatly reducing the optimization period and improving the optimization efficiency and accuracy.
  • FIG. 1 is a schematic diagram of an implementation environment involved in a recommendation algorithm optimization method provided in an embodiment of the present invention
  • FIG. 2 is a flow chart of a method for recommending an optimization algorithm provided in an embodiment of the present invention
  • 3A is a flowchart of a method for recommending an algorithm optimization method according to another embodiment of the present invention.
  • FIG. 3B is a schematic diagram showing statistics of the recommended success rate corresponding to each selected time period provided in some embodiments of the present invention.
  • FIG. 4 is a schematic diagram showing the internal structure of a server involved in some embodiments.
  • FIG. 5 is a flow diagram of a process for assigning a recommendation algorithm to a traffic request in one embodiment
  • FIG. 6 is a schematic structural diagram of a recommendation algorithm optimization apparatus provided in an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a recommendation algorithm optimization apparatus according to another embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a server provided in some embodiments of the present invention.
  • FIG. 9 is a schematic diagram of a recommendation algorithm optimization system provided in an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a recommendation method optimization apparatus provided in another embodiment of the present invention.
  • the implementation environment can include a server 120 and at least one terminal 140, which can be connected to the terminal 140 by a wired network or a wireless network.
  • the server 120 has a function of recommending a service to the terminal 140.
  • the user may recommend a corresponding service according to the browsing content of the terminal user in the browser, the search content, and the operation of the user.
  • the server 120 can be a server, or a server cluster consisting of several servers, or a cloud computing service center.
  • the server 140 can be a background server of the recommendation system.
  • the terminal 140 may respond to the recommended service sent by the server 120, such as clicking to browse the recommended service.
  • the terminal 140 can generally include a smartphone, a tablet, a smart TV, an e-book reader, an MP3 player (Moving Picture Experts Group Audio Layer III), and an MP4 (Moving Picture Experts Group Audio Layer IV). Dynamic image experts compress standard audio layers 4) players, laptops and desktop computers, and more.
  • FIG. 2 shows an optimization algorithm provided in one embodiment of the present invention.
  • the recommendation algorithm optimization method is mainly illustrated by being applied to the server 120 in the implementation environment shown in FIG. 1.
  • the recommendation algorithm optimization method may include:
  • the recommendation algorithm optimization method obtains the effect data of each recommendation algorithm by using statistics; calculates the traffic offload probability of each recommendation algorithm according to the effect data of each recommendation algorithm;
  • Each recommendation algorithm allocates a traffic request; solves the problem that the prior art needs to manually allocate traffic for the recommended algorithm and optimize the cycle length in the optimization process;
  • the effect data of the recommended algorithm reflects the recommended success rate of the recommended algorithm, because
  • the traffic can be automatically allocated for each recommendation algorithm according to the recommended success rate of each recommendation algorithm, which can better allocate more traffic for the recommendation algorithm with higher recommendation success rate, thereby achieving a significant reduction in the optimization period and improvement. Optimize the efficiency and accuracy of the results.
  • the recommendation algorithm optimization method is mainly illustrated by being applied to the server 120 in the implementation environment shown in FIG. 1.
  • the recommendation algorithm optimization method may include:
  • each recommendation algorithm For each recommendation algorithm, obtain a recommendation success rate corresponding to at least two mutually overlapping time segments belonging to the statistical time window, and each time segment overlapping each other has the same statistical ending time and different statistics.
  • the recommendation algorithm described here can be used to provide a service for recommending services to a terminal.
  • the server providing the recommended service may include multiple recommendation algorithms.
  • the server may select a recommendation algorithm for the traffic request, and the traffic request is requested according to the recommendation algorithm.
  • the recommendation result is determined, and the recommendation result is sent to the terminal, so that the terminal can respond according to the recommendation result, for example, the recommendation result can be clicked and browsed (that is, the recommendation result is successfully responded), of course, the terminal can also choose to ignore
  • the recommendation result is that no response is made to the recommendation result or a successful response is not made.
  • the server may allocate a traffic request in combination with the recommendation success rate of the recommendation algorithm. Obviously, when obtaining the success rate of the recommendation algorithm, it is necessary to determine the recommendation success rate of the recommendation algorithm according to the response feedback of the collected recommendation results recommended by the terminal to the recommendation algorithm.
  • the recommended success rate of the recommended algorithm will be affected by many factors, and often it is unstable in a short period of time, such as a recommended algorithm in a day before 1 day, the recommended success rate. Both are relatively low, but the recommended success rate of this one day suddenly increases a lot (such as the holiday promotion, the online price is relatively low, this time recommended to the terminal's push The recommended success rate will be higher. The recommended success rate of this one day cannot accurately represent the recommended success rate of the recommended algorithm. Therefore, in the process of specific statistics, multiple different time periods are usually selected for the recommendation algorithm. Optimization, each time period has the same statistical end time and different statistical start times. The same statistical end time mentioned here is the end time of the statistical time window. The statistical end time may be the same as the statistical time of the current statistics, or may be different from the statistical time of the current statistics, that is, this time A certain time before the statistical time of statistics.
  • statistics may be selected in multiple different time periods before the statistic time.
  • the recommendation algorithm may be counted before the statistical time.
  • the recommended success rate in minutes can also be used to count the recommended success rate of the recommendation algorithm within one hour before the statistical time.
  • the end time of the statistical time window is the same as the statistical time.
  • the statistical time is 9:00 am on September 10, 2012.
  • the selected time period can be within 5 minutes of 9:00 am on September 10, 2012, and the morning of September 10, 2012. 9 points are within 1 hour of the end time, or 1 day, 1 week, or 1 month of the end time of 9:00 on September 10, 2012, and each recommendation algorithm is counted in these time periods. Recommended recommended success rate within.
  • FIG. 3B a statistical diagram of statistics on recommended success rates corresponding to selected time periods provided in some embodiments of the present invention is shown.
  • FIG. 3B shows the recommended algorithms 1 in each selected manner.
  • the recommended success rate is 37% in the first time period, 70% in the second time period, and the recommended success rate in the third time period.
  • the rate of recommendation is 24%, and the recommended success rate is 50% in the fourth time period.
  • the recommended success rate in the first time period is 64%, in the second time period.
  • the recommended success rate was 25%, the recommended success rate was 50% in the third period, and the recommended success rate was 37% in the fourth period.
  • statistics may be selected for a plurality of different time periods before a certain specified time.
  • the specified time mentioned here is a statistical time window.
  • the end time of the statistical time window is a certain time before the statistical time of the current statistics.
  • the statistical time is 9:00 am on September 10, 2012, and the designated time can be 7:00 am on September 9, 2012.
  • the selected time period can be 7:00 am on September 9, 2012.
  • the end of the time is 7:00 am on September 9, 2012.
  • the specific process of obtaining the recommendation success rate of the recommendation algorithm in each time period is as follows:
  • the corresponding response action and the recommendation result of the recommendation algorithm in each time period are obtained, and the response action is a successful response of the at least one terminal to the recommendation result determined according to the recommendation algorithm in the time period, and the recommendation result is based on the time period.
  • Recommended results determined by the recommendation algorithm are obtained, and the response action is a successful response of the at least one terminal to the recommendation result determined according to the recommendation algorithm in the time period, and the recommendation result is based on the time period.
  • the terminal continuously sends a traffic request to the server, and after receiving the traffic request, the server allocates a recommendation algorithm for the traffic request, and after the server allocates the recommendation algorithm for a traffic request, the server usually also performs the traffic request.
  • the terminal is requested, so that the terminal can perform an active response operation according to the recommendation result, such as clicking and browsing. Obviously, if the user of the terminal is not interested in the recommendation result, the recommendation result is usually ignored, for example, the recommendation result is not performed. Respond or close the recommendation directly.
  • the response action described here is that the terminal actively responds to the operation according to the recommendation result, or the terminal successfully responds according to the recommendation result.
  • the response action and the recommendation result corresponding to a certain recommendation algorithm in the determined time period may be acquired.
  • the server can count the total number of response actions and the total number of recommended results for each recommendation algorithm in the time period.
  • the quotient obtained by dividing the number of response actions by the number of recommendation results is determined as the recommended success rate of the recommendation algorithm over the time period.
  • the number of response actions of a recommended algorithm is divided by the number of recommended results to obtain a quotient value, and the quotient value can be used as the recommended success rate of the recommendation algorithm in the time period.
  • the quotient value is usually less than 1.
  • the selected time periods should be the same.
  • the selected time period is the time period 1 hour before the statistical time and the time period 7 days before the statistical time.
  • the selected time period should also be It is to count the time period before the hour and the time period before the statistical time.
  • the first time period within 7 days before the statistical time and the second time period within the first 5 minutes before the statistical time usually have different effects on the recommended success rate; usually, the first time period is longer due to the time span.
  • the recommended success rate during this time period can better predict the recommendation effect of the subsequent recommendation algorithm, that is, the impact on the recommendation algorithm may be relatively large, and the second time period is short due to the time span, due to network conditions, etc.
  • the stability of the recommended success rate determined in the second time period with a short time span is relatively poor; therefore, when considering the recommended effect, the influence of the time period is usually considered less.
  • the recommendation success rate and weight corresponding to each time period may be used to determine the effect of the recommendation algorithm.
  • the data, that is, the specific algorithm is: multiplying the recommended success rate corresponding to each time period of the recommendation algorithm by the corresponding weight, obtaining a product corresponding to each time period, and then adding each product. And the value, which is determined as the effect data of the recommendation algorithm. For example, if the recommended time period for the recommendation algorithm is 1 hour before the statistical time, 3 hours before the statistical time, 5 hours before the statistical time, 1 day before the statistical time, and 7 before the statistical time.
  • the recommended success rates for each time period are w_1hour, w_3hour, w_5hour, w_1day, and w_7day
  • the weights for each time period are Effect_1hour, Effect_3hour, Effect_5hour, Effect_1day, and Effect_7day, respectively.
  • recommendation algorithm 1 there are three recommendation algorithms, namely, recommendation algorithm 1, recommendation algorithm 2, and recommendation algorithm 3, and the effect data of each recommendation algorithm is effect data 1, effect data 2, and effect data 3, respectively, and recommendation algorithm 1
  • the traffic splitting probability is: effect data 1 / (effect data 1 + effect data 2+ effect data 3), corresponding, the flow split probability of recommendation algorithm 2 is: effect data 2 / (effect data 1 + effect data 2+ effect data 3)
  • the flow split probability of the recommended algorithm 3 is: effect data 3 / (effect data 1 + effect data 2+ effect data 3).
  • the server may receive a large number of traffic requests sent by the terminal, it is necessary to continuously count the latest traffic offload probability to better improve the recommendation effect on the traffic request. Since the server is likely to receive a large number of traffic requests in a very short time (such as 1 second), if a traffic request is received, a new traffic offload probability is calculated, which will make the recommendation time longer.
  • the processing requirements on the server are relatively high, and the difference in the allocation of the received traffic request to the recommendation algorithm in a relatively short period of time is usually not too large. Therefore, after calculating the traffic offload probability, it can be continued for a predetermined period of time.
  • the calculated traffic splitting probability is used to allocate a traffic request to the recommendation algorithm, and the predetermined time period is usually a time period between the current statistical ending time and the next statistical ending time.
  • the selection of the predetermined time period may be determined according to actual conditions, for example, may be determined to be 1 minute, 5 minutes, or 1 hour, and the like.
  • the server can allocate a traffic request to the recommendation algorithm according to the traffic split probability of the recommended recommendation algorithm, until the next time the statistics are completed, the traffic splitting probability of the new recommended algorithm is obtained.
  • the recommendation algorithm optimization method obtains the effect data of each recommendation algorithm by using statistics; calculates the traffic offload probability of each recommendation algorithm according to the effect data of each recommendation algorithm;
  • Each recommendation algorithm allocates a traffic request; solves the problem that the prior art needs to manually allocate traffic for the recommended algorithm and optimize the cycle length in the optimization process;
  • the effect data of the recommended algorithm reflects the recommended success rate of the recommended algorithm, because
  • the traffic can be automatically allocated for each recommendation algorithm according to the recommended success rate of each recommendation algorithm, which can better allocate more traffic for the recommendation algorithm with higher recommendation success rate, thereby achieving a significant reduction in the optimization period and improvement. Optimize the efficiency and accuracy of the results.
  • the server 120 may include, but is not limited to, a user interface processing unit 42, The access layer 44, the database 46, the statistic unit 48, and the storage unit 410, wherein the user interface processing unit 42 can be configured to acquire various information sent by the terminal 140, such as a traffic request or a response action; the access layer 44 can invoke the recommendation algorithm. So_1, the recommendation algorithm so_2 and the recommendation algorithm so_3 process the traffic request. In the actual application, there may be other recommendation algorithms.
  • the database 46 is used to store the response action information acquired from the terminal 140.
  • the statistic unit 48 can perform statistics on the effect data of each recommendation algorithm according to the response action in the database 46.
  • the statistical unit 48 can perform statistics on the response action data in the database 46 in real time, such as real-time statistics, each of the recommended algorithms in a 1-hour sliding window, a 3-hour sliding window, a 5-hour sliding window, a fixed window of 1 natural day, or 7
  • the effect data of the fixed window of the natural day; the storage unit 410 is configured to store the effect data of each recommendation algorithm after the statistics unit 48 counts.
  • the user interface processing unit 42 receives the traffic request sent by the terminal 140, and sends the traffic request to the access layer 44.
  • the access layer 44 may request the storage unit 410 to query each The effect data of the recommendation algorithm, the storage unit 410 returns the effect data of each recommendation algorithm to the access layer 44, and the access layer 44 calculates the traffic of each recommendation algorithm according to the effect data of each recommendation algorithm acquired from the storage unit 410.
  • the offloading probability, the access layer 44 allocates a recommendation algorithm to the traffic request according to the calculated traffic splitting probability of each recommended algorithm.
  • the access layer 44 may continue to use the calculated traffic offload probability of each recommended algorithm to allocate a recommendation algorithm for the traffic request within a specified time period, for example, the specified time may be specified. Set to 1 minute, when 1 minute is over, the traffic offload probability of each recommendation algorithm already stored in the access layer 44 is deleted, so that when the next traffic request is received, the execution of the query to the storage unit 410 is continued. The steps to recommend the effect data of the algorithm.
  • the setting of the specified time is to prevent the access layer from obtaining the effect data of each recommendation algorithm every time after receiving a traffic request, and according to the obtained effect data of each recommendation algorithm.
  • the case of the traffic offload probability of each recommendation algorithm is calculated, because the effect data of each recommendation algorithm acquired from the storage unit 410 multiple times in a short time may be the same or similar, and the allocation of the optimization recommendation algorithm is not obvious. The improvement, and the frequent acquisition of the effect data from the storage unit 410 and the calculation of the traffic shunt probability will be more consuming the computing performance of the server.
  • the statistic unit 48 can directly calculate the traffic offload probability of each recommended algorithm according to the calculated effect data of each recommended algorithm, and store the traffic offload probability of each recommended algorithm into the storage unit 410.
  • the access layer 44 may directly request the storage unit 410 to query the traffic offload probability of each recommendation algorithm, and the storage unit 410 returns the traffic offload probability of each recommendation algorithm to the access layer 44.
  • the statistic unit 48 may perform a statistical operation every time a response action sent by the terminal 140 is received or every time indicated by a predetermined time interval, and store the traffic split probability of each recommended algorithm for each time to the storage unit.
  • the storage unit 410 may replace the traffic offload probability of each recommended algorithm of the last acquired algorithm with the traffic offload probability of each recommended algorithm, or each recommendation algorithm that the storage unit 410 may acquire each time.
  • the traffic offloading probability is saved according to the statistical time.
  • the storage unit 410 may return to the access layer 44 at the latest. The effect data of each recommendation algorithm corresponding to the statistical time.
  • the access layer 44 can also query each push in the storage unit 410 by manually triggering.
  • the server 120 can be a standalone server or a combination of multiple servers, when the server 120 is a standalone server, the access layer 44, the database 46, and the statistics unit 48 are located here.
  • the storage unit 410 is a component structure in the server. When the server 120 is a combination of multiple servers, the access layer 44, the database 46, the statistics unit 48, and the storage unit 410 may be located in different servers.
  • FIG. 5 shows a flowchart of a process for allocating a recommendation algorithm for a traffic request
  • a device for implementing a process of allocating a recommendation algorithm for a traffic request may be located.
  • the process of allocating a recommendation algorithm for the traffic request may include:
  • the user interface processing unit 42 may first receive the traffic request sent by the at least one terminal, and the user interface processing unit 42 sends the received traffic request to the access layer 44, so that the access layer 44 also receives at least one terminal synchronously.
  • Access layer 44 can traverse the effect data of all recommended algorithms in the local cache.
  • the storage unit 410 of the back end may be triggered to query the effect data of the recommendation algorithm.
  • the access layer 44 detects that the effect data of the recommendation algorithm in the cache has not expired, the effect data of the recommendation algorithm may be queried in the local cache.
  • the effect data of the recommendation algorithm reflects the recommendation success rate of the recommendation algorithm, and since the recommendation success rate of each recommendation algorithm can be automatically allocated traffic for each recommendation algorithm according to the statistics, it can be better for the recommendation success.
  • the higher-rate recommendation algorithm allocates more traffic, thereby achieving the effect of greatly reducing the optimization period, automatically implementing the off-flow optimization, and improving the optimization efficiency and accuracy; meanwhile, the recommendation can be cached in the local cache in the access layer.
  • the effect data of the algorithm or the flow split probability so the recommended algorithm optimization method can avoid In some cases, the recommendation effect is drastically reduced, and the traffic can be automatically assigned to the better performing recommendation algorithm.
  • the effect data of the recommendation algorithm in a certain period of time may also be the total number of response actions in the time period.
  • the effect data corresponding to each time segment may be multiplied by The weights set in the time period are multiplied, and the products corresponding to each time period are added, and the obtained sum is the total effect data of the recommendation algorithm.
  • the weight of each recommendation algorithm or the traffic offload probability of each recommendation algorithm is determined according to the total effect data of each recommendation algorithm.
  • the recommended recommendation algorithms are recommendation algorithm 1, recommendation algorithm 2, and recommendation algorithm 3.
  • the time periods for determining statistics are time period 1, time period 2, and time period 3, respectively, and the weights assigned to each time period are respectively. For w1, w2 and w3;
  • the total number of response actions corresponding to the recommendation algorithm 1 in the statistical time period 1 is N11
  • the total number of response actions corresponding to the recommendation algorithm 1 in the statistical time period 2 is N12
  • the total number of response actions corresponding to the recommendation algorithm 1 in the time period 3 is N13
  • the total number of response actions corresponding to the recommendation algorithm 2 in the statistical time period 1 is N21
  • the total number of response actions corresponding to the recommendation algorithm 2 in the statistical time period 2 is N22
  • the total number of response actions corresponding to the recommendation algorithm 2 in the time period 3 is N23
  • the total number of response actions corresponding to the recommendation algorithm 3 in the statistical time period 1 is N31
  • the total number of response actions corresponding to the recommendation algorithm 3 in the statistical time period 2 is N32
  • statistics The total number of response actions corresponding to the recommendation algorithm 3 in the time period 3 is N33
  • the weight of the algorithm 1 or the traffic split probability is: F1/(F1+F2+F3)
  • the weight of the recommended algorithm 2 or the traffic split probability is: F2/(F1+F2+F3)
  • the weight of the last recommended algorithm 3 or the traffic split probability is: F3/(F1+F2+F3).
  • FIG. 6 is a schematic structural diagram of a recommendation algorithm optimization apparatus provided in an embodiment of the present invention.
  • the recommendation algorithm optimization apparatus is mainly illustrated by being applied to the server 120 in the implementation environment shown in FIG. 1.
  • the recommendation algorithm optimization apparatus may include an acquisition module 602, a calculation module 604, and an allocation module 606.
  • the obtaining module 602 can be configured to obtain statistical effect data of each recommendation algorithm.
  • the data is used to reflect the recommended success rate of each recommendation algorithm in the same statistical time window;
  • the calculation module 604 is configured to obtain the traffic offload probability of each recommendation algorithm according to the specific gravity of the effect data of each recommendation algorithm acquired by the obtaining module 602 in each recommendation algorithm;
  • the allocating module 606 can be configured to allocate a traffic request for each recommendation algorithm according to the traffic offload probability calculated by the computing module 604.
  • the recommendation algorithm optimization apparatus obtains the statistical effect data of each recommendation algorithm by using statistics, and calculates the traffic offload probability of each recommendation algorithm according to the effect data of each recommendation algorithm;
  • Each recommendation algorithm allocates a traffic request; solves the problem that the prior art needs to manually allocate traffic for the recommended algorithm and optimize the cycle length in the optimization process;
  • the effect data of the recommended algorithm reflects the recommended success rate of the recommended algorithm, because The traffic can be automatically allocated for each recommendation algorithm according to the recommended success rate of each recommendation algorithm, which can better allocate more traffic for the recommendation algorithm with higher recommendation success rate, thereby achieving a significant reduction in the optimization period and improvement. Optimize the efficiency and accuracy of the results.
  • FIG. 7 is a schematic structural diagram of a recommendation algorithm optimization apparatus provided in an embodiment of the present invention.
  • the recommendation algorithm optimization apparatus is mainly illustrated by being applied to the server 120 in the implementation environment shown in FIG. 1.
  • the recommendation algorithm optimization apparatus may include an acquisition module 702, a calculation module 704, and an allocation module 706.
  • the obtaining module 702 may be configured to obtain statistical effect data of each recommendation algorithm, where the effect data is used to reflect a recommendation success rate corresponding to each recommendation algorithm in the same statistical time window;
  • the calculation module 704 can be configured to obtain the traffic offload probability of each recommendation algorithm according to the specific gravity of the effect data of each recommendation algorithm acquired by the obtaining module 702 in each recommendation algorithm;
  • the allocating module 706 can be configured to allocate a traffic request for each recommendation algorithm according to the traffic offload probability calculated by the computing module 704.
  • the obtaining module 702 may include: an obtaining submodule 702a and a determining submodule 702b.
  • the obtaining sub-module 702a may be configured to: for each recommendation algorithm, obtain a recommendation success rate corresponding to the at least two mutually overlapping time segments of the recommendation algorithm that belong to the statistical time window, and each time segment overlapping each other has the same statistics. End time and different statistical start times;
  • the determining sub-module 702b may be configured to multiply a recommendation success rate corresponding to each time period overlapped with each other and a weight corresponding to the time period to obtain a product, and determine a sum value obtained by adding each product as a recommendation algorithm. Count the effect data of the time window.
  • the obtaining submodule 702a may include: an obtaining subunit 702a1, a counting subunit 702a2, and a determining subunit 702a3.
  • the obtaining sub-unit 702a1 can be used to obtain a corresponding recommendation algorithm in each time period.
  • the response action is a successful response of the at least one terminal to the recommendation result determined according to the recommendation algorithm in the time period, and the recommendation result is a recommendation result determined according to the recommendation algorithm within the time period;
  • the statistical subunit 702a2 can be used to count the number of response actions and the number of recommended results
  • the determining sub-unit 702a3 may be configured to determine the quotient value obtained by dividing the number of response actions counted by the statistical sub-unit 702a2 by the number of recommendation results counted by the statistical sub-unit 702a2 as the recommended success rate of the recommendation algorithm in the time period.
  • the calculation module 704 can include: a value acquisition sub-module 704a and a probability acquisition sub-module 704b.
  • a value acquisition sub-module 704a which may be used to add effect data of each recommendation algorithm to obtain a sum value
  • the probability acquisition sub-module 704b may be configured to divide the effect data of the recommendation algorithm by a sum value for each recommendation algorithm to obtain a traffic offload probability of the recommendation algorithm.
  • the allocating module 706 is further configured to:
  • a traffic request is allocated for each recommendation algorithm according to the traffic offload probability within a predetermined time period, and the predetermined time period is a time period between the current statistical end time and the next statistical end time.
  • the recommendation algorithm optimization apparatus obtains the statistical effect data of each recommendation algorithm by using statistics, and calculates the traffic offload probability of each recommendation algorithm according to the effect data of each recommendation algorithm;
  • Each recommendation algorithm allocates a traffic request; solves the problem that the prior art needs to manually allocate traffic for the recommended algorithm and optimize the cycle length in the optimization process;
  • the effect data of the recommended algorithm reflects the recommended success rate of the recommended algorithm, because The traffic can be automatically allocated for each recommendation algorithm according to the recommended success rate of each recommendation algorithm, which can better allocate more traffic for the recommendation algorithm with higher recommendation success rate, thereby achieving a significant reduction in the optimization period and improvement. Optimize the efficiency and accuracy of the results.
  • the recommendation algorithm optimization apparatus provided in the foregoing embodiment is only exemplified by the division of the foregoing functional modules when optimizing the recommendation algorithm. In actual applications, the foregoing functions may be assigned differently according to needs.
  • the function module is completed, that is, the internal structure of the server is divided into different functional modules to complete all or part of the functions described above.
  • the recommended algorithm optimization device and the recommended algorithm optimization method embodiment provided by the foregoing embodiments are in the same concept, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
  • the server 800 is configured to implement the recommendation algorithm optimization method provided by the foregoing embodiment.
  • the server 800 includes a central processing unit (CPU) 801, a system memory 804 including a random access memory (RAM) 802 and a read only memory (ROM) 803, and a connection.
  • the server 800 also includes a basic input/output system (I/O system) 806 that facilitates transfer of information between various devices within the computer, and a mass storage device for storing the operating system 813, applications 814, and other program modules 815. 807.
  • I/O system basic input/output system
  • the basic input/output system 806 includes a display 808 for displaying information and an input device 809 such as a mouse or keyboard for user input of information.
  • the display 808 and input device 809 are both connected to the central processing unit 801 via an input/output controller 810 that is coupled to the system bus 805.
  • the basic input/output system 806 can also include an input output controller 810 for receiving and processing input from a plurality of other devices, such as a keyboard, mouse, or electronic stylus.
  • input and output controller 810 also provides output to a display screen, printer, or other type of output device.
  • the mass storage device 807 is connected to the central processing unit 801 by a mass storage controller (not shown) connected to the system bus 805.
  • the mass storage device 807 and its associated computer readable medium provide non-volatile storage for the server 800. That is, the mass storage device 807 can include a computer readable medium (not shown) such as a hard disk or a CD-ROM drive.
  • the computer readable medium can include computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media include RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, DVD or other optical storage, tape cartridge, magnetic tape, disk storage or other magnetic storage device.
  • RAM random access memory
  • ROM read only memory
  • EPROM Erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • the server 800 can also be operated by a remote computer connected to the network through a network such as the Internet. That is, the server 800 can be connected to the network 812 through a network interface unit 811 connected to the system bus 805, or can be connected to other types of networks or remote computer systems (not shown) using the network interface unit 811.
  • the memory also includes one or more programs stored in the memory and configured to be executed by one or more central processing units 801.
  • the one or more central processing units 801 described above have the following functions:
  • a traffic request is assigned to each recommendation algorithm based on the traffic offload probability.
  • the performance data of each recommended algorithm of the statistics is obtained, including:
  • the recommended success rate of the recommendation algorithm in at least two mutually overlapping time segments belonging to the statistical time window is obtained, and each time segment overlapping each other has the same statistical ending time and different statistical starting moments.
  • the recommended success rate corresponding to each time period overlapped with each other and the weight corresponding to the time period are multiplied to obtain a product, and the sum value obtained by adding each product is determined as the effect data of the recommendation algorithm in the statistical time window.
  • the recommended success rate of the recommendation algorithm in the at least two mutually overlapping time segments that belong to the statistical time window includes:
  • the response action is a successful response of the at least one terminal to the recommendation result determined according to the recommendation algorithm in the time period, and the recommendation result is determined according to the recommendation algorithm in the time period Recommended result;
  • the quotient obtained by dividing the number of response actions by the number of recommendation results is determined as the recommended success rate of the recommendation algorithm over the time period.
  • the traffic splitting probability of each recommended algorithm is obtained according to the proportion of the effect data of each recommendation algorithm in each recommendation algorithm, including:
  • the effect data of the recommendation algorithm is divided by the sum value to obtain the traffic offload probability of the recommended algorithm.
  • the traffic request is allocated to each recommendation algorithm according to the traffic offload probability, including:
  • a traffic request is allocated for each recommendation algorithm according to the traffic offload probability within a predetermined time period, and the predetermined time period is a time period between the current statistical end time and the next statistical end time.
  • the recommendation algorithm optimization system may include a server 902 and at least one terminal 904.
  • the server 902 is connected to the terminal 904 by means of a wired network or a wireless network.
  • the terminal 904 may send a traffic request to the server 902, and the server 902 may feed back the recommendation result for the terminal 904.
  • the terminal 904 can choose to respond to the recommendation result.
  • Server 902 may include the recommendation algorithm optimization device described in FIG. 6 or FIG. 7, or server 902 may be the server depicted in FIG.
  • the recommendation algorithm optimization system obtains the effect data of each recommendation algorithm by using statistics on the server; and calculates the traffic offload probability of each recommendation algorithm according to the effect data of each recommendation algorithm; Probability allocates a traffic request for each recommendation algorithm; solves the problem that the prior art needs to manually allocate traffic for the recommendation algorithm and optimize the period in the optimization process; the effect data of the recommended algorithm reflects the recommended success rate of the recommendation algorithm. Since the traffic can be automatically allocated for each recommendation algorithm according to the recommended success rate of each recommendation algorithm, it is better to allocate more traffic for the recommendation algorithm with higher recommendation success rate, thereby achieving a greatly reduced optimization cycle. Improve the efficiency and accuracy of optimization.
  • FIG. 10 is a schematic structural diagram of another recommendation method optimization apparatus according to an embodiment of the present invention.
  • the video playback device can include a central processing unit (CPU) 100, a memory 101, and a non-volatile memory 102.
  • CPU central processing unit
  • memory 101 a non-volatile memory 102.
  • the non-volatile memory 102 stores a computer program for implementing optimization of the recommendation algorithm.
  • the CPU 100 can load the computer program from the non-volatile memory 102 into the memory 101 to form computer executable instructions.
  • the computer executable instructions are stored in the acquisition module 1011, the calculation module 1012, and the distribution module 1013. among them:
  • the obtaining module 1011 may be configured to obtain statistical effect data of each recommendation algorithm, where the effect data is used to reflect a recommendation success rate corresponding to each recommendation algorithm in the same statistical time window;
  • the calculation module 1012 is configured to obtain, according to the specific gravity of the effect data of each recommendation algorithm acquired by the obtaining module 1011, the traffic offload probability of each recommendation algorithm;
  • the allocating module 1013 may be configured to allocate a traffic request to each recommendation algorithm according to the traffic offload probability calculated by the computing module 1012.
  • the functions of the obtaining module 1011, the calculating module 1012, and the assigning module 1013 may be the same as the functions of the obtaining module 702, the calculating module 704, and the assigning module 706 in the recommendation algorithm optimizing apparatus shown in FIG. 7, respectively. This will not be repeated here.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Human Resources & Organizations (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

获取统计的各个推荐算法的效果数据;根据每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;根据所述流量分流概率为每个推荐算法分配流量请求。

Description

推荐算法优化方法、装置及系统
本申请要求于2013年12月13日提交中国专利局、申请号为201310689281.1、发明名称为“推荐算法优化方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及计算机技术领域,特别涉及一种推荐算法优化方法、装置及系统。
发明背景
推荐系统的推荐引擎中通常会同时运行多个推荐算法,在离线时统计每个推荐算法的效果数据;然后基于离线统计的结果,调整每个推荐算法的流量分配,从而进一步优化整体的推荐效果。
传统的推荐算法优化的流程如下:确定新推荐算法以及对应的少量流量;待推荐引擎准备好后,管理人员在前端为该新推荐算法进行流量分配;观察该新推荐算法的推荐效果,若推荐效果较优,则管理人员继续将流量分配给该新推荐算法;重复上面的流程直到将流量都分配给推荐效果最好的推荐算法。
发明内容
为了解决现有技术中在优化的过程中,需要人工为推荐算法分配流量,优化周期长的问题,本发明实施例提供了一种推荐算法优化方法、装置及系统。所述技术方案如下:
第一方面,提供了一种推荐算法优化方法,所述方法包括:
获取统计的各个推荐算法的效果数据,所述效果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
根据每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
根据所述流量分流概率为每个推荐算法分配流量请求。
第二方面,提供了一种推荐算法优化装置,所述装置包括:
获取模块,用于获取统计的各个推荐算法的效果数据,所述效果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
计算模块,用于根据所述获取模块获取的每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
分配模块,用于根据所述计算模块计算得到的所述流量分流概率为每个推荐算法分配流量请求。
第三方面,提供一种推荐算法优化装置,所述装置至少包括处理器、内存和非易失性存储器;其中,
所述非易失性存储器存储有用于实现推荐算法优化的计算机程序;
所述处理器用于将所述非易失性存储器中的所述计算机程序加载到所述内存中运行,形成计算机可执行指令,所述计算机可执行指令存储在获取模块,计算模块和分配模块中,其中:
获取模块用于获取统计的各个推荐算法的效果数据,所述效果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
计算模块用于根据所述获取模块获取的每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
分配模块用于根据所述计算模块计算得到的所述流量分流概率为每个推荐算法分配流量请求。
第四方面,提供了一种推荐算法优化系统,所述系统包括服务器和至少一个终端;
所述服务器包括如第二方面或第三方面所述的推荐算法优化装置。
本发明实施例提供的技术方案带来的有益效果是:
通过获取统计的各个推荐算法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概率;根据每个推荐算法的流量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程中,需要人工为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推荐算法的推荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优化周期,提高优化效率及准确率的效果。
附图简要说明
图1是本发明一个实施例中提供的推荐算法优化方法所涉及的实施环境的示意图;
图2是本发明一个实施例中提供的推荐算法优化方法的方法流程 图;
图3A是本发明另一个实施例中提供的推荐算法优化方法的方法流程图;
图3B是本发明部分实施例中提供的对选取的各个时间段所对应的推荐成功率进行统计的统计示意图;
图4是部分实施例中所涉及的服务器的内部结构关系的示意图;
图5是一个实施例中为流量请求分配推荐算法的过程的流程图;
图6是本发明一个实施例中提供的推荐算法优化装置的结构示意图;
图7是本发明另一个实施例中提供的推荐算法优化装置的结构示意图;
图8是本发明部分实施例中提供的服务器的结构示意图;
图9是本发明一个实施例中提供的推荐算法优化系统的示意图;
图10是本发明另外一个实施例中提供的推荐方法优化装置的结构示意图。
实施本发明的方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。文中所讲的“至少一个”是指一个、两个或两个以上。
请参见图1所示,其示出了本发明一个实施例中提供的推荐算法优化方法所涉及的实施环境的示意图。该实施环境可以包括服务器120和至少一个终端140,服务器120可以通过有线网络方式或无线网络方式与终端140连接。
服务器120具有向终端140推荐业务的功能,比如可以根据该终端用户在浏览器中的浏览内容、搜索内容以及用户的操作等信息为该用户推荐相应的业务。该服务器120可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。该服务器140可以是推荐系统的后台服务器。
终端140可以对服务器120发送的推荐业务进行响应,比如点击浏览该推荐业务。终端140通常可以包括智能手机、平板电脑、智能电视、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
请参见图2所示,其示出了本发明一个实施例中提供的推荐算法优 化方法的方法流程图。该推荐算法优化方法主要以应用于图1所示的实施环境中的服务器120中进行举例说明。该推荐算法优化方法可以包括:
201,获取统计的各个推荐算法的效果数据,效果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
202,根据每个推荐算法的效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
203,根据流量分流概率为每个推荐算法分配流量请求。
综上所述,本发明实施例提供的推荐算法优化方法,通过获取统计的各个推荐算法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概率;根据流量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程中,需要人工为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推荐算法的推荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优化周期,提高优化效率及准确率的效果。
请参见图3A所示,其示出了本发明一个实施例中提供的推荐算法优化方法的方法流程图。该推荐算法优化方法主要以应用于图1所示的实施环境中的服务器120中进行举例说明。该推荐算法优化方法可以包括:
301,对于每一个推荐算法,获取推荐算法在属于统计时间窗口内的至少两个互相重叠的时间段所对应的推荐成功率,互相重叠的每个时间段具有相同的统计结束时刻和不同的统计开始时刻;
这里所讲的推荐算法可用于为终端提供推荐业务的服务。在实际应用中,提供推荐业务的服务器中通常可以包含有多个推荐算法,当终端向该服务器发送流量请求时,服务器则可以为该流量请求选择一个推荐算法,根据该推荐算法为该流量请求确定出推荐结果,并将推荐结果发送给终端,这样,终端则可以根据推荐结果进行响应,比如可以对推荐结果进行点击浏览等(即对推荐结果进行成功响应),当然,终端也可以选择忽视该推荐结果,即不对该推荐结果进行任何响应或不进行成功响应。
服务器可以结合推荐算法的推荐成功率为推荐算法分配流量请求。很显然,在获取推荐算法成功率时,需要根据已收集到的终端对推荐算法所推荐的推荐结果进行的响应反馈来确定推荐算法的推荐成功率。
在实际应用的过程中,由于推荐算法的推荐成功率会受到很多因素的影响,很多时候在较短的时间段内并不稳定,比如一个推荐算法在1天前的每天内,推荐的成功率都比较低,但在这1天的推荐成功率突然增加很多(比如节日当天促销,网上售价比较低,此时推荐给终端的推 荐成功率会比较高),这1天的推荐成功率是不能准确代表该推荐算法的推荐成功率的,因此,在具体统计的过程中,通常会选取多个不同的时间段进行推荐算法的优化,每个时间段具有相同的统计结束时刻和不同的统计开始时刻。这里所讲的相同的统计结束时刻为统计时间窗口的结束时刻,该统计结束时刻可以与本次统计时的统计时刻相同,也可以与本次统计时的统计时刻不同,即可以为在本次统计的统计时刻之前的某一个时刻。
举例来讲,在同一个统计时刻对推荐算法所对应的一些时间段进行统计时,可以选择在该统计时刻之前的多个不同时间段进行统计,比如可以统计该推荐算法在统计时刻前的5分钟内的推荐成功率,还可以统计该推荐算法在统计时刻前的1小时内的推荐成功率,这里统计时间窗口的结束时刻与统计时刻相同。比如,统计时刻为2012年9月10日的上午9点,选取的时间段可以为以2012年9月10日的上午9点为结束时刻的5分钟内,以2012年9月10日的上午9点为结束时刻的1小时内,或以2012年9月10日的上午9点为结束时刻的1天内、1周内或1个月内等,并统计每个推荐算法分别在这些时间段内进行推荐的推荐成功率。
请参见图3B所示,其示出了本发明部分实施例中提供的对选取的各个时间段所对应的推荐成功率进行统计的统计示意图,图3B中示出了推荐算法1在选取的各个时间段所对应的推荐成功率,以及推荐算法2在选取的各个时间段所对应的推荐成功率,其中,选取的时间段分别为:统计时刻前的5分钟内(第一时间段)、统计时刻前的15分钟内(第二时间段)、统计时刻前的35分钟内(第三时间段)和统计时刻前的60分钟内(第四时间段)。对于推荐算法1来讲,在第一时间段内统计出的推荐成功率为37%,在第二时间段内统计出的推荐成功率为70%,在第三时间段内统计出的推荐成功率为24%,在第四时间段内统计出的推荐成功率为50%;对于推荐算法2来讲,在第一时间段内统计出的推荐成功率为64%,在第二时间段内统计出的推荐成功率为25%,在第三时间段内统计出的推荐成功率为50%,在第四时间段内统计出的推荐成功率为37%。
再举例来讲,在同一个统计时刻对推荐算法所对应的一些时间段进行统计时,可以选择在某一个指定时刻之前的多个不同时间段进行统计,这里所讲的指定时刻为统计时间窗口的结束时刻,该统计时间窗口的结束时刻为本次统计的统计时刻之前的某一个时刻。比如,统计时刻为2012年9月10日的上午9点,指定时刻可以为2012年9月9日的上午7点,这样选取的时间段可以为以2012年9月9日的上午7点为结束时刻的5分钟内,以2012年9月9日的上午7点为结束时刻的1 小时内,或以2012年9月9日的上午7点为结束时刻的1天内或1周内等,并统计每个推荐算法在这些时间段内进行推荐的推荐成功率。
在一种可能的实现方式中,获取推荐算法在每个时间段内的推荐成功率的具体过程如下:
第一,获取推荐算法在每个时间段中对应的响应动作和推荐结果,响应动作是至少一个终端在时间段内对根据推荐算法确定的推荐结果的成功响应,推荐结果是在时间段内根据推荐算法确定的推荐结果;
在具体应用时,终端会不断地向服务器发送流量请求,服务器在接收到流量请求之后,会为流量请求分配推荐算法,且服务器在为一个流量请求分配推荐算法之后,通常还对该流量请求进行标记,该标记用于表示该流量请求是标记的推荐算法进行推荐处理的,对应的,推荐算法对该流量请求进行处理,为该流量请求确定一个推荐结果,并将推荐结果反馈给发送该流量请求的终端,这样,终端则可以根据推荐结果进行积极的响应操作,比如点击浏览等,很显然,如果终端的用户对推荐结果没有兴趣,通常会选择忽略该推荐结果,比如不对该推荐结果进行响应或直接关闭该推荐结果。这里所讲的响应动作为终端根据推荐结果进行积极地响应操作,或者说终端根据推荐结果进行的成功响应。
由于将推荐结果发送给终端的时间以及终端反馈响应动作的时间均是可以确定的,因此可以获取在确定的时间段中某个推荐算法对应的响应动作和推荐结果。
第二,统计响应动作的数量与推荐结果的数量;
对于一个时间段来讲,服务器可以统计该时间段内每一个推荐算法所对应的响应动作的总数量和推荐结果的总数量。
第三,将响应动作的数量除以推荐结果的数量得到的商值确定为推荐算法在时间段内的推荐成功率。
对于一个时间段来讲,将统计出的某个推荐算法的响应动作的数量除以推荐结果的数量,得到一个商值,则可以将该商值作为该时间段内该推荐算法的推荐成功率。需要说明的是,在实际应用中,由于终端并不完全对推荐结果进行响应,因此该商值通常小于1。
值得注意的是,对于不同的推荐算法,选取的时间段均应当是相同的。举例来讲,对于推荐算法1来讲,选取的时间段为统计时刻前1小时的时间段和统计时刻前7天的时间段,相应的,对于推荐算法2来讲,选取的时间段也应当为统计时刻前1小时的时间段和统计时刻前7天的时间段。
302,将互相重叠的每个时间段所对应的推荐成功率和与时间段对应的权重相乘,得到乘积,将每个乘积相加得到的和值确定为推荐算法统计时间窗口的效果数据;
在通常情况下,由于不同的时间段对推荐成功率的影响可能是不同的,因此在确定推荐算法的总的推荐成功率时,通常需要根据实际情况预先为不同的时间段设置权重。举例来说,统计时刻前的7天内的第一时间段与统计时刻前的前5分钟内的第二时间段通常对推荐成功率的影响不同;通常,第一时间段由于时间跨度较长,在此时间段内的推荐成功率能更好的预估后续该推荐算法的推荐效果,即对推荐算法的影响可能比较大,而第二时间段由于时间跨度比较短,由于会存在网络状况等突发情况,在时间跨度较短的第二时间段确定出的推荐成功率的稳定性比较差;因此在考虑推荐效果时,通常会较少的考虑该时间段的影响。
对于一个推荐算法来讲,由于根据步骤301已经确定出了在多个时间段内该推荐算法的推荐成功率,则可以根据每个时间段所对应的推荐成功率以及权重确定该推荐算法的效果数据,即具体算法为:将该推荐算法的每个时间段内所对应的推荐成功率分别与对应的权重相乘,得到与每个时间段对应的乘积,然后将每个乘积相加得到的和值,将该和值确定为推荐算法的效果数据。举例来讲,若为推荐算法选取的时间段分别为统计时刻前的1个小时、统计时刻前的3个小时、统计时刻前的5个小时、统计时刻前的1天、统计时刻前的7天,统计出来的每个时间段对应的推荐成功率分别为w_1hour、w_3hour、w_5hour、w_1day和w_7day,每个时间段对应的权重分别为Effect_1hour、Effect_3hour、Effect_5hour、Effect_1day和Effect_7day,则最后得到的该推荐算法的效果数据则为:Effect_final=w_1hour*Effect_1hour+w_3hour*Effect_3hour+w_5hour*Effect_5hour+w_1day*Effect_1day+w_7day*Effect_7day。
仍旧参见图3B,如果为第一时间段、第二时间段、第三时间段和第四时间段设置的权重分别为0.1、0.2、0.3和0.4,则推荐算法1的效果数据为:44.9%=0.1*37%+0.2*70%+0.3*24%+0.4*50%;类似的,推荐算法2的效果数据为:41.2%=0.1*64%+0.2*25%+0.3*50%+0.4*37%。
303,将每个推荐算法的效果数据相加,得到和值;
304,对于每一个推荐算法,将推荐算法的效果数据除以和值,得到推荐算法的流量分流概率;
举例来讲,存在三个推荐算法,分别为推荐算法1、推荐算法2和推荐算法3,每个推荐算法的效果数据分别为效果数据1、效果数据2和效果数据3,则推荐算法1的流量分流概率为:效果数据1/(效果数据1+效果数据2+效果数据3),对应的,推荐算法2的流量分流概率为:效果数据2/(效果数据1+效果数据2+效果数据3),推荐算法3的流量分流概率为:效果数据3/(效果数据1+效果数据2+效果数据3)。
仍旧参见图3B所示,假如仅存在推荐算法1和推荐算法2,则推荐 算法1的流量分流概率为:44.9%/(44.9%+41.2%)=52.15%,推荐算法2的流量分流概率为:41.2%/(44.9%+41.2%)=47.85%。
305,在预定时间段内根据流量分流概率为每个推荐算法分配流量请求,预定时间段为本次的统计结束时刻与下一次的统计结束时刻之间的时间段。
在具体应用时,由于服务器可能会接收大量终端发送来的流量请求,因此需要不断地统计出最新的流量分流概率才能更好的提高对流量请求的推荐效果。由于服务器很可能在非常短的时间(比如1秒)中接收到大量的流量请求,如果每接收到一个流量请求,均去统计出一套新的流量分流概率,则会使得推荐时间比较长,对服务器的处理要求比较高,且由于在较短时间内对推荐算法分配接收到的流量请求时的差别也通常不会太大,因此在计算出流量分流概率之后,可以在持续的预定时间段内使用该计算出的流量分流概率为推荐算法分配流量请求,该预定时间段通常为本次的统计结束时刻与下一次的统计结束时刻之间的时间段。该预定时间段的选取可以根据实际确定,比如可以确定为1分钟、5分钟或1小时等。
换句话说,在本次统计完成后,服务器可以根据统计出来的推荐算法的流量分流概率为推荐算法分配流量请求,直到下一次统计完成得到新的推荐算法的流量分流概率,此时则丢弃原有的推荐算法的流量分流概率,使用新的推荐算法的流量分流概率为推荐算法分配流量请求。
综上所述,本发明实施例提供的推荐算法优化方法,通过获取统计的各个推荐算法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概率;根据流量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程中,需要人工为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推荐算法的推荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优化周期,提高优化效率及准确率的效果。
在一种可能的实现方式中,请参见图4所示,其示出了部分实施例中所涉及的服务器的内部结构关系的示意图,该服务器120可以包括但不限于:用户接口处理单元42、接入层44、数据库46、统计单元48和存储单元410,其中,用户接口处理单元42可以用于获取终端140发送的各种信息,比如流量请求或响应动作;接入层44可以调用推荐算法so_1,推荐算法so_2和推荐算法so_3对流量请求进行处理,在实际应用中,可能还存在其他的推荐算法,这里仅是进行示意性举例;数据库46用于存放从终端140获取的响应动作的信息;统计单元48可以根据数据库46中的响应动作对每个推荐算法的效果数据进行统计,一般的, 统计单元48可以实时对数据库46中的响应动作数据进行统计,比如实时统计每个推荐算法分别在1小时滑动窗口、3小时滑动窗口、5小时滑动窗口、1个自然天的固定窗口或7个自然天的固定窗口的效果数据;存储单元410用于存放统计单元48统计后的每个推荐算法的效果数据。
在具体实现时,用户接口处理单元42接收终端140发送的流量请求,并将该流量请求发送给接入层44,接入层44在接收到流量请求之后,则可以向存储单元410请求查询每个推荐算法的效果数据,存储单元410向接入层44返回每个推荐算法的效果数据,接入层44根据从存储单元410获取的每个推荐算法的效果数据计算出每个推荐算法的流量分流概率,接入层44根据计算得到的每个推荐算法流量分流概率为该流量请求分配推荐算法。接入层44在计算出每个推荐算法的流量分流概率之后,可以在指定时间段内持续使用该计算出的每个推荐算法的流量分流概率为流量请求分配推荐算法,比如可以将该指定时间设置为1分钟,当1分钟结束后,对接入层44中已经存储的每个推荐算法的流量分流概率进行删除,这样当接收到下一个流量请求时,继续执行向存储单元410请求查询每个推荐算法的效果数据的步骤。
一般来讲,该指定时间的设置是为了避免接入层在每接收到一个流量请求后,均要到存储单元410获取每个推荐算法的效果数据,并根据获取的每个推荐算法的效果数据计算出每个推荐算法的流量分流概率的情况,因为在短时间内从存储单元410中多次获取的每个推荐算法的效果数据可能都是相同或相近,对优化推荐算法的分配并无明显的改善,而这种频繁从存储单元410获取效果数据并计算流量分流概率会较多的消耗服务器的计算性能。
很显然,统计单元48可以直接根据统计出的每个推荐算法的效果数据计算出每个推荐算法的流量分流概率,并将每个推荐算法的流量分流概率存储至存储单元410中,此时,接入层44可以直接向存储单元410请求查询每个推荐算法的流量分流概率,存储单元410向接入层44返回每个推荐算法的流量分流概率。统计单元48可以在每接收到终端140发送的一个响应动作时或每隔预定时间间隔所指示的时刻时进行一次统计操作,将每次统计出的每个推荐算法的流量分流概率存储至存储单元410中,对应的,存储单元410可以将最后一次获取的每个推荐算法的流量分流概率替换原来存在的每个推荐算法的流量分流概率,或者存储单元410可以将每次获取的每个推荐算法的流量分流概率均按照统计时间进行保存,但这种情况下,当接入层44向存储单元410请求查询每个推荐算法的流量分流概率时,存储单元410可以向接入层44返回最晚统计时间所对应的每个推荐算法的效果数据。
接入层44还可以通过手动触发的方式查询存储单元410中每个推 荐算法的效果数据或流量分流概率。
值得注意的是,由于服务器120可以是一台独立的服务器,也可以是多个服务器的组合,因此当服务器120为一台独立的服务器时,这里的接入层44、数据库46、统计单元48和存储单元410则为该台服务器中的组成结构,当服务器120为多个服务器的组合时,这里的接入层44、数据库46、统计单元48和存储单元410可以分别位于不同的服务器中。
在另一种可能的实现方式中,请参见图5所示,其示出了一个实施例中为流量请求分配推荐算法的过程的流程图,实现为流量请求分配推荐算法的过程的设备可以位于图4中所示服务器的接入层44中,为该流量请求分配推荐算法的过程可以包括:
501、接收至少一个终端发送的流量请求;
比如,首先可以通过用户接口处理单元42接收至少一个终端发送的流量请求,用户接口处理单元42将接收到的流量请求发送给接入层44,这样接入层44也会同步接收到至少一个终端发送的流量请求。
502、遍历缓存中所有推荐算法的效果数据;
接入层44可以遍历本地缓存中所有推荐算法的效果数据。
503、若检测到缓存中没有推荐算法的效果数据或检测到缓存中推荐算法的效果数据过期,则触发后端查询推荐算法的效果数据;
若接入层44检测到本地缓存中没有推荐算法的效果数据或检测到本地缓存中推荐算法的效果数据过期时,则可以触发后端的存储单元410查询推荐算法的效果数据。
504、若检测到缓存中推荐算法的效果数据未过期,则在缓存中查询推荐算法的效果数据;
若接入层44检测到缓存中推荐算法的效果数据未过期,则可以在本地缓存中查询推荐算法的效果数据。
505、若某一个推荐算法的效果数据查询失败,则排除该推荐算法,得到剩余有效的推荐算法;
506、根据有效的推荐算法的效果数据,计算每个有效的推荐算法的流量分流概率;
507、根据计算出的每个有效的推荐算法的流量分流概率为该流量请求随机分配推荐算法。
由上可知,由于推荐算法的效果数据反映了推荐算法的推荐成功率,且这里由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优化周期,自动实现分流优化,提高优化效率及准确率的效果;同时,由于接入层中的本地缓存中可以缓存有推荐算法的效果数据或流量分流概率,因此该推荐算法优化方法能避免 某些推荐算法在特定情况下,推荐效果急剧下降,可以自动将流量分配给效果较好的推荐算法。
在其他可能的实现方式中,推荐算法在某个时间段内的效果数据还可以为该时间段内响应动作的总数量,对于一个推荐算法,可以将每个时间段所对应的效果数据乘以为该时间段设定的权重,得到乘积,将每个时间段所对应的乘积相加,得到的和值为推荐算法的总效果数据。根据每个推荐算法的总效果数据确定每个推荐算法所占的权重或者每个推荐算法的流量分流概率。
举例来讲,存在的推荐算法分别为推荐算法1、推荐算法2和推荐算法3,确定统计的时间段分别为时间段1、时间段2和时间段3,为每个时间段分配的权重分别为w1、w2和w3;
对于推荐算法1来讲,统计的时间段1内的与推荐算法1对应的响应动作的总数量为N11,统计的时间段2内的与推荐算法1对应的响应动作的总数量为N12,统计的时间段3内的与推荐算法1对应的响应动作的总数量为N13,据此得到的推荐算法1的总效果数据为:F1=w1*N11+w2*N12+w3*N13;
对于推荐算法2来讲,统计的时间段1内的与推荐算法2对应的响应动作的总数量为N21,统计的时间段2内的与推荐算法2对应的响应动作的总数量为N22,统计的时间段3内的与推荐算法2对应的响应动作的总数量为N23,据此得到的推荐算法2的总效果数据为:F2=w1*N21+w2*N22+w3*N23;
对于推荐算法3来讲,统计的时间段1内的与推荐算法3对应的响应动作的总数量为N31,统计的时间段2内的与推荐算法3对应的响应动作的总数量为N32,统计的时间段3内的与推荐算法3对应的响应动作的总数量为N33,据此得到的推荐算法3的总效果数据为:F3=w1*N31+w2*N32+w3*N33;
这样推荐算法1最后所占的权重或者说流量分流概率为:F1/(F1+F2+F3),推荐算法2最后所占的权重或者说流量分流概率为:F2/(F1+F2+F3),推荐算法3最后所占的权重或者说流量分流概率为:F3/(F1+F2+F3)。
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
请参见图6所示,其示出了本发明一个实施例中提供的推荐算法优化装置的结构示意图。该推荐算法优化装置主要以应用于图1所示的实施环境中的服务器120中进行举例说明。该推荐算法优化装置可以包括:获取模块602、计算模块604和分配模块606。
获取模块602,可以用于获取统计的各个推荐算法的效果数据,效 果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
计算模块604,可以用于根据获取模块602获取的每个推荐算法的效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
分配模块606,可以用于根据计算模块604计算得到的流量分流概率为每个推荐算法分配流量请求。
综上所述,本发明实施例提供的推荐算法优化装置,通过获取统计的各个推荐算法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概率;根据流量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程中,需要人工为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推荐算法的推荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优化周期,提高优化效率及准确率的效果。
请参见图7所示,其示出了本发明一个实施例中提供的推荐算法优化装置的结构示意图。该推荐算法优化装置主要以应用于图1所示的实施环境中的服务器120中进行举例说明。该推荐算法优化装置可以包括:获取模块702、计算模块704和分配模块706。
获取模块702,可以用于获取统计的各个推荐算法的效果数据,效果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
计算模块704,可以用于根据获取模块702获取的每个推荐算法的效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
分配模块706,可以用于根据计算模块704计算得到的流量分流概率为每个推荐算法分配流量请求。
在本实施例中的第一种可能的实现方式中,获取模块702可以包括:获取子模块702a和确定子模块702b。
获取子模块702a,可以用于对于每一个推荐算法,获取推荐算法在属于统计时间窗口内的至少两个互相重叠的时间段所对应的推荐成功率,互相重叠的每个时间段具有相同的统计结束时刻和不同的统计开始时刻;
确定子模块702b,可以用于将互相重叠的每个时间段所对应的推荐成功率和与时间段对应的权重相乘,得到乘积,将每个乘积相加得到的和值确定为推荐算法在统计时间窗口的效果数据。
在本实施例中的第二种可能的实现方式中,获取子模块702a可以包括:获取子单元702a1、统计子单元702a2和确定子单元702a3。
获取子单元702a1,可以用于获取推荐算法在每个时间段中对应的 响应动作和推荐结果,响应动作是至少一个终端在时间段内对根据推荐算法确定的推荐结果的成功响应,推荐结果是在时间段内根据推荐算法确定的推荐结果;
统计子单元702a2,可以用于统计响应动作的数量与推荐结果的数量;
确定子单元702a3,可以用于将统计子单元702a2统计出的响应动作的数量除以统计子单元702a2统计出的推荐结果的数量得到的商值确定为推荐算法在时间段内的推荐成功率。
在本实施例中的第三种可能的实现方式中,计算模块704可以包括:和值获取子模块704a和概率获取子模块704b。
和值获取子模块704a,可以用于将每个推荐算法的效果数据相加,得到和值;
概率获取子模块704b,可以用于对于每一个推荐算法,将推荐算法的效果数据除以和值,得到推荐算法的流量分流概率。
在本实施例中的第四种可能的实现方式中,分配模块706还可以用于:
在预定时间段内根据流量分流概率为每个推荐算法分配流量请求,预定时间段为本次的统计结束时刻与下一次的统计结束时刻之间的时间段。
综上所述,本发明实施例提供的推荐算法优化装置,通过获取统计的各个推荐算法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概率;根据流量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程中,需要人工为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推荐算法的推荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优化周期,提高优化效率及准确率的效果。
需要说明的是:上述实施例中提供的推荐算法优化装置在对推荐算法进行优化时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的推荐算法优化装置与推荐算法优化方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参见图8所示,其示出了本发明部分实施例中提供的服务器的结构方框图。该服务器800用于实施上述实施例提供的推荐算法优化方法。该服务器800包括中央处理单元(CPU)801、包括随机存取存储器(RAM)802和只读存储器(ROM)803的系统存储器804,以及连接 系统存储器804和中央处理单元801的系统总线805。该服务器800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
该基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中该显示器808和输入设备809都通过连接到系统总线805的输入/输出控制器810连接到中央处理单元801。该基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
该大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。该大容量存储设备807及其相关联的计算机可读介质为服务器800提供非易失性存储。也就是说,该大容量存储设备807可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
根据本发明公开的各种实施例,该服务器800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器800可以通过连接在该系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
该存储器还包括一个或者一个以上的程序,该一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上中央处理单元801执行。上述一个或者多个中央处理单元801具有如下功能:
获取统计的各个推荐算法的效果数据,效果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
根据每个推荐算法的效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
根据流量分流概率为每个推荐算法分配流量请求。
在本实施例中的第一种可能的实现方式中,获取统计的各个推荐算法的效果数据,包括:
对于每一个推荐算法,获取推荐算法在属于统计时间窗口内的至少两个互相重叠的时间段所对应的推荐成功率,互相重叠的每个时间段具有相同的统计结束时刻和不同的统计开始时刻;
将互相重叠的每个时间段所对应的推荐成功率和与时间段对应的权重相乘,得到乘积,将每个乘积相加得到的和值确定为推荐算法在统计时间窗口的效果数据。
在本实施例中的第二种可能的实现方式中,获取推荐算法在属于统计时间窗口内的至少两个互相重叠的时间段所对应的推荐成功率,包括:
获取推荐算法在每个时间段中对应的响应动作和推荐结果,响应动作是至少一个终端在时间段内对根据推荐算法确定的推荐结果的成功响应,推荐结果是在时间段内根据推荐算法确定的推荐结果;
统计响应动作的数量与推荐结果的数量;
将响应动作的数量除以推荐结果的数量得到的商值确定为推荐算法在时间段内的推荐成功率。
在本实施例中的第三种可能的实现方式中,根据每个推荐算法的效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率,包括:
将每个推荐算法的效果数据相加,得到和值;
对于每一个推荐算法,将推荐算法的效果数据除以和值,得到推荐算法的流量分流概率。
在本实施例中的第四种可能的实现方式中,根据流量分流概率为每个推荐算法分配流量请求,包括:
在预定时间段内根据流量分流概率为每个推荐算法分配流量请求,预定时间段为本次的统计结束时刻与下一次的统计结束时刻之间的时间段。
请参见图9所示,其示出了本发明一个实施例中提供的推荐算法优化系统的示意图,该推荐算法优化系统主要以应用于图1所示的实施环境中进行举例说明。该推荐算法优化系统可以包括服务器902和至少一个终端904,服务器902通过有线网络方式或无线网络方式与终端904连接,终端904可以向服务器902发送流量请求,服务器902可以为终端904反馈推荐结果,对应的,终端904可以选择对该推荐结果进行响应。
服务器902可以包括图6或图7中所描述的推荐算法优化装置,或服务器902可以为图8中所描述的服务器。
综上所述,本发明实施例提供的推荐算法优化系统,通过在服务器获取统计的各个推荐算法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概率;根据流量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程中,需要人工为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推荐算法的推荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优化周期,提高优化效率及准确率的效果。
图10为根据本发明实施方式的另外一种推荐方法优化装置的结构示意图。如图10所示,该视频播放装置可包括一中央处理器(CPU)100、一内存101、以及一非易失性存储器102。
其中,非易失性存储器102存储有用于实现推荐算法优化的计算机程序。
CPU100可以从非易失性存储器102中将所述计算机程序加载到内存101中运行,形成计算机可执行指令。其中所述计算机可执行指令存储在获取模块1011,计算模块1012和分配模块1013中。其中:
获取模块1011,可以用于获取统计的各个推荐算法的效果数据,效果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
计算模块1012,可以用于根据获取模块1011获取的每个推荐算法的效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
分配模块1013,可以用于根据计算模块1012计算得到的流量分流概率为每个推荐算法分配流量请求。
在一个实施方式中,获取模块1011,计算模块1012和分配模块1013的功能可分别与图7所示的推荐算法优化装置中的获取模块702,计算模块704,以及分配模块706的功能相同,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

  1. 一种推荐算法优化方法,其特征在于,所述方法包括:
    获取统计的各个推荐算法的效果数据,所述效果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
    根据每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
    根据所述流量分流概率为每个推荐算法分配流量请求。
  2. 根据权利要求1所述的方法,其特征在于,所述获取统计的各个推荐算法的效果数据,包括:
    对于每一个推荐算法,获取所述推荐算法在属于所述统计时间窗口内的至少两个互相重叠的时间段所对应的推荐成功率,互相重叠的每个时间段具有相同的统计结束时刻和不同的统计开始时刻;
    将互相重叠的每个时间段所对应的推荐成功率和与所述时间段对应的权重相乘,得到乘积,将每个乘积相加得到的和值确定为所述推荐算法在所述统计时间窗口的效果数据。
  3. 根据权利要求2所述的方法,其特征在于,所述获取所述推荐算法在属于所述统计时间窗口内的至少两个互相重叠的时间段所对应的推荐成功率,包括:
    获取所述推荐算法在每个时间段中对应的响应动作和推荐结果,所述响应动作是至少一个终端在所述时间段内对根据所述推荐算法确定的推荐结果的成功响应,所述推荐结果是在所述时间段内根据所述推荐算法确定的推荐结果;
    统计所述响应动作的数量与所述推荐结果的数量;
    将所述响应动作的数量除以所述推荐结果的数量得到的商值确定为所述推荐算法在所述时间段内的推荐成功率。
  4. 根据权利要求2或3所述的方法,其特征在于,所述根据每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率,包括:
    将每个推荐算法的所述效果数据相加,得到和值;
    对于每一个推荐算法,将所述推荐算法的效果数据除以所述和值,得到所述推荐算法的流量分流概率。
  5. 根据权利要求4所述的方法,其特征在于,所述根据所述流量分流概率为每个推荐算法分配流量请求,包括:
    在预定时间段内根据所述流量分流概率为每个推荐算法分配流量请求,所述预定时间段为本次的所述统计结束时刻与下一次的统计结束 时刻之间的时间段。
  6. 一种推荐算法优化装置,其特征在于,所述装置包括:
    获取模块,用于获取统计的各个推荐算法的效果数据,所述效果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
    计算模块,用于根据所述获取模块获取的每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
    分配模块,用于根据所述计算模块计算得到的所述流量分流概率为每个推荐算法分配流量请求。
  7. 根据权利要求6所述的装置,其特征在于,所述获取模块包括:
    获取子模块,用于对于每一个推荐算法,获取所述推荐算法在属于所述统计时间窗口内的至少两个互相重叠的时间段所对应的推荐成功率,互相重叠的每个时间段具有相同的统计结束时刻和不同的统计开始时刻;
    确定子模块,用于将互相重叠的每个时间段所对应的推荐成功率和与所述时间段对应的权重相乘,得到乘积,将每个乘积相加得到的和值确定为所述推荐算法在所述统计时间窗口的效果数据。
  8. 根据权利要求7所述的装置,其特征在于,所述获取子模块包括:
    获取子单元,用于获取所述推荐算法在每个时间段中对应的响应动作和推荐结果,所述响应动作是至少一个终端在所述时间段内对根据所述推荐算法确定的推荐结果的成功响应,所述推荐结果是在所述时间段内根据所述推荐算法确定的推荐结果;
    统计子单元,用于统计所述响应动作的数量与所述推荐结果的数量;
    确定子单元,用于将所述统计子单元统计出的所述响应动作的数量除以所述统计子单元统计出的所述推荐结果的数量得到的商值确定为所述推荐算法在所述时间段内的推荐成功率。
  9. 根据权利要求7或8所述的装置,其特征在于,所述计算模块包括:
    和值获取子模块,用于将每个推荐算法的所述效果数据相加,得到和值;
    概率获取子模块,对于每一个推荐算法,将所述推荐算法的效果数据除以所述和值,得到所述推荐算法的流量分流概率。
  10. 根据权利要求9所述的装置,其特征在于,所述分配模块,还用于:
    在预定时间段内根据所述流量分流概率为每个推荐算法分配流量请求,所述预定时间段为本次的所述统计结束时刻与下一次的统计结束 时刻之间的时间段。
  11. 一种推荐算法优化装置,其特征在于,该装置至少包括:处理器、内存和非易失性存储器;其中,
    所述非易失性存储器存储有用于实现推荐算法优化的计算机程序;
    所述处理器用于将所述非易失性存储器中的所述计算机程序加载到所述内存中运行,形成计算机可执行指令,所述计算机可执行指令存储在获取模块,计算模块和分配模块中,其中:
    获取模块用于获取统计的各个推荐算法的效果数据,所述效果数据用于反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
    计算模块用于根据所述获取模块获取的每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;
    分配模块用于根据所述计算模块计算得到的所述流量分流概率为每个推荐算法分配流量请求。
  12. 根据权利要求11所述的装置,其特征在于,所述获取模块包括:
    获取子模块,用于对于每一个推荐算法,获取所述推荐算法在属于所述统计时间窗口内的至少两个互相重叠的时间段所对应的推荐成功率,互相重叠的每个时间段具有相同的统计结束时刻和不同的统计开始时刻;
    确定子模块,用于将互相重叠的每个时间段所对应的推荐成功率和与所述时间段对应的权重相乘,得到乘积,将每个乘积相加得到的和值确定为所述推荐算法在所述统计时间窗口的效果数据。
  13. 根据权利要求12所述的装置,其特征在于,所述获取子模块包括:
    获取子单元,用于获取所述推荐算法在每个时间段中对应的响应动作和推荐结果,所述响应动作是至少一个终端在所述时间段内对根据所述推荐算法确定的推荐结果的成功响应,所述推荐结果是在所述时间段内根据所述推荐算法确定的推荐结果;
    统计子单元,用于统计所述响应动作的数量与所述推荐结果的数量;
    确定子单元,用于将所述统计子单元统计出的所述响应动作的数量除以所述统计子单元统计出的所述推荐结果的数量得到的商值确定为所述推荐算法在所述时间段内的推荐成功率。
  14. 根据权利要求12或13所述的装置,其特征在于,所述计算模块包括:
    和值获取子模块,用于将每个推荐算法的所述效果数据相加,得到和值;
    概率获取子模块,对于每一个推荐算法,将所述推荐算法的效果数据除以所述和值,得到所述推荐算法的流量分流概率。
  15. 根据权利要求14所述的装置,其特征在于,所述分配模块还用于:
    在预定时间段内根据所述流量分流概率为每个推荐算法分配流量请求,所述预定时间段为本次的所述统计结束时刻与下一次的统计结束时刻之间的时间段。
  16. 一种推荐算法优化系统,其特征在于,所述系统包括服务器和至少一个终端;
    所述服务器包括如权利要求6至15中任一所述的推荐算法优化装置。
PCT/CN2015/072713 2013-12-13 2015-02-11 推荐算法优化方法、装置及系统 WO2015085969A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/102,175 US20160379122A1 (en) 2013-12-13 2015-02-11 Recommendation algorithm optimization method, device and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310689281.1 2013-12-13
CN201310689281.1A CN104090893B (zh) 2013-12-13 2013-12-13 推荐算法优化方法、装置及系统

Publications (1)

Publication Number Publication Date
WO2015085969A1 true WO2015085969A1 (zh) 2015-06-18

Family

ID=51638609

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/072713 WO2015085969A1 (zh) 2013-12-13 2015-02-11 推荐算法优化方法、装置及系统

Country Status (3)

Country Link
US (1) US20160379122A1 (zh)
CN (1) CN104090893B (zh)
WO (1) WO2015085969A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113300972A (zh) * 2020-06-12 2021-08-24 阿里巴巴集团控股有限公司 一种流量分配方法、装置、服务器及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104090893B (zh) * 2013-12-13 2015-11-18 深圳市腾讯计算机系统有限公司 推荐算法优化方法、装置及系统
CN107623863B (zh) * 2017-09-21 2020-11-06 广州华多网络科技有限公司 算法测试方法、装置及服务器
CN108021639A (zh) * 2017-11-29 2018-05-11 广东欧珀移动通信有限公司 信息推送方法、装置、服务器以及存储介质
EP3522552A1 (en) 2018-01-31 2019-08-07 Thomson Licensing Method of selection of a recommendation algorithm and corresponding apparatus
CN109657801B (zh) * 2019-02-14 2021-01-26 网易(杭州)网络有限公司 推荐系统的分流方法、装置及可读存储介质
CN109754611B (zh) * 2019-03-28 2021-11-09 西安艾润物联网技术服务有限责任公司 智能车库管理方法、装置、系统及可读存储介质
CN110933504B (zh) * 2019-12-13 2022-07-08 北京达佳互联信息技术有限公司 视频推荐方法、装置、服务器和存储介质
CN112633321B (zh) * 2020-11-26 2024-08-23 北京瑞友科技股份有限公司 一种人工智能推荐系统及方法
CN114528371A (zh) * 2022-01-13 2022-05-24 上海森亿医疗科技有限公司 基于人机交互的文本推荐方法、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967533A (zh) * 2006-07-17 2007-05-23 北京航空航天大学 采用元推荐引擎的门户个性化推荐服务方法和系统
CN101271558A (zh) * 2008-05-16 2008-09-24 华东师范大学 基于上下文信息的多策略商品推荐系统
US20110055004A1 (en) * 2009-09-02 2011-03-03 Bradd Elden Libby Method and system for selecting and optimizing bid recommendation algorithms
CN104090893A (zh) * 2013-12-13 2014-10-08 深圳市腾讯计算机系统有限公司 推荐算法优化方法、装置及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526414A (en) * 1994-10-26 1996-06-11 Northern Telecom Limited Dynamically controlled routing using virtual nodes
US6173053B1 (en) * 1998-04-09 2001-01-09 Avaya Technology Corp. Optimizing call-center performance by using predictive data to distribute calls among agents
CN1750481A (zh) * 2005-09-29 2006-03-22 西安交大捷普网络科技有限公司 基于时间段加权统计模型的网络异常检测方法
CN101370113B (zh) * 2008-10-08 2010-06-09 广东威创视讯科技股份有限公司 一种视频会议接入媒体服务器的资源管理方法及其装置
US12014410B2 (en) * 2009-07-28 2024-06-18 Comcast Cable Communications, Llc Content storage management
CN101727278A (zh) * 2009-12-18 2010-06-09 深圳华为通信技术有限公司 一种排列菜单的方法及终端
US8489581B2 (en) * 2010-07-28 2013-07-16 International Business Machines Corporation Method and apparatus for self optimizing data selection
JP2012190061A (ja) * 2011-03-08 2012-10-04 Sony Corp 情報処理装置、端末装置、情報提示システム、評価スコアの算出方法、及びプログラム
CN102135991A (zh) * 2011-03-11 2011-07-27 桂林电子科技大学 基于后向学习的动态多属性服务选择方法
CN102760124B (zh) * 2011-04-25 2014-11-12 阿里巴巴集团控股有限公司 一种推荐数据的推送方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967533A (zh) * 2006-07-17 2007-05-23 北京航空航天大学 采用元推荐引擎的门户个性化推荐服务方法和系统
CN101271558A (zh) * 2008-05-16 2008-09-24 华东师范大学 基于上下文信息的多策略商品推荐系统
US20110055004A1 (en) * 2009-09-02 2011-03-03 Bradd Elden Libby Method and system for selecting and optimizing bid recommendation algorithms
CN104090893A (zh) * 2013-12-13 2014-10-08 深圳市腾讯计算机系统有限公司 推荐算法优化方法、装置及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113300972A (zh) * 2020-06-12 2021-08-24 阿里巴巴集团控股有限公司 一种流量分配方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN104090893A (zh) 2014-10-08
CN104090893B (zh) 2015-11-18
US20160379122A1 (en) 2016-12-29

Similar Documents

Publication Publication Date Title
WO2015085969A1 (zh) 推荐算法优化方法、装置及系统
WO2019205371A1 (zh) 服务器、消息分配的方法及存储介质
US10528970B2 (en) Systems, methods, and devices for pipelined processing of online advertising performance data
US10515132B2 (en) Optimizing transmission of digital components
US10242388B2 (en) Systems and methods for efficiently selecting advertisements for scoring
US20170126583A1 (en) Method and electronic device for bandwidth allocation based on online media services
WO2019001080A1 (zh) 一种直播列表镜像展示方法、直播平台服务器及客户端
WO2017166643A1 (zh) 一种任务资源的量化方法和装置
JP2016531518A (ja) 動的電話番号割り当て
CN107451853B (zh) 一种红包实时派发的方法、装置、系统及存储介质
US10375157B2 (en) System and method for reducing data streaming and/or visualization network resource usage
CN110599148B (zh) 集群数据处理方法、装置、计算机集群及可读存储介质
US20180173767A1 (en) System and method for facilitating queries via request-prediction-based temporary storage of query results
CN106657327A (zh) 消息推送方法及装置
CN108604194A (zh) 概率性调节
CN110795284B (zh) 一种数据恢复方法、装置、设备及可读存储介质
CN110008050B (zh) 用于处理信息的方法和装置
CN108566370A (zh) 一种数据回源的方法以及装置
WO2017075967A1 (zh) 在线媒体服务的带宽分配方法及系统
CN110909978A (zh) 资源处理方法、装置、服务器及计算机可读存储介质
WO2021068113A1 (zh) 时长统计方法、装置、电子设备和计算机可读介质
US20210185000A1 (en) Dynamic Email Content Engine
US10085048B2 (en) Customizing supplemental content delivery
CN108415908B (zh) 一种多媒体数据的处理方法及服务器
CN113079062B (zh) 一种资源调整方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15727851

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15102175

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 311016)

122 Ep: pct application non-entry in european phase

Ref document number: 15727851

Country of ref document: EP

Kind code of ref document: A1