Detecting entities in a natural language sentence

Our natural language understanding algorithms allow your chatbot to extract structured data from a sentence typed in natural language. This is called entity detection.

Entity detection

Machine learning natural language understanding (NLU) algorithms first try to find an overall intent to the sentence.

In order to refine the understanding, the algorithms will also try to identify entities. To put it simply, these entities should be considered as object complements of the sentence (COD / COI).

The image above gives you a good example of the usefulness of entities:

  1. The chatbot understands that the user’s intention is to report a password problem
  2. It then understands, through entity detection, that the user wants to report a password issue on the application which is called Salesforce

So here the chatbot will understand what we call in the jargon an intention couple entity: problem password + (application: Salesforce).

It is then in Vizir that you will set the logic to be executed when this couple is detected.

Detection of pre-trained entities

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.  

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. 

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 !