Comment créer un chat Bot pour votre application ?

Différentes sociétés comme Microsoft, Amazon Web Service, IBM ou Google proposent des APIs permettant de construire rapidement des assistants virtuels. Dans cet article, nous allons vous présenter la construction d’un chat Bot avec l’API DialogFlow (Google) sur les plateformes iOS & Android.

Concepts

DialogFlow permet aux utilisateurs d’interagir d’une nouvelle manière avec votre produit ou service en créant des interfaces de conversation vocales et textuelles. Nous pouvons notamment citer les applications vocales, optimisées par l’IA. Le Bot de Google est basé sur l’apprentissage (apprendre sur une période de temps en utilisant des techniques d’apprentissage automatique)

Création d’un compte Google

Tout d’abord afin de pouvoir utiliser Dialogflow, la création d’un compte Google est obligatoire. La première étape consiste donc à créer un compte Google si vous ne l’avez pas encore fait :

Création d’un Bot

Une fois le compte Google créé, la prochaine étape consiste à vous rendre sur Dialogflow. Il est important de noter que l’agent doit être lié à un projet Google. Une fois le projet créé, il suffit d’ajouter un bot :

Les différentes actions

Afin de comprendre l’essentiel de Dialogflow, voici un petit résumé des différentes actions disponibles. Il est important de noter que l’API de Google propose d’autres fonctionnalités plus poussées comment notamment les Webhooks. Nous verrons cependant que les fonctionnalités les plus utilisées dans ce tutoriel.

Intent : ils vous permettent d’y introduire les phrases d’entrée. L’API se chargera elle-même, grâce à l’apprentissage automatique, de diversifier les réponses. Si vous insérez par exemple “Bonjour”, elle développera seule les différents synonymes comme “hello” ou ‘Salut”. Les Intents correspondent donc à la conversation globale. On y trouvera les phrases que l’utilisateur va donner (Training phrases) et ce que le chat Bot va répondre (Responses)

Entities : elles vont nous aider à identifier et à isoler des données au sein d’un Intent. Certaines sont déjà définies par le système (les couleurs, les dates, etc.) mais si cela ne vous suffit pas, vous pouvez en créer de nouvelles. Nous ne les utiliserons pas dans ce tutoriel.

Context : permets de connaître le déroulement d’une conversation et son niveau.

Default Fallback intent et Default Welcome Intent

Une fois que le bot a été créé, il contient par défaut 2 Intents. Default Fallback est utilisé lorsqu’aucun Intent ne match avec ce que l’utilisateur dit. Le second, Default Welcome est utilisé pour les salutations.

Exemple d’Intent

Training phrases :

Responses :

Version iOS / Apple

Version Android / Google

Importer le module dans le projet Xcode

 Si vous créez l’application à partir de rien, vous pouvez installer le SDK API.AI (qui est le SDK permettant la connexion à Dialogflow) à l’aide de CocoaPods. Tout ce que vous avez à faire est d’ajouter le pod suivant dans votre Podfile:

Une fois le pod installé dans le projet, nous devons nous rendre sur le fichier AppDelegate.swift.

Notre application doit se connecter aux serveurs Dialogflow et pour ce faire, nous devons importer le module ApiAI :

Nous devons maintenant initialiser une configuration à l’aide de notre jeton d’accès client. Mettez à jour la méthode didFinishLaunchingWithOptions comme ceci :

Remplacez la chaîne « YOUR_CLIENT_ACCESS_TOKEN » par le jeton d’accès client attribué à votre bot. Si vous ne savez pas où le trouver, rendez-vous sur les paramètres de votre chatbot dans Dialogflow. Sous l’onglet « Général », vous devriez trouver le jeton d’accès client dans la section « Clés d’API« .

Une fois ces étapes terminées, rendez-vous dans le fichier Main.storyboard et ajoutez :

  • Un Label
  • Un TextField
  • Un Bouton

Connectez-les ensuite à la classe du ViewController.

Une fois dans le fichier ViewController, il est é présent temps de créer la fonction qui permettra de communique instantanément avec DialogFlow.

C’est fini ! La fonction est désormais prête, vous n’avez plus qu’à l’ajouter à l’action de votre bouton comme ceci.

Importer le module dans le projet Android Studio

Pour utiliser l’API, vous devez inclure 2 bibliothèques dans le gradle :

L’API aura besoin d’Internet, vous devez donc ajouter l’autorisation dans le manifest :

Nous pouvons maintenant créer l’interface. Ici voici une TextView pour le retour, un EditText pour l’entrée et un Button pour l’envoi.

Voici le code de l’activité.

Le résultat final

Le projet iOS est disponible ICI

Le projet Android est disponible ICI