Difference between revisions of "Chatbot"

From air
Jump to navigation Jump to search
 
(32 intermediate revisions by 2 users not shown)
Line 10: Line 10:
   
 
=Résumé=
 
=Résumé=
  +
L'intelligence artificielle est en plein expansion et est de plus en plus apte à mimer et comprendre les comportements humains. Les enjeux sont de taille dans de nombreux domaines. Entre autre, le fait de pouvoir converser de manière intelligence avec un ordinateur serait un outil très puissant pour de nombreuses entreprises.
Le Geofencing est une technologie basée sur le positionnement par GPS ou réseaux cellulaire, et permet la création de zone géographique virtuel et la notification des dispositifs électronique entrant dans ces zones. Cette technologie peut être utilisée dans différents types d'applications.
 
  +
A cet effet, des "chatbots", c'est à dire des chats virtuels avec des machines sont développés chaque année et ils sont de plus en plus performants (Siri développé par Apple...). Il reste tout de fois encore du chemin à faire avant qu'un ordinateur puisse leurrer un humain et se faire passer pour un autre être humain.
   
 
=Abstract=
 
=Abstract=
  +
A chatbot is an artificial intelligent able to speak with a human. It is a human-computer interaction system and it aims to mimic a human behaviour. However, even if a lot of progress are made in this field, there are still a lot to do. At this time, Chatbots are able to speak with you only if you use simple sentences.
The Geofencing is a technology based on GPS or cellular networks positionning. It allows the creation of virtual geographical area (geofence) and notify when electronical devices entrering or leaving the area.
 
This technology can be used in various types of applications.
 
   
 
=Synthèse=
 
=Synthèse=
 
==Principe==
 
==Principe==
  +
Le principe d'un chatbot est de simuler une conversation humaine avec un utilisateur humain à des fins ludiques ou plus sérieuse.
Le geofencing (ou Géo-repérage) est basée sur la géolocalisation. En effet, elle permet de créer une zone virtuelle sur une carte numérique et à l'aide de la géolocalisation, une notification est envoyée à l'utilisateur lorsqu'il entre ou sort de cette zone. Les zones peuvent êtres de forme circulaire ou non-circulaire et la localisation d'un utilisateur peut se faire avec le GPS, GSM ou par WiFi. L'utilisation se fait à grande échelle (supérieur à 50m) contrairement au Beacon qui s'utilise dans un batiment.
 
  +
Pour cela on utilise un agent conversationnel, c'est à dire une intelligence artificielle développé dans la compréhension et la compréhension des langages humains (par exemple l'anglais). On parle de NLP : '''Natural Language Processing'''.
[[Image:Geofencing.jpg|350px|center|Zones virtuelles]]
 
  +
Ils mettent en œuvre des connaissances linguistiques, psychologiques, et bien sûr des bases de programmation.
  +
On peut se servir du test de Turing pour tenter d'évaluer le chatbot.
  +
  +
[[File:3059439-poster-1280-why-the-latest-invasion-of-chatbots-isnt-like-the-others.jpg|center|300px]]
   
 
==Marchés et Acteurs==
 
==Marchés et Acteurs==
 
===Marchés===
 
===Marchés===
L'étude de marché fait ressortir plusieurs domaines d'utilisations du geofencing :
+
L'étude de marché fait ressortir plusieurs domaines d'utilisation le chatbot :
  +
* Marketing: Connaitre les besoins de l'utilisateur en lui parlant. On pourra ainsi lui produire des publicités ciblées.
* Marketing: utilisé pour diffuser des offres ou alertes lorsque l'on se trouve à proximité d'un magasin. Par exemple, une zone de geofencing autour d'un restaurant où chaque utilisateur recevra une notification lui indiquant une réduction sur un plat spécifique.
 
  +
* Economique : Dans un service après ventes par exemple, si l'intelligence artificielle est correctement développée, elle évitera l'entreprise d'embaucher des opérateurs humains pour intérargir avec le client.
* Monitoring: Permettre la surveillance de véhicule, comme ceux utilisés dans les chantiers de constructions ou dans une entreprise, afin d'être averti si un véhicule ne respecte pas son parcours par exemple.
 
  +
* Recherche: Le développement des chatbots, leur relation avec des êtres humains et la collecte de ces données pourra permettre d'améliorer nos connaissances du cerveau humain.
* Sécurité: Améliorer la sécurisation des données ou limiter l'utilisation d'application mobile si l'on sort de la zone liée à l'entreprise.
 
  +
