SmartAds: Bringing Contextual Ads to Mobile Apps
description
Transcript of SmartAds: Bringing Contextual Ads to Mobile Apps
SmartAds: Bringing Contextual Adsto Mobile Apps
Mike Lin
Outline
AuthorsIntroductionBackgroundCharacterizationSmartAds ArchitectureResultsDiscussionComment
Authors
Suman Nath
A Ph.D student at the School of Computer Science, Carnegie Mellon University .A masters student in University of Illinois at Urbana-Champaign
work at Microsoft Research.
Suman Nath’s Work
Authors
Felix Xiaozhu Lin
PhD student in Computer Science at Rice UniversitySoftware Developer at CollaberaResearch Intern at MicrosoftResearch Visiting Student at IBMResearch Intern at NokiaIntern at Baidu, Inc.
EducationRice UniversityTsinghua UniversityTsinghua University
Authors
Lenin Ravindranath SivalingamA PhD student at CSAIL. I received Microsoft Research Graduate Fellowship in 2011.I joined MIT in the fall of 2008. I was on leave (from May 2011 to Jan 2013) building AppInsight and related systems at Microsoft Research.
Authors
Jitendra Padhye
A Principal Researcher at Microsoft Research. He is interested in all aspects of computer networking and networked systems. His recent work has focused on data center networks and mobile computing. He has published numerous research papers in top conferences, and holds over 25 US patents. He is the recipient of the ACM SIGCOMM Test of Time award. He received his PhD in Computer Science from University of Massachusetts Amherst in 2000.
Outline
AuthorsIntroductionBackgroundCharacterizationSmartAds ArchitectureResultsDiscussionComment
Introduction
US consumers spent 30% more time on mobile apps than on traditional web.
Today's mobile ads are not contextual and mostly irrelevant.
To scrape the content at runtime, extract keywords and fetch contextually relevant ads.
Introduction
Introduction
i. PHYSICAL CONTEXT-AWARE ADVERTISING: based on users' locations, activities, and other physical contexts.
ii. BEHAVIORAL TARGETING: based on each individual user's past web usage history.
Outline
AuthorsIntroductionBackgroundCharacterizationSmartAds ArchitectureResultsDiscussionComment
Background
Contextual Advertising: matching ads to web pages
(1)Offline ad labeling: Ads in ad network's inventory are labeled with keywords, called bidding keywords. (2)Offline keyword extraction: Ad network employs a bot that crawls web pages and uses machine learning algorithms (such as KEX) to extract keywords. (3)Online web page to ad matching.
Background
Mobile Ads:
(1)main signals today: the app metadata (2)focus in this paper: contextual advertising-challenging -the apps often transform the content in a variety of ways, sometimes combining content from multiple sources, such as a news aggregator app.
Two challenging points: a. limited resources b. user privacy
Outline
AuthorsIntroductionBackgroundCharacterizationSmartAds ArchitectureResultsDiscussionComment
Characterization
Page Data: A rich source of ad keywords More keywords than the metadata Change significantly over a period of time Example:If a user uses the app for nding local restaurants, he should be shown restaurant related ads
Characterization
Methodology
Apps PhoneMonkey emulate various user interactions (touch, swipe etc.)
App session(each run): run each of top 1200 app 30 times with the PhoneMonkey.
Methodology
Keyword Extraction A modified version of the well-known KEX keyword extractor
Example the words “is” and “zebra”:both get a low score the word “pipe”: get higher weight because of plumbing business
Methodology
Page data is a good source of ad keywords.
Methodology
Page data yields more keywords than metadata.
Methodology
Page data yields more keywords than metadata.
Methodology
Page data is dynamic, and requires online keyword extraction.
Outline
AuthorsIntroductionBackgroundCharacterizationSmartAds ArchitectureResultsDiscussionComment
SmartAds Architecture
Utility. Efficiency. Privacy.
SmartAds Architecture
Achieving Good Utility
AnywhereCount: total times NearBeginningCount: times the word appears in the beginning of the page SentenceBeginningCount: times the word starts a sentence. PhraseLengthInWord:words in the phrase. PhraseLengthInChar:characters in the phrase. MessageLength: The length of the line, in characters,containing the word. Capitalization: times the word is capitalized in the page. Font size: Font size of the word.
Local features
SmartAds Architecture
the knowledge about how often advertisers bid on a keywordThe frequency is how many times the word appears in the bidding keyword trace.
Global knowledge
SmartAds Architecture
Achieving EfficiencyAddressing memory overhead we partition x into a vector of local features xl (e.g.,anywhereCount) and a vector of global features xg (e.g, global knowledge of a keyword), with weight vectors wl and wg respectively.
SmartAds Architecture
Achieving Efficiency
Addressing communication overhead Bloom filter: a space-efficient probabilistic data structure
Bloom filter size at the client.
SmartAds Architecture
Achieving Efficiency
Addressing communication overhead Dynamics of bidding keywords.
SmartAds Architecture
Achieving PrivacyThe ad server knows only the ad keywords in the page and nothing else.
End-to-end workflow in SmartAds
Outline
AuthorsIntroductionBackgroundCharacterizationSmartAds ArchitectureResultsDiscussionComment
Results
Relevance
Results
Relevance
Results
End-to-end performance
Results
Overheads
CPU Overhead: The combined runtime. As seen from Table 1,this overhead is minimal.
Memory Overhead:The size of our bloom filter is 1MB. Based on ourmeasurements, SmartAds control consumes around 2.8MB of memory on an average.
Network Overhead:From our analysis of 1200 apps, we find that the average number of keywords extracted per page is 7.6. Hence, the average extra bytes sent is 91. But on average various ad controls upload 1.5KB and download 5KB of data.
Battery Overhead:The increase in power consumed was less than 1% and well within experimental noise.
Outline
AuthorsIntroductionBackgroundCharacterizationSmartAds ArchitectureResultsDiscussionComment
Discussion
OptimizationsAddressing lack of text: Level 1: keywords from the current page Level 2 keywords from all the pages Level 3 keywords for each app, learned offline from that app's metadata.
Handling related keywords
{HDTV} {HDTV; LED TV; LCD TV}. Sources: Analyzing Bing web queries and click logs http://veryrelated.com
Discussion
Dealing with Tail Bidding Keywords
(1) by serving them when their keywords are semantically related to any keyword in the Bloom filter
(2) by prioritizing them when the current page does not contain any importantad keywords
(3) by occasionally serving them even if the contextual signals do not match
them.
Outline
AuthorsIntroductionBackgroundCharacterizationSmartAds ArchitectureResultsDiscussionComment
Comment
Comment