Comment créer un chatbot avec Dialogflow

Clémence Floris
neoxia
Published in
4 min readSep 6, 2018

Une interview de Benjamin Rouvillé, développeur full stack chez NEOXIA

Bonjour Benjamin, peux-tu te présenter ?
Je suis développeur fullstack, chez Neoxia depuis septembre dernier. Après un BTS en services informatiques et une licence professionnelle de concepteur intégrateur web et mobile, j’ai obtenu mon master d’ingénierie du web à l’ESGI en 2017.

Depuis que j’ai rejoint Neoxia, j’ai eu l’occasion de travailler sur des projets très différents, pour des clients comme la start-up PlayPlay, le groupe Auchan et, depuis quelques temps, Ayruu.

C’est pour ce dernier projet que tu as travaillé avec Dialogflow ?
C’est exact. Ayruu est une appli dans le domaine du voyage qui simplifie la vie des voyageurs en gérant les billets d’avion, recherchant des itinéraires ou des hébergements et en facilitant le regroupement des salariés durant leurs déplacements. Le principe est celui d’un assistant personnel.

Le sujet est très actuel, mais aussi très jeune. C’était un défi de trouver les bons outils pour réaliser la vision d’Ayruu. Dialogflow nous a permis de créer un chatbot simple d’utilisation aux résultats pertinents, en peu de temps.

Comment l’outil fonctionne-t-il ?
On commence par définir des intentions utilisateur depuis une interface. Elles correspondent à une typologie de demandes comme par exemple, “la météo” ou “un hôtel”. A ces intentions, on va associer des séries de phrases au sens proche comme par exemple “quel temps fait-il ?” pour entraîner Dialogflow à trouver la bonne réponse.

Ensuite, grâce à la définition d’entités, par exemple une ville ou une date, on va pouvoir préciser la demande et renvoyer une réponse Google. A ce stade, nul besoin de compétences particulières en développement.

En revanche, elles deviennent indispensables pour gérer des cas plus complexes, qui nécessitent d’obtenir des informations d’applis tierces ou de se connecter à des API.

Quel est le niveau de complexité de demandes que l’on peut gérer ?
On peut aller assez loin. Ainsi, notre travail de configuration et d’entraînement va d’abord pouvoir répondre à des questions simples, du type “quelle est la météo (intention) de Paris (entité) aujourd’hui (entité) ?”

Ensuite, on va réussir à compléter les demandes, par exemple : “trouve-moi un hôtel” . On saura demander où ? à l’utilisateur. S’il renseigne le lieu, par exemple autour de moi, alors on va lui proposer des résultats pertinents.

La notion de contexte va permettre d’aller encore plus loin en définissant une durée de vie pour plusieurs recherches. Si un utilisateur recherche “un hôtel à Paris”, obtient des résultats, et demande ensuite “et à Marseille ?”, Dialogflow pourra comprendre qu’il s’agit de rechercher un hôtel à Marseille.

Quels avantages y’a-t-il à utiliser Dialogflow plutôt qu’une autre solution ?
J’en retiendrais quatre principaux :

  • D’abord, on bénéficie du machine learning de Google. C’est la vraie force de Dialogflow, racheté et soutenu par Google depuis plusieurs années. Pour arriver à retrouver des résultats précis et pertinents malgré les fautes d’orthographe ou de syntaxe, il faut beaucoup de boulot.
  • Ensuite, la robustesse de la solution et son inclusion dans l’univers Google (Cloud platform, Home) qui le rendent fiable, durable et riche en interactions. Ainsi, la fonctionnalité Google small talk permet de capitaliser sur les interactions fréquemment utilisées par les utilisateurs.
  • C’est en plus un outil déjà assez abouti, qui permet de gérer 14 langues différentes. Pour prendre en charge des langues supplémentaires, il ne faut pas tout réécrire. Une fois la nouvelle langue intégrée aux paramètres, il suffira d’écrire les phrases d’entraînement adaptées.
  • Enfin, la simplicité d’utilisation depuis l’interface de configuration, qui rend Ayruu autonome sur l’amélioration des réponses. Au départ, nous avions entré une dizaine de phrase d’entraînement par intention. Au fur et à mesure des questions posées par les utilisateurs, nous en avons maintenant défini une trentaine et le chatbot continue d’être enrichi par l’équipe d’Ayruu.

Le travail de configuration du chatbot n’est donc pas fini ?
On espère qu’il ne s’arrêtera jamais ! Cela signifie qu’on aura su conquérir nos utilisateurs. Pour cela, la souplesse de Dialogflow sera un atout important.

--

--