Créer un chatbot FAQ Office365

Dans cet article, nous vous expliquerons comment créer / tester / entrainer un chatbot dans le but de répondre aux questions de vos collaborateurs sur la suite O365 !

Etape 1 - Import et setup des compétences

Téléchargez l’Excel contenant l’ensemble de la FAQ officielle de Microsoft : FAQ Office 365 (fr).
Chaque onglet dans le fichier Excel correspond à une FAQ de la suite Office365.

Sur le Dashboard Vizir, créer un nouveau bot puis se rendre dans les compétences :

Appuyez sur « Créer une nouvelle compétence« .
Sélectionnez sur la compétence et dans l’onglet « Paramètres« , changez le nom de la compétence en « FAQ TEAMS » et le type de la compétence en « FAQ« .

Nous allons importer massivement la documentation qui concerne la FAQ Teams.

Dans l’onglet « Avancés« , appuyez sur « choisir un fichier »  et sélectionnez l’Excel FAQ Office365. Choisissez la feuille « FAQ TEAMS » puis cliquez sur « Import« .

NB : Les ressources vont apparaitre au fur et à mesure.

Répétez les mêmes opérations pour importer les FAQ liées aux autres services de la suite O365.

Créez ensuite une compétence de type « scénario » et une ressource « clarification ». 
Ajoutez autant de boutons que vous avez de compétences FAQ (dans mon cas j’ai importé 3 FAQ donc j’ai 3 boutons).

Pensez à faire la redirection des boutons vers vos compétences FAQ.

Nous allons maintenant configurer la compréhension du bot.

Etape 2 - Créer une entité

Dans « NLU » puis « Entités » cliquez sur « Ajouter une entité » et appelez-la « OfficeApps ».

Cliquez sur la ⚙️ de celle-ci et « Ajoutez des synonymes« . Ajoutez autant de synonymes que le nombre de FAQ importées.

Pensez à renseigner les variantes qui pourraient faire référence à vos applications, c’est ce qui permettra au bot de lier des mots à un synonyme. 

Si j’emploie le mot « conversation » ou « canal« , je veux que le bot comprenne que je suis dans le contexte de Teams.

Etape 3 - Créer les configurations

Les configurations permettent de créer une logique en fonction de la compréhension du bot.

Allez dans l’onglet « Configuration » puis « Ajouter une configuration« .
Sélectionnez le bouton « Logique sans intention » puis l’entité « OfficeApps« .

Dans les ⚙️ de la configuration créée, passez à true le toggle « Logique en fonction de la valeur des entités » puis ajoutez autant de logique que vous avez de FAQ.

Pensez à rediriger chaque synonyme vers sa FAQ correspondante comme ci-dessous :

Etape 4 - Créer les intentions

Pour entrainer un bot, celui-ci a besoin par défaut de 2 intentions et des phrases d’entrainements.

2 choix sont possibles : 

  1. Vous voulez un bot FAQ seulement.
  2. Vous pensez intégrer des procédures de résolution pour vos utilisateurs par la suite.

Cas 1 : 2 intentions sont suffisantes « FAQ » / « Autre« .

Cas 2 : Plusieurs intentions comme « Créer » / « Se connecter » / etc.

Sur le panel NLU > Intentions > Ajouter une intention

Pour chaque intention, il faudra renseigner des phrases d’entrainements dans l’encadré « L’utilisateur dit… entrez une requête et appuyez sur entrée« .

Ci-dessous des exemples pour mes 3 intentions.

NB : 
Il faudra au moins 10 phrases sur une des intentions pour entrainer l’algorithme.

Vous avez certainement remarqué que dans mes phrases d’entrainements, des mots sont surlignés en noir. Ce sont des entités.

Avant d’entrainer la NLU, il faut que je m’assure que tous les mots-clés (renseignés en début d’étape 2) soient surlignés dans mes phrases d’entrainements.

Je vais donc contrôler les phrases d’entrainements pour taguer les mots qui doivent être définis comme des entités :

  1. Cliquez sur le mot
  2. Sélectionnez l’entité correspondante (OfficeApps)
  3. Renseignez son synonyme. 

Après correction :

Lorsque cela a été effectué pour chaque intention, vous pouvez maintenant cliquer sur le bouton « entrainer la NLU » puis « publier » puis tester votre bot.

