In latest tech, Bots and AI are taking a great leap in creating Next-gen solutions. AI has come more closer to real life solutions with recent advancements in Cognitive services and Machine Learning. As a result we now have enough resources to build and use them effectively.
In this blog, we will look at the concepts about Bots, AI and how to use them with Office 365 collaboration platforms such as Microsoft Teams, SharePoint etc.
Office 365 Services (Channels)
Office 365 services could be used as a channel to host or interact with the Bot and provide information or related data for the Bot processing.
One of the services that is much talked in this space is Microsoft Teams. Teams is an integrated workspace for Collaboration and Sharing. It integrates with Office 365 suite and services seamlessly and provide extensions to Bots and AI. Some of the other channels in Office 365 space are Web Interface, SharePoint, Skype, Emulators etc.
Bots are revolutionising the way we create solutions for business processes for some time now. They assist greatly in executing tasks that are repeated or could be managed without human intervention. Some of these tasks are for example, regular maintenance jobs, operational tasks with defined steps, image and face identification, speech recognition etc.
Bots basically act as a conversational interface by which a user can provide inputs and information without knowing that they are actually conversing with a program. In other words, it saves time for systems to depend on a human interaction or intervention to carry some of the non-complicated tasks.
Azure AI Services
AI (Artificial Intelligence), as we might see in many sci-fi movies, shows how AI could take over the human world. Don’t worry this blog is not about that :). Truly in some sense use of AI is a philosophical debate but that debate is for future :). In the present world, AI could really help us to do some of the our heavy and non plausible work easily.
In other words, AI allows us to increase speed and efficiency of many time-consuming operations that would take us hours to execute. Also, with time it learns from its mistakes and improves it efficiency. This is called Learning but it takes a lot of resources and training to prepare a better AI. Fortunately, Microsoft and other major players have done much of the hard work and provide us with the starting model that we could use for day one. A brief set of these services are below.
Integrated Solution Architecture
In order to understand how the above pieces work together, lets’ look at the overall architecture of a generic solution architecture. Bots act as a conversational medium that creates a dialogue with a user. With AI, we can extend it to understand intentions of a user and act on it. Basically the architecture is a simple three layer model as shown here.
The first layer is the channel for the Bot where the Bot will be hosted and interacts with the user. For example in Microsoft Teams we could host and start the interaction with the users who gather data.
The second layer is the Bot which gets information from the user. With Bot Framework v4, it is possible to create a back and forth conversation with a bot with the present state context of where the conversation is. We will do a deep dive of it in another upcoming blog.
The next layer is the AI Layer which does most of the parsing/recognising the content to determine intention of the user. It can also do other activities such as translation, sentiment analysis, speech and voice processing, and OCR etc. depending on the business requirements.
Note : It is key to understand the usage of the AI layer as sometimes solution designers consider the use of AI to replace business logic, but that is not the case. AI will help in interpreting the fuzzy content from users and parse it but doesn’t necessarily help you implement the business logic through it. In some cases, it can simplify it but that’s all, the switches will still be need to put it in place to the get the required output.
Finally, the last layer is the solution implementation layer where we implement the required logic after the AI layer has interpreted the content and provided a simplify form of information that could be processed by the Bot. This logic could be kept in the solution or could be implemented through a third-party application or in the Bot.
The output from the above layer is then presented in the UI layer which could be a form or card or data representation in similar form.
In this blog, we saw the concepts of designing a solution using Bots, AI with Office 365 services. In the upcoming blogs, we will deep dive into solution implementation for specific scenarios.