* Ludique : A ce stade, beaucoup de jeux existent lié aux chatbots, par exemple un jeu existe dont le but est de découvrir si on parle à un humain ou à un robot (test de Turing inversé).
   
 
===Acteurs===
 
===Acteurs===
  +
Actuellement, les principaux développeurs des chatbots sont:
Le geofencing peut être utilisé par n'importe qui, aussi bien les particuliers que les professionnels. Actuellement, cette technologie est principalement utilisée à des fins commerciales, alors qu'à ses débuts, le geofencing servait pour les sociétés de transport.
 
  +
*Microsoft
  +
  +
[[Image:Page-sharing-thumbnail.jpg|200px]]
  +
  +
*Apple
  +
  +
[[Image:Photo.jpg|200px]]
  +
  +
*Google
  +
  +
[[Image:Googleg_standard_color_bg_512in800dp.jpg|200px]]
  +
  +
Tandis que Microsoft développe une API de chatbots, Apple et Google développe une intelligence capable d'intérargir avec l'utilisateur, par exemple sur son téléphone portable, afin de l'aider à accomplir une tâche. C'est un argument de vente pour leurs produits.
  +
  +
D'autres API pour développer et intégrer des chatbots sur Facebook, Kik, Whatsapp... sont disponibles comme [https://docs.lita.io/Lita], Errbo et Hubot...
   
 
==Fonctionnement==
 
==Fonctionnement==
  +
Un chatbot a pour but de faciliter une interaction avec une machine ou de remplacer un humain. Il faut donc qu'il soit très simple d'utilisation pour l'utilisateur tout en étant extrêmement efficace afin de répondre à la demande de celui-çi.
Le geofencing est composé d'un logiciel de geo-tracking GPS, de balises GPS et de moyens de notifications. Le logiciel de geo-tracking permet la création des périmètres virtuels qui servent à définir les zones. C'est lui qui va traquer les balises GPS dans la zone et va envoyer une notification si une balise GPS (ou smartphone) entre ou sort de la zone.
 
   
  +
[[Image:Chatbot-value.png|center|500px]]
===Zone===
 
Une zone peut être soit de forme circulaire ou non-circulaire. Une zone circulaire est définie par une latitude et une longitude qui va indiquer le centre et un radius qui va être le rayon de la zone circulaire, alors qu'une zone non-circulaire (en somme un polygone) est définie par un ensemble de points géographiques (latitude et longitude).
 
[[Image:Zone_non-cirulaire.png|200px|thumb|center|Zone non-circulaire]]
 
   
  +
===Point de vue utilisateur===
===Notifications===
 
  +
Du point de vue utilisateur, il suffit de lancer le chat avec l'agent conversationnel grâce à une commande spécifique puis il suffit de parler ou écrire à l'agent pour qu'il fasse une action précise (répondre et/ou effectuer une tâche).
Différents types de notifications peuvent êtres employés suivant l'utilisation du geofencing:
 
  +
Malheureusement, dû à l'intelligence encore limité de ces agents, les commandes ou discutions complexes ne seront que très mal (ou pas du tout) comprise par le chatbot. Il résultera une réponse incohérente par rapport à la demande de l'utilisateur.
*SMS: utilisé dans le marketing. Un utilisateur muni d'un téléphone entre dans la zone et reçoit un message de subscription de la forme "Envoyer <mot_clé> au <numéro_de_téléphone>. Lorsque l'utilisateur a renvoyé le mot clé, il peut recevoir par SMS des informations lorsqu'il se trouve dans la zone prédéfinie.
 
   
*Notification push: C'est une notification d'application mobile. Utilisé pour le geofencing sur smartphone, l'application sert de relais avec le logiciel de geo-tracking, c'est elle qui va permettre l'affichage de la notification et va déterminer le mode de géolocalisation.
 
   
  +
*Comment se faire comprendre par la machine
===Géolocalisation===
 
  +
La localisation se fait par GPS, mais aussi par triangulation GSM ou par WiFi. Il existe 2 méthodes de geofencing pour les smartphones :
 
  +
-Utiliser des phrases simples et non ambiguës
*Active: Application en premier plan, utilise le GPS pour se géolocaliser, mais a une consommation de batterie assez élevé.
 
  +
*Passive: Application en arrière plan, utilise le réseau mobile pour la localisation (failbe consommation de batterie).
 
  +
