ChatBot: Un guide technique pour construire un chatbot AI

ChatBot: Un guide technique pour construire un chatbot AI

Temps de lecture: 7 minutes

Cet article est écrit en collaboration avec l’écrivain technologique Morgen Henderson.

Alors que la technologie des continue de gagner du terrain, l’intérêt pour l’utilisation des s pour les entreprises croît de façon exponentielle. Heureusement, il existe maintenant de nombreux outils qui permettent même aux non-programmeurs de créer des s fonctionnels, dont certains sont suffisamment avancés pour apprendre au fil du temps et fournir des interactions non structurées.

Les clés des s AI sont NLP (Natural Language Processing) et NLU (Natural Language Understanding), des sous-ensembles d’IA qui ont à voir avec la façon dont les machines analysent et donnent un sens aux entrées humaines. Les s peuvent être aussi simples que des interfaces qui offrent un ensemble prédéterminé d’options et fournissent une gamme limitée de réponses ou aussi complexes que Mitsuku, un conversationnel qui a remporté le prix Loebner quatre fois et est basé sur AIML. Les s plus avancés incluent la fonctionnalité NLP et NLU afin qu’ils puissent à la fois répondre avec précision à de nombreuses variations des entrées humaines et fournir une variété de réponses. Lisez notre guide des s pour en savoir plus sur leur nature et leurs cas d’utilisation.

Les deux phases principales de la construction d’un sont la conception de la conversation et la construction du bot lui-même. Dans le premier, vous utiliserez des outils pour cartographier toutes les interactions possibles dans lesquelles votre devrait pouvoir s’engager. Dans le second, vous utiliserez l’une des plates-formes ou cadres disponibles pour créer le bot lui-même.

Conception de conversation

La première étape pour créer un intelligent est la conception de conversations. Cela englobe à la fois le flux et les scripts: quoi votre bot dira et Comment votre bot le dira. Commencez la conception de la conversation en vous expliquant clairement ce que vous voulez que votre fasse et ce que votre public attendra de votre . Quel contenu fournira-t-il? À quelles questions devrait-il pouvoir répondre? Quelles actions peut-il entreprendre? Que pourrait demander un utilisateur? Quand sera-t-il redirigé vers un agent réel?

Couler

Une fois que vous avez décrit cela, tracez le flux – tous les chemins possibles d’une conversation. Vous pouvez le faire en utilisant un outil de création de diagrammes ou de cartographie mentale, comme Lucidchart ou XMind, ou un outil visuel inclus dans la plate-forme de développement que vous choisissez, si disponible. Il est important à ce stade de considérer toutes les réponses possibles des utilisateurs à chaque sortie de bot et les points de chevauchement entre les différents flux. Cette carte de flux servira de base pour l’écriture de scripts.

Contexte, entités et intention

Il y a trois composants à comprendre lors de la conception d’une conversation: le contexte, les entités et l’intention de l’utilisateur. Un AI réussi interprètera les déclarations des utilisateurs en les répartissant dans ces catégories.

  • Contexte: où est l’utilisateur? Quelle heure est-il? Quelles informations de profil utilisateur sont disponibles?
  • Entités: Quels objets sont le sujet de conversation?
  • Intention: que veut faire l’utilisateur?

Voici un exemple. Supposons que l’utilisateur saisisse «Quelle année a été Début libéré? » Le film Début est l’entité. Découvrir l’année de sortie est l’intention. Le contexte est plus ou moins important selon les objectifs de l’entreprise et de l’utilisateur, mais peut être utile pour l’écriture de scripts (comme écrire « bonjour / soir » ou utiliser le nom d’une personne une fois qu’elle l’a fourni). Dans l’exemple ci-dessus, une réponse pourrait inclure le nom de l’utilisateur, s’il est disponible, ou utiliser des données démographiques pour faire une blague, si cela correspond à la personnalité du .

Les systèmes PNL utilisent ces trois variables pour analyser les entrées et planifier les réponses. Ainsi, lorsque vous pensez à des flux possibles, cela aide à considérer toutes les entités et intentions possibles qui peuvent entrer en jeu.

Une fois que vous avez un flux cartographié, demandez à vos collègues de l’examiner et de réfléchir, peut-être autour d’un verre, à toutes les réponses possibles qu’un utilisateur pourrait donner. Essayez de briser le flux afin d’identifier les points faibles maintenant, avant le lancement.

Scripting

