0% ont trouvé ce document utile (0 vote)
5 vues6 pages

Projet Chatbot : Analyse de Textes en Python

Le projet 'My First Chatbot' a été réalisé par David Nahon et Rafael Fellbom dans le cadre de leur première année à l'EFREI, visant à développer un chatbot capable d'analyser des textes et de répondre à des questions basées sur des mots clés. Le projet comprend trois parties : la mise en place de fonctions de base, l'extension du code et des fonctionnalités bonus, avec un accent sur l'apprentissage en groupe et la gestion du temps. Bien que des défis aient été rencontrés, les participants ont acquis des compétences en Python et en travail collaboratif, tout en prenant conscience de l'importance de la gestion du temps.

Transféré par

Boulito
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues6 pages

Projet Chatbot : Analyse de Textes en Python

Le projet 'My First Chatbot' a été réalisé par David Nahon et Rafael Fellbom dans le cadre de leur première année à l'EFREI, visant à développer un chatbot capable d'analyser des textes et de répondre à des questions basées sur des mots clés. Le projet comprend trois parties : la mise en place de fonctions de base, l'extension du code et des fonctionnalités bonus, avec un accent sur l'apprentissage en groupe et la gestion du temps. Bien que des défis aient été rencontrés, les participants ont acquis des compétences en Python et en travail collaboratif, tout en prenant conscience de l'importance de la gestion du temps.

Transféré par

Boulito
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

My First Chatbot

Projet de S1 2023-2024

David Nahon EFREI 2023-2024


Rafael Fellbom groupe PLUS
Introduction :

Ce projet, appelé “My first chatbot”, était le premier projet de L1, il


s’agissait de mettre à profit les connaissances acquises en cours et TP de
python afin réaliser le mieux possible les taches demandées. Le projet est
séparé en 3 parties distinctes ; la première permet de mettre en place des
fonctions de bases, la deuxième à coder l’étendu du code demandé dans le
projet et la troisième propose un large panel de fonctions et ajout à faire en
bonus. L’ensemble de ces parties permettent de mettre en place un
programme qui lorsque l’on va lui soumettre des fichier texte, va les analyser
mot par mot afin de pouvoir trouver facilement les mots clés. Après cette
analyse, il sera possible de poser des questions et en trouvant les termes clés
dans la question, associé un texte en réponse afin que l’utilisateur puisse
trouver une réponse adaptée. Ce projet contient donc beaucoup de challenge,
il s’agit non seulement de comprendre l’intérêt de chaque fonction afin de
pouvoir optimiser la façon dont elles fonctionnent mais aussi de mettre en
pratique les différentes notions du cours. Le projet est aussi un moyen,
d’apprendre à travailler en groupe puisqu’il s’agissait d’un travail à faire en
groupe de 2, et avec un délai de 3 mois.
Fonctionnalités techniques :

Nous avons donc pu mettre en point plusieurs fonctionnalités dans notre projet, celles-ci
sont fonctionnelles :

- L'ensemble des fonctions dites de bases (extraction des noms – association d’un prénom à
chaque président - conversion en minuscule de l’intégralité des textes puis dépôt de ceux-ci
dans une zone précise)
- Les 2 fonctions TF et IDF permettants une fois assemblée via la fonction TFIDF de terminer la
partie 1
- Une interface permettant de faire fonctionner et s’arreter le code correctement.
- 3 fonctions en lien, consistant en la possibilité pour l’utilisateur de marquer une question,
puis le traitement de celles-ci afin d’en sortir les mots clées et la troisième fonction servant a
relier celles-ci pour être facilement raccordées au menu

Présentation technique :

Notre programme fonctionne autour d’un menu, celui-ci s’affiche dès le lancement et
propose à l’utilisateur plusieurs choix, 6 en tout. Depuis ce menu l’utilisateur peut donc choisir une
action qu’il souhaite faire, celle-ci sera effectuée puis l’utilisateur aura à nouveau le choix de faire
autre chose.
Menu pour l’utilisateur

Parmi les actions que l’utilisateur peut faire, on retrouve la possibilité tout d’abord d’afficher
les mots non-important de chaque test. Pour rendre cela possible, plusieurs actions sont faites
auparavant, notamment le traitement des différents textes. Grace a plusieurs fonctions ceux-ci vont
se voir retirés leur ponctuation ainsi que modifié afin que toutes les lettres soient en minuscules. Les
textes traités sont alors déposés dans un dossier diffèrent nommés “cleaned”.

Liste des mots les moins importants

Après cela, les texte vont être tous parcourus et séparés en mots, chacun de ces mots ayant
une place dans un dictionnaire et son nombre d’occurrences, il s’agit de TF. Enfin via une formule
appliquée à chacun d’eux par une fonction (IDF), les mots sont classés et s’ils ont un score
suffisamment élevé dans la matrice TF-IDF ; l’utilité étant de définir grâce au nombre d’apparition de
certains mots et le nombre de textes dans lesquels on les trouve leur importance.

Une fois toutes ses étapes effectuées il est donc possible de donner les mots les plus
importants (selon leur score idf) a l’utilisateur, ou bien lui dire le mot le plus prononcé dans le
discours de Jacque Chirac.

Mot ayant le plus gros score idf


Résultat du mot le plus dit par Jacque Chirac

Enfin il est possible pour l’utilisateur de poser une question, celle-ci sera analysée via
fonctions permettant de changer la phrase en une liste de mots puis de trier ses mots en ne
gardant que ceux présent dans les discours des présidents. Nous n’avons pas pu aller plus
loin mais cela aurait permis de pouvoir en vérifiant lequel de ces mots avait le score idf le
plus élevé, proposer une réponse adaptée à l’utilisateur.

Durant l’écriture du code nous avons croisés plusieurs obstacles, les principaux furent
finalement résolus en posant les problèmes et en mettant à profit nos cours d’algorithmique.
Notre plus grand problème fut le temps et sa gestion, nous empêchant d’ailleurs de finir le
projet dont nous commencions à voir le but final approché.

Enfin malheureusement une contrainte technique de taille s’est imposée car le git de l’un de
nous ne fonctionnant plus et amenant à chaque tentative sont lots de bug, il a été un peu
plus compliqué de se coordonner même si nous avons réussi à le faire
Bilan :

Si nous sommes déçus de ne pas avoir pu venir à bout de ce projet, nous


repartons tout de même heureux d’avoir pu surmonter ce “challenge”,
qui nous a demandé d’approfondir nos connaissances en python et de
toucher un sujet très intéressant. Nous avons aussi acquis de meilleurs
reflexes pour travailler en groupe, en communication surtout et pris
conscience que la gestion du temps est essentielle. Nous espérons
pouvoir tirer de bons réflexes de ces enseignements afin de pouvoir
nous améliorer pour le projet du 2eme semestre et ferons de notre
mieux pour que ce soit le cas.

Vous aimerez peut-être aussi