Difference between revisions of "Chatbot"

From air
Jump to navigation Jump to search
 
(27 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 tailles 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.
+
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.
 
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 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).
+
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.
 
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 le chatbot :
+
L'étude de marché fait ressortir plusieurs domaines d'utilisation le chatbot :
* Marketing: connaitre les besoins de l'utilisateur en lui parlant. Ou lui parler de publicités ciblées.
+
* 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 vente par exemple, si l'intelligence artificielle est correctement développé, elle évitera l'entreprise d'embaucher des opérateurs humains pour intérargir avec le client.
+
* 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 pourrait permettre d'améliorer nos connaissances du cerveau humain
+
* 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 trouver si on parle à un humain ou à un robot. Il faut pousser l'intelligence artificielle dans ses retranchements.
+
* 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 Microsoft, Apple, Facebook et Google.
+
Actuellement, les principaux développeurs des chatbots sont:
  +
*Microsoft
Tandis que Microsoft développe une API de programmation 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 l'un de leur produit.
 
  +
  +
[[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