From Amazon’s product recommendations to Pandora’s ability to find us new songs we like, the smartest Web services around rely on machine learning–algorithms that enable software to learn how to respond with a degree of intelligence to new information or events.
Now Google has launched a service that could bring such smarts to many more apps. Google Prediction API provides a simple way for developers to create software that learns how to handle incoming data. For example, the Google-hosted algorithms could be trained to sort e-mails into categories for “complaints” and “praise” using a dataset that provides many examples of both kinds. Future e-mails could then be screened by software using that API, and handled accordingly.
Currently just “hundreds” of developers have access to the service, says Travis Green, Google’s product manager for Prediction API, “but already we can see people doing some amazing things.” Users range from developers of mobile and Web apps to oil companies, he says. “Many want to do product recommendation, and there are also interesting NGO use cases with ideas such as extracting emergency information from Twitter or other sources online.”
Machine learning is not an easy feature to build into software. Different algorithms and mathematical techniques work best for different kinds of data. Specialized knowledge of machine learning is typically needed to consider using it in a product, says Green.
Google’s service provides a kind of machine-learning black box–data goes in one end, and predictions come out the other. There are three basic commands: one to upload a collection of data, another telling the service to learn what it can from it, and a third to submit new data for the system to react to based on what it learned.
“Developers can deploy it on their site or app within 20 minutes,” says Green. “We’re trying to provide a really easy service that doesn’t require them to spend month after month trying different algorithms.” Google’s black box actually contains a whole suite of different algorithms. When data is uploaded, all of the algorithms are automatically applied to find out which works best for a particular job, and the best algorithm is then used to handle any new information submitted.
“Getting machine learning to a Google scale is significant,” says Joel Confino, a software developer in Philadelphia who builds large-scale Web apps for banks and pharmaceutical companies, and a member of the preview program. He used Prediction API to quickly develop a simple yet effective spam e-mail filter, and he says the service has clear commercial potential.