Monday, September 19, 2011

Some of what has caught my attention recently:
  • "60 percent of Netflix views are a result of Netflix's personalized recommendations" and "35 percent of [Amazon] product sales result from recommendations" ([1] [2])

  • When doing personalization and recommendations, implicit ratings (like clicks or purchases) are much less work and turn out to be highly correlated to what people would say their preferences are if you did ask ([1])

  • Good defaults are important. 95% won't change the default configuration even in cases where they clearly should. ([1])

  • MSR says 68% of mobile local searches occur while people are actually in motion, usually in a car or bus. Most are looking for the place they want to go, usually a restaurant. ([1])

  • Google paper on Tenzing, a SQL layer on top of MapReduce that appears similar in functionality to Microsoft's Scope or Michael Stonebraker's Vertica. Most interesting part is the performance optimizations. ([1])

  • Googler Luiz Barroso talks data centers, including giving no love to using flash storage and talking about upcoming networking tech that might change the game. ([1] [2])

  • High quality workers on MTurk are much cheaper than they should be ([1])

  • Most newspapers should focus on being the definitive source for local news and the primary channel to get to small local advertisers ([1] [2])

  • Text messaging charges are unsustainable. Only question is when and how they break. ([1])

  • "If you want to create an educational game focus on building a great game in the first place and then add your educational content to it. If the game does not make me want to come back and play another round to beat my high-score or crack the riddle, your educational content can be as brilliant as it can be. No one will care." ([1])

  • A few claims that it is not competitor's failures, but Apple's skillful dominance of supply chains, that prevents Apple's competitors from successfully copying Apple products. I'm not convinced, but worth reading nonetheless. ([1] [2] [3])

  • Surprising amount of detail about the current state of Amazon's supply chain in some theses out of MIT. Long reads, but good reads. ([1])

  • If you want to do e-commerce in a place like India, you have to build out your own delivery service. ([1])

  • Like desktop search in 2005, Dropbox and other cloud storage products exist because Microsoft's product is broken. Microsoft made desktop search go away in 2006 by launching desktop search that works, and it will make the cloud storage opportunity go away by launching a cloud drive that works. ([1] [2] [3])

  • Just like in 2005, merging two failing businesses doesn't make a working business. Getting AOL all over you isn't going to fix you, Yahoo. ([1] [2])

  • Good rant on how noreply@ e-mail addresses are bad customer service. And then the opposite point of view from Google's Sergey Brin. ([1] [2])

  • Google founder Sergey Brin proposed taking Google's entire marketing budget and allocating it "to inoculate Chechen refugees against cholera" ([1])

  • Brilliant XKCD comic on passwords and how websites should ask people to pick passwords ([1])

Wednesday, September 7, 2011

A paper by six Googlers from the recent KDD 2011 conference, "Detecting Adversarial Advertisements in the Wild" (PDF) is a broadly useful example of how to succeed at tasks requiring very high accuracy using a combination of many different machine learning algorithms, high quality human experts, and lower quality human judges.

Let's start with an excerpt from the paper:
A small number of adversarial advertisers may seek to profit by attempting to promote low quality or untrustworthy content via online advertising systems .... [For example, some] attempt to sell counterfeit or otherwise fraudulent goods ... [or] direct users to landing pages where they might unwittingly download malware.

Unlike many data-mining tasks in which the cost of false positives (FP's) and false negatives (FN's) may be traded off, in this setting both false positives and false negatives carry extremely high misclassification cost ... [and] must be driven to zero, even for difficult edge cases.

[We present a] system currently deployed at Google for detecting and blocking adversial advertisements .... At a high level, our system may be viewed as an ensemble composed of many large-scale component models .... Our automated ... methods include a variety of ... classifiers ... [including] a single, coarse model ... [to] filter out .. the vast majority of easy, good ads ... [and] a set of finely-grained models [trained] to detect each of [the] more difficult classes.

Human experts ... help detect evolving adversarial advertisements ... [through] margin-based uncertainty sampling ... [often] requiring only a few dozen hand-labeled examples ... for rapid development of new models .... Expert users [also] search for positive examples guided by their intuition ... [using a custom] tool ... [and they have] surprised us ... [by] developing hand-crafted, rule-based models with extremely high precision.

