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:
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:
- Créer des applications afin de faire le lien entre NTeABot et votre système propriétaire
- Créer de nouveaux fields: par exemple la compétence de la
météo
, la compétence desactualités
, etc. Allez regarder la liste exhaustive des fields par défauts pour plus de détails. - Déployer la compétence créée dans son application ou dans une plateforme externe de messagérie.
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.
- [
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. - [
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 librairienlulib
et peut donc aussi selon les cas, entrainer les modèles NLU de toutes lesutterances
des fields. - [
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: