Application Web - Recherches & Recommandations intelligentes

Projet Universitaire | Septembre 2023 - Janvier 2024

• Python • Flask • Html/Css/Js • NLP • TF-IDF • BERT/Laser • BD Vectorielle • MongoDB

Contexte :

Dans le cadre d'un projet universitaire mené entre septembre 2023 et janvier 2024, nous avons développé une application web de streaming dotée de fonctionnalités de recherche et de recommandations intelligentes. Notre objectif principal était de fournir une plateforme permettant aux utilisateurs de découvrir des séries télévisées en fonction de leurs préférences, en exploitant les données extraites des sous-titres de 128 séries différentes. Pour ce faire, nous avons utilisé des technologies telles que Python, Flask, HTML/CSS/JS, ainsi que des techniques avancées de traitement du langage naturel (NLP) comme TF-IDF et BERT, et avons adopté une base de données vectorielle MongoDB.

Travail réalisé :

Nous avons commencé par nettoyer les données extraites des sous-titres afin de ne conserver que les éléments pertinents pour nos objectifs, en utilisant des scripts dédiés. Ensuite, nous avons procédé à l'indexation de ces données dans une base de données MongoDB, en utilisant une base de données vectorielle FAISS pour stocker et traiter les vecteurs associés aux mots clés. Après avoir exploré diverses solutions, nous avons choisi FAISS pour sa légèreté et sa capacité à répondre à nos besoins tout en conservant des performances acceptables. Pour optimiser notre modèle de données, nous avons établi un lien entre les vecteurs FAISS et les documents MongoDB en utilisant l'identifiant FAISS de chaque vecteur. Ainsi, notre base de données MongoDB est composée de trois collections principales : Users, Scores_mots et Series, avec des fichiers FAISS (.index) associés (faiss_mots.index et faiss_series.index). Nous avons également indexé les champs appropriés pour optimiser les performances de recherche. Concernant les fonctionnalités de l'application, nous avons mis en place une fonction de recherche de séries qui permet aux utilisateurs d'effectuer des recherches en utilisant des mots-clés, tout en garantissant la pertinence des résultats grâce à des algorithmes de traitement du langage. De plus, nous avons développé une fonction de recommandation de séries basée sur l'analyse des préférences de l'utilisateur. Les visiteurs peuvent également s'inscrire et se connecter pour bénéficier pleinement des fonctionnalités de l'application. Enfin, pour l'administrateur de l'application, nous avons créé un dashboard administrateur permettant de gérer les séries, les utilisateurs et de consulter les données stockées dans la base de données.

Objectifs spécifiques :

  • Nettoyer et indexer les données extraites des sous-titres dans une base de données MongoDB, en utilisant une base de données vectorielle FAISS pour stocker les vecteurs associés aux mots clés.
  • Développer des fonctionnalités de recherche et de recommandation de séries intelligentes, en utilisant des algorithmes avancés de traitement du langage naturel pour garantir la pertinence des résultats.
  • Concevoir une interface utilisateur conviviale et intuitive, permettant aux utilisateurs de naviguer facilement à travers les fonctionnalités de l'application.
  • Mettre en place un dashboard administrateur pour gérer les séries, les utilisateurs et consulter les données stockées dans la base de données.

Bilan :

Le développement de cette application web de streaming, réalisé entre septembre 2023 et janvier 2024, a été très enrichissant. J'ai pu améliorer ma maîtrise des technologies telles que Python, Flask, HTML/CSS/JS, ainsi que découvrir des techniques de traitement du langage naturel comme TF-IDF, le plongement lexical, le fine tuning de LLMs (BERT/Laser) et BDD Vectorielle(FAISS). J'ai réussi à nettoyer et indexer les données de manière efficace, utilisant FAISS et MongoDB pour garantir des performances élevées. Les fonctionnalités de recherche et de recommandations intelligentes ont été bien accueillies, offrant une expérience utilisateur pertinente et engageante. L'interface conviviale a facilité la navigation, et le dashboard administrateur a simplifié la gestion des séries et des utilisateurs. En conclusion, ce projet a renforcé mes compétences techniques et le produit final livré répond efficacement aux besoins des utilisateurs, et je suis fier des résultats que j'ai pu obtenir sur un tel projet en solo.

IUT INFORMATIQUE
DiffTv
DiffTv
DiffTv
DiffTv
DiffTv

Currently Offline... Please contact me