Most search engines and many websites and are funded by advertisements. For example, when a user submits a search, the resulting response typically includes advertisements.
Although advertisers bid different amounts to have their advertisements appear with respect to keywords, in general, a website is paid by an advertiser only when its advertisement is clicked by a user. As a result, while bidding is one factor in computing revenue, websites also estimate which advertisements are more likely to be clicked with respect to a query, and in general show those advertisements in order to attempt to maximize profit.
Known solutions estimate which advertisement is most likely to be clicked based on the individual features of advertisements and their historical click-through rates. However, such estimates are only predictions that can be improved, and any improvement in estimating which advertisements are more likely to be clicked, and thus generate more revenue, is desirable.
This Summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in any way that would limit the scope of the claimed subject matter.
Briefly, various aspects of the subject matter described herein are directed towards a technology by which ratings values are computed for web content items (e.g., advertisements in a paid search system) based upon head-to-head evaluations as to which advertisement or advertisements were selected (clicked) from among a set of advertisements that were shown together. In one aspect, records of a query log are processed, in which each relevant record includes that data that corresponds to a plurality of advertisements that were shown together, and each advertisement of those shown together that was clicked.
In one aspect, the advertisements are processed in selected pairs, in which the rating value of a selected advertisement of the pair is increased, while the rating value of a non-selected advertisement of the pair is decreased. Only those pairs in which one advertisement was selected and another was not selected may be used, e.g., pairs in which both were selected or both not selected may be skipped. In one implementation, Elo ratings formulas are employed for the increasing and decreasing rating value computations.
In one aspect, the rating value associated with an advertisement may be combined with other results, such as based upon bidding keywords and relevance scores. The combined result may be used to select and/or rank advertisements for returning with a query response.
Other advantages may become apparent from the following detailed description when taken in conjunction with the drawings.
The present invention is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
Various aspects of the technology described herein are generally directed towards predicting which advertisement of a set of possible advertisements is most likely to be clicked, by using head-to-head ratings computed from when those advertisements previously appeared together. The ratings are based upon actual click results that were collected when those advertisements previously were presented together. In general, this technology accounts for relationships and dependencies between advertisements that exist when those advertisements appear together.
In one implementation, a ratings mechanism is based upon the known Elo rating system often used to rate chess opponents. In general, advertisements that are shown together are evaluated in pairs to see which one is clicked (analogous to winning a contest between the two), with a ranking score determined based upon the number of head-to-head clicks. The use of such a head-to-head rating system thus models relationships and dependencies between advertisements, and in practice has been found to noticeably improve the prediction success rate. Note however that head-to-head is not necessarily limited to pairs, e.g., instead of or in addition to pairs, sets of three or even more advertisements (e.g., triplets) may be considered as to which one or ones were clicked and which were not in a given set.
While some of the examples described herein are directed towards an advertising model, other search-related uses for such relative strength ratings are feasible, such as with respect to matching other content items to a query. Further, while the Elo rating system is used as an example, it is understood that any head-to-head rating system, such as one based upon statistics, may be used. As such, the present invention is not limited to any particular embodiments, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used various ways that provide benefits and advantages in computing and searching in general.
Turning to
For efficiency, the paid search advertisement system 102 typically does not dynamically compute scores for advertisements, but rather pre-computes them offline, for later comparing to queries for selection purposes as a query arrives. A bidding, scoring and ratings-based advertisement ranking mechanism 114 as represented in
As represented in
To compute head-to-head ratings, click data is maintained in query logs 122. The click data includes which advertisements appeared together, and which advertisement was clicked (or advertisements were clicked) when they did. This click data is processed as described herein by a ratings computation mechanism 124 into the head-to-head ratings data 120 for the various advertisements. Note that this head-to-head ratings data 120 may be used in any way, but in one implementation, is used in conjunction with other relevance scoring and bidding data (e.g., scaled and added to existing scores) to select the advertisements.
Each advertisement (or group of similar advertisements such as from one client) thus has a numerical rating value; note that as used herein, “advertisement” thus refers to a single advertisement or any grouping. In general, when multiple advertisements are displayed on a webpage, the rating of those advertisements that were clicked is increased by the ratings computation mechanism 124; the rating of those that were not clicked is decreased.
One type of head-to-head rating system used in the ratings computation mechanism 124 is the Elo rating system. The Elo rating system is typically used to predict the performance of players in chess and some other two-player games. In general, each player has a rating, which corresponds to an estimate of the player's strength. In one implementation, the Elo system, (which may be combined with existing prediction techniques) is used to predict which advertisement is most likely to be clicked. To this end, the advertisements are analogous to game players, their simultaneous appearance in search results is analogous to a tournament match, and when one advertisement is clicked and the other is not, the clicked advertisement is analogous to the tournament match winner and the non-clicked advertisement to the tournament match loser.
Thus, each time several advertisements are shown together, it is assumed that they participate in a competition for a user's attention. Correspondingly, if the user clicks on one (or more) of them, the clicked on advertisement (or advertisements) win in the competition while the others lose.
Note that the Elo scheme was designed to compute rating updates only for two player contests, and is thus is not directly applicable when more than two advertisements are shown together. However, the technology described herein separates the set of advertisements that were shown together into pairs, with the Elo updates computed for each pair of shown advertisements; (note that pairs may be limited to only those in which there is a “clicked” winner and a “non-clicked” loser, that is, ties are not considered). As can be readily appreciated, this ratings computation mechanism 124 based upon pairing and updating ratings is very efficient and can be implemented in large scale systems. Further note that in an alternative system, ties can be considered to some extent, such as to slightly increase the rating of both when both were selected, and slightly decrease the rating of both when both were non-selected.
Thereafter, when the search engine/website selects which advertisements to display for a query, and/or which advertisement to assign to a slot, the prediction based on the head-to-head rating system is used. Typically, it is used in combination with the predictions/results from another existing scheme.
Step 206 begins processing the selected query log record to determine which advertisement or advertisements were clicked of those that appeared together. For example, if for a given query record K=4, and advertisements A, B, C, D were shown together and advertisements A and B were clicked on by the user, then advertisements C and D were not clicked. This example query log record implicitly specifies six head-to-head “tournament matches” between advertisements and their results, namely head-to-head tournament matches between all possible pairs, (A, B), (A, C), (A, D), (B, C), (B, D), and (C, D). The results of the head-to-head tournament matches (A, C) and (A, D) have A winning; the results of (B, C) and (B, D) have B winning. This is because in each of these head-to-head tournament matches, one advertisement was clicked while the other was not clicked. The remaining tournament matches are considered ties.
Such head-to-head tournament results are used to update the ratings of each advertisement, which in one implementation is performed using standard Elo formulas as the update rule to update the advertisement ratings. For example, consider the tournament match (A, C) where A wins against C. In an Elo-based system, the ratings are updated for this pairing (at step 208) as follows:
Here, c is a variable parameter (typically on the order of 0.005). Step 210 returns to step 206 so as to repeat the process for any other pairs in the query record that is currently being processed. Note that in this implementation, step 206 does not select ties (such as (A, B)) for processing; only pairs in which one advertisement was clicked and one advertisement was not clicked are selected.
Steps 212 and 213 repeat the ratings processing over the other query log records to update the ratings of these and other advertisements. As can be readily appreciated, updating the ratings is very efficient; as new query logs come in, only the above operations (other than initializing to zero) are needed to update the ratings.
Finally, step 214 adds (or otherwise mathematically combines) the rating, such as scaled by an appropriate constant factor, to already existing click-through-rate estimates. Using the rating in this way improves prediction accuracy; the scaling factor may be tuned or otherwise varied for better results.
As can be seen, there is shown a method and mechanism for improving the quality of estimates of advertisements for click-through-rate (CTR) prediction. Historical information about what advertisements were clicked in response to search queries is processed to compute a rating for each advertisement. This rating may be used in conjunction with already existing click-through-rate prediction schemes to improve the chances of accurately predicting which advertisements will be clicked on in response to future search queries. The prediction is based on correlations among different advertisements shown together, as maintained in historical data to compute the rating.
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to: personal computers, server computers, hand-held or laptop devices, tablet devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in local and/or remote computer storage media including memory storage devices.
With reference to
The computer 310 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer 310 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise 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 includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the computer 310. Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above may also be included within the scope of computer-readable media.
The system memory 330 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 331 and random access memory (RAM) 332. A basic input/output system 333 (BIOS), containing the basic routines that help to transfer information between elements within computer 310, such as during start-up, is typically stored in ROM 331. RAM 332 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 320. By way of example, and not limitation,
The computer 310 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media, described above and illustrated in
The computer 310 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 380. The remote computer 380 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 310, although only a memory storage device 381 has been illustrated in
When used in a LAN networking environment, the computer 310 is connected to the LAN 371 through a network interface or adapter 370. When used in a WAN networking environment, the computer 310 typically includes a modem 372 or other means for establishing communications over the WAN 373, such as the Internet. The modem 372, which may be internal or external, may be connected to the system bus 321 via the user input interface 360 or other appropriate mechanism. A wireless networking component 374 such as comprising an interface and antenna may be coupled through a suitable device such as an access point or peer computer to a WAN or LAN. In a networked environment, program modules depicted relative to the computer 310, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
An auxiliary subsystem 399 (e.g., for auxiliary display of content) may be connected via the user interface 360 to allow data such as program content, system status and event notifications to be provided to the user, even if the main portions of the computer system are in a low power state. The auxiliary subsystem 399 may be connected to the modem 372 and/or network interface 370 to allow communication between these systems while the main processing unit 320 is in a low power state.
While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents failing within the spirit and scope of the invention.