Le Natural Language Processing

Le Natural Language Processing

RGPD

En janvier 2012, la Commission europรฉenne a proposรฉ un ensemble de mesures lรฉgislatives afin dโ€™actualiser et moderniser les rรจgles contenues dans lโ€™ancienne directive de 1995 sur la protection des donnรฉes. Entrรฉ en vigueur le 25 mai 2018 dans lโ€™Union Europรฉenne, le nouveau Rรจglement sur la protection des donnรฉes peut รชtre directement applicable ร  tous les acteurs actifs sur le territoire de lโ€™Union Europรฉenne. Il devrait permettre aux citoyens dโ€™avoir un meilleur contrรดle sur leurs donnรฉes personnelles en responsabilisant les entreprises. Dans le cadre de ce travail, The Computer Firm ayant plusieurs clients basรฉs dans lโ€™Union europรฉenne, nous avons tenu compte de cette variable lors de lโ€™analyse de base. Les clients principaux de The Computer Firm sont des fiduciaires ou des avocats. Les messages et questions posรฉs ร  notre bot pouvant รชtre confidentiels ou privรฉs, nous nous baserons sur les critรจres donnรฉs par la GDPR.

Afin dโ€™entraรฎner notre bot et dโ€™amรฉliorer son efficacitรฉ, nous allons crรฉer une base de donnรฉes pour y stocker tous les messages envoyรฉs par lโ€™utilisateur. Cela permettra ร  court terme de les utiliser pour amรฉliorer notre chatbot. Pour รชtre en accord avec cette loi, nous demanderons ร  lโ€™utilisateur dโ€™accepter ou non cette condition. En cas dโ€™accord, nous sauvegarderons ses messages dans notre base. En cas de refus, lโ€™utilisateur pourra tout de mรชme utiliser lโ€™application, et ses messages ne seront pas sauvรฉs. La RGPD demande aux entreprises de laisser le choix ร  lโ€™utilisateur de supprimer ร  tous moments les donnรฉes saisies, mรชme sโ€™il a acceptรฉ notre police de confidentialitรฉ. (econocom, 2018) La loi รฉtant encore relativement floue, nous nous contenterons pour ce travail de ces mesures. (Suisse, 2018)

Une statistique met en รฉvidence le fait que les gens ont peur dโ€™รฉchanger avec un robot. Le 75% des utilisateurs dรฉsirent connaรฎtre lโ€™instant du dialogue avec une intelligence artificielle. ร€ ce jour, les chatbots ne sont pas encore totalement autonomes. Comme expliquรฉ plus haut, le dรฉveloppeur effectue une certaine quantitรฉ de tรขches pour veiller ร  son bon fonctionnement. Statistiquement, un chatbot a en moyenne un taux de prรฉcision dโ€™environ 85%. Accessoirement, lโ€™inventeur et collaborateur de Google, Monsieur Ray Kurweil, plus connu pour ses prรฉdictions comme la singularitรฉ technologique, est actuellement directeur de service du ยซ Natural Language Recognition ยป. Selon ses prรฉdictions, aux environs de 2029, lโ€™intelligence artificielle aura un niveau de conversation รฉgal ร  celui de lโ€™รชtre humain. (Popper, 2016)

Node.JS La plaque tournante de notre application sera notre API RESTful dรฉveloppรฉe avec la plateforme de dรฉveloppement Javascript Node.JS. Cette plateforme est un rรฉel environnement de dรฉveloppement ยซ cรดtรฉ-serveur ยป. Elle permet de construire des applications hautement รฉvolutives et modernes. Samuel Coppey Lโ€™environnement Node.JS comprend le nรฉcessaire ร  lโ€™exรฉcution de programmes รฉcrits en Javascript. Grรขce ร  Node.JS, notre Javascript peut faire beaucoup plus que de lโ€™interaction dans un site web. Le serveur recevra les requรชtes depuis le front-end, ร  savoir le chat et transmettra ces demandes ร  la base de donnรฉes pour la sauvegarde, ainsi quโ€™ร  lโ€™API de wit.ai qui analysera le texte. Dans un second temps, wit.ai enverra le rรฉsultat de son analyse vers le serveur Node.JS qui lโ€™interprรฉtera et, en collaboration avec la base de donnรฉes, renverra la rรฉponse de notre bot vers le chat. (Patel, 2018)

Node.JS est clairement un des pionniers du dรฉveloppement des serveurs web en Javascript. Grรขce ร  ses outils et son comportement asynchrone, Node.JS รฉvite toute perte de temps aux processeurs en attente dโ€™une rรฉponse ยซ Input / Output ยป. Cรดtรฉs performance et rapiditรฉ, Node.JS a un fonctionnement single threaded et engagera toujours un seul thread en lieu et place dโ€™en utiliser un par requรชte. Ce systรจme รฉvite au processeur de changer constamment de contexte et de nombreuses exรฉcutions mรฉmoire. Notre choix sโ€™est portรฉ sur Node.JS car il permet la crรฉation dโ€™un serveur en Javascript de la maniรจre la plus stable et optimale possible. Le fait que The Computer Firm possรจde dรฉjร  une architecture fonctionnant sur cette structure confirme notre choix. La nรฉcessitรฉ de nous adapter ne peut que faciliter la future intรฉgration de notre chat au panel dโ€™outils que propose dรฉjร  cette sociรฉtรฉ.

Nos entities