Because [many] models do not adapt over time, we have developed automated monitoring of the effectiveness of each ... model; models that cease to be effective are removed .... We regularly evaluate the [quality] of our [human experts] ... both to access the performance of ... raters and measure our confidence in these assessments ... [We also use] an approach similar to crowd-sourcing ... [to] calibrate our understanding of real user perception and ensure that our system continues to protect the interest of actual users.
I love this approach, blending experts and the human intuition of experts to help guide, assist, and correct algorithms running over big data. These Googlers used an ensemble of classifiers, trained by experts that focused on labels of the edge cases, and ran them over features extracted from a massive data set of advertisements. They then built custom tools to make it easy for experts to search over the ads, follow their intuition, dig in deep, and fix the hardest cases the classifiers missed. Because the bad guys never quit, the Googlers not only constantly add new models and rules, but also constantly evaluate existing rules, models, and the human experts to make sure they are still useful. Excellent.

I think the techniques described here are applicable well beyond detecting naughty advertisers. For example, I suspect a similar technique could be applied to mobile advertising, a hard problem where limited screen space and attention makes relevance critical, but we usually have very little data on each user's interests, each user's intent, and each advertiser. Combining human experts with machines like these Googlers have done could be particularly useful in bootstrapping and overcoming sparse and noisy data, two problems that make it so difficult for startups to succeed on problems like mobile advertising.

Tuesday, July 19, 2011

Some of what has caught my attention recently:
  • Netflix may have been forced to change its pricing by the movie studios. It appears the studios may have made streaming more expensive for Netflix and, in particular, too costly to keep giving free access to DVD subscribers who rarely stream. ([1] [2] [3])

  • Really fun idea for communication between devices in the same room, without using radio waves, by using imperceptible fluctuations in the ambient lighting. ([1])

  • Games are big on mobile devices ([1] [2])

  • "Customers have a bad a taste in their mouths when it comes to Microsoft's mobile products, and few are willing to give them a try again." Ouch, that's going to be expensive to fix. ([1])

  • Microsoft's traditional strategy of owning the software on most PC-like devices may not be doing well in mobile, but they're stomping in consoles ([1]). On a related note, Microsoft now claims their effort on search is less about advertising revenue and more about improving interfaces on PC-like devices. ([2])

  • Many people have vulnerable computers and passwords. Why aren't more of them hacked? Maybe it just isn't worth it to hackers, just too hard to make money given the effort required. ([1])

  • In 2010, badges in Google Reader is an April Fools joke. In 2011, badges in Google News is an exciting new feature. ([1]).

  • Good (and free) book chapter by a couple Googlers summarizing the technology behind indexing the Web ([1])

  • Most people dread when their companies ask them every year to set performance goals because it is impossible to do well and can impact raises the next year. Google's solution? Don't do that. Instead, set lightweight goals more frequently and expect people to not make some of their goals. ([1] [2])

  • 60% of business PCs are still running WinXP. Maybe this says that businesses are so fearful of changing anything that upstarts like Google are going to have an uphill battle getting people to switch to ChromeOS. Or maybe this says businesses consider it so painful to upgrade Microsoft software and train their people on all the changes that, when they do bite the bullet and upgrade, they might as well switch to something different like ChromeOS. ([1])

  • Fun interview with Amazon's first employee, Shel Kaphan ([1])

  • Thought-provoking speculation on the future of health care. Could be summarized as using big data, remote monitoring, and AI to do a lot of the work. ([1])

  • Unusually detailed slides on Twitter's architecture. Really surprising that they just use mysql in a very simple way and didn't even partition at first. ([1])

  • Impressive demo, I didn't know these were possible so easily and fluidly using just SVG and Javascript ([1] [2])

Monday, July 11, 2011

A timely paper out of Google at the recent ICML 2011 conference, "Suggesting (More) Friends Using the Implicit Social Graph" (PDF), not only describes the technology behind GMail's fun "Don't forget Bob!" and "Got the right Bob?" features, but also may be part of the friend suggestions in Google+ Circles.

An excerpt from the paper:
We use the implicit social graph to identify clusters of contacts who form groups that are meaningful and useful to each user.

The Google Mail implicit social graph is composed of billions of distinct nodes, where each node is an email address. Edges are formed by the sending and receiving of email messages ... A message sent from a user to a group of several contacts ... [is] a single edge ... [of] a directed hypergraph. We call the hypergraph composed of all the edges leading into or out of a single user node that user's egocentric network.

