My intention was to instill a sense of confidence in the Digital Analytics community that non-technical users of data can also proactively participate in the ML conversations to create value for their organizations. By keeping the content of the blog posts high level, I intended to provide the business users of data with a Machine Learning 101 opportunity sans technical jargon! ML is no longer a buzz word rather it is a new tool in the digital analyst's tool box for better, more exciting, and more efficient way of accessing and analyzing data.
To those of you who encouraged me to keep on writing and share a more practical guide, this blog post is for you. Although it is best to look for customized machine learning models for specific industry use-cases, I hope that this blog post provides practical examples of how ML can be used in real life :)
In order to make a cost effective decision, assess each vendor based on your organization's current assets: people, process, technology. You most likely have an infrastructure in place from one of the above with people and processes to run the platform. This may or may not work to your advantage. In addition, you should look at each platform's:
- modeling methods
- automatic algorithm suggestion
In this post, I will introduce you to Google's ML offerings and how they can help you to make sense of your unstructured data. But before doing so lets quickly review the definition of unstructured data.
For many years, Digital Analysts used to analyze structured data. This type of data can fit into a table. By having unstructured data at your disposal, only the sky would be the limit! You can now run faster, more robust and interesting analysis on text, image, audio and video data along with your good old structured data!
Google Machine Learning Offerings
The following diagram represents an overall view of what Google has to offer. Depending on whether you are going to use your own data for training or looking for an API model the options could vary.
- create and train your own ML models with your own custom data. Typically you will separate your data into training and test sets. Then fine tune the model with the training data and test how well it generalizes to a test set that it has never seen before.
- Or you can skip the training step and use one of the following APIs to access pre-trained machine learning models
In this post, I focus on the latter which allows removing one step from the process: building and training the machine learning models.
If you have the resources and the need to build and train your own model, you can leverage the power of TensorFlow which is an open source platform. Google basically decided to open its proprietary ML library to the world a while ago. You can use the Google cloud ML engine to run and mange the TensorFlow models on Google's managed infrastructure as well.
Learn More About TensorFlow in the Following Video:
Show Time! Get ready to Use the Google API Models:
Google has taken a big step towards democratizing machine learning by releasing the following APIs. With these ready to use APIs, all you need to do is run a request and skip through building and training your own model. This means that your dev team can save time and focus on building innovative apps. Let's take a deeper dive and see what each API can do. [please note that Google continues to add to the list of its API models, it is always best to refer to the GCP sources: Google Cloud Platform for the latest updates]
Use Case Example: Realtor.com
"Sign Snap (a new feature in realtor.com's mobile app) lets prospective buyers get key information about a house — specs, photos, price, agent contact information etc. — by taking a picture of the for-rent or for-sale sign. That allows people walking or driving by to access information about the house on the spot, rather than just hoping they remember to look it up when they got home. Sign Snap uses image recognition technology, as well as smartphone cameras, GPS capabilities and Google Cloud Vision API and searches the Realtor.com database to find the information." Source: GeekWire
As listed in the diagram above the Vision API has some core features. My recommendation is to know the features and facilitate design thinking sessions with your team to introduce new data products to better serve your clients.
"Label Detection: Detect broad sets of categories within an image, ranging from modes of transportation to animals.
Face Detection: Detect multiple faces within an image, along with the associated key facial attributes like emotional state or wearing headwear.
Optical Character Recognition: Detect and extract text within an image, with support for a broad range of languages, along with support for automatic language identification.
Explicit Content Detection: Detect explicit content like adult content or violent content within an image.
Landmark Detection: Detect popular natural and man-made structures within an image.
Logo Detection: Detect popular product logos within an image.
Crop Hints: A successful Crop Hints response returns the coordinates for a bounding box cropped around the dominant object or face in the image." Source: Google Cloud Platform" Source: Google Cloud Platform
2. Speech API:
Use Case Example: Azar
Azar is a HyperConnect mobile application which leverages the Google speech API to connect people around the world.
Source: Google Next Conference, 2017
You are probably familiar with Ok Google. Thanks to the speech API, you now have access to this feature and can integrate it into your applications. You can try a demo here. The business analysis insight from the speech API data can include data center analytics, video analytics and meeting analytics to name a few.
3. Natural Language API:
Use Case Example: Wootric
Wootric leverages the Natural Language Processing API to analyze the qualitative feedback. Thanks to this API Wootric uses text and sentiment analysis to gain insight for their customers. For instance, if a customer sent a feedback reporting an issue, the feedback will be automatically forwarded to the right person to address the issue.
The diagram on the left represents a summary of different types of analysis that you can run with the NLP API.
Google Cloud Natural Language API reveals the structure and meaning of text by offering powerful machine learning models in an easy to use REST API. You can use it to extract information about people, places, events and much more, mentioned in text documents, news articles or blog posts. You can use it tounderstand sentiment about your product on social media or parse intent from customer conversations happening in a call center or a messaging app. You can analyze text uploaded in your request or integrate with your document storage on Google Cloud Storage. Source: Google Cloud Platform
Currently this API supports the following languages: Chinese, English, French, German, Italian, Japanese, Korean, Portuguese, and Spanish.
4. Natural Machine Translation:
Use Case Example: Airbnb
Source: Google Next Conference, 2017
The Google Natural Language Translation is basically the good old Google translate on steroid. Over time Google has made improvements to this service which is now much more accurate than its earlier versions.
5. Video Intelligence: Talk about metadata detection, automated!
Use Case Example: Cantemo
"Cantemo is using Google Cloud to offer video image recognition in their new product iconik, a cloud-based media asset management (MAM) platform. "Ingested assets are analyzed using Google Video Intelligence (GVI) API. We collect the timecode-based metadata and associate them with the asset, (to) make it searchable for users," says Parham Azimi, CEO of Cantemo. Customers (can) search for specific items within their assets which would otherwise be undiscoverable. This also makes it possible for users to detect specific shots and scenes within a video." Source
Thanks to this API you can search and discover video elements within the video content.
Google Cloud Video Intelligence API makes videos searchable, and discoverable, by extracting metadata with an easy to use REST API. You can now search every moment of every video file in your catalog and find every occurrence as well as its significance. It quickly annotates videos stored in Google Cloud Storage, and helps you identify key nouns entities of your video, and when they occur within the video. Separate signal from noise, by retrieving relevant information at the video, shot or per frame. Source: Google Cloud Platform
This API allows you to:
- "extract actionable insights from video
- understand the overall content of your video catalog
- Separate Signals from Noise" Source: Google Cloud Platform
If you want to start leveraging the power of ML in your business, you will need to start by choosing the right vendor for your organization. Next, asses your organization's specific ML needs and decide whether you need to create and train your own model or can use an API model instead. Proceed by learning what opportunities are available to you within your ML eco-system of choice (it looks like only the sky is the limit these days :)). A good general knowledge of the services available to you, can enable you to be a better manager/leader to motivate your team, facilitate sessions to generate new ideas, and engage in the conversations to create value for your company and customers.
Happy Machine Learning!