Why? It is a common question when you mention working with the Microsoft tech stack as a lot of people are stuck in the last decade when it comes to their perceptions of Microsoft.
In recent years Microsoft has made a fundamental shift in their community culture, they have gone from the big evil corporation who hoarded all proprietary knowledge to a big evil corporation who is championing open source and collaboration.
This new approach from Microsoft is very evident in their Bot Framework. Microsoft has helped establish new online communities to support bot development and released a large number of sample bot applications to enable developers to get up and running quickly. It is not a selfless act on Microsoft's part; they want companies to invest in Microsoft technologies and host the solutions on Azure, but altruistic or not it has made Microsoft a very attractive starting point for Bot Development.
The Bot Framework, from Microsoft, comes with built-in support for hosting a Bot in web pages, Skype, Slack, Teams, Facebook and more. So rather than companies needing to invest in multiple Bots to support their various web presences they can focus their investment in a single Bot to rule them all. The framework also includes an emulator to make testing Bots easier and sample code for a lot of common functions.
LUIS, Language Understanding Intelligent Service, is another exciting release from Microsoft. LUIS adds conversational intelligence to Bots (and other applications).
The way in which LUIS does this is by allowing the developers and authors to outline:
- Intents - a task and/or action, i.e Book flight)
- Utterances - examples of how the intent may be expressed by a user, i.e ticket to Paris, Book flight to Paris, Paris flight booking
- Entities - important words in the utterances, i.e Book a flight to Paris
When an end user then chats to the Bot it evaluates each statement against the utterances, provides a percentage match, and responds as programmed for each intent. This means that you do not have to list out every possible combination or phrase, LUIS evaluates the statement for you. The Bot then "learns" by the authors reviewing the chat records and letting LUIS know which comment evaluations were right and wrong.