Etape 5 - Tester la NLU

A ce stade, lorsque vous employez les mots « canaléquipe ou réunions » le bot comprendra que l’entité est OfficeApps et que le synonyme associé est Teams.

Si vous avez suivi mon usecase (n°2), dites au bot : « comment créer une équipe Teams », celui-ci va comprendre votre intention de créer puis votre entité OfficeApps (de synonyme Teams).
Scénario : intention + entité.

Mais il ne sera pas en mesure de vous répondre car vous avez seulement paramétré une configuration : une logique sans intention.

Nous allons donc créer des logiques avec intentions.

Commençons par créer 2 compétences : 

Ressource de clarification :
Pensez à ajouter autant de boutons que vous avez de FAQ

Ressource d’incompréhension :

Retournez maintenant dans l’onglet NLU > Configuration > Ajouter une configuration :

  1. Intention : Créer / Entité : OfficeApps
  2. Intention : Se connecter / Entité : OfficeApps
Activez le toggle « logique en fonction de la valeur des entités » et ajoutez autant de sous-configuration que vous avez de synonymes dans l’entité OfficeApps.

Il faut maintenant créer les intentions sans entités :
Il est nécessaire d’activer le toggle « Demander une précision avant la recherche« , c’est ce qui permettra au bot de garder en mémoire notre demande.

Pensez à « Publier » vos modifications. Une fois effectué, si vous dîtes « comment créer une équipe« , le bot devrait comprendre votre intention « Créer » et votre entité « Teams » et vous répondra avec la ressource qui correspond.

Dans la prochaine étape, nous allons voir comment entrainer le bot à mieux comprendre en lui fournissant des phrases pour l’entrainer.

Etape 6 - Entraîner votre bot

Il va maintenant falloir ajuster la compréhension de votre NLU en testant votre bot avec des phrases liées aux sujets de FAQ :

  • mon OneDrive ne se synchronise plus
  • je n’arrive pas à me connecter à Teams
  • comment créer une équipe 
  • etc.

Une fois cela effectué, dans le panel NLU > Requêtes NLU :

  1. Renseignez les mots qui correspondent à des entités non-tagguées
  2. Corrigez les phrases avec la mauvaise intention

Encadré 1 : Le score de compréhension du bot. Au dessus de 0,7 on peut considérer que le bot a compris la requête de l’utilisateur. En dessous, on parle d’incompréhension.

Encadré 2 : Dans celui-ci, il est affiché l’intention comprise par le bot. Ici il a compris 4 intentions de création or il n’y a qu’une phrase avec une réelle intention « Créer ».

Il y a donc 3 phrases à requalifier et 1 phrase à archiver :

  1. Il a bien compris le mot-clé « OneDrive » mais pas la bonne intention.
  2. Il a bien compris le mot-clé « SharePoint » mais pas la bonne intention.
  3. Il a bien compris le mot-clé « équipe » mais pas la bonne intention.
  4. Il a compris les mots-clés et la bonne intention.

En appuyant sur le bouton « Corriger », je vais requalifier les 3 premières vers l’intention « Autre« .

Lorsque je retourne dans mes intentions, mes phrases réassignées apparaissent bien dans l’intention « Autre » : 

Rappel : Les mots surlignés en noir sont les mots-clés liés à une entité.

Si vous avez renseignés des mots-clés qui ne sont pas surlignés, il faut les surligner à la main comme expliqué en fin d’étape 2.

Pourquoi ? Lorsque vous avez renseigné des mots-clés dans l’entité OfficeApps et que vous entrainez la NLU sans regarder que ces mots-clés soient bien surlignés, vous allez fausser la compréhension du bot.

Vous pouvez maintenant « Entraînez la NLU » et « Publier » votre bot.

🙏 Pré-Requis

🍔 Menu

Pour tout savoir sur les chatbots et l'IA, inscrivez-vous à la Newsletter

Ce que vous lisez à l'air de vous plaire...

Et si vous vous inscriviez à notre newsletter ?

Recevez ce type de contenu et bien d’autres (outils, actualités, témoignages, podcasts…) toutes les semaines directement dans la boîte mail de votre choix. Désinscrivez-vous à tout moment.