Les scripts nécessitent de développer une personnalité et une voix de . Un flux de conversation vous indique ce que votre doit pouvoir dire, mais pas comment le dire. Ne vous y trompez pas: c’est aussi important, sinon plus, que le déroulement de la conversation. Les s sont destinés à l’interaction humaine, après tout.

Profitez de vos informations marketing à ce stade et rassemblez autant que vous avez sur votre public devant vous. Sur la base de ces informations, décidez du degré de formalité de votre s’il doit parler en phrases ou en phrases courtes, et de ce que le bot dira en cas de problème. Donnez à votre bot un personnage. Pensez au type de personnalité qu’ils ont et au type de voix et de ton qui serait naturel pour cette personnalité.

Cette étape du développement du concerne davantage l’élément humain que technologique, nous n’y consacrerons donc pas beaucoup de temps.

Développer le

Il existe de nombreuses options pour créer des s pour les développeurs et les non-développeurs. Si vous n’êtes pas programmeur mais que vous souhaitez créer votre propre , vous trouverez un certain nombre de plates-formes conçues pour vous aider à le faire. Si vous êtes un programmeur, il existe une poignée de frameworks de bots pour construire des s en utilisant différents langages de programmation. Vous pouvez commencer par créer un bot sur une plate-forme et intégrer plus tard des fonctionnalités NLP plus avancées; si vous n’êtes pas développeur, c’est la meilleure approche. Si vous l’êtes, passez à la section sur les frameworks.

Plateformes

Les plates-formes de développement de sont destinées aux non-développeurs pour créer facilement un . Notez que ce ne sont pas les mêmes que les plates-formes de publication, c’est là que votre bot interagira avec les utilisateurs. Certaines plates-formes ne permettent qu’un simple basé sur des règles – une interface conversationnelle qui peut s’appuyer sur des boutons ou ne disposer que de quelques réponses prédéfinies – tandis que d’autres intègrent davantage de fonctionnalités PNL.

Chatfuel est une plate-forme de développement populaire pour les robots qui vivront sur Facebook. Il peut envoyer de nombreux types de contenu et répondre aux mots clés ou aux questions saisis par un utilisateur. Vous pouvez également le configurer pour offrir des réponses aléatoires à la même invite, ce qui en fait un bot plus intéressant. Un bot créé avec cette plateforme peut collecter et conserver des informations auprès des utilisateurs, et utiliser ces informations pour choisir un chemin de conversation différent. Si vous commencez avec Chatfuel, vous pourrez ultérieurement l’intégrer à DialogFlow.

Botsify offre une interface simple de glisser-déposer et est également utilisé pour les robots Messenger. Il offre une correspondance de requête intelligente ainsi qu’une extraction d’entité, ce qui est utile pour personnaliser le chat et l’analyse des données. Cette plate-forme fournit également une fonctionnalité d’apprentissage automatique que Chatfuel ne permet pas: il enregistrera les messages auxquels le bot n’a pas pu répondre afin que vous puissiez l’enseigner au fil du temps.

Pandorabots peut être considéré comme un pont, en termes de complexité et de facilité d’utilisation, entre les plateformes et les frameworks. Il prend en charge AIML (langage de balisage d’intelligence artificielle), qui est un ancien langage open source. Il est utile d’avoir une certaine expérience en programmation, mais si vous êtes patient et disposé à expérimenter, vous n’avez pas besoin de beaucoup pour construire un relativement avancé sur cette plateforme (si vous pouvez configurer un site WordPress, vous pouvez probablement travailler dans ce Plate-forme). Les fichiers AIML sont disponibles en ligne; par exemple, vous pouvez télécharger le fichier utilisé pour le bot ALICE ou trouver d’autres options sur Github.

Cadres

Les développeurs qui souhaitent le le plus intelligent possible bénéficieront d’un framework de bot. Aucun langage de programmation n’est considéré comme le go-to pour les s, mais les langages les plus utilisés sont Python, Ruby, Java, PHP et Lisp.

Tout comme la fourniture de services cloud d’apprentissage automatique, les principales entreprises technologiques ont toutes leurs propres cadres. Choisir lequel utiliser est en partie juste une question de quel écosystème vous préférez. L’utilisation d’un framework ne signifie pas que vous devez écrire le code à partir de zéro.