The weight of an edge is determined by the recency and frequency of email interactions .... Interactions that the user initiates are [considered] more significant .... We are actively working on incorporating other signals of importance, such as the percentage of emails from a contact that the user chooses to read.

"Don't forget Bob" ... [suggests] recipients that the user may wish to add to the email .... The results ... are very good - the ratio between the number of accepted suggestions and the number of times a suggestion was shown is above 0.8. Moreover, this precision comes at a good coverage ... more than half of email messages.

"Got the wrong Bob" ... [detects] inclusion of contacts in a message who are unlikely to be related to the other recipients .... Almost 70% of the time [it is shown] ... users accept both suggestions, deleting the wrong Bob and adding the correct one.
I like the idea of using e-mail, mobile, and messaging contacts as an implicit social network. One problem has always been that the implicit social network can be noisy in embarrassing ways. As this paper discusses, using it only for suggesting friends is forgiving and low-risk while still being quite helpful. Another possible application might be to make it easier to share content with people who might be interested.

For more on what Google does with how you use e-mail to make useful features, you might also be interested in another Google paper, "The Learning Behind Gmail Priority Inbox" (PDF).

For more on implicit social networks using e-mail contacts, please see my 2008 post, "E-mail as the social network".

Thursday, June 9, 2011

Some of what has caught my attention recently:
  • Oldest example I could find of the "PC is dead" in the press, a New York Times article from 1992. If people keep making this prediction for a few more decades, eventually it might be right. ([1])

  • Amazon CEO Jeff Bezos says to innovate, you have to try many things, fail but keep trying, and be "willing to be misunderstood for long periods of time". ([1])

  • Median tenure at Amazon and Facebook is a year or less (in part due to their massive recent hiring). Also, most people at Facebook have never worked anywhere other than Facebook. ([1])

  • Spooky research out of UW CS and Google that crowdsources surveillance, finding all the Flickr photos from an big event like a concert that happen to include a specific person (no matter at what angle or from what location the crowd of people at the event took the pictures). ([1])

  • You can scan someone's fingerprints from 6 feet away and copy their keys from 200 feet away. ([1] [2])

  • Pretty impressive valuations incubator Y Combinator is getting on its startups: "The combined value of the top 21 companies is $4.7 billion."([1])

  • But even even for some of the more attractive small startups to acquire, those out of Y Combinator, odds of acquisition still are only about 8%, and most of those will be relatively low valuation talent acquisitions. Sometimes it can seem like everyone is getting bought, but it is only a fortunate few who have the right combination of product, team, timing, luck, and network.([1])

  • Someone going solidly for the dumbphone market, which is by far the biggest market still, with a snazzy but simple and mostly dumb phone. That's smart. ([1] [2])

  • Google Scribe makes suggestions for what you are going to type next when you are writing documents. Try starting with "All work and" ([1]).

  • When I started my blog and called it "Geeking with Greg", the word "geek" still had pretty negative connotations, especially in the mainstream. A decade later, things have changed. ([1])

  • Not surprising people don't use privacy tools since the payoff is abstract and the tools require work for the average user to understand and use. What surprises me more is that more people don't use advertising blocking tools like AdBlock. ([1])

  • The sad story of why Google never launched GDrive. ([1])

  • Carriers are going to be upset about Apple's plans to disrupt text messaging. Those overpriced plans are a big business for carriers. ([1])

  • It would be great if Skype acquisition was part of a plan to disrupt the mobile industry by launching a mobile phone that always picks the lowest cost data network (including free WiFi networks) available. Consumers would love that; it could lower their monthly bills by an order of magnitude. ([1] [2])

  • Social data is of limited use in web search because there isn't much data from your friends. Moreover, the best information about what is a good website for you almost certainly comes from people like you who you might not even know, not from the divergent tastes of your small group of friends. As Chris Anderson (author of The Long Tail) said, "No matter who you are, someone you don't know has found the coolest stuff." ([1] [2])

  • Customization (aka active personalization) is too much work. Most people won't do it. If you optimize for the early adopter tinkerer geeks who love twiddling knobs, you're designing a product that the mainstream will never use. ([1])

  • If you launch a feature that just makes your product more complicated and confusing to most customers, you would have been better off doing nothing at all. Success is not launching things, but launching things that help customers. ([1])

  • Google News shifts away from clustering and toward personalization. ([1] [2])

  • Crowdsourcing often works better when unpaid ([1])

  • Eli Pariser is still wrong. ([1])

