• Aucun résultat trouvé

2. ÉTAT DE L’ART

2.5. DIALOGFLOW

Anciennement API.AI, Dialogflow est un chatbot basé sur l’intelligence artificielle conçue par Speaktoit et racheté par la suite par Google. En outre, l’assistant permet de construire des expériences conversationnelles riches et naturelles en offrant aux utilisateurs une toute nouvelle manière d’interagir avec une application (Google, Build natural and rich conversational experiences, s.d.).

2.5.1. Fonctionnement

Dialogflow intègre directement dans son architecture le savoir-faire de Google en matière de machine learning. En effet, ces algorithmes techniques permettent à l’agent conversationnel de comprendre le langage naturel des utilisateurs et surtout d’en extraire des données structurées. Le schéma suivant présente le fonctionnement basique de l’agent au sein d’une solution.

Figure 6 - Architecture d'une solution utilisant Dialogflow

Source : (Google, Dialogflow Agents)

Dans un premier temps, l’utilisateur active le processus conversationnel lors de sa première interaction avec l’interface de l’application. Dialogflow permet au client deux types d’action initiale. En effet, celui-ci détient la possibilité d’envoyer un message textuel ainsi qu’un enregistrement vocal. Les entrées provenant de l’application sont transmises directement à un agent créé au préalable sur la plateforme d’administration de Dialogflow.

Les agents sont responsables de gérer et diriger le flux d’une conversation avec un utilisateur d’une manière spécifique. Ainsi, il est tout à fait possible de créer une multitude d’agents différents afin de permettre plusieurs types de discussions selon plusieurs composants tels que des intentions, des entités, des contextes, des dialogues ainsi des accomplissements (Google, Dialogflow Agents).

Une intention (intent) est un composant de Dialogflow capable de déterminer les mesures et les actions à prendre par l’agent conversationnel selon la requête initiale de l’utilisateur. En somme, une intention représente simplement l’objectif qu’un client cherche à atteindre dans son message (Google, Dialogflow Intents).

Les entités quant à elles permettent de définir les données importantes à extraire des requêtes réalisées par les utilisateurs. Celles-ci peuvent être configurées pour un agent en particulier. Il n’est pas nécessaire aux développeurs de créer une entité pour chaque concept important. En effet, leur création est uniquement importante lorsqu’elles sont liées à une action définie dans l’agent. Une entité peut être de trois types différents. Les entités système sont préconfigurées par Dialogflow. Celles-ci regroupent les données communes les plus populaires. Les entités de type développeur représentent les données créées par les développeurs. Finalement, les entités utilisateur sont des données temporaires liées à la session courante de l’utilisateur qui rassemblent les concepts spécifiques au client (Google, Dialogflow Entities).

Dialogflow utilise également le concept d’action. Une action est simplement la direction que l’agent va prendre pendant une conversation lorsqu’une intention spécifique est détectée dans le message d’un utilisateur (Google, Dialogflow Actions and Parameters).

Le contexte est également un composant particulièrement important dans Dialogflow. En effet, le contexte permet d’ancrer la requête de l’utilisateur dans un contexte spécifique. Ainsi, il est plus facile de déterminer la réponse adéquate à une intention selon le sujet de la conversation actuelle (Google, Dialogflow Contexts).

Les dialogues définissent le cheminement de la conversation. L’interaction avec l’agent conversationnel peut être exécutée de manière linéaire en ayant une réponse pour chaque question de l’utilisateur. Cependant, la discussion peut être exécutée de manière non linéaire en définissant plusieurs embranchements possibles selon la réponse du client (Google, Dialogflow Dialogs).

Finalement, les accomplissements permettent aux développeurs d’accéder à une information de réponse via un service fourni par une API externe.

2.5.2. Intégration

En ce qui concerne l’intégration du chatbot Dialogflow, Google permet aux développeurs deux types d’intégrations différentes dans une solution. En effet, les librairies et les kits de développements de Dialogflow sont fournis en deux versions différentes, V1 et V2.

