Vous êtes sur la page 1sur 17

Option : Master Fouille de données

et Intelligence Artificielle

Enseignant : SONFACK S. Serge

RAPPORT DU PROJET NATURAL LANGUAGE


PROCESSING
POUR LA
REALISATION D’UN TCHATBOT

Groupe : 2
Issaka Tigabitoua ANABEBOU
Moumini KABORE
Kikin Abdoul Kader SOURABIE
Sommaire

Sommaire...............................................................................................................................................2
Introduction............................................................................................................................................3
1.............................................................................................................................................................4
Présentation de la problématique et de l’approche méthodologique.......................................................4
1.1. Présentation de la problématique............................................................................................4
1.2. Approche méthodologique.....................................................................................................4
1.2.1. Rencontre de cadrage.....................................................................................................5
1.2.2. Définition des activités et répartition des tâches.............................................................5
1.2.3. Suivis..............................................................................................................................5
1.2.4. Consolidation des travaux des membres.........................................................................5
2.............................................................................................................................................................6
Analyse des besoins et modélisation......................................................................................................6
2.1. Typologie et choix de Chatbot...............................................................................................6
2.2. Défis de Chatbot.....................................................................................................................7
2.3. Analyse des besoins...............................................................................................................7
2.4. Présentation de la base de données.........................................................................................8
2.5. Représentation du système de R-Agri....................................................................................9
2.6. Modélisation de R-Agri..........................................................................................................9
3...........................................................................................................................................................11
Implémentation du R-Agri...................................................................................................................11
3.1. Présentation de technologie utilisée.....................................................................................11
3.2. Implémentation de R-Agri....................................................................................................12
Conclusion...........................................................................................................................................14
Annexes...............................................................................................................................................15
Annexes A : Répartition des activités du projet...............................................................................16
Annexes B : Captures d’écran d’exécution du Chatbot....................................................................17

2
Introduction

Suite à la part du secteur agricole en matière de produit intérieur brut (29%) et d’offre
d’emploi (plus de 65%) dans les pays à vocation agricole dont ceux d’Afrique subsaharienne,
en occurrence le Burkina Faso, nous assistons à un besoin récurent d’informations sur le
secteur lors des travaux en atelier de diverses structures et des concepteurs de projet. Ainsi, la
capture d’une information telle la superficie d’une culture pour une année donnée nécessite
l’ouverture d’un fichier (précédé de son téléchargement sur internet si non disponible), le
parcours de ce fichier de données. Il faut noter que ce temps devient non négligeable pour une
récurrence de cette activité de recherche d’information.

Dans l’optique d’aider à l’optimisation de ce temps, nous retournerons vers les technologies
de l’intelligence artificielle pour la proposition d’un chat bot dénommé « R-Agri » destiné à
répondre directement à une demande d’un utilisateur sur les résultats agricoles du Burkina
Faso.

3
1. Approche méthodologique

L’approche préconisée dans le cadre de la réalisation de ce projet a été fait de manière


participative et itérative avec une forte implication de tous les membres du groupe.

Pour atteindre les objectifs du projet, l’ensembles des activités ont été phasées comme suit :

1.1. Rencontre de cadrage

Cette phase consistera en la mise en place d’un groupe WhatsApp regroupant les membres du
groupe pour le partage d’un lien Zoom pour une rencontre virtuelle de cadrage du projet.
Cette rencontre sera l’occasion d’harmoniser les compréhensions sur les attentes du projet sur
le sujet que nous avons soumis et d’échanger sur les stratégies d’organisation pour le
déroulement des activités du projet.

1.2. Définition des activités et répartition des tâches


Cette phase consistera en l’élaboration d’un plan d’exécution sur la base des objectifs du
projet et l’affectation1 des différentes activités de ce plan aux membres du groupe.

