The present disclosure relates to methods, techniques, and systems for targeting advertisements and, in particular, to methods and systems for targeting advertisements using semantic techniques or by recognizing popular entities or products.
A multitude of online content exists, including news stories, personal web pages, social content, product information, etc., which can be potentially viewed by multiple millions of individuals. The Internet, and more specifically, the Worldwide Web (the “Web”), has become a medium of choice for disseminating news stories and other content to millions of individuals. News content providers, like many others delivering online services, are providing such content based upon an advertising revenue model, but typically use online, often dynamic, advertisements presented on web pages along with the primary content or linked in some manner to the primary content. In some online advertising models, the content is associated with potentially embedded keywords that are in turn associated with advertisements. This is known as “contextual advertising.” For example, keywords in an article may be linked to different advertisements, or the advertisements may be displayed concurrently based upon the set of keywords associated with or found within the article.
In some such instances, at least a portion of such advertising revenue is distributed to the content providers based upon the frequency an advertisement results in a visit to an underlying website page that provides the advertised product/service/feature. Such a model is sometimes referred to as a pay-per-click (or cost-per-click) payment model. Other models for payment to the content provider exist, such as cost-per-impression, cost-per-view, cost-per-engagement, etc., some of which require a specific interaction with the advertisement to generate advertising revenue. Accordingly, the better the advertisements are linked to the content, the more potentially relevant and alluring the advertisements.
In other scenarios, search engines, such as Google or Yahoo! provide information and other content in response to a user initiating some kind of, typically word-based, search. Similar to news and other service providers, many such search engines sell space and display advertisements as a way to earn revenue for delivering content for free or at a reduced cost to the viewer. Often, the advertisers bid for and pay for “advertising space” based upon certain keywords or combinations of keywords. Some such search engines present advertisements along with the links (e.g., uniform resource identifiers or uniform resource locators) that contain the web page content resulting from executing the search. These advertisements may be presented, for example, in a special advertising area, such as a sponsored links area, to indicate to the viewer that the links listed in the area are advertisements. The advertisements are typically linked to one or more of the search terms specified by the viewer in the search query. Again, payment model options may be similar to those for news providers.
According to at least some advertisement revenue payment models, the more frequently an advertisement results in a viewing of or click-through to the underlying advertised item, the more the content provider earns. Accordingly, the more apropos the advertisement is to the viewed content, typically, the greater chance the advertisement is potentially useful to the viewer, hence visited. Thus, there is a great incentive to those entities participating in earning advertisement revenue to present advertisements that are somehow meaningful to the viewer. There is also a great incentive for the entities selling or otherwise offering the products/services/features to purchase advertisements in the most cost effective manner: that is, to purchase online space where it will create the most impact. In the online world, space is purchased based upon bidding for keywords.
Embodiments described herein provide improved computer- and network-based methods, techniques, and systems for online advertising. Example embodiments provide an enhanced advertisement (“ad”) targeting system (“EATS”), which enables advertisers (which in some cases may include content providers) to offer more targeted keywords for creators of advertisements to bid upon and/or for ad selection systems to serve up more relevant advertisements based upon a better understanding of the underlying content. For example, in some embodiments the EATS uses semantic analysis techniques to better understand the underlying content and/or to recognize products related to the content so that advertisements can be better targeted and advertise products more aptly related to what is being displayed. Such an embodiment is referred to herein as a Semantic Ad Targeting system or “SATS.” In other embodiments, products and/or keywords are recognized by means other than using semantic analysis of the content. In addition, some embodiments of an EATS provide mechanisms for auditing and tracking which entities and products are popular at any given time and for enabling advertisers to respond in near-real time with advertisements of products that relate to such popular (e.g., “hot”) entities and products.
Example embodiments of an EATS/SATS illustrated below address at least two main ad targeting problems: 1) given one or more (a set of) products, an advertiser desires to obtain a list of keywords related to those products for the purpose of associating (e.g., tying or linking) ads to content and for controlling financial commitment to various ad opportunities; and 2) for any given content, determine a set of products related to that content so that appropriate ads can be served or presented when such content is viewed by a user.
In the former scenario of obtaining a list of keywords for a set of given products, the determined keywords may be used as indicators of locations where associated ads can be potentially displayed and also may be used as part of revenue models that allow advertisers to “bid” on particular keywords or to pay different costs based upon associations with the keywords. For example, for contextual advertising purposes, when one of the keywords is displayed (and recognized) in the underlying content, one or more of the advertisements associated with those keywords are potentially displayed. Which advertisements are displayed may be controlled by a variety of factors, including for example, who has paid the most for associating ads with those keywords, the amount of room to display some number of ads in conjunction with the underlying content, etc. Contextual advertising refers generally to the ability to display ads that somehow relate to presented online content such as by news reporters, blogs, posts, syndications, etc. For search engine purposes, when one of the keywords is recognized as part of a search query, one or more of the advertisements associated with those keywords are potentially displayed.
In the latter scenario of determining products related to underlying content, the more appropriate the advertisement to the underlying content, the potentially more likely the advertised product will result in a sale or financial distribution of some sort. This assessment may be used for contextual advertising or for search based advertising. Further, the related products may be indirectly associated yet still be related to the underlying content. In addition, in some scenarios, sentiment (negative or positive) may be accounted for, allowing further evaluations of appropriateness of advertisements.
Determining a set of related products to the underlying content may involve more than mere keyword recognition and matching. For example, some SATS embodiments support a determination of related products based upon relationship searching technology as described in detail in U.S. patent application Ser. No. 11/012,089, filed Dec. 13, 2004, and entitled “METHOD AND SYSTEM FOR EXTENDING KEYWORD SEARCHING TO SYNTACTICALLY AND SEMANTICALLY ANNOTATED DATA,” issued as U.S. Pat. No. 7,526,425, and based upon entity recognition and disambiguation technology as described in detail in U.S. patent application Ser. No. 12/288,158, filed Oct. 15, 2008, and entitled “NLP-BASED ENTITY RECOGNITION AND DISAMBIGUATION,” both of which are incorporated herein by reference in their entirety. The use of relationship searching, enables the SATS to establish second order (or greater order) relationships of products to the underlying content (i.e., products related to products which are somehow related to the entities mentioned in the underlying content). Relationship searching can be done relative to the article/content in question, as well as over a large corpus of articles that provide “background knowledge”. This aspect can be very useful when ad inventory may not provide an appropriate advertisement for a recognized entity. For example, if an article about actors Jennifer Aniston and Owen Wilson is being displayed, the SATS might return an indication that “Marley and Me” (the name of a movie in which they both acted) is a related product. However, in some situations, the ad inventory may not include ads for the movie or the movie may not have been directly referred to in the content. In such a case, an advertisement of a book having the same author as the book used as the basis for the movie may result in a relevant advertisement. The use of entity recognition and disambiguation technology enables a SATS to better understand what products may relate to presented content. For example, entities having two different senses can be recognized and result in determinations of related products based upon an “understanding” of the content/search query—not just pattern matching. For example, understanding that displayed content refers to the city “Paris” in the country “France” and not the celebrity “Paris Hilton” can result in the selection and display of very different advertisements, which may increase their overall effectiveness.
In addition, using the capabilities of semantic analysis and relationship searching, it is possible for the SATS to determine whether the sentiment of any content (e.g., a page or group of pages) is positive, negative or neutral toward any entity or product by, for example, determining whether the words associated with the entity/product are positive or negative in tone. In addition, using the auditing and tracking capabilities of some embodiments of an EATS/SATS, the system can determine whether overall sentiment on the web (or subsets of the web, e.g., newspaper sites, political blogs, etc.) about an entity is positive, negative or neutral (and the direction in which it's heading). With this information, the EATS/SATS can perform “dynamic blocking” by blocking ads for a product on a page where it is referenced negatively (or even entirely suspending ads for that product), and also by suggesting “negative keywords” that advertisers should block when placing a keyword bid. So, for example if the EATS/SATS becomes aware that the term “peanut butter” is becoming associated with the negative term “poisoning,” it can automatically block peanut butter ads from showing up on pages where the term “peanut butter” is associated with the term “poisoning.” In addition, the EATS/SATS could raise a flag for an advertiser that it might want to stop advertising that product entirely or not bid on particular keywords.
Of note,
In some embodiments, the product recognizer 302 determines the entities using entity tagger/recognizer 303, queries a database (not shown) of known entities and/or other ingested text (e.g., corpus 320) to generate the list of products, and then scores the products. The products can be scored in terms of relevance to the page, for example: (i) related products actually mentioned in the article may be scored higher than products not mentioned in the article; (ii) products related to more than one entity on a page might score higher than products related to only one entity (so, on a page about Jennifer Aniston and Owen Wilson, the “Marley & Me” DVD would rank higher than the “Friends” DVD set; but on a page about Jennifer Aniston and Courtney Cox, the results would be the opposite); (iii) products relating to the entity that is most prominent on the page may be ranked higher than products relating to less prominent entities on the page, etc.; and (iv) products can also be scored based on date relevance (e.g., recent articles about Jennifer Aniston mention her relationship to Marley & Me compared to 10 years ago when content discussed the actress relative to Friends).
Also, the facet recognizer 304 may recognize facets in different ways. For example, first, if all or some of the entities on the page share facets (like “politician” or “author”), the semantic product recognizer 302 would know that that the facet is relevant to the page. Second, if the products related to those entities have substantial overlap in terms of facets, the recognizer 302 would know those overlapping facets are relevant to the page (e.g., if many of the products related to entities on the page have the facet “magazine”), then “magazines” are a relevant facet for the page. The facets can then be scored in terms of relevance for the page (possibly weighting primary facet more heavily than secondary facets, e.g., for a page about Barack Obama and Al Gore, “politicians” would presumably score higher than “authors”).
As mentioned above, the SATS in conjunction with the ad selection technology can support second-order (or n-order) relationships. For example, the ad matching/selection engine 310 could parse an ad network's ad inventory to enable display of relevant ads even where there is no obvious keyword or category match. For example, if a page relates to Jennifer Aniston and Owen Wilson, the SATS might return “Marley & Me” as a related product, and “actors” as a related facet. If the ad network has no ads that contain “Marley & Me” or ad categories that map to “actors”, without more information, it may run a generic ad or at best one relating to “entertainment” generally. However, the SATS is able to search the ad corpus for second-order related products (i.e., products related to products related to the entities in the article). So, for example, if there was no match for the related product “Marley & Me” in the ad inventory, the engine 310 might search their inventory for an ad with keywords matching a product related to “Marley & Me” (e.g., another book by the same author) and thereby turn up a more relevant ad.
Appendices A and B, incorporated herein by reference in their entirety, illustrate an example of using a SATS such as that described with reference to
In one embodiment, the entity recommender 511 determines which entities the product is related to and returns a scored list of entities for use as keywords, with scoring possibly based on frequency of co-occurrence+recency. So, for example, if a vendor is interested in selling Vogue magazine, the entity recommender 511 can determine (using relationship searching, e.g., using the IQL/RQL search string “Vogue< >*< >”) that Vogue is related to Anna Wintour, Michelle Obama, Melinda Gates and Annie Leibowitz. The recommender 511 could then recommend that rather than bidding on just “Vogue”, the advertiser bid on “Annie Leibowitz”, or “Vogue+Melinda Gates” or “Vogue+Michelle Obama+Annie Leibowitz”.
In addition, in some embodiments if the recommender 511 cannot find related entities using the RQL search string, it can extend its search to include other highly related entities. For example, should an entity such as Greg Nickels, the mayor of Seattle not be directly related to any products, recommender 511 can recommend products related to his most strongest association—products related to Seattle.
Similarly, in one embodiment the facet recognizer 512 can determine what facets relate to the product (e.g., “magazine”) and suggest those as keywords or in combination with other keywords. For example, the advertiser above could bid on “Vogue+magazine” or “Michelle Obama+magazine”, etc.
In addition to entities and facets as keywords, the semantic keyword recommender 510 can suggest terms that are related to the products, which can also be used as keywords, by finding terms (in a text corpus) that a type of product is frequently associated with. More specifically, the related term search engine 513 can: (i) determine what facets relate to set of products (e.g., “magazine” in the case of Vogue, New Yorker, Time); (ii) query a database of articles (or a subset, like only Wikipedia articles), for example text corpus 515, to see what terms are frequently used in conjunction with entities that share those facets but not other facets (e.g., the term “subscription” is highly associated with “magazines, including other magazines like Vanity Fair, the Economist, Scientific American, Sports Illustrated, etc. but less so than with computers); (iii) then determine which of those terms are frequently used in conjunction with references to Vogue specifically in the database of articles (or subset thereof, like Wikipedia articles); and (iv) return those terms to the advertiser as keywords. So, for example, if “fashion” and “designer” are frequently associated with a number of magazines and particularly with the product “Vogue”, the keyword recommender 510 could recommend that advertisers bid on the keywords “Vogue fashion” or “Vogue designer”, or, in combination with then entities and facet examples above, “Melinda Gates+fashion” or “designer magazine” or “Vogue+Annie Leibowitz+fashion+magazine”. Also, although “finance,” “short fiction” and “pc reviews” may also be terms highly associated with magazines, the keyword recommender 510 could determine not to recommend the terms for magazines such as Vogue.
In addition, in some embodiments, sentiment is taken into account. The recommender 510 can suggest “negative keywords” that advertisers should block when placing a keyword bid. So, for example if the SATS knows that the term “peanut butter” is becoming associated with the negative term “poisoning” (for example, as determined by the Zeitgeist server), the recommender 510 could raise a flag for an advertiser/content provider that it might want to stop advertising that product entirely, and could specifically instruct a search engine not to bid on keywords like “peanut butter poisoning,” “peanut butter recall,” etc., even if in general advertisers were bidding on the keyword “peanut butter.”
Once these potential keywords 544 are generated, then one or more of them may be used as input to an advertisement payment system such as bidding system 530. Advertisers would then pay money 540 to associate their ads with various keywords. At this point the ads for the various products are then made available to SATS for selection through ad matching/selection engine 550 and display. These ads may be selected and displayed on a page 570 as with contextual advertising (not shown), or in conjunction with a search result, as shown through the use of search engine 560 to generate search results and ads 565 in response to a user query 555.
The techniques of SATS are generally applicable to any type of ad targeting. Also, although the examples described herein often refer to a relationship search engine, the techniques described herein can also be used by other types of search engines to determine related products and keywords. Also, the techniques do not have to be constrained to products—they are applicable to any kind of related entities. In addition, the concepts and techniques described are applicable to serving other related content other than advertisements. Essentially, the concepts and techniques described are applicable to any kind of related content targeting. Also, although certain terms are used primarily herein, other terms could be used interchangeably to yield equivalent embodiments and examples. In addition, terms may have alternate spellings which may or may not be explicitly mentioned, and all such variations of terms are intended to be included.
Example embodiments described herein provide applications, tools, data structures and other support to implement an Enhanced Ad Targeting System to be used for associating ads with content. Other embodiments of the described techniques may be used for other purposes, including for rating advertisements. In the following description, numerous specific details are set forth, such as data formats and code sequences, etc., in order to provide a thorough understanding of the described techniques. The embodiments described also can be practiced without some of the specific details described herein, or with other specific details, such as changes with respect to the ordering of the code flow, different code flows, etc. Thus, the scope of the techniques and/or functions described are not limited by the particular order, selection, or decomposition of steps described with reference to any particular routine.
The computing system 600 may comprise one or more server and/or client computing systems and may span distributed locations. In addition, each block shown may represent one or more such blocks as appropriate to a specific embodiment or may be combined with other blocks. Moreover, the various blocks of the EATS/SATS 610 may physically reside on one or more machines, which use standard (e.g., TCP/IP) or proprietary interprocess communication mechanisms to communicate with each other.
In the embodiment shown, computer system 600 comprises a computer memory (“memory”) 601, a display 602, one or more Central Processing Units (“CPU”) 603, Input/Output devices 604 (e.g., keyboard, mouse, CRT or LCD display, etc.), other computer-readable media 605, and one or more network connections 606. The EATS/SATS 610 is shown residing in memory 601. In other embodiments, some portion of the contents, some of, or all of the components of the EATS/SATS 610 may be stored on and/or transmitted over the other computer-readable media 605. The components of the EATS/SATS 610 preferably execute on one or more CPUs 603 and manage the serving and targeting of advertisements, as described herein. Other code or programs 630 and potentially other data repositories, such as data repository 620, also reside in the memory 601, and preferably execute on one or more CPUs 603. Of note, one or more of the components in
In a typical embodiment, the EATS/SATS 610 includes one or more Entity Taggers 611, one or more Entity Recommenders 612, one or more Facet Recognizers 613, and one or more Related Term Generators 614. In at least some embodiments, the Related Term Generators are provided external to the EATS/SATS and are available, potentially, over one or more networks 650. Other and/or different modules may be implemented. In addition, the EATS/SATS may interact via a network 650 with content generator code 655 that provides underlying content upon which the targeted advertisements may be placed, one or more search engines 660, and/or one or more third-party ad servers 665, such as purveyors of information used in ad data repository 616. Also, of note, the ad data repository 616 may be provided external to the EATS/SATS as well, for example in a knowledge base accessible over one or more networks 650.
In an example embodiment, components/modules of the EATS/SATS 610 are implemented using standard programming techniques. However, a range of programming languages known in the art may be employed for implementing such example embodiments, including representative implementations of various programming language paradigms, including but not limited to, object-oriented (e.g., Java, C++, C#, Smalltalk, etc.), functional (e.g., ML, Lisp, Scheme, etc.), procedural (e.g., C, Pascal, Ada, Modula, etc.), scripting (e.g., Perl, Ruby, Python, JavaScript, VBScript, etc.), declarative (e.g., SQL, Prolog, etc.), etc.
The embodiments described above may also use well-known or proprietary synchronous or asynchronous client-server computing techniques. However, the various components may be implemented using more monolithic programming techniques as well, for example, as an executable running on a single CPU computer system, or alternately decomposed using a variety of structuring techniques known in the art, including but not limited to, multiprogramming, multithreading, client-server, or peer-to-peer, running on one or more computer systems each having one or more CPUs. Some embodiments are illustrated as executing concurrently and asynchronously and communicating using message passing techniques. Equivalent synchronous embodiments are also supported by an EATS/SATS implementation.
In addition, programming interfaces to the data stored as part of the EATS/SATS 610 (e.g., in the data repositories 616 and 617) can be available by standard means such as through C, C++, C#, and Java APIs; libraries for accessing files, databases, or other data repositories; through scripting languages such as XML; or through Web servers, FTP servers, or other types of servers providing access to stored data. The data repositories 616 and 617 may be implemented as one or more database systems, file systems, or any other method known in the art for storing such information, or any combination of the above, including implementation using distributed computing techniques.
Also the example EATS/SATS 610 may be implemented in a distributed environment comprising multiple, even heterogeneous, computer systems and networks. For example, in one embodiment, the Entity Tagger 611, the Entity Recommender 612, and the Ad data repository 616 are all located in physically different computer systems. In another embodiment, various modules of the EATS/SATS 610 are hosted each on a separate server machine and may be remotely located from the tables which are stored in the data repositories 616 and 617. Also, one or more of the modules may themselves be distributed, pooled or otherwise grouped, such as for load balancing, reliability or security reasons. Different configurations and locations of programs and data are contemplated for use with techniques of described herein. A variety of distributed computing techniques are appropriate for implementing the components of the illustrated embodiments in a distributed manner including but not limited to TCP/IP sockets, RPC, RMI, HTTP, Web Services (XML-RPC, JAX-RPC, SOAP, etc.) etc. Other variations are possible. Also, other functionality could be provided by each component/module, or existing functionality could be distributed amongst the components/modules in different ways, yet still achieve the functions of an EATS/SATS.
Furthermore, in some embodiments, some or all of the components of the EATS or SATS may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to one or more application-specific integrated circuits (ASICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), etc. Some or all of the system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a computer-readable medium (e.g., as a hard disk; a memory; a computer network or cellular wireless network or other data transmission medium; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques. Some or all of the system components and data structures may also be stored as data signals (e.g., by being encoded as part of a carrier wave or included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, which are then transmitted, including across wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations.
As described in
Another one of the functions of an enhanced ad targeting system described in
From the foregoing it will be appreciated that, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. For example, the methods and systems for performing ad targeting discussed herein are applicable to other architectures. Also, the methods and systems discussed herein are applicable to differing protocols, communication media (optical, wireless, cable, etc.) and devices (such as wireless handsets, electronic organizers, personal digital assistants, portable email machines, game machines, pagers, navigation devices such as GPS receivers, etc.).
Number | Date | Country | |
---|---|---|---|
61169988 | Apr 2009 | US |