Machine learning is a cool topic nowadays, people are excited about Google Assistant, Apple Siri, Microsoft Cortana, Amazon Alexa, self-driving cars, robots, even apps like Uber, Snapchat are using Machine Learning to enhance the experience and of course for smart pieces of stuff.
If you are interested in building kick-ass apps with intelligence that includes features such as speech recognition, face detection, natural language processing, prediction or anything like that, it's not always an easy option to develop a machine learning system from the ground for any indie developers or small to medium or even for a large team because of it's cost, time (coffee) consumption, therefore, there are many open-source machine learning platforms like Tensorflow Lite, Pytorch, Core ML, services like Dialogflow, Wit.ai, Google Cloud Machine Learning APIs, Microsoft Cognitive Services, IBM Watson are available to the developers to get things done in a very convenient way.
Here we will explore various machine learning libraries, APIs, and services.
TensorFlow™ is an open-source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them and TensorFlow Lite is TensorFlow's lightweight solution for mobile and embedded devices. It enables on-device machine learning inference with low latency and small binary size.
Android app with Tensorflow.You can build intelligent apps using Tensorflow Lite and even it will work on offline. Here's an Android demo built with inception model for image identification. This app can identify simple basic objects such as notebook, mouse, water bottle, phone, books, pen, table chair, etc look at the top texts of the photo it describes the object.
There are other open-source models for natural language processing, computer vision, image captioning, generating words, text recognition or else you can train and generate your models to use with Tensorflow for your own very need.
Core ML is a new foundational machine learning framework used across Apple products, including Siri, Camera, and QuickType. Core ML delivers blazingly fast performance with easy integration of machine learning models enabling you to build apps with intelligent new features using just a few lines of code.
Interestingly you can train your models in Tensorflow and convert them to the Core ML format so you can take advantages of both platforms. Here's a nice list of pre-trained models for Core ML and a good tutorial to learn it.
Wit.ai is a natural language processing platform that makes it possible for developers to add intelligent conversation functionality to applications. Developers can use the Wit.ai API to add an intelligent voice or chat interface to home automation, connected car, smart TV, robotic, smartphone, wearable, and many other types of applications or you can build an intelligent bot and got your application connected to the bot via API. Users can enjoy a hands-free mobile experience while driving, working out, cooking.
The basic idea of integration of Wit.ai to your mobile app is via API like node, python, ruby. There are many recipes out there for you. API training is done around Stories (domain-specific use cases), where the engine learns conversation flow from examples of user input with bot response.
This is a simple android app connected with Wit.ai, it takes images as input and describes what is in it in natural language. You can build an app that can talk to you. Great!
Here's another example of Wit.ai. Users can order pizza and it can have a smart conversation with the users. It can be a nifty feature in your mobile app.
IBM Watson is well-known platforms for machine learning with cognitive computing. It provides APIs such as speech to text, text to speech, trade-off analytics, personality insights, question and answer, tone analyzer, and visual recognition. You can build very smart applications with these APIs without banging your heads! everything is ready at your hands. Take a look at "10 IBM Watson-powered Apps That Are Changing Our World" and this one too "5 unusual things you can do with IBM's Watson".
Google Cloud ML Platform provides modern machine learning services, with pre-trained models and a service to generate your tailored models. Major Google applications use Cloud Machine Learning, including Photos, the Google app, Translate and many other.
Google itself uses this service to develop its smart applications. Usage of their service is massive you can do a lot of things in your applications with the services they provide, and their documentation is mind-blowing.
Amazon AI is a machine learning service provided by Amazon. Under Amazon AI umbrella there is Rekognition, a service that makes it easy to add image analysis to your applications. With Rekognition, you can detect objects, scenes, and faces in images. You can also search and compare faces. Rekognition's API enables you to quickly add sophisticated deep-learning-based visual search and image classification to your applications.
Rekognition identifies thousands of objects such as vehicles, pets, or furniture, and provides a confidence score. Rekognition also detects scenes within an image, such as a sunset or beach. This makes it easy for you to add features that search, filter, and curate large image libraries.
It has other capabilities like Facial Analysis as an example it can locate faces within images and analyze face attributes, such as whether or not the face is smiling or the eyes are open, Face Comparison like measures the likelihood that faces in two images are of the same person, and Facial Recognition. There are many use cases for this service like Searchable Image Library, Face-Based User Verification, Sentiment Analysis.
Another service under Amazon AI is Polly a text-to-speech service that uses a lot of machine learning smarts under the hood.
Amazon Polly is a service that turns text into lifelike speech. Polly lets you create applications that talk, enabling you to build entirely new categories of speech-enabled products.
The third and probably most important new service is called Lex. It is essentially the technology that fuels Amazon's own Alexa service. It allows you to build conversational applications that can feature multi-step conversations.
You can use Amazon Lex to build chatbots and mobile applications that support engaging, lifelike interactions. It has many interesting use cases like Informational Bots, Application Bots like Alexa.
There are other services out there you can explore like Microsoft Cognitive Services, AlchemyAPI.
Before finishing we all know machine learning stuff is really cool but we shouldn't implement it in our app just because it is cool, if scenario really calls for it then we should go for it, like you want to make an app like Uber now you need to fraud analysis then you can go for like the Uber did so, or like Google's Allo app they extensively used natural language processing for their Google Assistant.
Trends of intelligent apps are going on, time to catch up. :) Happy Learning.
Did you find this article useful? Which technology do you want to try out among them? Leave a comment to discuss it!
If you enjoyed the writings then please use the ❤ heart below to recommend this article so that others can see it.
Let's connect through LinkedIn.