Intelligence Artificielle (IA)
L’utilité d’un chatbot
L’utilité d’un tel dispositif dépend avant tout du but visé par le robot conversationnel. Le robot est mis en place pour aider l’utilisateur à trouver une information plus rapidement que s’il devait la chercher lui-même. Si son utilisation ne permet pas un gain de temps, l’utilisateur n’y aura pas recours et la construction d’un chatbot s’avérera inutile. D’après le livre écrit par S. Ronce (2017), il faut créer un bot qui répondra au service voulu sans détours. Par exemple, mon robot conversationnel doit répondre aux questions concernant One Digital, donc mon chatbot ne doit pas répondre aux résultats des matchs de football. Le bot doit avoir un but précis et doit être fonctionnel, sans quoi le robot ne sera pas utilisé et sera donc un échec. Dans mon cas, le service principal qu’offrira mon robot, c’est de pouvoir planifier des rendez-vous sur Google Agenda. Le but qu’on veut atteindre avec cet agent, c’est de faire gagner du temps aux clients en ayant une conversation avec celui-ci et en moins d’une minute le bot fixera un meeting. En conclusion, le bot est mis à disposition pour faire gagner du temps aux clients. La création d’un bot qui fixe des rendez-vous est bénéfique pour le client et les employés qui n’auront plus besoin d’attendre la réponse de l’entreprise ou de perdre du temps à chercher une plage horaire de libre qui conviendrait au client. Ici, le client n’aura qu’à parler avec l’agent conversationnel et le robot se
L’exemple de Twitch Étant un grand fan de jeux-vidéos, j’ai pu constater que sur Twitch (un service de streaming et de VOD de jeu vidéo), les streamers utilisent souvent un chatbot pour répondre à leurs supporters. Notamment, pour les questions les plus fréquentes, pour faire de la publicité pour leurs marchandises ou celles de leurs sponsors. Dans les images qui suivent, nous pouvons voir les interactions que les bots peuvent faire sur Twitch. Dans l’exemple ci-dessus, « Nightbot » annonce aux fans que Myth est actuellement en train de faire des parties avec MSF Heads pour la World Cup. Dans la figure 4, le robot fait de la publicité pour sa marchandise en annonçant une promotion de 5% et en donnant le lien pour acheter les produits.
Ici, « wowsobot » annonce que « shootermcwayne » vient de s’abonner avec Twitch Prime et que c’est son 12ème mois d’abonnement. Être privilégié à la chaîne revient à payer un abonnement pour une durée déterminée qui varie en fonction du prix payé. L’avantage d’être un abonné de Twitch Prime, c’est que les messages s’affichent directement dans la vidéo du stream ou les abonnés peuvent discuter dans la discussion des favorisés. Les robots annoncent aussi le matériel que les joueurs utilisent, en donnant le nom exact du matériel et le lien où les abonnés peuvent se le procurer. Souvent, les supporters peuvent bénéficier d’une promotion grâce à leur joueur préféré. L’avantage à ceci, c’est que le joueur n’est pas obligé de toujours se répéter durant son live (quand il filme sa partie en direct sur une plate-forme de streaming) ou de devoir suivre la discussion en live pour pouvoir faire sa publicité. Dans ce genre de cas, les sponsors sont gagnants, car le robot répondra à toutes les personnes qui poseront une question concernant le matériel. De plus, les fans sont constamment au courant des offres et des nouveautés concernant les produits ou matériels, car ils savent où acquérir le même matériel ou produit que leur joueur professionnel préféré.
Méthode Dialoglow
Cette méthode est très longue et compliquée à suivre. Tout d’abord il faut se créer un compte sur Facebook for Developers et ensuite il faut créer une nouvelle application. Dès la création d’une nouvelle application, il suffit de sélectionner Messenger pour le mettre en place. Dès la sélection Messenger, la génération d’une « Page Access Token » va être créé et ce token va être utile pour le mettre sur DialogFlow. Maintenant, il suffit de coller la « Page Access Token » et mettre un nom dans « Verify Token » (l’utilisateur peut choisir), dans mon cas j’ai mis « ChatbotOneDigital ». Par la suite, nous retournons sur Facebook for developers et nous devons appuyer sur « setup Webhooks ». Pour cela, nous avons besoin du « Callback URL » et du « verify Token » (voir la figure 29). Mais, nous devons aussi choisir les « Subscription Fields » que nous souhaitons que le bot fasse. Dans mon cas, j’ai juste sélectionné « messages » et « messaging_postbacks ». Suite à cela, je peux tester le bot sur Messenger. le seul problème c’est qu’il n’y a que les testeurs et le créateur qui peuvent l’utiliser. Pour que le robot soit accessible pour tout le monde, je dois faire une demande à « Facebook for developers » de tester le robot. Cette phase de test a pris 3-4 jours (pour un petit chatbot comme le mien) et le teste n’a pas été concluant.
Je n’ai pas réussi à trouver la raison car Facebook ne donne pas d’explications complémentaires. J’ai pu en conclure, d’après une image et les messages des testeurs, que mon chatbot ne savait pas quoi répondre. En effet, mon chatbot ne gérait queles demandes en français et Facebook l’a utilisé en anglais. Les testeurs n’étant pas français, mon agent ne répondait que « je ne comprends pas ». Suite à cela, le compte Facebook que j’avais créé pour essayer le chatbot a été supprimé et je n’ai pas pu garder la photo et les conversations que les testeurs ont eu avec mon robot. Suite à cela, je n’ai pas réessayé et j’ai cherché une autre méthode. 3.6.1.2.2 Slack Slack agit comme un appareil qui est relié à plusieurs machines sur le réseau et qui permet de concentrer les données pour les transmettre dans un unique travail. Ce qui est avantageux avec cela, c’est que nous pouvons créer des canaux de groupes et ainsi de travailler en collaboration. Mais, je vais l’utiliser comme intermédiaire entre DialogFlow et Chatfuel car c’est lui qui va mettre en liaison avec mon agent de DialogFlow et Chatfuel. Chatfuel discutera avec notre page Facebook. Tout d’abord, faut se rendre sur slack.com pour créer un compte ainsi qu’un channel, qui nous permettra d’obtenir une page comme nous le montre la figure 30.
Suite à cela, je peux installer le « starter Kit ». Le « starter Kit » ne sera pas utile, car j’utilise déjà « small talk » qui agit exactement de la même manière. Ce sont des questions qui sont fréquentes et utiles auxquelles les bots savent répondre. Suite à l’installation, Janis transmet une clé qui permettra de faire le lien entre Slack et Chatfuel. Chatfuel sera utiliser pour faire le lien entre Facebook et l’agent de DialogFlow, mais nous allons aussi l’utiliser pour pouvoir rendre le bot bilingue. Ainsi, le bot saura s’adapter à l’anglais et au français. Pour se connecter à Chatfuel, il suffit de mettre un compte Facebook. L’avantage c’est que la création d’un compte n’est pas obligatoire chez eux. Suite à la connexion, le choix de la page Facebook sera demandée. Cette page sera directement associée à Chatfuel. L’avantage comme je l’ai dit précédemment, le fait de pouvoir rendre l’agent Bilingue (ou plurilingue) et c’est très facile de le faire. Nous devons simplement installer un des templates proposés sur Chatfuel. Pour cela, il faut ajouter un nouveau template qui s’appelle « Multi-language DialogFlow + Takeover », ensuite nous lions la page Facebook.
Avantages et inconvénients de DialogFlow
L’un des plus grands avantages d’utiliser DialogFlow pour la création d’un agent conversationnel, c’est qu’il est très facile à intégrer dans les différents réseaux sociaux. De plus, il est très facile de comprendre et nous pouvons créer un agent en quelques clics. Il existe aussi de la documentation et des tutoriels pour mieux comprendre comment débuter et comment utiliser toutes les fonctionnalités existantes. Les désavantages rencontrer lors de la création de mon chatbot, c’est qu’en suivant les tutoriels nous ne parvenous pas toujours à avoir un agent fonctionnel. Prenons exemple sur Google Agenda, en suivant le tutoriel proposé par DialogFlow, je rencontre une erreur de date. D’autres part quand nous mettons la langue de base en anglais, nous avons beaucoup plus de fonctionnalités proposées qu’en français. Par exemple, en anglais nous avons accès aux fonctionnalités béta comme « knowledge ». « Knowledge » est utile principalement pour prendre la page FAQ d’un site internet et ainsi le robot sera en mesure d’aller chercher l’information en question. Contrairement au français pour créer un FAQ, nous devons créer un fichier avec un format précis pour les bots et ensuite importer ce fichier sur DialogFlow qui lui va créer des intentions et ajouter les réponses. Mais encore, en anglais nous avons plusieurs « prebuilt Agents » tandis qu’en français nous n’avons que 4 proposées. Les « prebuilt Agents » sont des agents déjà préparés avec les intentions et nous avons juste la partie « Fulfillment » à faire (toute la partie code).
|
Table des matières
Déclaration
Remerciements
Résumé
Liste des tableaux
Liste des figures
1. Théorie
1.1 Intelligence Artificielle (IA)
1.1.1 Qu’est-ce que c’est l’intelligence artificielle ?
1.2 Machine learning
1.3 Deep learning
1.3.1 CamFind
1.4 ChatBot
1.4.1 L’utilité d’un chatbot
1.4.2 Les erreurs à éviter
1.4.2.1 Ne pas être trop rapide ni trop lent
1.4.2.2 Répondre aux questions hors sujets
1.4.2.3 Créer un super-bot
2. Etat de l’art
2.1 Chatbot sans intelligence artificielle
2.1.1 L’exemple de Twitch
2.2 Utilité d’une IA
2.2.1 L’exemple d’H&M
2.2.1.1 Prise en main avec le bot H&M
2.2.2 L’exemple d’Air France (Messenger)
2.2.3 Voitures intelligentes
2.2.4 Le chatbot de 20minutes
2.3 Conclusion
3. Pratique
3.1 Déroulement du projet
3.2 Intents / Intentions
3.3 Entity / Entité
3.4 Training phrases
3.5 Comment améliorer les décisions du bot
3.5.1 Comment entrainer le bot
3.5.1.1 Augmenter les « training phrases » pour la compréhension
3.5.1.2 Chatter pour améliorer l’intelligence du bot
3.6 Intégration de notre chatbot
3.6.1 Réseaux sociaux
3.6.1.1 Telegram
3.6.1.2 Facebook Messenger
3.6.1.2.1 Méthode Dialoglow
3.6.1.2.2 Slack
4. Communications entre interfaces (Messenger)
5. Communications entre interfaces (sans Messenger)
6. Avantages et inconvénients de DialogFlow
7. Intégrer une page FAQ
7.1 Avantage
7.2 Désavantages
8. Conclusion
Bibliographie
Annexe 1 : Google Agenda
Annexe 2 : Luis.ai
Annexe 3 : Chatbot
Télécharger le rapport complet