Wednesday 15 April 2015

How the Google Predicition API Can Help a Business Ratings and Reviews Service Like Wasamundi.com

This is the second in a series of post about how the Google Prediction API can help some start-ups I know in Cameroon. This series is aimed at promoting the creation of smarter services based on machine learning within the community. Here are other parts of the series:
Part 1: How the Google Predicition API Can Help a Jobs Website Like Njorku.com


Wasamundi.com is a Cameroonian business reviews and ratings service on a mission to increase and improve visibility of local businesses online across search engines, social networks and mobile phones.




















The Google Prediction API on the other hand is a machine learning cloud service that can be used to analyse data and predict future outcomes.

Looking at Wasamundi there are 2 ways I think the Prediction API can help:
  • Customer sentiment analysis
  • Spam detection
For a case like customer sentiment analysis you are interested in determining the mood of your customers about a particular business using machine learning. So you will send comments users make on the companies page to the Prediction API which then replies with the sentiment the comment carries. For example the following comments are indicated with their inferred sentiments (The training data CSV file will be of this format without the list item dots):
  • "happy","Ate the best fried ever at Mouth Power this afternoon"
  • "angry","I hate the shawarma at mile 80 park, too wet!"
  • "sad","I wish the waitress at Buea Cafe was not frowning all day"
  • "indifferent","Just had a some coffee at the Mid Town Coffee House"
After creating training data such as this, all you will have to do is send any user comment to the Prediction API and it will reply with the mood inferred by the comment e.g sending a comment like "Had a two plates of potato and egg at UB junction and I will say its the best in town" to the API will give you a reply of "happy". Keep in mind that you want to have hundreds or thousands of samples for each mood.

You can then use this inferred sentiments  to do some more analysis e.g whats the most loved business based on comments and not "star ratings".

For the spam detection use case, it will be done similarly but in place of the moods you will want to replace it with categories like "spam" and "not spam".

Want to give the Prediction API a spin? Check out the docs.