-Ne pas demander des commandes dépendant du contexte d'utilisation
  +
  +
-Utiliser des mots clés connus. La plupart des chatbots recherchent juste les mots importants de la phrase de l'utilisateur sans aucune analyse syntaxique
  +
  +
===Point de vue développeur===
  +
  +
*Deep Learning et méthode d'apprentissage
  +
Le développement d'une intelligence artificielle peut se baser sur le Deep Learning et les méthodes d'apprentissages. C'est ce que fait le chatbot Cleverbot.
  +
Le principe est que l'intelligence artificielle se base sur les réponses des utilisateurs pour comprendre les questions qu'on leur a posé. Comme un enfant, elle développera son intelligence et sa capacité conversationnelle au fil des conversations.
  +
Il convient de faire parler l'agent avec un grand nombre d'utilisateur "test" avant que le chatbot soit opérationnel.
  +
Il faut donc que les utilisateurs "test" soit bien sélectionné pour pas que le chatbot apprenne des mauvaises manières de parler. C'est ce qui s'est passé avec "Tay", une IA développée par Microsoft, parlant à des utilisateurs sur Twitter. En moins d'une journée, des utilisateurs mal intentionnés ont rendu l'IA raciste et antisémite.
  +
  +
*Analyse de la fréquence des mots, analyse syntaxique et grammaticale des phrases
  +
En plus des méthodes d'apprentissages, le chatbot peut tenter d'analyser les phrases de l'utilisateur et de comprendre le contexte de discussion. Cela passe par l'analyse de la fréquence des mots, et l'analyse syntaxique et grammaticale des phrases de l'utilisateur.
  +
Malheureusement, ces techniques ne sont pas encore très abouties de nos jours.
  +
  +
*Recherche de mot clés
  +
La plupart des chatbots n'utilisent pas des techniques aussi avancées pour parler avec l'utilisateur. Les agents conversationnels se contentent de rechercher des mots-clés dans les phrases prononcés par l'utilisateur et ont des réponses prédéfinies en fonction de ces mots clés.
  +
Par exemple, si l'utilisateur écrit "heure", le chatbot comprendra que celui-ci souhaite avoir l'heure et lui donnera l'heure actuelle.
  +
  +
===ChatBots connus===
  +
  +
*Siri : Développé par Apple, utilisé sur leur système d'exploitation IOS.
  +
  +
[[Image:AppleSiri1TNW-1200x651.jpg|200px]]
  +
  +
  +
*Cortana : Développé par Microsoft, utilisé sur leur système d'exploitation Windows.
  +
  +
[[Image:Microsoft-cortana.jpg|200px]]
  +
  +
  +
*Google Talk : Développé par Google, utilisé sur leur système d'exploitation mobile Android.
  +
  +
[[Image:Google-talk-logo.jpg|200px]]
  +
  +
  +
*CleverBot : Développé par Rollo Carpenter. Accessible sur internet pour tout le monde.
  +
  +
[[Image:Aid1141024-728px-Confuse-Cleverbot-Step-2-Version-2.jpg|200px]]
   
 
=Conclusion=
 
=Conclusion=
  +
