Fiche de suivi - Recommandation intelligente de films

From air
Jump to navigation Jump to search

Voici la Fiche de suivi du projet de fin d'études DeepMovies 2016-2017

Page d'accueil du projet

Équipe

  • Rachex Coralie (Chef de projet - Scrum Master)
  • Niogret Edwin (Responsable innovation)
  • Hattinguais Julian (Responsable qualité)
  • Navarro Elsa (Responsable communication, Médiatrice)
  • Dunand Quentin (Responsable des deadlines,Responsable du front-end)

Avancée du projet

Sprint 0

Sprint dédié aux travaux préparatoires du projet

  • Debriefing autour du projet
  • Renseignements sur les technologies et principaux défis techniques
  • Maquette de tests sur la faisabilité du projet (recherche de solutions pour les principaux problèmes techniques afin de guider nos choix technologiques et choix de fonctionnalités)
  • Choix technologiques
  • Préparation des environnements
  • Établissement de la liste des exigences fonctionnelles et non fonctionnelles


Sprint0-Semaine1.jpg

Semaine 1 : 23/01 - 29/01

  • Mise en place du wiki (Edwin)
  • Recherche sur les technologies et les problèmes techniques (Tous)
  • Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)
  • Mise en place d'un agenda pour le suivi du projet (Coralie)
  • Comment lier l'API au front-end ? AngularJS ou Polymer ? ... (Quentin)
  • Mise en place de l'architecture (Tous) avant de faire un prototype comme prévu.
  • Installation, compréhension et manipulation de Keras (Tous)
  • Recherche mise en place API-REST Python pour le back-end (Julian)
  • Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)
  • Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)
  • Mise en place d'un prototype capable de récolter grâce à l'API de TMDB les informations de films ciblés. Puis construction d'un modèle de Deep Learning capable de prédire si une personne va aimer un film ou non en fonction de sa note. (Edwin, Coralie)
  • Recherche de la transformation de texte en valeurs numériques (String to Float) et plus généralement du prétraitement des données (Elsa, Coralie, Quentin) : découvertes de Word2Vec et de GloVe.


  • Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)
  • Premiers scripts Python pour le prétraitement des données : import depuis un script JSON (Julian) et transformation sous forme de vecteur moyen pour un film donné (Elsa), recherche d'une méthode plus approfondie pour traiter le Résumé (Coralie).
  • Réflexion sur les choix des différents layers de traitement des données et sur l'étape d'embedding des données (premier traitement) (Edwin).
  • Mise en place d'un système de notation fonctionnel qui permet d'enregistrer les données à partir du front (Quentin).

Sprint 1

Le scrumboard utilisé pour le projet est visible dans l'onglet Projet de l'organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l'équipe et testée par un autre membre de l'équipe.

Sprint1-Scrumboard.png

Tâches du Sprint1

  • Etablissement des différentes vues
  • Mise en place de tout le processus de pré-traitement des données et du premier layer (Embedding)
  • Création du classifieur et de la structure de test
  • Récolter des données pour pouvoir tester le classifieur
  • Commencer l'entrainement et l'ajustement du classifieur une fois la structure mise en place

Semaine 2 : 30/01 - 05/02

Lundi

  • Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint
  • Etablissement d'une liste de fonctionnalités, avec une estimation de l'importance et du temps de réalisation de chaque tâche
  • Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard


  • Installation d'une version GPU pour Keras et Tensor-Flow sur les machines équipées d'un GPU intéressant (Elsa)
  • Vue consultation des films annotés (Quentin)
  • Poursuite de la mise en place de l'embedding (Edwin)
  • Mise en place d'une librairie pour le traitement des données envoyées aux classifieur (Julian)
  • Poursuite de la recherche de l'utilisation Word2Vec pour le pre-processing du Résumé de film (Coralie)
  • Etablissement des vues du site (Quentin, Elsa)


  • Réunion avec Didier Donsez :
    • storm, spark flint (temps réel) pour Twitter
    • préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker
    • utiliser Github pour héberger le site web

Mardi

  • Import des modules (Julian)
  • Travail sur l'arborescence de git (Julian, Coralie, Elsa, Edwin)
  • Premier classifieur simple (Edwin)

Mercredi

  • Recherche d'un moyen de distribuer le classifieur Keras - Elephas(Coralie)
  • Chargement d'images (Quentin)
  • Preprocessing des genres (Julian)
  • Preprocessing des autres données (texte et numériques) (Edwin)
  • Lien classifieur simple - extraction des données JSON et API - preprocessing en cours (Elsa)

Jeudi

  • Cours de MPI - travail sur la communication au sein d'un groupe
  • Recherche d'un moyen de distribuer le classifieur Keras - Elephas (Coralie)
  • Pagination et chargement d'images (Quentin)
  • Lien classifieur simple - preprocessing terminé (Elsa, aide d'Edwin)
  • Installation version GPU sur PC (Julian)
  • Validation croisée pour pouvoir tester le classifieur correctement (Edwin & Elsa)

Vendredi

  • Début de la mise à jour de classifieur pour obtenir de bons résultats (Elsa & Edwin)
  • Mise en place d'un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)
  • Insertion de Doc2Vec dans le classifieur (Julian) pour le test
  • Auto-formation sur Docker (Coralie, Edwin, aide de Quentin)
  • Déploiement sur github.io (Quentin)
  • Annotation de films pour constituer la base d'apprentissage/test (Tous)

Semaine 3 : 06/02 - 12/02

Lundi

Mardi

Mercredi

Jeudi

Vendredi

Sprint 2

Semaine 4 : 13/02 - 19/02

Lundi

Mardi

Mercredi

Jeudi

Vendredi

Semaine 5 : 20/02 - 26/02

Lundi

Mardi

Mercredi

Jeudi

Vendredi

Sprint 3

Semaine 6 : 27/02 - 05/03

Lundi

Mardi

Mercredi

Jeudi

Vendredi

Semaine 7 : 06/03 - 12/03

Lundi

Mardi

Mercredi

Jeudi

Vendredi