La deuxième version se divise en deux solutions d’intégration. D’une part, Google propose une intégration multiplateforme de leur service par le biais de l’API REST de Dialogflow. D’autre part, celle-ci permet également aux développeurs d’intégrer l’agent conversationnel à travers différentes librairies clientes. Le tableau ci-dessous présente la liste des librairies clientes V2 disponibles pour le moment.

Tableau 5 - Environnements de développements compatibles avec Dialogflow

SDK Dialogflow V2 Langage de programmation

Java Java Node.js Typescript Python Python Ruby Ruby PHP PHP C# C# Go Go

Source : (Google, Dialogflow SDKs, s.d.)

Cependant, nous pouvons remarquer qu’il n’y a aucune différence entre les deux solutions. En effet, celles-ci permettent toutes les deux de transmettre les requêtes textuelles ou vocales des utilisateurs à un agent ainsi que de recevoir la réponse de ce dernier. De plus, les développeurs ont également la possibilité de changer dynamiquement le comportement de leur agent en ayant accès directement aux intentions, aux entités ainsi qu’aux contextes depuis l’environnement de développement (Google, Dialogflow SDKs, s.d.).

La première version regroupe les fonctionnalités initiales de l’agent API.AI avant le rachat par Google. Il est important de noter que Google recommande fortement de ne plus utiliser cette version de distribution lors de la création de nouveaux projets. La multinationale prévoit effectivement de ne plus supporter celle-ci à partir du 10 avril 2019. Néanmoins, nous pouvons remarquer que cette version propose plus de supports d’intégration que la deuxième version. Le tableau suivant regroupe la totalité des kits de développement V1 disponibles à l’heure actuelle (Google, Dialogflow SDKs, s.d.).

Tableau 6 - Environnements de développements compatibles avec Dialogflow V1

SDK Dialogflow V1 Langage de programmation

Android SDK Java Botkit SDK Javascript C++ C++ Cordova SDK Objective-C iOS SDK Objective-C Java SDK Java JavaScript SDK JavaScript .NET C# Node.JS SDK Typescript Python SDK Python Ruby SDK Ruby Unity SDK C# Xamarin SDK C#

Source : (Google, Dialogflow SDKs, s.d.)

Malgré la mise en garde de Google, il est tout de même important de noter que la version legacy de Dialogflow propose une intégration directe au sein du logiciel Unity facilitant ainsi le développement du chatbot en réalité virtuelle.

2.5.3. Langues

Comme nous avons pu le voir précédemment dans cette analyse, l’agent de Dialogflow se trouve être l’élément principal du chatbot. En effet, il est responsable de gérer le flux de communication avec l’utilisateur.

Les agents prennent en charge un total de dix-sept langues différentes ainsi que plusieurs variantes dialectales (Google, Dialogflow Languages). Cependant, il n’y a aucune information concernant leur degré de prise en charge par l’agent conversationnel. Le tableau ci-dessous présente certaines des langues supportées par Dialogflow.

Tableau 7 - Liste des langues prises en charge par Dialogflow

Langue Nombre de variantes

Chinois 3 Danois 0 Néerlandais 0 Anglais 5 Français 2 Allemand 0 Italien 0 Japonais 0 Espagnol 0 Suédois 0 Russe 0

Source : (Google, Dialogflow Languages)

2.5.4. License

La solution Dialogflow fournie par Google dispose uniquement de deux modèles économiques différents :

• Édition standard • Édition entreprise

Les deux modèles recouvrent exactement les mêmes fonctionnalités principales. Néanmoins, l’édition entreprise offre un support technique plus prononcé pour les entreprises. Le tableau suivant présente les différences entre les deux modèles économiques.

Tableau 8 - Détails de tarification de Dialogflow

Edition standard Edition entreprise

Modèle Gratuit Payant

Requêtes textuelles Illimité 0.002$ par requête et illimité Requêtes vocales 1’000 requêtes par jour et

15'000 par mois au maximum

0.0065$ toutes les 15 secondes et illimité Quota des requêtes textuelles 3 requêtes par seconde 10 requêtes par seconde

Support Communauté et email Google Cloud Support Source: (Google, Dialogflow Pricing, s.d.)

Documents relatifs