Les chatbots ne sont pas encore totalement au point. En parlant à une intelligence artificielle, on arrive assez vite à ses limites, surtout si on utilise autre chose que des phrases basiques.
Le geofencing permet la création de zones virtuelles et peut être utilisé dans différents domaines d'applications, comme dans le secteur du transport de marchandises où une notification sera envoyée si un convoi se trouve à proximité d'un point d'intérêt ou plus récemment dans le secteur du marketing afin de communiquer des offres à un utilisateur muni d'un smartphone, s'il se trouve dans une zone publicitaire. Cette technologie s'utilise plutôt dans des grandes zones (de l'ordre de 100m au km) en extérieurs du fait de l'imprécision de la localisation par GPS. Elle est en pleine expansion depuis les années 2010 et trouve une forte utilité dans le marketing.
 
  +
Néanmoins, les enjeux économiques dans ce domaine sont de taille et il est très probable de que dans un futur proche, on puisse développer des intelligences artificielles assez efficaces pour "tromper" un être humain en imitant de manière quasiment parfaite un cerveau humain.
  +
  +
=Plateformes open-sources=
  +
* Smartly.AI, une plateforme française
  +
* [[Rasa.ai]] une plateforme open-source
  +
* BotMaker, une plateforme open-source
   
 
=Bibliographie=
 
=Bibliographie=
  +
* https://fr.wikipedia.org/wiki/Agent_conversationnel
*https://www.1min30.com/inbound-marketing/definition-le-geofencing-21265
 
  +
* http://www.liberation.fr/futurs/2016/04/15/robots-sociaux-les-chatbots-vont-ils-deferler-sur-la-france_14465407
*http://academy.pulsatehq.com/7-things-about-geofencing
 
  +
* http://www.lesechos.fr/idees-debats/cercle/cercle-159055-chatbots-pourquoi-la-machine-est-elle-devenue-la-star-de-la-relation-client-2015613.php
*http://www.csantamariav.com/gsm-gps-geofencing/
 
*https://www.tatango.com/blog/how-does-sms-geofencing-work/
+
* http://www.theverge.com/2016/3/24/11297050/tay-microsoft-chatbot-racist
  +
* http://blog.octo.com/les-chatbots/
*http://ravtrack.com/avl/using-gps-to-set-up-geo-fencing-zones-and-perimeters-19/
 
  +
* https://www.smile.eu/sites/default/files/2018-01/MiniBook_Mobile_Chatbots_VF_04012018.pdf
*http://searchsecurity.techtarget.com/answer/How-can-geofencing-improve-an-enterprise-security-strategy
 
*http://www.e-marketing.fr/Thematique/marques-enseignes-1002/Tribunes/geofencing-de-la-surveillance-logistique-a-la-conquete-de-consommateurs-250844.htm#hZs4dO2r9uk8AzqD.97
 
*http://www.transport-intelligent.net/produits-services/article/le-geofencing
 

Latest revision as of 10:21, 5 January 2018

Présentation

  • Sujet : ChatBot
  • Auteur : Edwin NIOGRET
  • Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU

Mots clés

Chatbot, intelligence artificielle, IHM

Résumé

L'intelligence artificielle est en plein expansion et est de plus en plus apte à mimer et comprendre les comportements humains. Les enjeux sont de taille dans de nombreux domaines. Entre autre, le fait de pouvoir converser de manière intelligence avec un ordinateur serait un outil très puissant pour de nombreuses entreprises. A cet effet, des "chatbots", c'est à dire des chats virtuels avec des machines sont développés chaque année et ils sont de plus en plus performants (Siri développé par Apple...). Il reste tout de fois encore du chemin à faire avant qu'un ordinateur puisse leurrer un humain et se faire passer pour un autre être humain.

Abstract

A chatbot is an artificial intelligent able to speak with a human. It is a human-computer interaction system and it aims to mimic a human behaviour. However, even if a lot of progress are made in this field, there are still a lot to do. At this time, Chatbots are able to speak with you only if you use simple sentences.

Synthèse

Principe

Le principe d'un chatbot est de simuler une conversation humaine avec un utilisateur humain à des fins ludiques ou plus sérieuse. Pour cela on utilise un agent conversationnel, c'est à dire une intelligence artificielle développé dans la compréhension et la compréhension des langages humains (par exemple l'anglais). On parle de NLP : Natural Language Processing. Ils mettent en œuvre des connaissances linguistiques, psychologiques, et bien sûr des bases de programmation. On peut se servir du test de Turing pour tenter d'évaluer le chatbot.

3059439-poster-1280-why-the-latest-invasion-of-chatbots-isnt-like-the-others.jpg

Marchés et Acteurs

Marchés

L'étude de marché fait ressortir plusieurs domaines d'utilisation le chatbot :

  • Marketing: Connaitre les besoins de l'utilisateur en lui parlant. On pourra ainsi lui produire des publicités ciblées.
  • Economique : Dans un service après ventes par exemple, si l'intelligence artificielle est correctement développée, elle évitera l'entreprise d'embaucher des opérateurs humains pour intérargir avec le client.
  • Recherche: Le développement des chatbots, leur relation avec des êtres humains et la collecte de ces données pourra permettre d'améliorer nos connaissances du cerveau humain.
  • Ludique : A ce stade, beaucoup de jeux existent lié aux chatbots, par exemple un jeu existe dont le but est de découvrir si on parle à un humain ou à un robot (test de Turing inversé).

Acteurs

Actuellement, les principaux développeurs des chatbots sont:

  • Microsoft

Page-sharing-thumbnail.jpg

  • Apple

Photo.jpg

  • Google

Googleg standard color bg 512in800dp.jpg

Tandis que Microsoft développe une API de chatbots, Apple et Google développe une intelligence capable d'intérargir avec l'utilisateur, par exemple sur son téléphone portable, afin de l'aider à accomplir une tâche. C'est un argument de vente pour leurs produits.

D'autres API pour développer et intégrer des chatbots sur Facebook, Kik, Whatsapp... sont disponibles comme [1], Errbo et Hubot...

Fonctionnement

Un chatbot a pour but de faciliter une interaction avec une machine ou de remplacer un humain. Il faut donc qu'il soit très simple d'utilisation pour l'utilisateur tout en étant extrêmement efficace afin de répondre à la demande de celui-çi.

Chatbot-value.png

Point de vue utilisateur

Du point de vue utilisateur, il suffit de lancer le chat avec l'agent conversationnel grâce à une commande spécifique puis il suffit de parler ou écrire à l'agent pour qu'il fasse une action précise (répondre et/ou effectuer une tâche). Malheureusement, dû à l'intelligence encore limité de ces agents, les commandes ou discutions complexes ne seront que très mal (ou pas du tout) comprise par le chatbot. Il résultera une réponse incohérente par rapport à la demande de l'utilisateur.


  • Comment se faire comprendre par la machine
   -Utiliser des phrases simples et non ambiguës
   -Ne pas demander des commandes dépendant du contexte d'utilisation
   -Utiliser des mots clés connus. La plupart des chatbots recherchent juste les mots importants de la phrase de l'utilisateur sans aucune analyse syntaxique

Point de vue développeur

  • Deep Learning et méthode d'apprentissage

Le développement d'une intelligence artificielle peut se baser sur le Deep Learning et les méthodes d'apprentissages. C'est ce que fait le chatbot Cleverbot. Le principe est que l'intelligence artificielle se base sur les réponses des utilisateurs pour comprendre les questions qu'on leur a posé. Comme un enfant, elle développera son intelligence et sa capacité conversationnelle au fil des conversations. Il convient de faire parler l'agent avec un grand nombre d'utilisateur "test" avant que le chatbot soit opérationnel. Il faut donc que les utilisateurs "test" soit bien sélectionné pour pas que le chatbot apprenne des mauvaises manières de parler. C'est ce qui s'est passé avec "Tay", une IA développée par Microsoft, parlant à des utilisateurs sur Twitter. En moins d'une journée, des utilisateurs mal intentionnés ont rendu l'IA raciste et antisémite.

  • Analyse de la fréquence des mots, analyse syntaxique et grammaticale des phrases

En plus des méthodes d'apprentissages, le chatbot peut tenter d'analyser les phrases de l'utilisateur et de comprendre le contexte de discussion. Cela passe par l'analyse de la fréquence des mots, et l'analyse syntaxique et grammaticale des phrases de l'utilisateur. Malheureusement, ces techniques ne sont pas encore très abouties de nos jours.

  • Recherche de mot clés

La plupart des chatbots n'utilisent pas des techniques aussi avancées pour parler avec l'utilisateur. Les agents conversationnels se contentent de rechercher des mots-clés dans les phrases prononcés par l'utilisateur et ont des réponses prédéfinies en fonction de ces mots clés. Par exemple, si l'utilisateur écrit "heure", le chatbot comprendra que celui-ci souhaite avoir l'heure et lui donnera l'heure actuelle.

ChatBots connus

  • Siri : Développé par Apple, utilisé sur leur système d'exploitation IOS.

AppleSiri1TNW-1200x651.jpg


  • Cortana : Développé par Microsoft, utilisé sur leur système d'exploitation Windows.

Microsoft-cortana.jpg


  • Google Talk : Développé par Google, utilisé sur leur système d'exploitation mobile Android.

Google-talk-logo.jpg


  • CleverBot : Développé par Rollo Carpenter. Accessible sur internet pour tout le monde.

Aid1141024-728px-Confuse-Cleverbot-Step-2-Version-2.jpg

Conclusion

Les chatbots ne sont pas encore totalement au point. En parlant à une intelligence artificielle, on arrive assez vite à ses limites, surtout si on utilise autre chose que des phrases basiques. Néanmoins, les enjeux économiques dans ce domaine sont de taille et il est très probable de que dans un futur proche, on puisse développer des intelligences artificielles assez efficaces pour "tromper" un être humain en imitant de manière quasiment parfaite un cerveau humain.

Plateformes open-sources

  • Smartly.AI, une plateforme française
  • Rasa.ai une plateforme open-source
  • BotMaker, une plateforme open-source

Bibliographie