The AI revolution is already transforming the consumer world.
Sometimes, it’s in everyday ways like product recommendations, and sometimes it’s in magnificent ways: Cochlear implants, which provide artificial hearing for those born completely deaf, have switched to AI for a superior end-user experience.
Artificial intelligence (AI) is the latest milestone in modern technology.
The AI revolution is leading to a smarter world, and this smarter world has been built on the mega-trends that we’ve all witnessed over the last 20 years: the web, the cloud, social, mobile, and the Internet of Things (IoT).
With cloud technology, we have, as developers, virtually unlimited computing and storage capacity, and it’s really that combination of massive data and massive computing power that’s leading to this revolution. Now that everybody is connected to each other and to everything in some way or another, all of these connections are generating orders of magnitude more data for the AI cloud to process than ever before.
You experience the AI cloud every day as a consumer. When you see a product recommendation on Amazon, a movie recommendation on Netflix, or a photo that’s automatically identified and tagged in your Facebook feed, you’re experiencing the power of AI.
Now wouldn’t it be great if the app you’re working on—whether it’s a Salesforce app or not—could somehow also provide these smarter, AI-powered experiences? For example, what if our business and our sales app could work together to tell us which leads are most likely to convert, or our service app could use the AI cloud to tell us which cases are likely to be escalated?
Unfortunately, for many teams, it seems too complex and expensive to apply AI to their app’s business process. First, it starts with data science and, to do data science, you have to collect and integrate all the required data. And then you need to do data wrangling, transforming the data so that you can use it for machine learning. And then, depending on your expertise, you may even need outside help from data scientists to build predictive models, maintain them, refresh them, and create an infrastructure that is trusted and secure and scalable. Then, after all that work, you have to take these predictions and put them into the context of the business user.
Enter Salesforce Einstein
Knowing that AI was often out of reach, Salesforce acquired companies like MetaMind (deep learning specialists), Implisit Insights (applying AI to the sales process specifically), and PredictionIO (machine learning and big data analytics) to help them build Salesforce Einstein.
Salesforce Einstein is AI for Salesforce, and it’s built right into the platform. As Einstein’s GM put it, “It takes the world’s number one CRM and makes it the world’s smartest CRM.” With Salesforce’s AI offering, you can now empower a company’s sales, service, marketing, and IT professionals to be their best by making every customer interaction faster, smarter, and more predictive.
Deep Learning: Einstein Vision and Einstein Language
Salesforce Einstein should bring the AI cloud within reach of developers. Maybe. But where should you start? The first thing to know is that AI has three major components:
Big data in general has been a hot topic for the past couple of years. Everyone is excited to have new sources of data, new ways of analyzing it, and new ways of storing it.
This is going to be a big part of how we bring artificial intelligence into the enterprise but a lot of the AI development effort has been on the algorithm side. These are complex algorithms that are being built upon, expanded, and actually having new research from both the private and public sectors. You can be sure that AI cloud algorithms are going to continue to be innovative and continue to drive new features for your applications and for customer experiences.
The computation aspect you’ve probably heard of lately, too: GPUs, TPUs, new investments, and new research from all the best hardware companies are all going towards computing power, ensuring that these algorithms have the infrastructure they need to continue to be innovative and to be able to provide insight into your data.
Before we get into how you can develop something that leverages this technology, let’s dig into some more details of what you’ll be dealing with.
There are two forms of data to consider here: Structured and unstructured.
Structured and unstructured data.
Structured data includes your ERP data and the majority of your CRM data; it could be data coming out of IoT devices, for example. This type of data is already easily searchable by basic algorithms.
Unstructured data could be your image data, email messages, PowerPoint presentations, Word documents, etc. This is where deep learning and machine learning algorithms come in, vastly simplifying how we search through this type of data.
Deep learning is a complicated term: A lot of developers and DevOps engineers get overwhelmed by it. They think they don’t have the infrastructure to handle neural networks. They think they need a PhD to sufficiently understand the state-of-the-art model to be incorporated in order to break it down into a more manageable thought process. Fortunately, knowing enough of it to be able to leverage it is a lot more accessible than that.
You only need to know about the input and output layers; all the really difficult work happens in the hidden layer, which is taken care of by the Salesforce AI cloud.
Let’s start this way: You have an input file. This could be an image, an audio file, or a text file. And you want to derive insightful output from it. Salesforce Einstein has a set of APIs which you can use to make this process really seamless: You don’t have to know anything about what happens in between.
With Salesforce Einstein, it is very easy for you to embed deep learning into your applications. It provides you with well-hosted infrastructure that manages your models as a service and thus takes care of any scalability needs. So it makes it easy for you to upload, train, and understand your model metrics, and in the end provide predictions in real time on a pre-trained model or a custom model that you create.
If even that sounds foreign to you, the next examples will quickly get you up to speed.
Computation: Einstein Vision
This is one of the deep learning services offered by Salesforce Einstein. Not all deep learning models or neural networks are equal: Specific architectures are used for specific problems. And in the case of computer vision, the AI cloud uses what is called a convolutional neural network, which means that each layer learns from the previous one. So when such a network is trained on image data, it rebuilds the image from the ground up to understand its different components. It will first look at an image’s smallest unit, the pixel, and then understand the edges, and then the next layer understands object parts or elements, and then eventually it gets to whole objects.
And that entire process is taken care of for you, so you can focus on the business value you can unlock for your clients with computer vision instead of on the process itself.
Einstein Vision can be trained to recognize objects in images.
Think about how the transportation industry could be transformed by using drones to monitor highways—no one would need to send a cleanup crew.
Or how CPG companies, instead of sending individuals to manually record the products on a shelf, could just take a picture and have it be automatically analyzed.
Or how consumer retail can be revolutionized with visual search, or how insurance companies can automate the triaging of claims, or how image processing can be leveraged by healthcare.
All such scenarios can be covered by Einstein Image Classification, which is part of Einstein Vision. All you need is a model, which is more or less just a set of classification labels.
Build a Custom Model
A custom model can predict the classification of new data based on a training dataset made of data with known classifications.
You can build your own custom models and then integrate these within your workflows, whether that’s a Salesforce workflow or an external application.
Building your own custom model involves just three steps:
Create your own data set, based on what your custom model needs to do. Say you want to be able to tell the difference between three-door refrigerators and two-door refrigerators. You’ll need to collect a bunch of images of two-door refrigerators and put them in a folder, and then a bunch of images of three-door refrigerators and put them in another folder.
Train your model. Now, whatever data sets you collected in the previous step, you upload them and the AI cloud will train the model based on that dataset. The fact that you already separated the images is all that’s needed for training. Once the new data model is trained, you will receive its ID.
Use it for prediction! You can now get predictions on images that the model has never seen before. It’s as simple as making an API call using the new model ID.
Computation: Einstein Language
If images aren’t what you need to process, chances are you’re looking to train using text. For this, Salesforce’s AI cloud has Einstein Language, which is currently made of two services: Einstein Intent and Einstein Sentiment.
Einstein Intent is a general classifier of the natural language processing (NLP) type. It allows you to define your own classes and upload data that represents those classes.
Einstein Sentiment is a pre-trained model which is able to analyze human language to derive the feelings of the content and surrounding users’ statements and classify those into positive, negative, and neutral classes.
Einstein Language's model makes natural-language AI cloud training and classification easily accessible to your Salesforce Einstein app via an API.
Einstein Language services work just like our image classification example. Here, we will also define classes.
In the above example, the intent is about routing cases. Every time a case comes through, we want to analyze that and route it to the right department: Shipping, billing, product, sales…we can define as many classes as we need. But in the case of Einstein Sentiment, the classes are fixed, so we just have positive, negative, or neutral.
Once you have separated the data into different classes, you can train your models. Training the model is very easy with the provided API. Just like with Einstein Vision, once the model is trained, you’ll have your model ID and you’re ready to get predictions.
Salesforce Einstein: Off to a Smart Start
Now that you have a taste for the possibilities that Salesforce Einstein brings within your reach as a Salesforce developer, and how easy it would be to help your clients or employer leverage the AI cloud, getting started merely requires setting up an account. We look forward to hearing how you’re using the AI cloud to revolutionize your own app!