Tout ce qu’il faut savoir à propos de l’Intelligence Artificielle sur Botnation : Les Fonctionnalités Élémentaires

Partie 4 sur 8

2.1 Les Mots Clés et les Expressions

Pour bien configurer son IA, il faut comprendre comment un chatbot analyse ce que saisissent les utilisateurs. Nous avons basé notre NLP sur la détection de mots clés isolés ou associés.

Définition d’une Intention:
Dans le contexte de l’Intelligence Artificielle, l’intention fait référence à l’objectif que l’utilisateur a en tête lors de la saisie d’un texte.

Exemple:
Si l’utilisateur saisit “Je cherche à devenir propriétaire d’une villa” son intention est “l’achat d’une maison”.

Définition d’un Mot Clef:
C’est un mot qui déclenche une réponse du chatbot. Il faut sélectionner des mots qui seront les plus fréquemment utilisés par les utilisateurs pour exprimer une intention. Il faut penser aux synonymes et parfois aux conjugaisons.
EX: “acheter”, “achat”, “acquérir”

Définition d’une Expression:
C’est une association de mots clés qui permettent généralement de distinguer deux intentions proches. Lorsque on emploie une Expression dans une règle d’IA, la règle se déclenche seulement si tous les mots clés de l’expression sont présents. Par contre, l’ordre dans lequel ces mots ont été saisis par l’utilisateur ou s’ils sont séparés par d’autres mots n’influence pas le déclenchement de la règle.

Exemple:
L’Expression “acheter maison” déclenche une réponse même si l’utilisateur a saisi “Je cherche une maison à acheter.”

Définition d’une règle d’IA:
C’est un ensemble de mots clés et d’Expressions correspondant à une Intention qui déclenchent une réponse du chatbot.


Le chatbot ne comprend pas une phrase en son entier mais il va en reconnaître certains mots. C’est en comparant ces mots avec ceux qui ont été configurés dans les règles de son IA qu’il va pouvoir y associer la bonne réponse.

La sélection des bons Mots Clés et Expressions est donc primordiale pour une IA performante.

Il faut chercher les éléments de différenciation entre les règles et traduire les intentions que vous voulez que votre chatbot comprenne en mots clés pertinents.

Exemple:
Imaginons un chatbot spécialisé dans la vente (et uniquement la vente) immobilière.


On veut que le chatbot réagisse à la volonté d’achat d’une maison que l’on différencie de la volonté d’achat d’un appartement. Il y a deux intentions: le type de transaction (achat) et le type de bien (maison).


Comme c’est un chatbot centré sur la vente, on a pas besoin de détecter le type de transaction. C’est le type de bien qui est l’élément de différenciation.


Il suffit donc de faire des règles sur des synonymes de maison et d’appartement.

Règle Achat Maison :

Règle Achat Appartement :

Il faut toujours saisir les mots clefs avec la bonne orthographe. Les algorithmes de Botnation vont gérer les fautes de frappe, d’accent ou de pluriel. Cependant, lorsque l’utilisateur commet trop de fautes dans un même mot, il arrive que le chatbot n’arrive pas à comprendre et renvoie à la Séquence de Réponse par Défaut. Les mots incompris apparaîtront alors dans l’algorithme de recommandation. Seules ces erreurs-ci devront être ajoutées à vos règles d’IA. Nous traiterons ce point plus loin.

Exemple:
le mot clef “acheté” sera reconnu même lorsqu’il est écrit:

  • achete
  • achetés
  • achetes
  • zcheté
  • achr

Mais il ne sera pas compris s’il est écrit:

  • zchetés
  • achrte

Ne vous souciez pas non plus de la casse typographique, que vos mot-clés et expressions soient en majuscules ou minuscules l’algorithme les traitera de la même façon.

Utiliser une Expression seulement si l’un des mots est commun à une autre règle.

Attention, l’IA ne déclenche une règle que si et seulement si tous les mots d’une Expression sont contenus dans la phrase de l’utilisateur. Donc plus il y a de mots dans l’Expression, moins il y a de chance que l’utilisateur utilise cette combinaison.

Il faut limiter à la stricte nécessité les expressions de plus de 2 mots.

Ne pas y inclure les pronoms, les conjonctions, prépositions, articles définis ou contractions : le, la, sa, l’, je, tu, il, elle, au, de, des, et, or, ni, ou, etc.

Exemple:
Imaginons maintenant notre chatbot immobilier veuille aussi proposer la vente de biens. Le chatbot doit réagir à l’intention d’achat ou de vente d’une maison ou d’un appartement. Cela fait quatre possibilités donc il faut créer quatre règles d’IA.

Et quand on y réfléchit en mots clés, on se rend compte qu’il va y avoir des mots communs à plusieurs règles.On ne va pas pouvoir utiliser de mots clés isolés, il faut obligatoirement faire des associations pour différencier les intentions.

En premier, il faut imaginer les différentes manières dont les utilisateurs pourraient exprimer l’intention d’achat :

  • je veux acheter …
  • j’envisage l’achat de ….
  • je voudrais être propriétaire de …

