AD GENERATION WITH NEURAL NETWORKS
20220405797 · 2022-12-22
Assignee
Inventors
Cpc classification
International classification
Abstract
Ads are generated based on product info and consumer profiles. A discriminator evaluates probabilities of ads being effective at causing consumer engagement. A decoder extracts product info from generated ads. Based on the probabilities of ads being effective and similarity of extracted and source product info, generated ads are labeled as examples. The examples are used in training an improved ad generator. Ads may be visual and/or audio containing speech. Ads may even contain humor, as recognized by mismatches between source and decoded product info.
Claims
1. A system comprising: an ad generator that generates ads based on input info about products; a discriminator that predicts probabilities that generated ads could be effective; a decoder that extracts, from the generated ads, info about products in the generated ads; and a database of examples of ads that have a probability of being effective above a threshold and have an acceptable match between the input info and the extracted info; wherein the examples could be used to train an improved ad generator.
2. The system of claim 1 wherein the probabilities that generated ads could be effective is with respect to probabilities that consumers would engage if presented with the generated ads.
3. The system of claim 1 further comprising a database of example ads that do not have a probability of being effective above the threshold.
4. The system of claim 1 further comprising a database of example ads that do not have an acceptable match between the input info and the extracted info.
5. The system of claim 1 wherein the ads are visual and extracting info about products comprises object recognition.
6. The system of claim 1 wherein the ads are audible and extracting info about products comprises automatic speech recognition.
7. The system of claim 1 wherein a match between the input info and the extracted info is acceptable even if there is a humorous mismatch between parameters of the product info.
8. The system of claim 1 wherein the ad generator customizes the generated ads based on individual consumer profiles.
9. A method comprising: generating ads based on input info about products; predicting probabilities that the generated ads could be effective; extracting info about products from the generated ads; labeling the generated ads as examples based on the probabilities that the generated ads could be effective and similarity between the input info and extracted info about products; and providing the examples as training data for an improved ad generator.
10. The method of claim 9 wherein the probabilities that generated ads could be effective is with respect to probabilities that consumers would engage if presented with the generated ads.
11. The method of claim 9 wherein labels are non-Boolean, the method further comprising training an improved ad generator using a regression algorithm.
12. The method of claim 9 wherein the ads are visual and extracting info about products comprises object recognition.
13. The method of claim 9 wherein the ads are audible and extracting info about products comprises automatic speech recognition.
14. The method of claim 9 wherein the similarity between the input info and the extracted info is acceptable even if there is a humorous mismatch between parameters of the product info.
15. The method of claim 9 further comprising training an improved ad generator, wherein training includes applying consumer profiles and wherein predicting probabilities that the generated ads could be effective is based on the consumer profiles.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
DETAILED DESCRIPTION
[0034] The following describes various embodiments of the present invention that illustrate various interesting features. Generally, embodiments can use the described features in any combination.
[0035] In relation to advertising, this disclosure uses the term product to describe both products and services that might be advertised.
System Overview
[0036]
[0037] Some embodiments of an ad generator 11 may also take consumer profile info, which affects the output to be specific to a consumer profile. Whereas ads based solely on product info are appropriate for billboards or other widely observed ads, an ad generator that uses consumer profile info creates ads specific to individual consumers, which, on personal devices such as mobile handsets, can be more effective than ads based on product info alone.
[0038] Some embodiments further comprise a step of presenting ads to one or more consumers, measuring the effectiveness of the ads, and labeling each ad as to its effectiveness 12. The embodiment of
[0039] Some embodiments store ads in a database and associate a score with each ad, the score representing a non-Boolean value of its effectiveness. This is useful such as for training a regression model. Though not shown in
[0040] The embodiment shown in
[0041] In the embodiment shown in
[0042] Some embodiments store example ads in a database and associate a score with each ad, the score representing a non-Boolean value of its effectiveness. This is useful such as for training a regression model. Though not shown in
[0043] The embodiment shown in
[0044] Some embodiments include consumer profile info with the ad labeling in both the presented ads databases and example ads databases.
[0045] The ad generator 11, effective ad discriminator 14, and the training process for each creates a feedback loop that, because of the step of measuring and labeling presented ads continuously improves its effectiveness.
Product Info Decoder
[0046] A system with discriminator feedback training a generator and generated ads training a discriminator will tend to fall into a local extremum of generating the essentially the same ads regardless of the product info or consumer profile input. Because this is a local extremum, it is likely that it not the optimum ad for any given product or consumer profile. Furthermore, because people find stimulus attractive if it is surprising (to a moderate degree), generating essentially the same ads would render them as boring and therefore less effective.
[0047] One way to avoid boringness is by adding randomization at some point in the feedback system. Randomization without constraints will result in ads with interesting variations. However, the variations would be irrelevant to the products that they advertise. This would make the ads less effective than they could be.
[0048] Some embodiments include a product info decoder 17 that takes as input an ad produced by the ad generator 11 and the product info that was the input to generate the ad. Some embodiments of product info decoders 17 also take a consumer profile as input. The product info decoder extracts product info from ads and compares it to the source info that generated the ads. If the extracted info for an ad matches the source info for the ad, then the product info decoder labels the ad as acceptable. Some embodiments allow for imperfect matching and labeling with a degree of acceptability. In embodiments with a product info decoder 17, its acceptability output contributes to the example ad labelling function 15.
[0049] Some embodiments could have a product info decoder along the path of presentation, measuring, and labeling of ads 11. However, since the effective ad discriminator path is independent of presenting ads to consumers, it can run more frequently for faster training. Also, it is preferable not to present ads to consumers if the ads have a high probability of performing poorly or failing in a product info decoder.
[0050] Some embodiments train or contribute to the training of the product info decoder by using human data labelers. These can be specialists or non-specialist proxy consumers, such as in focus groups or other consumer research studies. Accordingly, labelers observe ads, observe product descriptions, and indicate whether or to what degree it is clear that the ad is for the described product. Similarly, for a product info decoder that uses consumer profile input, it would be useful to segregate human labeler by their consumer profiles.
Humor
[0051] Some products or advertisers or ad campaigns succeed by using humor. It is possible to train a product info decoder by human labelers with humor as a desirable output feature. It is also possible to train on generated ads targeting an intentional mismatch between source product info and decoded product info. For example, if product info is related to shampoo for humans and the decoded product info is shampoo for non-human animals then the product info decoder labels the ad as successful.
[0052] One way to implement humor detection is to treat product info as an embedding and measure cosine distance between source product info and decoded product info. By using a threshold of maximum acceptable cosine distance for labeling an ad as a positive example, it is possible to allow humor that is recognizable as humor. Creating a threshold of minimum acceptable cosine distance for labeling an ad as a positive example ensures a certain degree of humor.
[0053] Another approach to creating acceptable humor is to mark only certain parameters of product info as ones appropriate for variation. A similar compatible approach is to create acceptable ranges or specific sets of allowable values of product info attributes.
Ad Structure
[0054] The embodiment of
[0055]
[0056]
[0057]
[0058] One type of element is displayed text. Such an element may have parameters such as font type, size, and style.
[0059] Another possible type of ad element are keywords. These can be useful for various purposes, including supporting conventional ad ecosystems that use keyword-based bidding or placement choosing.
[0060] Another type of element is vector graphics. This can include objects with sub parameters such as size, color, orientation, transparency, shading, patterns, etc. One example of a standard format for vector graphics is the Scalable Vector Graphics standard (SVG).
[0061] Another type of element is raster graphics. Ads generally require small amounts of data. They are, essentially, input vectors for presentation rendering and for a discriminator. Raster graphics, such as bitmaps or compressed bitmaps in formats such as Joint Picture Experts Group (JPEG) format usually comprise relatively large amounts of data. Some embodiments train discriminators on graphics. These operate like object recognition discriminators such as convolutional neural networks (CNNs). However, some embodiments keep ads small and strictly parameter based. Such an approach reduces model sizes, which improves training speed, storage space, bandwidth, and other key criteria. To support such an embodiment and still support raster graphic elements, such embodiments use pointers to raster art files. The renderer for presenting ads to consumers uses the pointer to lookup and read the graphic element.
[0062] Another type of element is text for the presentation step to render as synthesized speech audio. Like text has fonts, speech has TTS parameters, which are parameters of spoken text elements.
[0063] Some ads, such as ones for robot assistants or speech-based virtual assistants comprise conversation script elements. These provide for conditional responses to the consumer's behavior. For example, a toothpaste ad can initiate a conversation with a question such as, “have you heard about the new Star brand toothpaste?” The ad can then direct the presentation interface to recognize words from a target consumer. If the words mention breath, the ad instructs a spoken response about fresh breath and if the words mention teeth, the ad instructs a spoken response about healthy teeth.
[0064] One type of ad element is vector music. As displayed text has fonts and speech has TTS parameters, vector music has instrument parameters. One standard format for vector music is the Musical Instrument Digital Interface (MIDI) standard.
[0065] One type of ad elements is audio clips. For the same reasons that raster graphics might be embedded or might be linked by a pointer, so, too, can audio clip elements. Audio clips are useful for musical segments such as product jingles or sound effects.
[0066] One type of ad element is vector animation. This is appropriate for human-machine interfaces with a visual component. One industry standard format for vector animations is Adobe Flash. Another standard is Hyper-Text Markup Language (HTML) 5.
[0067] One type of ad element is video clips. For the same reasons that raster graphics and audio clips might be embedded or might be linked by a pointer, so, too, can video clip elements. Video clips are useful for pixel-based moving visual segments.
[0068] One type of ad element is a set of one or more action command. This is appropriate for human-machine interfaces that move. For example, assistant robots that move objects around or anthropomorphic robots that nod their head or shrug their shoulders.
[0069] Some embodiments include product profiles within ads. This can support ad inventory management and sales and can provide criteria for ad selection algorithms. There are various ways to represent product profiles, depending on the application. One conceivable way is to use World Intellectual Property Organization (WIPO) trademark classification codes. One way is to use embedding vectors with dimensions corresponding to attributes of advertised products. System designers can define embedding space dimensions. It is also possible to define an embedding space using machine learning from correlations between product profiles and ad elements in ads found to be effective or ineffective.
[0070] Furthermore, include a product profile within an ad is one way to provide the source product to the product info decoder for comparison to decoded product info decoded from generated ad elements.
Vectorizing
[0071] CNNs or equivalent models can be effective on elements with large amounts of data such as raster graphics, audio clips, or video clips. However, their training is much slower than training on relatively small purely vector-based (parametric) ad representations. As a result, vectorizing digitized elements can improve results. Some examples of vectorization are optical character recognition (OCR) to recognize text from raster graphics; object recognition to recognize semantically meaningful objects within raster graphics, video object recognition in video clips, music acoustic profiling from audio clips, and automatic speech recognition (ASR) to recognize words spoken in audio clips.
[0072] For systems that are purely parametric, vectorizing of content can be useful for training from successful historic ad campaigns such as classic ones from Coca-Cola, McDonalds, Nike, and Marlboro. Vectorizing is also useful for training on ads generated by incompatible systems.
Effective Ad Discriminator
[0073] An effective ad discriminator is a model that estimates probabilities of ads being effective. It can use, for example, a classification or a regression algorithm. Various ways are possible to measure effectiveness of an ad. A simple way is to measure engagement such as a click-through rate for visual ads or query (“tell me more”) rates for natural language conversational ads. A more accurate way to measure effectiveness is conversion rates. That considers whether the engagement caused a consumer to make a purchase. Ads can also be effective for changing feelings about products even if not causing a short-term measurable conversion. Another way of measuring effectiveness is to measure non-purchase behavior of consumers that indicates their feelings. Numerous measurable parameters can indicate ad effectiveness.
[0074] Not all consumers are the same. For any given ad, an effectiveness prediction is most accurately conditioned by consumer profile. For example, ads are usually most effective when they show people that have a similar age and race as the consumer. For another example, ads are most effective when they use words in a language that a consumer understands. Therefore, training an effective ad discriminator gives best accuracy when trained not only on the vectors of ads but vectors relating to the consumers on whom training data relies. Some example vectors are age, gender, race, home location, and income.
[0075] Furthermore, the effectiveness of ads depends on context. For example, ads containing food items are more effective at times of day when consumers are hungry. Ads with agricultural themes are more effective in rural locations. Ads with children are more effective when placed amid content having family-related words than amid content having business-related words.
[0076]
[0077] Some embodiments also store a bid amount as metadata for each ad. This is an indicator of the value of the corresponding ad to the advertiser, which publishers can use to optimize training for maximizing ad publishing revenue.
[0078]
[0079] The system uses a model training process 13. Many methods of training models such as deep neural networks are well known. The training products an effective ad discriminator model 14.
[0080] Some systems present ad campaigns. Those are groups of ads that, cumulatively, serve to persuade consumers more effectively than repeated presentations of a single ad. For ad campaigns, a recurrent neural network would be appropriate, where the effectiveness model is dependent on previously presented or previously engaged ads.
[0081] One way to initially bring-up a system is to train on historical ads that are not ones that the system generated itself.
Ad Generator
[0082] Training an ad generator simply based on training from displayed ads would have at least two problems. One problem is that it would be slower than necessary since there is a limit to the rate at which a consumer can absorb ads. Another problem is that the system would present large numbers of ineffective ads while learning to present effective ones, and some ineffective ads, especially in large numbers, would be detrimental to their advertisers' brands. It is necessary to train an ad generator from large corpora of positive and negative example ads without presenting them to consumers.
[0083]
[0084] With a well-trained effective ad discriminator 14, random test vectors of product descriptions, consumer profiles, and presentation contexts can yield a well-trained ad generator that can produce effective ads for a wide range of products across a wide range of consumers in a wide range of contexts. Test vectors can be created randomly or in a directed-random way to train for especially common or desirable products, consumers, or contexts. A well-trained system can instantaneously generate, for any product, an optimal ad for a given consumer in a given context.
Personalization
[0085] In various embodiments, consumer profiles comprise info such as gender, age, ethnicity, current location, and location history.
[0086] A consumer profile can also comprise a word usage embedding vector that represents an average, mean, or other statistical representation of the cumulation of recognized words expressed by the consumer in an embedding space.
[0087] A consumer profile can comprise an array of such vectors organized in ways such as by time or by location or both.
The Cloud
[0088]
[0089] Some examples of a consumer interface device 81 are mobile phones, home music players, automobiles, billboards, personal computers, augmented reality glasses, robots, and avatars. Some examples of a network 82 are the Internet, a local area network (LAN), a Bluetooth connection, and a 5G mobile network. Some examples of an ad server 83 are serverfs in cloud data centers, subsystems built into vehicles, and subsystems of portable devices.
CRMs
[0090]
[0091]
[0092] Any type of computer-readable medium is appropriate for storing code comprising instructions according to various embodiments.
The SoC
[0093]
[0094]
The Server
[0095]
[0096]
General Boilerplate
[0097] Practitioners skilled in the art will recognize many modifications and variations. The modifications and variations include any relevant combination of the disclosed features.
[0098] Various embodiments are methods that use the behavior of either or a combination of humans and machines. Method embodiments are complete wherever in the world most constituent steps occur. Some embodiments are one or more non-transitory computer readable media arranged to store such instructions for methods described herein. Whatever machine holds non-transitory computer readable media comprising any of the necessary code holds a complete embodiment. Some embodiments are physical devices such as semiconductor chips; hardware description language representations of the logical or functional behavior of such devices; and one or more non-transitory computer readable media arranged to store such hardware description language representations.
[0099] Descriptions herein reciting principles, features, and embodiments encompass both structural and functional equivalents thereof. Elements described herein as coupled have an effectual relationship realizable by a direct connection or indirectly with one or more other intervening elements.
[0100] Examples shown and described use certain spoken languages. Various embodiments operate, similarly, for other languages or combinations of languages. Examples shown and described use certain domains of knowledge. Various embodiments operate similarly for other domains or combinations of domains.
[0101] Some embodiments are screenless, such as an earpiece, which has no display screen. Some embodiments are stationary, such as a vending machine. Some embodiments are mobile, such as an automobile. Some embodiments are portable, such as a mobile phone. Some embodiments comprise manual interfaces such as keyboard or touch screens. Some embodiments comprise neural interfaces that use human thoughts as a form of natural language expression.