Baufest

Intelligent Systems – Part III – How to Build an Intelligent Assistant?

Let’s recap: we have already mentioned the differences between a chatbot, a virtual assistant, and an intelligent assistant, and we presented the advantages of this last group of chats over their predecessors.

Intelligent Systems – Part III – How to Build an Intelligent Assistant?

Let’s recap: we have already mentioned the differences between a chatbot, a virtual assistant, and an intelligent assistant, and we presented the advantages of this last group of chats over their predecessors.

On the other hand, we have detailed what considerations we must take into account when facing a project to build an intelligent assistant, and we emphasized that, before focusing on the technical solution, we must move forward with an analysis of what the user expects from our future bot and what conversational flows it will support.

Therefore, we only have one final question left to answer: how can I build it?

The technical challenge today is not linked to having to develop neural network or artificial intelligence models to manage conversations, as there is a large number of tools and platforms available; rather, the challenge consists of how to correctly integrate them with each other and, in turn, with our applications and systems, in order to build high-value intelligent assistants for our clients.

Similar to how we develop applications, we must also carry out a technical design, choose a platform, build an architecture, select which components we are going to use and integrate, opt for a programming language for the code components, and create a database to store the foundational information for the proper execution of the chat.

Although there are different platforms available on the market, in this article we will focus on those offered by Microsoft as part of its Cloud services.

First, to build the foundation of what will be our automated chat, we recommend using the Azure Bot Services platform and the development components available in the Bot Builder SDK. On the one hand, Azure Bot Services allows for easy creation and management of intelligent assistants from the Azure portal, and on the other hand, with the Bot Builder SDK, you can easily create the code interfaces that implement the processing of each of the dialogues between the user and the chat.

At this stage, we can say that we barely have a chatbot, with more or fewer features, but without the addition of AI to offer a better user experience to our consumers. The next step we recommend to evolve our chatbot into a virtual assistant is the incorporation of LUIS, a Machine Learning-based service that allows integrating natural language processing into our bots. LUIS requires designing and building a model of the language used by our users, and also allows training it to detect the intentions that people seek to convey in a given message (the verb), and which entities (the nouns) are relevant to the intent of said message.

Finally, to have an intelligent assistant, we must take another step and integrate our bot with Azure Cognitive Services, a set of APIs developed by Microsoft that allow incorporating intelligent algorithms into our applications, granting the ability to see, hear, speak, and interpret user needs. They feature machine learning through neural networks and generally do not require a team specialized in artificial intelligence to implement them.

In this way, we can equip our bot with cognitive capabilities that significantly improve the user experience, guarantee a better interpretation of their requests, and provide more precise answers to their needs.

In summary, we present below a high-level diagram with the integrations of the different components of the standard automated chat architecture proposed by Microsoft.

Figure 1: Recommended technology stack by Microsoft

Additionally, in the links provided in the previous paragraphs, much more information can be found with sufficient technical detail on how to perform the implementation and necessary integrations. Trying to address them all in this article would exceed its scope, which only aims to present the foundational guidelines to correctly create intelligent assistants.

Finally, it is worth emphasizing that these types of systems usually evolve constantly after their initial implementation. Consider that, if we did a good job beforehand, our users will demand new features as they use it more and more; likewise, the medium used to communicate—that is, language—is dynamic and changes permanently, so our understanding models must also evolve over time to recognize new expressions.

However, from a business perspective, having a correctly implemented intelligent assistant integrated with your business applications today grants huge benefits to customers, while optimizing resource usage and empowering employees to perform other types of activities, driving what we call Digital Transformation & Customer Centric Strategy.

Share