Create an Office365 FAQ chatbot

In this article, we will explain how to create / test / train a chatbot in order to answer your employees’ questions about the O365 suite!

Step 1 - Import and setup skills

Download the Excel containing all of Microsoft’s official FAQ: Office 365 FAQ (en) .
Each tab in the Excel file corresponds to an Office365 suite FAQ.

On the Vizier Dashboard , create a new bot then go to skills:

Tap ” Create New Skill “.
Select on the skill and in the ” Settings ” tab, change the name of the skill to “FAQ TEAMS” and the type of the skill to ” FAQ “.

We are going to massively import the documentation concerning the Teams FAQ.

In the ” Advanced ” tab, press ” choose a file ” and select the Office365 Excel FAQ. Choose the “TEAMS FAQ” sheet then click on ” Import “.

NB: Resources will appear over time.

Repeat the same operations to import the FAQs related to the other services of the O365 suite.

Then create a ” scenario ” type skill and a “clarification” resource.
Add as many buttons as you have FAQ skills (in my case I imported 3 FAQs so I have 3 buttons).

Consider redirecting buttons to your FAQ skills.

We will now configure the understanding of the bot.

Step 2 - Create an entity

In ” NLU ” then Entities ” click on “ Add an entity ” and call it “OfficeApps”.

Click on the⚙️ of it and ” Add synonyms “. Add as many synonyms as the number of imported FAQs.

Remember to fill in the variants that could refer to your applications, this is what will allow the bot to link words to a synonym.

If I use the word ” conversation ” or ” channel “, I want the bot to understand that I am in the context of Teams.

Step 3 - Create the configurations

Configurations allow logic to be created based on the understanding of the bot.

Go to the ” Configuration ” tab then ” Add a configuration “.
Select the ” Logic without intent ” button and then the ” OfficeApps ” entity.

In the⚙️ of the configuration created, set the “Logic according to the value of entities ” toggle to true, then add as much logic as you have FAQs.

Remember to redirect each synonym to its corresponding FAQ as below:

Step 4 - Create the intentions

To train a bot, it needs by default 2 intentions and training phrases.

2 choices are possible:

  1. You want an FAQ-only bot.
  2. You plan to integrate resolution procedures for your users afterwards.

Case 1: 2 intentions are sufficient ” FAQ ” / ” Other “.

Case 2: Multiple intents like ” Create ” / ” Connect ” / etc.

On the NLU panel> Intentions> Add an intent

For each intention, it will be necessary to fill in training sentences in the box ” The user says… enter a request and press enter “.

Below are examples for my 3 intentions.

NB: It will take at least 10 sentences on one of the intentions to train the algorithm.

You have certainly noticed that in my training sentences, words are highlighted in black. They are entities .

Before training the NLU, I have to make sure that all the keywords (given at the beginning of step 2) are highlighted in my training sentences.

I will therefore control the training sentences to tag the words which must be defined as entities:

  1. Click on the word
  2. Select the corresponding entity (OfficeApps)
  3. Enter its synonym.

After correction:

When this has been done for each intent, you can now click on the ” train NLU ” button then ” publish ” then test your bot.

Step 5 - Test the NLU

At this point, when you use the words ” channel , team , or meetings” the bot will understand that the entity is OfficeApps and the associated synonym is Teams .

If you followed my usecase (n°2), tell the bot: “how to create a Teams team”, it will understand your intention to create then your OfficeApps entity (synonym Teams).
Scenario: intention + entity.

But he will not be able to answer you because you have only set up a configuration: a logic without intention.

We are therefore going to create logics with intentions.

Let’s start by creating 2 skills:

Clarification resource:
Remember to add as many buttons as you have FAQs

Misunderstanding resource:

Now go back to the NLU tab> Configuration> Add a config :

  1. Intent: Create / Entity: OfficeApps
  2. Intent: Connect / Entity: OfficeApps
Activate the ” logic according to the value of entities ” toggle and add as many subconfigurations as you have synonyms in the OfficeApps entity.

We must now create the intentions without entities:
It is necessary to activate the toggle ” Ask for clarification before the search “, this is what will allow the bot to remember our request.

Remember to ” Publish ” your changes. Once done, if you say ” how to create a team “, the bot should understand your “Create” intent and your “Teams” entity and will respond with the corresponding resource.

In the next step, we will see how to train the bot to understand better by providing it with sentences to train it.

Step 6 - Train your bot

You will now have to adjust the understanding of your NLU by testing your bot with sentences related to FAQ topics:

  • my OneDrive no longer syncs
  • I can’t log in to Teams
  • how to create a team
  • etc

Once done, in the NLU panel> NLU queries :

  1. Fill in the words that correspond to untagged entities
  2. Correct the sentences with the wrong intention

Box 1: The bot’s comprehension score. Above 0.7, the bot can be considered to have understood the user’s request. Below, we speak of misunderstanding.

Box 2: In this box, the intention understood by the bot is displayed. Here he understood 4 intentions of creation but there is only one sentence with a real intention “Create”.

There are therefore 3 sentences to requalify and 1 sentence to archive:

  1. He understood the keyword “OneDrive” but not the good intention.
  2. He understood the keyword “SharePoint” but not the good intention.
  3. He understood the keyword “team” but not the good intention.
  4. He understood the keywords and the good intention.

By pressing the “Correct” button, I will requalify the first 3 towards the ” Other ” intention.

When I go back to my intentions, my reassigned phrases do appear in the ” Other ” intention: 

Reminder: The words highlighted in black are the keywords linked to an entity.

If you have entered keywords that are not highlighted, you must highlight them by hand as explained at the end of step 2.

Why ? When you have entered keywords in the OfficeApps entity and you train the NLU without checking that these keywords are well highlighted, you will distort the bot’s understanding.

You can now “ Train the NLU ” and “ Publish ” your bot.

🙏 Pré-Requis

🍔 Menu

To know all about the  chatbots and AI, subscribe to the Newsletter

You seem to like what you read...

Why not subscribe to our newsletter?

Receive this type of content and many others (tools, news, testimonials, podcasts…) every week directly to the mailbox of your choice. Unsubscribe at any time.