Fermer

avril 24, 2018

L'anatomie d'un chatbot


L'utilisation des chatbots dans les applications métier est en hausse. Nous explorons les éléments principaux d'un bot et nous révélons quelques-unes des compétences techniques dont vous pourriez avoir besoin pour en construire un.

A quoi les développeurs doivent-ils penser lorsqu'ils se préparent à construire un chatbot? Qui d'autre peut apprendre la réponse de quelqu'un qui a consacré une grande partie de son temps à ce sujet? Hristo Borisov est notre expert interne responsable de l'idéation, la création et le développement de Progress NativeChat la plate-forme basée sur l'intelligence artificielle pour créer et déployer des chatbots

Hristo a écrit de nombreux articles sur le sujet. vous pouvez le suivre sur Medium – mais pour cet article, j'ai choisi son cerveau à propos des éléments de base d'un chatbot. Voici ce que j'ai appris de lui à propos des éléments principaux d'un chatbot et de certaines des compétences dont vous pourriez avoir besoin pour en construire un.

Donc sans plus attendre, je vous donne l'anatomie d'un chatbot.

backend du chatbot est conçu pour gérer les messages de différents canaux et les traiter avec les services de traitement du langage naturel (NLP) (plus sur cette section après les canaux). La plupart des services backend supportent les SDK côté serveur .NET et Node.js, donc si vous avez de l'expérience avec des langages qui s'exécutent dans ces deux frameworks populaires, vous êtes en or.

Au moment d'écrire ces lignes, Microsoft Bot Framework est le framework le plus utilisé pour gérer la couche de communication de votre chatbot (c'est certainement le cas dans la communauté Microsoft – voir mon blog de Microsoft MVP Sommet). D'autres cadres populaires incluent Facebook Wit.ai Google DialogFlow et Amazon Lex .

Canaux

La meilleure façon de penser à "Canaux" est de penser à eux comme l'endroit où votre bot envoie et reçoit des messages avec vos utilisateurs. Skype, Twilio, Slack, Facebook ont ​​tous des canaux prédéfinis qui permettent à votre chatbot de vivre dans l'un de ces produits de discussion majeurs – vous pouvez essentiellement créer des points de terminaison pour l'intégration avec leur interface utilisateur.

Bien que chaque intégration de canal soit différente, en général vos canaux sont établis en configurant un noeud final dans votre backend pour envoyer et recevoir des messages qui dépendent de l'autorisation de jeton d'accès. Une fois le canal établi, vous pouvez déterminer l'interface utilisateur à l'aide d'éléments visuels prédéfinis. Cette aide guide la conversation. Si vous choisissez de ne pas intégrer un canal prédéfini, vous pouvez toujours créer le vôtre. Évidemment, la technologie variera selon le canal que vous choisissez et le framework sur lequel votre application est construite

Natural Language Processing

Avec le backend mis en place et le canal établi, vous êtes prêt à envoyer et recevoir des messages. À ce stade, vous utiliserez probablement un service de traitement du langage naturel (NLP) pour extraire les intentions et les entités des messages utilisateur.

Hristo m'a promis que la configuration d'un service NLP et le traitement des messages à l'aide d'un SDK pour le service simple (les plus populaires comme Wit.ai et LUIS prennent tous deux en charge les SDK .NET et Node.js). Cependant, il met en garde que «la formation des intentions et des entités du PNL qui pourraient déjà exister dans un système externe n'est pas triviale, puisque les services PNL fournissent une interface utilisateur pour entrer manuellement les entités et leurs valeurs. Vous aurez besoin de comprendre les entités qui correspondent à des objets spécifiques qui existent déjà dans un système existant tels que Produits, Contacts, Employés, etc. "

Il continue en disant" Comme avec toute entrée utilisateur, vous devrez mettre en place règles de validation logique au-dessus des données extraites. Cela peut aller de simples validations telles que des expressions régulières ou une validation personnalisée appelant un service web pour vérifier la validité d'un code PIN. "

Intelligence Conversationnelle

L'intelligence conversationnelle est l'endroit où le caoutchouc rencontre la route. Encore une fois, Hristo avertit que «concevoir une conversation intelligente basée sur les intentions et les entités de la PNL est un voyage qui peut être aussi profond qu'un trou noir.» Vous devez développer un algorithme pour chaque conversation et une simple navigation. Vous pouvez utiliser des arborescences de décision simples, des workflows d'état, des algorithmes basés sur les emplacements ou des algorithmes avancés d'apprentissage en profondeur pour contrôler la conversation. Le plus intelligent vous essayez de rendre ces bots le moins trivial qu'il sera pour les implémenter, d'où le trou noir.

UI conversationnelle

La dernière pièce est l'interface utilisateur de conversation. Nous en avons parlé un peu en parlant des canaux – éléments visuels comme les boutons, les calendriers, les cartes – qui sont tous essentiels non seulement à l'apparence du chatbot, mais ils contribuent de manière holistique au flux naturel de la conversation.

Concentrons-nous d'abord sur le visuel. Les canaux prédéfinis fournissent une interface utilisateur conversationnelle – ce qui signifie qu'un chatbot vivant sur un canal Facebook aura le même aspect que Facebook. Il n'y a rien de mal à cela. Cela dit, les développeurs peuvent sortir d'une interface utilisateur prédéfinie en fournissant leur propre interface utilisateur en dehors de ces canaux.

Deuxièmement, nous examinerons les flux de conversation naturels. Un guidage visuel approprié peut permettre au développeur d'aider l'utilisateur à naviguer plus efficacement dans la conversation. Non seulement cela offre une meilleure expérience globale pour l'utilisateur final, mais cela signifie un cycle de développement plus productif pour le développeur en ce qui concerne la PNL et l'intelligence conversationnelle.

Health Monitor

Une chose que beaucoup de gens ne pensent pas de, mais une fonctionnalité nécessaire que vous, le développeur devra construire est un tableau de bord de moniteur de santé pour votre chatbot pour fournir des informations et des analyses sur votre bot. Il peut s'agir d'un simple tableau de bord qui vous permet de voir l'historique de vos conversations de chatbots (bien que certaines fonctionnalités soient intégrées à cette fonctionnalité), d'explorer vos utilisateurs, de découvrir les journaux d'erreurs, etc. C'est également l'endroit où vous pouvez surveiller les performances de votre robot à l'aide de mesures analytiques simples.

Un tableau de bord est quelque chose que de nombreux développeurs ont créé – en fait, chez Progress, nous en savons quelque chose. Nous avons le tableau de bord demos et des exemples d'applications pour n'importe quelle application .NET ou JavaScript

Conclusion

Les chatbots prennent de l'ampleur et de la popularité, nous commençons à voir une démocratisation de certains éléments techniques – l'intelligence artificielle, l'apprentissage automatique, l'apprentissage en profondeur, etc. – permettant aux développeurs d'utiliser leurs compétences actuelles pour créer des chatbots en tant que partie intégrante de leurs applications ou en tant qu'application autonome. J'espère que cette brève visite suscitera suffisamment d'intérêt pour en sortir et en construire une. Utilisez les frameworks disponibles et voyez ce que vous pouvez faire.

Et si vous souhaitez en savoir plus sur l'expérience de Hristo dans la construction de NativeChat, rejoignez-nous pour le " Concevoir une expérience Conversbot Chatbot: Contes des Tranchées "webinaire le mercredi 25 avril th et avoir une vue d'initié sur la création d'interaction homme-machine efficace

Inscription au webinaire


Les commentaires sont désactivés en mode aperçu.




Source link