1.3. Suivis
Cette phase consistera en la programmation de rencontres présentielles périodiques pour la
présentation des tâches en charge de chaque membre afin d’identifier et résoudre les
difficultés rencontrées par certains dans l’exécution de leurs tâches.

1.4. Consolidation des travaux des membres


Cette phase consistera en la présentation des activités en charges des membres pour
contribution et consolidation des livrables du projet.

1
Vous trouverez en Annexe A, la liste de répartition des activités au membres du groupe suivant à cette activité
de définition de plan d’activité.

4
2. Analyse des besoins et modélisation

Au cours des dernières années, les chatbots sont devenus très populaires dans les secteurs de
la technologie et des affaires. Ces robots intelligents sont si habiles à imiter les langages
humains naturels et à converser avec les humains que des entreprises de divers secteurs
industriels les adoptent. Des entreprises de commerce électronique aux établissements de
santé, tout le monde semble tirer parti de cet outil astucieux pour générer des avantages
commerciaux.

2.1. Typologie et choix de Chatbot

Pour rappel un chatbot est un programme capable d’exécuter automatiquement un dialogue. Il


faut noter qu’il existe deux grandes catégories de chatbots :

Les chatbots d’interaction textuelle : Ce sont des chatbots qui ne nécessitent pas
l’application d’une intelligence artificielle, puisqu’ils fonctionnent sur la base de commandes.
Ils utilisent des questions prédéfinies et suivent une logique séquentielle, émulant une
conversation à partir d’un menu d’options préalablement établi.

Les chatbots dotés d’intelligence artificielle : Ces robots sont technologiquement plus
complexes, ils s’appuient sur l’intelligence artificielle et l’apprentissage machine. Cela
signifie qu’ils ont la capacité de comprendre et de traiter le langage naturel pour fournir des
réponses plus personnalisées.

Dans le cadre de cette étude, nous nous pencherons sur la deuxième catégorie de chatbot afin
de pouvoir plus fluidifier le dialogue au fil de son utilisations.

5
2.2. Défis de Chatbot

Les grands défis de notre chatbot s’articulera autour de la bonne compréhension des requêtes
de ses utilisateurs et la fourniture de très bons résultats.

2.3. Analyse des besoins

Suite à l’analyse de l’annuaire statistique de 2020 et des échanges avec quelques potentiels
utilisateurs des données du secteur agricole, il ressort les besoins ci-dessous :
 La demande d’une superficie d’une spéculation donnée (céréales, mil, sorgho, coton,
…) d’un niveau administratif donné (région, province, pays) pour une année donnée
(2010, 2011, …) ;
 La demande d’une production d’une spéculation donnée (céréales, mil, sorgho, coton,
…) d’un niveau administratif donné (région, province, pays) pour une année donnée
(2010, 2011, …) ;
 La demande d’un rendement d’une spéculation donnée (céréales, mil, sorgho, coton,
…) d’un niveau administratif donné (région, province, pays) pour une année donnée
(2010, 2011, …) ;

Dans l’optique de disponibiliser une version exploitable de « R-Agri » à court et moyen


terme, nous avons adopté l’implémentation évolutive des différents besoins.

Ainsi, cette première version de « R-Agri » en construction couvrira les dimensions ci-
dessous :
 La superficie comme indicateur ;
 Les céréales comme type de spéculation ;
 La région, la province et le pays comme niveau administratif ;
 La temporalité : de 2010 jusqu’à l’année 2020.

6
Les versions futures couvriront le reste des indicateurs (rendement, production) et des types
de spéculation (coton, sésame, …). Des mises à jour seront effectué dès la disponibilité des
données d’une nouvelle année.

2.4. Présentation de la base de données

Notre base de données est un tableau d’un fichier Excel présentant l’évolution de la superficie
(en ha) emblavée de cultures céréalières de 2010 à 2020 (y compris les plaines et bas-fonds)
de toutes les 13 régions du Burkina Faso. Ces données proviennent des enquêtes réalisées sur
les paysans producteurs de céréales sur toute l’étendue du territoire.