Et pour l’intention de vente on a :

  • je veux vendre …
  • j’envisage la vente de …
  • je vends…

Lorsque qu’on isole les éléments différenciants cela donne :

  • pour l’achat : acheter, achat, propriétaire
  • pour la vente : vendre, vente, vends.

Pour le type de bien on a :

  • les synonymes de maison : villa, demeure
  • les synonymes d’appartement : studio.

Ce qui donne les règles suivantes :

Règle Achat Maison

Règle Achat Appartement

Règle Vente Maison

Règle Vente Appartement

Si dans la même règle vous avez un mot clef isolé que l’on retrouve dans une Expression, cette Expression est inutile car la règle se déclenche de toute façon dès que ce mot clef apparaît dans la phrase.

Exemple:

Si on a la règle suivante :

Règle Problèmes liés au Compte Bancaire

Comme on a “bancaire” en mot-clef isolé, la règle se déclenche quand l’utilisateur saisit n’importe quelle phrase contenant ce mot. Ce qui inclut les phrases contenant “problème bancaire”, “compte bancaire” et “interdit bancaire” et rend donc ces Expressions inutiles.

On a donc au final:

Règle Problèmes liés au Compte Bancaire

Entre deux règles en conflit, l’IA va choisir celle qui a été le plus utilisée statistiquement et non pas celle qui est potentiellement la plus pertinente (voir le paragraphe sur le Machine Learning).

L’optimisation de l’IA passe aussi par l’emploi du moins de règles possibles avec le moins de Mots-clés et Expressions possibles. Moins il y en a, plus le chatbot sera réactif pour trouver la bonne réponse.


2.2 Les Expressions Négatives

Définition:
C’est une Expression qui exclut un mot clef. Il suffit simplement d’ajouter le signe – (moins) devant le mot-clé que vous souhaitez exclure.

Exemple:
“maison -marseille” se déclenche quand la phrase saisie contient le mot clef “maison” ET ne contient pas le mot “marseille”

C’est une fonctionnalité utile lorsqu’on veut distinguer deux règles qui pourraient se superposer.

Exemple:
Dans notre chatbot immobilier, on veut distinguer les demandes de maisons avec piscine et celles sans piscine.

On fait donc deux règles :

Règle Maison sans Piscine

Règle Maison avec Piscine

Le problème ici est que “maison” est commun aux deux règles. L’IA ne saura pas quoi choisir entre les deux règles dans un premier temps. Puis avec nos algorithmes d’apprentissages l’IA choisira la réponse la plus populaire des deux (cf paragraphe sur le Machine Learning). Mais on a alors une chance sur deux de donner une mauvaise réponse.

Une des manières de résoudre ce problème est l’emploi d’une Expression Négative en excluant “piscine” de la première règle.

Règle Maisons sans Piscine

Règle Maisons avec Piscine

Lorsqu’on emploie une Expression Négative, il faut qu’elle soit active sur tous les mots-clés et expressions d’une règle.

Exemple:
Pour notre règle sur les maisons sans piscine:


Règle Maisons sans Piscine

On voit ici une des limites des Expressions Négatives car si l’on a deux règles avec plusieurs mots clefs, il faut faire toutes les combinaisons. De plus, nos algorithmes ne vont pas s’appliquer sur les mots-clés négatifs (pour des questions d’optimisation du temps de réponse) et ne détectent pas les erreurs de saisie sur ceux-ci.

Exemple:
Pour nos règles sur les maisons avec et sans piscine:


Règle Maisons sans Piscine

Règle Maisons avec Piscine

On verra plus loin une manière plus efficace sur Botnation de résoudre ce genre de conflit de règles avec les Mots Clefs Prioritaires.

On réservera donc les Expressions Négatives aux chatbots dont l’IA est peu complexe.


2.3 Les Mots Clés Prioritaires (ou Mots Clés Sortants)

Définition :
C’est un Mot Clef qui va déclencher une règle, même si la phrase saisie par l’utilisateur contient d’autres mots clés qui auraient pu déclencher d’autres règles. Pour activer cette option sur un Mot Clef on le fait précéder d’un _ (underscore).

Exemple:
Si on reprend l’exemple ci-dessus et que l’on veut qu’une règle se déclenche lorsque le Mot Clef “Maison” est employé seul dans une phrase mais qu’une autre règle se déclenche lorsque l’utilisateur saisit “Je cherche une maison avec piscine”.

On a donc la même problématique que précédemment mais en mettant “piscine” en Mot Clef Prioritaire, la solution est vraiment beaucoup plus simple.

Règle Maison

Règle Piscine

Les Mots Clés Prioritaires ont malheureusement leur limite car ils ne fonctionnent pas sur les Expressions. Et dans un chatbot complexe, plutôt que de créer un ensemble de règles compliquées, on préfèrera utiliser les fonctionnalités avancées d’IA de Botnation, c’est-à-dire les Contextes et les Tunnels.

Aide en ligne :
Les mots-clés sortants


<< Partie précédente Table des matières Partie suivante >>

Téléchargez le guide au format PDF


➜ Découvrez Botnation et lancez votre chatbot facilement !