Five Simple Ways to Build Artificial Intelligence in 2017
The artificial intelligence and voice recognition space has been growing rapidly. The idea of having a personal assistant you can beckon with the words “Siri”, “Alexa”, “Cortana” or “Ok Google” which connects us to the web and the ever growing Internet of Things (IoT) is becoming ever more commonplace. Even Facebook started getting into the action, releasing its own AI assistant named “M” to a select few within Facebook Messenger. Soon enough, we shall all have artificial intelligence assistants at our disposal!
Luckily for developers who don’t want to wait any longer, there are also a range of services available that make it simple to get started with the basics of building your own artificial intelligence system for whatever purpose you can dream up. Connect up your smart home, control a self made media center, deliver all sorts of information via a personal AI assistant… there are so many options available thanks to APIs and services. This lead up throughout 2015 has made 2016 the year where developers can really get into artificial intelligence and start building solutions of their own.
In this overview, we’ll look at the services that exist which can enable developers to begin connecting their own apps and IoT devices to voice recognition and artificial intelligence throughout 2016.
Wit.ai is a service which provides a nice combination of both voice recognition and machine learning for developers. It provides the service to convert verbal commands into text and can also be trained up in how to understand those commands. Early in 2015, they joined Facebook and opened up the entire platform to be free for both public and private instances. Its development has continued since then with new features appearing throughout the year and no sign of things slowing down!
Wit.ai has two main elements to it that you set up within your app – intents and entities. An intent is what action an instruction should take (e.g. turn on a light). An entity is a specific object or piece of information that our AI needs to know about to enact that intent (e.g. which light? Is it a smart light? Should it understand particular colors the light can switch to?). Rather than needing to create intents from scratch, Wit.ai also provides access to existing intents from the developer community which is quite neat!
Wit.ai also has the concept of “roles”, where it can learn to differentiate between entities in different contexts (e.g. numbers in different parts of an instruction can refer to different things – like an age, an order, a count). It also has some entity types built in that it can understand, such as temperature, URLs, emails, duration… etc.
Api.ai is another service which provides similar capabilities to Wit.ai, with intents and entities. Just like Wit.ai, Api.ai is free to use. It also has a paid enterprise option which allows for this to be run on a private cloud internally and more from their services team. This is potentially valuable if your usage needs to be totally private.
One key focus of Api.ai that differs from Wit.ai is its “Domains”. Domains are a whole collection of knowledge and data structures from Api.ai that are ready for use in every Api.ai agent (apps are called “agents” in Api.ai). Domains can include knowledge of common verbs and content types. As an example, it understands the different types of data that a request of “Book restaurant” needs, compared to “Book hotel”. It has a range of real information about encyclopedia-like topics such as history, word definitions, people of significance (e.g. celebrities, writers, characters), movies, stock prices and a lot more.
If you’d rather do more of the programming side of the AI yourself and you are a fan of Raspberry Pi, you could look into Jasper. Jasper is an open source personal assistant written in Python that runs on the Raspberry Pi Model B.
Jasper provides always-on voice control and some default modules for things like asking for the time, weather, news, Gmail inbox status, Facebook notifications, Spotify controls and more. For the Python developer who wants total control – Jasper might just be for you!
Continue reading %Five Simple Ways to Build Artificial Intelligence in 2017%