How to add AI to your app without knowing anything about AI
AI/ML is going to change the world according to everyone with a pulse. However, getting started with this stuff is down right daunting. You’ve probably heard of TensorFlow and PyTorch, and heck, maybe you even did the tutorials, but most likely, you never really “got it.” If you did, you wouldn’t be reading this post 😉. For me at least, whenever I start down the path of learning about AI/ML, I am immediately slapped in the face by a simple truth—I am trying to learn too many things at once:
- Linear Algebra
- Neural Networks
- Popular AI/ML libraries
- How to apply all of this in the real world
In addition, unlike other kinds of development, creating an AI project for yourself out of thin air is a bit harder because you need a clean dataset to operate on. In contrast, I taught myself almost everything I know about frontend development by building a series of more and more complex breakable toys.
If you’ve read this far, you’re probably thinking that I’m about to share a bunch of resources that I found useful to get over the hump I just described. However, I still haven’t totally gotten over it. Instead, I want to share with you a list of totally off-the-shelf AI services that will let you add AI to your app without knowing shit about AI.
Here is my incomplete list of commoditized cloud AI services. By and large, these services work by you, the developer, sending a simple POST request and they return some JSON with the data. Pretty neat.
Vision API: Add vision detection, including image labeling, face and landmark detection, optical character recognition (OCR), and tagging of explicit content.
Natural Language API: Work with natural language understanding features including sentiment analysis, entity analysis, entity sentiment analysis, content classification, and syntax analysis.
Video Intelligence API: Pre-trained machine learning models that automatically recognize a large number of objects, places, and actions in stored and streaming video.
Translation API: The Basic version of the Translation API makes it possible to translate texts into more than one hundred languages.
Cloud Speech-to-Text: Convert audio to text. The API recognizes 120 languages and variants. It can process real-time streaming or prerecorded audio too.
Cloud Text-to-Speech: Converts text into human-like speech in more than 180 voices across 30+ languages and variants.
Dialog Flow: A development suite for creating conversational interfaces (such as chatbots and conversational IVR).
Rekognition: Add image and video analysis to your applications to catalog assets, automate media workflows, and extract meaning.
Comprehend: Use natural language processing (NLP) to extract insights and relationships from unstructured text.
Textract: Automatically extract text and data from millions of documents in just hours, reducing manual efforts.
Polly: Turn text into lifelike speech to give voice to your applications.
Lex: Easily build conversational agents to improve customer service and increase contact center efficiency.
Translate: Expand your reach through efficient and cost-effective translation to reach audiences in multiple languages.
Transcribe: Easily add high-quality speech-to-text capabilities to your applications and workflows.
There are a few other low-effort AI/ML tools worth mentioning and playing around with. These tools require almost zero data science or math knowledge, they are just slightly more involved than the services above.
MonkeyLearn lets you train custom machine learning models to get topic, sentiment, intent, keywords and more in both a slick GUI as well as programmatically through their API’s. They also have an integration with Zapier, so you don’t even need to write a single line of code to get started.
Acquired by Facebook back in 2015, Wit.ai lets you build custom natural language text classifiers (in the browser) for free. With a 1 request per second rate limit, it’s more than adequate for a lot of apps and side projects.
Uber has an open source project called Ludwig that’s an AI toolbox with training wheels. It’s an abstraction on top of Google’s TensorFlow, but requires zero coding knowledge to use. With Ludwig, you can create all kinds of custom classifiers with a few lines of YAML and some CSV files. You can even launch your models as API endpoints.
I’m probably missing a bunch of other useful resources, but this should be enough to get yourself started…or at least enough to validate purchasing that .ai domain name. In all seriousness, the big takeaway here is that startups and cloud providers are commiditizing pre-trained AI models and you should be aware of what’s possible. So go forth, and try this stuff out!