Dialogflow, propriété de Google, tire parti de la grande quantité de données du moteur de recherche pour gérer assez bien le contexte, les entités et les intentions. Cet outil fonctionne pour les assistants vocaux ainsi que pour les s basés sur du texte, est compatible avec tous les principaux appareils et prend en charge plusieurs langues. L’outil utilise l’apprentissage automatique pour former des robots au fil du temps. Google fournit une documentation solide pour vous aider à comprendre l’outil.

le Microsoft Bot Framework vous permet de créer un bot sur Azure (cloud de Microsoft) et s’appuie sur le langage Understanding Intelligent Service (LUIS) de Microsoft pour NLP et NLU. Ce framework prend en charge la traduction dans plusieurs langues différentes et est open source. Il y a un compromis dans la facilité d’utilisation des fonctionnalités en langage naturel avec cette plate-forme, par rapport à Dialogflow.

Amazon Lex utilise la reconnaissance automatique de la parole et les capacités de compréhension du langage naturel d’Alexa et est compatible avec d’autres services AWS ainsi que Facebook et Slack. Il ne prend en charge que l’anglais, mais est puissant en termes de prise en charge des entités et des intentions. Les développeurs peuvent également ajouter leurs propres intentions à Lex.

IBM Watson Assistant peut être utilisé pour créer une gamme de types de , de ceux axés sur la solution aux assistants personnels. Watson intègre diverses technologies d’IA, de la PNL à la reconnaissance vocale en passant par l’analyse des sentiments, pour fournir un cadre pour répondre aux questions et offrir des expériences personnalisées. Watson Assistant est l’un des composants des offres commerciales d’IB d’IB.

Test du

Comme vous l’avez probablement remarqué en lisant l’article, la technologie derrière la création de s est facilement disponible. Pourtant, la majorité des bots qui nous sont présentés aujourd’hui ne peuvent pas maintenir le flux de la conversation, donner des réponses non pertinentes, ne comprennent souvent pas les utilisateurs et sont tout simplement inutilisables. C’est pourquoi les tests sont tout aussi importants que la phase de développement.

Semblable à la construction de bots, vous pouvez utiliser des outils de test et des solutions prêtes à l’emploi pour la régression automatisée ou les tests utilisateur.

Botium – ou Selenium pour les s – est un produit open source gratuit qui fournit des activités d’assurance qualité à partir de zéro: en commençant par les API, en passant par l’interface utilisateur et en terminant par des conversations réelles avec un bot. Prenant en charge le pipeline d’intégration continue et des tonnes d’ensembles de données intégrés, cette solution puissante peut même entraîner des robots à comprendre les erreurs humaines.

Zypnos est un outil populaire pour les tests de régression automatisés. Tout comme de nombreuses solutions d’assurance qualité automatisées régulières, il enregistre les cas de test, puis les exécute à plusieurs reprises sans aucun travail manuel de votre part. Il s’agit d’une plate-forme sans codage qui envoie vos rapports en quelques minutes après les sessions de test.

TestMyBot est une bibliothèque gratuite et open source qui nécessite Docker et prend en charge Node.js. L’outil peut être facilement intégré dans le pipeline CI / CD avec CodeShip.

Il existe des tonnes de services vous permettant de tester des robots contre des utilisateurs potentiels. Par exemple, Amazon Mechanical Turk, Botsociety, Testbirds ou d’autres plates-formes de test de foule.

Avant de tester, n’oubliez pas de définir vos KPI. La liste de base des mesures suivies comprendrait:

  • Efficacité de l’intégration
  • Cohérence de la personnalité
  • Comprendre les requêtes complexes et les fautes de frappe
  • Pourcentage de réponses non pertinentes
  • À quel point un bot se souvient des choses

Le dernier mot

Cette gamme d’options permet à n’importe qui, du propriétaire de petite entreprise le moins averti de la technologie au programmeur le plus avant-gardiste, de créer un AI. La clé pour créer un bon est de consacrer autant de réflexion et d’efforts à la construction du flux et à la considération des objectifs commerciaux que de travailler avec la technologie pour le construire.


ChatBot: Un guide technique pour construire un chatbot AIMorgen est un rédacteur pigiste de Salt Lake City. Elle écrit sur tout, de l’intelligence artificielle aux affaires en passant par la santé. Pendant son temps libre, elle aime cuisiner et voyager.


Vous voulez écrire un article pour notre blog? Lisez nos exigences et directives pour devenir contributeur.

ChatBot: Un guide technique pour construire un chatbot AI

#guide #technique #pour #construire #