Monday, June 6, 2011

"Google-Wide Profiling: A Continuous Profiling Infrastructure for Data Centers" (PDF) has some fascinating details on how Google does profiling and looks for performance problems.

From the paper:
GWP collects daily profiles from several thousand applications running on thousands of servers .... At any moment, profiling occurs only on a small subset of all machines in the fleet, and event-based sampling is used at the machine level .... The system has been actively profiling nearly all machines at Google for several years.

Application owners won't tolerate latency degradations of more than a few percent .... We measure the event-based profiling overhead ... to ensure the overhead is always less than a few percent. The aggregated profiling overhead is negligible -- less than 0.01 percent.

GWP profiles revealed that the zlib library accounted for nearly 5 percent of all CPU cycles consumed ... [which] motivated an effort to ... evaluate compression alternatives ... Given the Google fleet's scale, a single percent improvement on a core routine could potentially save significant money per year. Unsurprisingly, the new informal metric, "dollar amount per performance change," has become popular among Google engineers.

GWP profiles provide performance insights for cloud applications. Users can see how cloud applications are actually consuming machine resources and how the picture evolves over time ... Infrastructure teams can see the big picture of how their software stacks are being used ... Always-on profiling ... collects a representative sample of ... [performance] over time. Application developers often are surprised ... when browsing GWP results ... [and find problems] they couldn't have easily located without the aggregated GWP results.

Although application developers already mapped major applications to their best [hardware] through manual assignment, we've measured 10 to 15 percent potential improvements in most cases. Similarly ... GWP data ... [can] identify how to colocate multiple applications on a single machine [optimally].
One thing I love about this work is how measurement provided visibility and motivated people. Just by making it easy for everyone to see how much money could be saved by making code changes, engineers started aggressively going after high value optimizations and measuring themselves on "dollar amount per performance change".

For more color on some of the impressive performance work done at Google, please see my earlier post, "Jeff Dean keynote at WSDM 2009".

Wednesday, May 18, 2011

In recent interviews and in his new book, "The Filter Bubble", Eli Pariser claims that personalization limits serendipity and discovery.

For example, in one interview, Eli says, "Basically, instead of doing what great media does, which is push us out of our comfort zone at times and show us things that we wouldn't expect to like, wouldn't expect to want to see, [personalization is] showing us sort of this very narrowly constructed zone of what is most relevant to you." In another, he claims, personalization creates a "distorted view of the world. Hearing your own views and ideas reflected back is comfortable, but it can lead to really bad decisions--you need to see the whole picture to make good decisions."

Eli has a fundamental misunderstanding of what personalization is, leading him to the wrong conclusion. The goal of personalization and recommendations is discovery. Recommendations help people find things they would have difficulty finding on their own.

If you know about something already, you use search to find it. If you don't know something exists, you can't search for it. And that is where recommendations and personalization come in. Recommendations and personalization enhance serendipity by surfacing useful things you might not know about.

That is the goal of Amazon's product recommendations, to help you discover things you did not know about in Amazon's store. It is like a knowledgeable clerk who walks you through the store, highlighting things you didn't know about, helping you find new things you might enjoy. Recommendations enhance discovery and provide serendipity.

It was also the goal of Findory's news recommendations. Findory explicitly sought out news you would not know about, news from a variety of viewpoints. In fact, one of the most common customer service complaints at Findory was that there was too much diversity of views, that people wanted to eliminate viewpoints that they disagreed with, viewpoints that pushed them out of their comfort zone.

Eli's confusion about personalization comes from a misunderstanding of its purpose. He talks about personalization as narrowing and filtering. But that is not what personalization does. Personalization seeks to enhance discovery, to help you find novel and interesting things. It does not seek to just show you the same things you could have found on your own.

Eli's proposed solution is more control. But, as Eli himself says, control is part of the problem: "People have always sought [out] news that fits their own views." Personalization and recommendations work to expand this bubble that people try to put themselves it, to help them see news they would not look at on their own.

Recommendations and personalization exist to enhance discovery. They improve serendipity. If you just want people to find things they already know about, use search or let them filter things themselves. If you want people to discover new things, use recommendations and personalization.

Update: Eli Pariser says he will respond to my critique. I will link to it when he does.
Glinden BlogThe owner of this website is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon properties including, but not limited to, amazon.com, endless.com, myhabit.com, smallparts.com, or amazonwireless.com.