Plateforme NTeABot

NTeABot est une plateforme de développement des compétences internes et externes (que nous appelons fields) de l’agent conversationnel du projet NTeALan. Nous parlons d’internes pour désigner les compétences de NTeALan et externes ceux apportés par d’autres organisations/entreprises pour leurs propres activités.

Note

Nous appelons compétence un domaine du savoir traité par NTeABot. Ce domaine traite d’un ou de plusieurs concepts liés entre eux. Prenons l’exemple de la météo : c’est une compétence (domaine) parce qu’elle va traiter les concepts associés au [ temps, température, vent, pluie, humidité, saisons ]. Ces concepts formeront l’ossature du field météo.

Le logo officiel de NTeABot fait référence au logo initial du projet NTeALan. Ci-dessous le logo actuel:

logo_NTeABot


Objectifs

La plateforme NTeABot permet de développer des compétences externes de l’agent conversationel de NTeALan déployables sur une plateforme tierce. En développant une nouvelle compétence, vous donnez ainsi la possibilité à NTeABot d’apporter à votre application cette compétence en plus. Ses principaux objectifs sont les suivants:


Architecture interne

La plateforme NTeABot est une architecture logicielle organisée sous 3 piliers dont deux librairies (nlulib et botlib) et une API REST/WebSocket.

  1. [nlulib] est une librairie qui s’occupe de la compréhension des requêtes utilisateurs (NLU: Natural Language Understanding). Elle fait appel à des algorithmes de machine learning pour détecter les entités nommées et les actions contenu dans une requête utilisateur. Nos algorithmes sont tirés de la bibliothèque python sklearn-crfsuite encastrée dans Snips-nlu.
  2. [botlib] est une librairie qui s’occupe de la compilation (actions, templates) et de l’exécution des fields de NTeABot. Elle l’intègre dans son processus la librairie nlulib et peut donc aussi selon les cas, entrainer les modèles NLU de toutes les utterances des fields.
  3. [API REST/WebSocket] est une API REST et WebSocket qui permet d’interagir avec les utilisateurs externes. Elle prend en charge la gestion des applications, des fields, des conversations, des requêtes utilisateurs (création, modification, gestion et suppression), des droits et des accès.

L’illustration suivante montre la structure générale de la plateforme de NTeABot:

Architecture de la plateforme de NTeABot