Détecter des entités dans une phrase tapée en langage naturel

Nos algorithmes de compréhension du langage naturel permettent à votre chatbot d’extraire des données structurées dans une phrase tapée en langage naturel. C’est ce qu’on appelle la détection d’entités.

Détection d'entités

Les algorithmes de compréhension du langage naturel par machine learning (NLU) commencent d’abord par essayer de trouver une intention globale à la phrase

Afin d’affiner la compréhension, les algorithmes vont également essayer d’identifier des entités. Pour faire simple, il faut considérer ces entités comme des compléments d’objets de la phrase (COD / COI). 

L’image ci-dessus vous donne un bon exemple de l’utilité des entités : 

  1. Le chatbot comprend que l’intention de l’utilisateur est de signaler un problème de mot de passe
  2. Il comprend ensuite, grâce à la détection d’entité, que l’utilisateur souhaite déclarer un problème de mot de passe sur l’application qui s’appelle Salesforce

Ici donc le chatbot va comprendre ce qu’on appelle dans le jargon un couple intention entité : problème mot de passe + (application : Salesforce).

C’est ensuite dans Vizir que vous allez paramétrer la logique à exécuter quand ce couple est détecté. 

Détection d'entités pré-entraînées

Les entités sont un élément très important de la NLU. Et heureusement pour nous tous, les chercheurs en NLU ne cessent de nous simplifier la vie. 

Pour ce faire ils mettent à disposition des entités pré-entraînées, que nous mettons à disposition dans Vizir par défaut. 

Elle permettent de transformer, sans aucune configuration de votre part 🎉, des données structurées à partir d’une phrase en langage naturel, donc non structurée.   

Voici les entités disponibles par défaut dans vizir

  • les heures, 
  • les nombres,
  • les montants (argent),
  • les emails,
  • les durées,
  • le numéros de téléphone,
  • les volumes,
  • les distances.

détection d'entités personnalisées

Vous allez ensuite avoir envie d’ajouter des entités personnalisées, qui correspondent à votre métier précis. 

Dans l’exemple de cette page, nous avons créé l’entité : application-name. 

Son objectif est de détecter des noms d’applications (ici Salesforce dans l’exemple). 

Vizir vous permet de créer manuellement ces entités avec des niveaux de paramétrage très avancés. Attention accrochez-vous 😊

Les synonymes

Les synonymes aident votre chatbot à stocker la valeur de l’entité (ici Salesforce) sous un format parfait. 

Un exemple qui illustre bien ci-dessous : si la personne tape qlik alors on 1) va comprendre que c’est l’entité application-name et 2) qu’il faut stocker non pas qlik, mais qkilview

Méga pratique.  

synonyme entités nlu

Les mots-clés

Les mots-clés sont une sorte de super-booster de compréhension pour vos entités. 

Pour notre exemple d’application-name, je vais ici importer toute une liste d’application. Cela aidera l’algorithme à mieux détecter des entités par la suite. 

détection d'entités personnalisées

Sauvegarder l'entité dans un attribut

Et je termine par le truc qui tue 🦄

Dès que cette entité est détectée, vous pouvez décider de la stocker dans un des attributs de l’utilisateur.

« Mais à quoi ça peut bien servir », me direz-vous ?

« Eh bien c’est très simple », répondrais-je. 

Si votre chatbot sert à créer des tickets dans votre outil ITSM (disons Jira Service Desk au hasard).

Alors toujours avec notre fameux exemple, je vais donc détecter que la personne a un problème de mot passe dans application-name: salesforce ET je vais stocker la valeur Salesforce dans l’attribut applicationname (cf image ci-dessous). 

Concrètement l’utilisateur n’aura pas besoin de préciser le nom de l’application.

C’est comme ça qu’on arrive à créer des ticket hyper précis sans demander beaucoup d’infos à nos utilisateurs 😎

Encore faim de savoir sur les entités ?

Allez jeter un oeil à notre documentation sur le sujet. Vous serez un pro !