Incorporating machine learning and other technologies normally associated with artificial intelligence is becoming practical for software projects of all kinds thanks to the increasing democratization of cognitive services. Broadly speaking, cognitive services are REST APIs that enable access to a number of technologies commonly used for developing bots and incorporating AI into other types of software. At The Mad Botter we’re heavily working in the Microsoft Bot Framework and its related LUIS cognitive service to gain access to a couple of key capabilities: natural language processing and machine learning.
Natural language processing is a technical term that basically refers to the ability of a software system to meaningfully understand human written or spoken phrases and sentences. This is the basic building block of all AI assistants and bots. This is a fairly large undertaking and by building on top of a cognitive service like LUIS you get some key advantages over developing your own. The most obvious benefit is of course cost. By using a third-party cognitive service to build your bot, you avoid the substantial development cost of developing your own while getting the ongoing improvements provided by the service vendor. Another substantial advantage of using an external cognitive service is multiple language support. The languages supported vary by service but most have support for some of the world’s most commonly spoken languages built right in.
Machine learning is a broad subject area in computer science that encompasses a number of algorithms and methodologies, but for the purposes of this discussion, let’s adopt a simplified definition of machine learning — the processes by which software uses large sets of data to learn and make inferences, thus allowing it to recognize and intelligently deal with similar data. That’s still a bit of a mouth full. Let’s look at a simple one that you probably use everyday but maybe don’t think about too much — spam detection. Your email provider is likely using some machine learning algorithm that takes into account a number of properties of every email that comes into your mailbox and uses some of them as signals as to whether a particular email address is spam; in that spam example, a strong signal that the algorithm would likely use to blacklist a sender as spam is how frequently email users mark that sender’s messages as spam. When you use a cognitive service you get the benefit of not only a much larger data for your bot or other software to have behind the scenes but that “machine” is “learning” from every bot using the service, not just yours. Let’s say you have a chatbot using LUIS service that helps your potential customers learn more about your products or services and determine which ones meet their specific needs and you have say 1,000 users per month for this bot. Because you are using a cognitive service, you’re bot would get all of the machine learning benefits not just of your 1,000 users but all the users using the service. This is of course without you sharing your proprietary data with those other users or them with you. What is happening here is that cognitive service is behind the scenes improving itself and learning based on all the usage and every bot that is built with the service gets the benefits of that learning automatically.
Cloud based cognitive services are a great efficient way to incorporate machine learning, natural language processing, and other technologies commonly referred to as artificial intelligence into your bots or other software projects. If you want to get started with incorporating cognitive services into your app or bot, start with our limited time FREE Strategy Session.