Writen by Guilherme Sesterheim, VP de Operações, in 10/09/2019
8 minutes of reading
Using Machine Learning in Real Life Part 1/2
Everybody has been talking about Machine Learning, and everybody wants to get the benefits of Artificial Intelligence. It’s a new thing for IT managers to grab that old problem from inside the old locker and think: “Hey! Maybe new Watson can solve it for me!”. But every time I hear someone asking about how to solve a problem with AI, the problem looks like something new, never seen before. Every day a new solution is researched to solve a new problem. Therefore, how can we identify what are the borders for AI? Since AI stands for “Artificial Intelligence” what is the “intelligence” border? What can and cannot be solved with what we have today?
How to identify how hard it will be to find an AI to your scenario
Machine Learning projects can be split into three groups:
- Using a ready-to-use open API (this first article focuses here)
- What is it? This is the fastest approach. There are a lot of APIs ready to be accessed and to be added to your solution. There are a lot of benefits, and you just have to pay for that. There is a table and more details below;
- How long will it take? You can get results from some tests within one day;
- Some benefits:
- a) They are ready to use! You just have to plug them to your app. Anyone can do that;
- b) Their suppliers will keep training the model as you go! So, it won’t ever be outdated;
- c) The competition between suppliers will grant you always well-trained models and non-stop improvements and updates;
- The items above will be very expensive to reach when outside this approach;
- Some restrictions:
- a) It doesn’t belong to you. It means you can’t change anything on how it works. It’s just you asking: “hey, please classify this image!”. Then the answer would be: “cool! Your image has a woman on it”. But you can’t ask back: “what’s the woman’s hair color?”;
- If the open APIs fit your needs, don’t ask again and start using them by now! Don’t worry about suppliers grabbing your information or anything like that. Once you pay for the tool, you have a contract where they say they won’t use your data. It’s the same with cloud;
- If it doesn’t fit exactly your needs, try to understand how important is to have that 1% more of trust over that AI judgment. If you really need something more precise, jump to “training a model”;
- Training a model
- Mid-term approach. There are a lot of different models ready to be added to a project, configured, trained and then used. I will talk about this approach in the next article;
- Building a model
- Keep in mind it won’t be an IT project for a while. You will have to have people from physics, mathematics, and specialists on your business, and really good information to add to your project in the very beginning. Once they finish the model (it can take up to 2 years, maybe more), then it will turn into a regular IT project starting from “training a model”. Both of these projects (building and training) will take for sure more than 2 years of research and testing. If it is a key process for your company, don’t waste one more second and start this project. The sooner you start, the sooner you will get the benefits;
Cool! What are the ready-to-use APIs?
My suggestions are inside this table below. But the options are not limited to it. You can find many others. They are maintained by the biggest cloud and AI players. It means you can trust it, and probably for what they focus, they are the best you will find.
|Chatbot related||DialogFlow||Watson Assistant and Virtual Agent||Bot||Lex|
|Video Analysis||Video Intelligence||Intelligent Video Analytics||Video Indexer||Rekognition|
|Image Analysis||Vision||Visual Recognition||Computer Vision API||Rekognition|
|Speech to Text||Speech||Speech to Text||Bing Speech||Transcribe|
|Text to Speech||Text to Speech||Bing Speech||Text to Speech|
|Natural Language Classifier||Natural Language||Natural Language Classifier, Natural Language Understanding, Personality Insights, and Tone Analyzer||Language Understanding||Comprehend|
|Trends search and analysis||Trends||Discovery and IBM’s Discovery News|
|Find patterns over unstructured text||Knowledge Studio|
|Content moderator*||Anomaly Detection|
|Jobs discovery||Job discovery**|
* Google, IBM, and Amazon have content moderator built-in their products. Microsoft has this specific product looking for anomalies only.
** Job Discovery is a private tool available for only a few partners.
Two examples to talk about the borders again
Just like the example above: a customer came to me asking about a solution to identify people on images. Great! Let’s use Google’s Vision! Vision identifies people on photos and gives a lot more information about the colors on that image, about places the image may contain, and etc. But then the customer asked me: I want to recognize if it is a woman. I said ok! And then: I want to recognize the woman’s hair color. Ok, all open APIs are off the game. Let’s find a model, train it and then get hair colors. For you to be able to answer those questions there is no shortcut. You will have to read the documentation of each open API you find and run tests on it.
Language defect recognition
Another customer came to me asking if they could give a microphone to their employees in order to operate a system just by voice commands. Ok, it’s not new. We could use a mix of speech-to-text and natural language processing APIs, let’s move ahead! But then the customer said the system should recognize internal terms like acronyms and words they invented to communicate with each other. Erm… it’s not possible. You can’t train ready-to-use APIs to understand your very own specific terms. The easiest way to suggest the operators was to change the words for some others so the system would recognize it. Otherwise, they would have to grab models, configure and train them to understand the new words.
Then, why don’t you give your first AI step over ready-to-use APIs evaluation? The sooner you start, the sooner you will understand how to approach that old problem.