Figure : Aperçue de la base de données

Source : Enquête permanente agricole - DSS/DGESS/MAAH

7
2.5. Représentation du système de R-Agri

Utilisateur

R-Agri

- La demande d’une superficie d’une spéculation donnée


(céréales, mil, sorgho, coton, …) d’un niveau administratif
donné (région, province, pays) pour une année donnée
(2010, 2011, …) ;
- La demande d’une production d’une spéculation donnée
d’un niveau administratif donné pour une année donnée ;
- La demande d’un rendement d’une spéculation donnée
d’un niveau administratif donné pour une année donnée.

 
 
 
 

2.6. Modélisation de R-Agri

Le domaine de notre étude sera structuré sous forme d’intention (intents)de l’utilisateur en
une entité JSON couvrant les dimensions suivantes :

 Tag : destiné à stocker les sujets (Superficie céréales 2010, …) couverts lors de
l’interaction utilisateur-R-Agri ;
 Patterns : destiné à stocker les variantes de questions possibles d’un utilisateur lors
de l’interaction utilisateur-R-Agri ;

8
 Réponses : destiné à stocker les réponses possibles d’une question d’un utilisateur
lors de l’interaction utilisateur-R-Agri ;

Data_R-Agri :
{
"intents" : [
{"tag": "Saluations",
"patterns": ["Bonjour","Salut","Hello"],
"response": ["Bonjour à vous, que désirez-vous?", "Bonjour que
désirez-vous?", "Salut à vous, que désirez-vous?",
"Salut
que désirez-vous?", "Hello, que désirez-vous?"
]
},
{
"tag" : "Superficie céréales Boucle du Mouhoun 2010",
"patters" : [ "Quelle est la superficie des céréales du Namentenga en
2010", "Je veux la superficie des céréales du
Namentenga
en 2010 " 
]
"response" : [ "La superficie des céréales du Namentenga en 2010 est
de
95 086 ha"
]

},
.
.

"intents" : [

9
]
}

10
3. Implémentation du R-Agri

Pour l’implémentation, nous avons observé deux grandes étapes que nous prenons le soin
de détailler dans cette partie du rapport.

3.1. Présentation de technologie utilisée

Les outils sur lesquels nous nous baserons s’inscrivent au tour de trois (03) dimensions
notamment le stockage, le langage de programmation et la modélisation des données.

Stockage : Partant de l’analyse des données de l’annuaire des statistiques agricoles et des
échanges avec certains utilisateurs des données du secteur, nous pencherons sur les bases
de données NoSQL2 pour le stockage des données du domaine pour les raisons qui
suivent :
 La flexibilité du schéma de la base de données n’imposant pas une structure figée
aux enregistrements ;
 La facilité de la gestion de la scalabilité horizontale pour une meilleure gestion de
la charge de la base de données pour la gestion d’un nombre d’instances élevés
dans l’avenir.
Pour l’implémentation physique, on portera notre choix sur la famille de base de données
NoSQL orientée document permettant la conservation de l’aspect structuré des données.
On utilisera en occurrence MongoDB ;

Langage de programmation : le langage Python sera utilisé pour l’implémentation de ce


projet compte tenu de sa simplicité, sa lisibilisée, sa propreté, sa flexibilité et sa
compatibilité avec de nombreuses plateformes. Avec ses nombreuses bibliothèques, il est
possible d’effectuer une large variété de tâches ;

Modélisation des données : pour la modélisation des données, nous nous fondrons sur
deux grandes technologies de l’intelligence artificielle à savoir le Natural Languange

2
A cette étape du projet, nous créerons un module qui hébergera le dictionnaire des données.
Proceessing (traitement du langage naturel) et le Deep Learling (apprentissage profond)
avec les réseaux des neurones.

3.2. Implémentation de R-Agri

Pour l’implémentation de R-Agri, il faut souligner que nous avons utilisé une stratégie
jalonnée par trois (03) grandes phases. Cette stratégie s’articule autour des phases ci-
dessous :

La définition d’un Dataset : elle a consisté en l’élaboration d’un programme


informatique destinée à restructurer les données de l’annuaire agricole (format tabulaire)
dans un format JSON respectant la structure définie dans rubrique consacrée à la
modélisation de R-Agri.

La création d’un environnement virtuel : elle a consisté en la création d’un espace de


travail isolé pour l’application R-Agri avec le langage de programmation python. Il faut
noter que ce choix revêt les avantages ci-dessous :
 L’embarcation des seuls modules utiles pour l’application R-Agri ;
 L’exportation de l’environnement de l’application R-Agri pour des besoins de
mise en production future ;
 L’exécution de l’application R-Agri dans cet environnement exporté.

La programmation du R-Agri : dans cette tâche, nous avons articulé nos travaux sous
quatre (04) axes :

 Import des bibliothèques utiles au projet : cette étape a consisté à l’intégration


des bibliothèques indispensables à la mise en la mise en place de R-Agri ;
 La séparation des données : elle a consisté en l’application d’un concept de NLP
aux données en occurrence la lemmatizaton (structuration des données par
catégorie et mots) ;
 Le traitement des données : elle a consisté en la préparation des données pour
l’algorithme des réseaux de neurones compte tenu du fait que ceux-ci n’attendent
que des données numériques alors que l’interaction est purement textuelle ;
 La construction des réseaux de neurones : elle a consisté en la définition de la
structure du réseau neuronal pour l’apprentissage sur les données. Pour la
résolution de ce problème, nous nous sommes fondés sur un modèle séquentiel
avec cinq (05) couches dont une (01) couche d’entrée, une (01) couche de sortie et
trois (03) couches cachées. Pour les fonctions d’activation des perceptrons « relu »
et « softmax » ont été utilisé
 La définition des fonctions utilitaires de R-Agri : afin d’accroitre la lisibilité du
code de R-Agri, cette étape a consisté à définir une fonction de nettoyage du texte
entré par un utilisateur lors de l’interaction, une fonction de préparation des mots
du texte de l’utilisation en sac de mot pour l’algorithme de Deep Learning, une
fonction de récupération des réponses de R-Agri et une fonction d’exécution de R-
Agri.

Une fois R-Agri lancé, l’interaction ne peux être arrêté qu’à l’aide de la combinaison Ctrl
+ C.
Conclusion

« R-Agri » dans son ambition d’aider les potentiels utilisateurs des données du secteur
agricole à optimiser leurs temps de recherche, nous a permis de bien consolider les
concepts inerrants aux traitements du langage naturel (NLP). Nous notons également
l’ouverture sur des problématiques réelles pouvant fortement contribuer au développement
socioéconomique et l’expérience sur l’avantage du travail collaboratif sur des projets
innovants.
Pour un meilleur dialogue avec ses futurs utilisateurs, « R-Agri » pourra prendre en
compte dans ses futures versions, les données de superficies des différentes spéculations
(mil, sorgho, coton, sésame, …), les données de productions et de rendement.
Annexes
Annexes A : Répartition des activités du projet

Activités Responsable
Introduction Issaka ANABEBOU T.
Présentation de la problématique Moumini KABORE
Approche méthodologique K. Abdoul Kader SOURABIE
Choix et Présentation du Chatbot Issaka ANABEBOU T.
Analyse des besoins Moumini KABORE
Présentation de la base de données Kikin Abdoul Kader SOURABIE
Représentation du système de R-Agri Moumini KABORE
Modélisation et Implémentation du Chabot Tous les membres
Conclusion Issaka ANABEBOU T.
Annexes Tous les membres
Production du Power Point K Abdoul Kader SOURABIE
Annexes B : Captures d’écran d’exécution du Chatbot

Vous aimerez peut-être aussi