Lโ€™entity relative au premier cas dโ€™utilisation concerne les salutations. Afin que le chatbot soit capable de comprendre lorsquโ€™un utilisateur le salue, il a รฉtรฉ nรฉcessaire de lui apprendre ce que signifie une salutation. Afin de permettre au chat dโ€™รชtre le plus cordial possible, nous avons dรฉclinรฉ les greetings en deux catรฉgories : les salutations informelles et les salutations formelles. Ainsi, la rรฉponse du chat pourra รชtre adaptรฉe en fonction de la salutation de lโ€™utilisateur. Sโ€™il se prรฉsente avec des salutations plus formelles telles que ยซ Bonjour ยป ou ยซ Bonsoir ยป, la rรฉponse sera diffรฉrente que sโ€™il formule ยซ Hello ยป ou ยซ Salut ยป. La crรฉation dโ€™une simple entity, appelรฉe ยซ approbation ยป est dรฉclinรฉe en 2 intents, remerciements et fรฉlicitations. ร€ lโ€™usage, nous avons remarquรฉ quโ€™il รฉtait naturel pour lโ€™utilisateur dโ€™exprimer un simple ยซ merci ยป ou ยซ super ยป lorsque le chat rรฉpondait ร  une question posรฉe. De ce fait, notre bot sera capable de rรฉpondre et de comprendre ces remerciements. Dans un but plus technique, au niveau de lโ€™entraรฎnement de notre bot, ce genre dโ€™entities sert รฉgalement au dรฉveloppeur. Lorsque lโ€™utilisateur dรฉclenche cette entity, nous considรฉrons que la rรฉponse รฉtait satisfaisante, respectivement que lโ€™entity choisie รฉtait la bonne. Il pourra valider lโ€™entity choisie en cas de rรฉponse de ce genre et, ajouter une phrase de plus ร  lโ€™entraรฎnement du bot.

Rรฉtrospectives et amรฉliorations futures Grรขce ร  lโ€™expรฉrience acquise durant ces 6 mois dโ€™รฉtudes, quelques recommandations nous viennent ร  lโ€™esprit. Suite ร  lโ€™expรฉrience acquise sur wit.ai, il serait intรฉressant de reprendre des tests et cas dโ€™utilisation avec DialogFlow. Avec cela voir si un impact significatif interviendrait par exemple sur le code. Comme expliquรฉ en dรฉbut de rapport, DialogFlow est un excellent service de NLP et mรฉrite un certain crรฉdit. Afin dโ€™exploiter toute la puissance de ce genre dโ€™outil, lโ€™interface graphique doit รชtre plus quโ€™une simple vitrine servant ร  lโ€™interaction entre lโ€™homme et la machine. Un chat entiรจrement sur mesure, avec plusieurs fonctionnalitรฉs de choix ou de questions dynamiques pourrait รชtre extrรชmement intรฉressant. Son impact sur la dรฉfinition des entities et intents nโ€™en serait que plus simple. Il est รฉgalement agrรฉable de savoir que le produit va รชtre utilisรฉ par The Computer Firm et que lโ€™analyse et la premiรจre version effectuรฉe sera un jour mise en production. Voici selon nous, les principales suggestions ร  envisager ร  moyen terme.

Le rapport de stage ou le pfe est un document d’analyse, de synthรจse et d’รฉvaluation de votre apprentissage, c’est pour cela rapport gratuit propose le tรฉlรฉchargement des modรจles gratuits de projet de fin d’รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties d’un projet de fin d’รฉtude.

Table des matiรจres

Avant-propos
Remerciements
Table des matiรจres
Table des illustrations
Liste des tableaux
Glossaires et abrรฉviations
Introduction
Problรฉmatique
1 ร‰tat de lโ€™art
1.1 Introduction aux Chatbots
1.2 Leurs utilisations
1.3 Le Natural Language Processing
1.3.1 Dรฉfinition
1.3.2 Entity
1.3.3 Intent
1.3.4 Lโ€™entraรฎnement
1.3.5 La confiance
1.3.6 Analyse des solutions existantes
1.3.7 Choix de lโ€™outil de NLP
1.3.8 Confirmation du choix de wit.ai
1.3.9 Simple cas dโ€™utilisation DialogFlow
1.3.10 Choix dรฉfinitif
1.4 RGPD
1.5 Problรฉmatique et marchรฉ
2 Architecture et environnement de dรฉveloppement
2.1 Node.JS
2.1.1 Choix de Node.JS
2.1.2 Modules Node.JS
2.2 React.JS
2.2.1 Choix de React.JS
2.3 MongoDB
2.3.1 Le choix de MongoDB
2.4 API/SDK de wit.ai
3 Dรฉveloppement de la solution
3.1 Montage de la base de donnรฉes
3.1.1 Modรฉlisation de la base
3.1.2 Intents et rรฉponses respectives
3.1.3 Sauvegarde des messages utilisateurs
3.2 Structure et รฉlaboration du serveur Node.JS
3.2.1 Architecture du serveur
3.2.2 Protocole HTTP
3.2.3 Les routes
3.2.4 Les schรฉmas mongoose
3.2.5 Wit.ai
3.3 Application web et chat
3.3.1 Choix de chat
3.3.2 Architectures orientรฉes composant React.JS
4 Mรฉthodologie
4.1 Lโ€™agilitรฉ et SCRUM
4.2 Sprint 0
4.3 Sprint 1
4.4 Sprint 2
4.5 Sprint 3
4.6 Difficultรฉs rencontrรฉes et leurs solutions
5 Conclusion
5.1 Bilan final
5.2 Rรฉtrospectives et amรฉliorations futures
6 Rรฉfรฉrences
7 Annexes
8 Dรฉclaration de lโ€™auteur

Rapport PFE, mรฉmoire et thรจse PDFTรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *