<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://air.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Edwin.Niogret</id>
	<title>air - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://air.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Edwin.Niogret"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php/Special:Contributions/Edwin.Niogret"/>
	<updated>2026-05-30T14:00:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=34589</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=34589"/>
		<updated>2017-03-14T13:41:45Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Semaine 7 : 06/03 - 12/03 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
Le scrumboard utilisé pour le projet est visible dans l&#039;onglet Projet de l&#039;organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l&#039;équipe et testée par un autre membre de l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
&lt;br /&gt;
===Sprint dédié aux travaux préparatoires du projet===&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* 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) &lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Établissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint0-Semaine1.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* 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 [http://nlp.stanford.edu/projects/glove/ GloVe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)&lt;br /&gt;
* 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&#039;une méthode plus approfondie pour traiter le Résumé (Coralie).&lt;br /&gt;
* Réflexion sur les choix des différents layers de traitement des données et sur l&#039;étape d&#039;embedding des données (premier traitement) (Edwin).&lt;br /&gt;
* Mise en place d&#039;un système de notation fonctionnel qui permet d&#039;enregistrer les données à partir du front (Quentin).&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
* T1. Établissement des vues principales côté client (recherche et annotation de films)&lt;br /&gt;
* T2. Mise en place du processus de pré-traitement des données (titre, mots clés, résumé, note, artiste, producteur)&lt;br /&gt;
* T3. Mise en place du réseau neuronal (réseau neuronal simple)&lt;br /&gt;
* T4. Mise en place de la structure de test du réseau neuronal (former les corpus de données, cross validation, test de précision)&lt;br /&gt;
* T5. Mise en place de l&#039;environnement système (Docker)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine2.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Préparation du premier sprint :&lt;br /&gt;
** Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint&lt;br /&gt;
** Établissement d&#039;une liste de fonctionnalités, avec une estimation de l&#039;importance et du temps de réalisation de chaque tâche&lt;br /&gt;
** Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard&lt;br /&gt;
* Mise au point sur l&#039;arborescence du git / architecture du projet&lt;br /&gt;
* Installation d&#039;une version GPU pour Keras et Tensor-Flow sur les machines équipées d&#039;un bon GPU&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Réunion avec Didier Donsez : &lt;br /&gt;
** Technologies : storm, spark, flint (temps réel) pour Twitter&lt;br /&gt;
** Distribution : préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker&lt;br /&gt;
** Utiliser Github pour héberger le site web&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Vues &amp;quot;recherche de films&amp;quot;, &amp;quot;annotation de film&amp;quot; et &amp;quot;consultation des films annotés&amp;quot; (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** prétraitement des mots via Glove (Elsa, Edwin, Julian)&lt;br /&gt;
** récupération des données (Julian)&lt;br /&gt;
** mise en place de l&#039;embedding (Edwin)&lt;br /&gt;
** mise en place d&#039;une librairie pour le pré-traitement des données envoyées aux classifieur (Julian)&lt;br /&gt;
** Import des modules (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Chargement des images de films côté client (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot;  + Ajout &amp;quot;genre&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** extraction des données JSON via l&#039;API (Elsa)&lt;br /&gt;
** prétraitement des genres (Julian)&lt;br /&gt;
** prétraitement général (mise en forme de la matrice de données) (Edwin)&lt;br /&gt;
** revue de code (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur sous Keras - Elephas ? (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - travail sur la communication au sein d&#039;un groupe&lt;br /&gt;
* T1. -&amp;gt; Pagination et chargement d&#039;images (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Création d&#039;une première version du classifieur (Elsa, Edwin)&lt;br /&gt;
* T4. -&amp;gt; Validation croisée pour pouvoir tester le classifieur correctement (Edwin &amp;amp; Elsa)&lt;br /&gt;
* T5. -&amp;gt; Installation version GPU sur PC (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur Keras - Elephas (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Déploiement sur github.io (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Insertion de Doc2Vec dans le classifieur (Julian)&lt;br /&gt;
* T3. -&amp;gt; Revue du classifieur pour obtenir une meilleure précision (Elsa &amp;amp; Edwin)&lt;br /&gt;
* T4. -&amp;gt; Mise en place d&#039;un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Annotation de films pour constituer la base d&#039;apprentissage/test (Tous)&lt;br /&gt;
* T5. -&amp;gt; Auto-formation sur Docker (Coralie, Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine3.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - gestion de projet&lt;br /&gt;
* T1. -&amp;gt; Ajout d&#039;un boite de dialogue permettant de visualiser les infos d&#039;un film (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Fix de bugs dans preprocessing (Julian)&lt;br /&gt;
* T4. -&amp;gt; Recherche sur la mise en place de tests avec Python (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Python, Keras et Tensorflow en partant d&#039;un Ubuntu 14 (Edwin)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Spark en partant d&#039;un Ubuntu 14 (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Mr. Amini&lt;br /&gt;
* T1. -&amp;gt; Amélioration de la boîte de dialogue pour les infos (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Preprocessing des acteurs et des realisateurs et ajout des fonction de test associées (Julian)&lt;br /&gt;
* T2. -&amp;gt; Test le modèle D2V sur un analyseur de sentiment de tweets, beaucoup plus objectif que les gouts utilisateurs vis à vis des films (Coralie).&lt;br /&gt;
* T2. -&amp;gt; Mise en place de modules de test unitaires dans MovieProject/tests/unit et suppression de fichiers inutiles dans MovieProject/tests (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Ajout de nouveaux fichiers de tests (json) et évaluation du classifieur de façon générique sur les fichiers json dans MovieProject/resources/evaluation (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Evaluation du classifieur avec la méthode Doc2Vec (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Finalisation de l&#039;image Docker avec Python, Keras et Tensorflow (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Début de la mise en place des différents modèles d&#039;apprentissage en vue de leur comparaison : &lt;br /&gt;
** Réseau neuronal avec Keras (Elsa)&lt;br /&gt;
** Perceptron (Coralie)&lt;br /&gt;
** Modification du prétraitement afin de pouvoir récupérer les matrices de chacune des variables caractérisant un film (Julian)&lt;br /&gt;
* T5. -&amp;gt; Ajout de Spark à l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Poursuite de la création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Poursuite des tests de performance :&lt;br /&gt;
** Test de l&#039;influence de chaque variable des films sur le modèle du perceptron, afin de ne sélectionner que les variables pertinentes (Coralie)&lt;br /&gt;
** Test du réseau neuronal (Elsa)&lt;br /&gt;
** Mise en place d&#039;un SVM pour concurrencer les performances des deux autres modèles (Julian)&lt;br /&gt;
* T5. -&amp;gt; Test de l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Visualisation des statistiques + explications sur la page d&#039;accueil (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Finalisation perceptron + intégration dans evaluation (Coralie)&lt;br /&gt;
* T4. -&amp;gt; Finalisation SVM + intégration dans evaluation (Julian)&lt;br /&gt;
* T4. -&amp;gt; Mise en place du module evaluation et intégration des modifications de classifieur &amp;amp; preprocessing (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Documentation sur Spark (Edwin &amp;amp; Coralie)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint1===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint2===&lt;br /&gt;
&lt;br /&gt;
*T1.2. Amélioration du front-end (mise en cache, etc.)&lt;br /&gt;
*T2.2. Ajout de descripteurs (durée, budget, année de production, compagnie de production, appartenance à une sage) en vue d&#039;améliorer notre modèle d&#039;apprentissage.&lt;br /&gt;
*T3.2 Amélioration du réseau neuronal (comparaison avec Perceptron simple, SVM, RN Convolutif)&lt;br /&gt;
*T4. Mise en place de la suggestion de films (vue côté front-end et logique côté back-end)&lt;br /&gt;
*T5. Distribution de l&#039;apprentissage sur plusieurs machines (Docker - Spark - Mesos - Elephas) &amp;amp; Parallélisation requêtes&lt;br /&gt;
*T6 Communication front/back, établissement des routes et mise en place du système d&#039;authentification&lt;br /&gt;
*T7. Analyse de sentiment sur les flux Twitter&lt;br /&gt;
*T8. Mise en place de la base de données&lt;br /&gt;
&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint2-Semaine4.png|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Réunion de fin de sprint1 et de début de sprint0 : discussion autour des avancées, difficultés, retards &amp;amp; établissement fonctionnalités à implémenter au cours du sprint2&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Revue de la structure du code (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T3.2 -&amp;gt; Amélioration du classifieur (Elsa/Quentin)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
*T5. -&amp;gt; Parallélisation des requêtes à l&#039;API TMDB (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation du cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation des statistiques cinématographique utilisateurs (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Ajout du descripteurs &amp;quot;budget&amp;quot; avec normalisation (Edwin)&lt;br /&gt;
*T3.2 -&amp;gt; Mise en place de la fonction de comparaison des combinaisons de descripteurs de films pour faciliter le travail des DUT (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal LSTM (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Changement de la méthode de prédiction de film (Elsa)&lt;br /&gt;
*T6. -&amp;gt; Communication front-back test (Elsa/Quentin)&lt;br /&gt;
* SRS (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec les DUT : aide sur l&#039;installation du projet, clone du projet Github. &lt;br /&gt;
* Préparation de la présentation (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Préparation démo (Quentin &amp;amp; Elsa)&lt;br /&gt;
* Mise à jour Wiki, SRS, Scrumboard (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Aide des DUT  (Edwin &amp;amp; Julian)&lt;br /&gt;
* T3.2 -&amp;gt; Evaluation du modèle et comparaison avec SVM et Perceptron de manière graphique (extraire les données et construire des graphes - csv ou matplotlib) (Sébastien &amp;amp; Marceau)&lt;br /&gt;
* T7. -&amp;gt; Prétraitement des Tweet(Coralie)&lt;br /&gt;
* T5. -&amp;gt; Avancement sur le distribué (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Page de login du front, fix problème de CSS sur les graphes (Quentin)&lt;br /&gt;
* T3.2 -&amp;gt; Amélioration du classifieur, tests en changeant les layers, le batch-size, etc. (Quentin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Préparation du travail qu&#039;Edwin pourra réaliser durant la semaine de vacances (Edwin travaillera en décalé avec le reste du groupe)&lt;br /&gt;
* Début de la mise en place de la base de données (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 (Edwin) ===&lt;br /&gt;
(Edwin a travaillé la semaine précédente, en décalé avec le reste du groupe)&lt;br /&gt;
====Lundi====&lt;br /&gt;
*T8. -&amp;gt; Installation des outils liés à la gestion de la base de données MySQL et début de la conception de l&#039;API de communication avec cette base. (Edwin)&lt;br /&gt;
====Mardi====&lt;br /&gt;
*T8. -&amp;gt; Finalisation de l&#039;API, début des tests et des corrections de bug. (Edwin)&lt;br /&gt;
====Mercredi====&lt;br /&gt;
*T8. -&amp;gt; Ajout de nouvelles fonctionnalités SQL à l&#039;API et tests de l&#039;API. Création d&#039;un readme et d&#039;un fichier d&#039;exemple complet pour l&#039;utilisation de l&#039;API de MySQL. (Edwin)&lt;br /&gt;
*T8. -&amp;gt; Amélioration de l&#039;image Docker, correction de bugs de paths et de librairies manquantes. (Edwin)&lt;br /&gt;
====Jeudi====&lt;br /&gt;
*T8. -&amp;gt; Review générale du travail lié à la base de données. (Edwin)&lt;br /&gt;
*T8. -&amp;gt; Mise en place de MySQL pour Docker. (Edwin)&lt;br /&gt;
*Mise à jour du Scrumboard et du wiki-air. (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
*T8. -&amp;gt; Amélioration du Docker pour tenter de régler des problèmes de ports liés à MySQL (non terminé). (Edwin) &lt;br /&gt;
*T8. -&amp;gt; Tests unitaires de fonctionnement de serveurs apaches. (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 27/02 - 28/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint2-Semaine5.png|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* T1.2 -&amp;gt; Mise en place de la page de recommendations (Quentin)&lt;br /&gt;
* Merge du classifieur sur la branche develop, avec la prédiction (Elsa)&lt;br /&gt;
* T8. -&amp;gt; Revue de la BD et sécurisation (Julian) puis merge sur develop&lt;br /&gt;
* T7. -&amp;gt; Finalisation de l&#039;analyse de sentiments (Coralie) pour merge sur develop&lt;br /&gt;
* T3.2 -&amp;gt; Recherche sur une construction différente des matrices (basée sur la factorisation de matrices, cf Prix Netflix) (Quentin &amp;amp; Elsa)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
* Harmonisation des données merge sur le git (Sentiment analysis, evaluation du classifieur et prediction) (Elsa)&lt;br /&gt;
* T6. -&amp;gt; Recherche et premiers tests pour l&#039;authentification (Quentin pour le front et Julian pour le back)&lt;br /&gt;
* T8. &amp;amp; T5. -&amp;gt; Creation d&#039;une instance de BD Amazon RDS dans un VPC (Coralie)&lt;br /&gt;
* T1.2 -&amp;gt; Finalisation page de recommendations (Quentin)&lt;br /&gt;
* Insertion en BD des films annotés par les users (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
* Réunion avec Massih-Reza Amini pour parler d&#039;un nouveau modèle de machine learning (Cf Quentin &amp;amp; Elsa lundi)&lt;br /&gt;
* T4. -&amp;gt; Amélioration de la prédiction (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Essais déploiement du back sur une instance Amazon EC2 (Coralie)&lt;br /&gt;
* T6. -&amp;gt; Mise en place de l&#039;authentification simple (login) (Quentin &amp;amp; Julian)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
* T4. -&amp;gt; Amélioration de la prédiction et module de test pour la prédiction (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Essais déploiement du back sur une instance Amazon  EC2 (Coralie)&lt;br /&gt;
* T1.2 -&amp;gt; Création des vues d&#039;inscription (sign up) et début vue des paramètres (Quentin)&lt;br /&gt;
* T6. -&amp;gt; Sécurisation des appels à l&#039;API par Token (Julian)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Nettoyage de develop + mise en place de nouveaux tests et état des lieux des tests et de la doc à faire (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Essais déploiement du back sur une instance Amazon EC2 (Coralie)&lt;br /&gt;
* T6. -&amp;gt; Finalisation de l&#039;inscription et test des premiers appels de récupération des films annotés d&#039;un user (Quentin &amp;amp; Julian)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint2===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint2-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint3===&lt;br /&gt;
&lt;br /&gt;
*T1.1 Lier le back et le front, mettre en place les routes (suggestion, annotation)  - Authentification faite&lt;br /&gt;
*T1.2 Revoir et enrichir les vues du front&lt;br /&gt;
*T2. Déployer l&#039;API sur un serveur Amazon (SQL dans Docker, environnement d&#039;exécution avec Docker)&lt;br /&gt;
*T3. Enrichir l&#039;ensemble de tests et la documentation&lt;br /&gt;
*T4. Mettre en place le nouveau modèle pour avoir une autre base de comparaison&lt;br /&gt;
&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint3-Semaine6.png|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
* Conclusion sur le sprint précédent&lt;br /&gt;
* Discussion au sujet du nouveau Sprint&lt;br /&gt;
* T2. -&amp;gt; Problème de mise en place de Docker sur les machines Amazon : discussion de l&#039;équipe pour essayer de trouver une solution (Swap)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
* T1.1 -&amp;gt; Ajout des routes pour gérer les ajouts/suppressions en base de données (Julian)&lt;br /&gt;
* T1.1 -&amp;gt; Ajout de la logique côté front pour gérer les ajouts/suppressions en base de données (Quentin)&lt;br /&gt;
* T1.1 -&amp;gt; Tests de la communication front - back(api) - base de données (Coralie, Julian, Quentin)&lt;br /&gt;
* T2 -&amp;gt; Finalisation du déploiement de l&#039;API sur un serveur Amazon + tests (Coralie)&lt;br /&gt;
* T3 -&amp;gt; Tests unitaires sur apiTMDB (Elsa) et sur sql (Edwin)&lt;br /&gt;
* T1.2 -&amp;gt; Charte graphique (Elsa)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
* T1.1 -&amp;gt; Finalisation de l&#039;authentification côté front (Quentin)&lt;br /&gt;
* T4 -&amp;gt; Mise en place du nouveau model (factorisation machine) sur un exemple simple d&#039;apprentissage (Quentin, Elsa)&lt;br /&gt;
* T3 -&amp;gt; Tests unitaires sur sql (Edwin)&lt;br /&gt;
* T3 -&amp;gt; Tests unitaires sur texts, words et tweets (Coralie)&lt;br /&gt;
* T3 -&amp;gt; Tests unitaires sur preprocessing (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Charte graphique (Elsa)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
* T1.1 -&amp;gt; Modification de l&#039;API pour sauvegarder et charger les modèles utilisateurs : maj routes entrainement + prédiction (Elsa)&lt;br /&gt;
* T1.2 -&amp;gt; Page d&#039;accueil côté front (Quentin)&lt;br /&gt;
* T3 -&amp;gt; Tests unitaires sur preprocessing (Julian)&lt;br /&gt;
* T3 -&amp;gt; Revue de code (Coralie)&lt;br /&gt;
* T4 -&amp;gt; Mise en place du prétraitement pour le nouveau modèle (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* T1.1 -&amp;gt; Revue de l&#039;apprentissage et de la prédiction de films côté back (Elsa)&lt;br /&gt;
* T1.2 -&amp;gt; Liaison du front avec l&#039;apprentissage et la prédiction côté back (Quentin)&lt;br /&gt;
* T1.2 -&amp;gt; Ajout de l&#039;analyse de sentiment twitter côté front lors de la suggestion de films (Quentin)&lt;br /&gt;
* T3 -&amp;gt; Revue de code des DUT (Julian)&lt;br /&gt;
* T3 -&amp;gt; Documentation du code et du projet git (Coralie)&lt;br /&gt;
* T4 -&amp;gt; Mise en place du prétraitement pour le nouveau modèle (Edwin)&lt;br /&gt;
* Mise à jour de la documentation (Edwin et Coralie)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint3-Semaine7.png|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
* T1.1 -&amp;gt; Mise en place de la prédiction via le nouveau modèle d&#039;apprentissage (Elsa)&lt;br /&gt;
* T1.2 -&amp;gt; Liaison du front avec l&#039;apprentissage et la prédiction côté back (Quentin)&lt;br /&gt;
* T1.2 -&amp;gt; Ajout de l&#039;analyse de sentiment twitter côté front lors de la suggestion de films (Quentin) + Mise en jours du back-end en conséquent (Coralie)&lt;br /&gt;
* T3 -&amp;gt; Revue de code + Commentaires (Julian)&lt;br /&gt;
* Mise à jour de la documentation  + Préparation soutenance + Préparation de la démonstration (Edwin et Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
* T1.1 -&amp;gt; Mise en place de la prédiction via le nouveau modèle d&#039;apprentissage (Elsa)&lt;br /&gt;
* T1.2 -&amp;gt; Liaison du front avec l&#039;apprentissage et la prédiction côté back (Quentin)&lt;br /&gt;
* T3 -&amp;gt; Test et incorporation du travail des DUT et production des graphes correspondant (Julian + Edwin)&lt;br /&gt;
* Mise à jour de la documentation  + Préparation soutenance + Préparation de la démonstration (Edwin et Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
* Soutenance de fin de projet avec Didier Donsez et Massih-Reza Amini&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_de_l%27interface_-_Recommandation_intelligente_de_films&amp;diff=34360</id>
		<title>Conception de l&#039;interface - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_de_l%27interface_-_Recommandation_intelligente_de_films&amp;diff=34360"/>
		<updated>2017-03-10T14:36:47Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La conception de l&#039;interface de notre site de film s&#039;est fait en plusieurs phases.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Développement de la maquette du produit=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Différentes vues réalisées==&lt;br /&gt;
&lt;br /&gt;
===Page d&#039;accueil===&lt;br /&gt;
===Recherche et annotation de film===&lt;br /&gt;
===Consultation des annotations===&lt;br /&gt;
===Consultation des suggestions personnalisées===&lt;br /&gt;
&lt;br /&gt;
=Retour client=&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_de_l%27interface_-_Recommandation_intelligente_de_films&amp;diff=34359</id>
		<title>Conception de l&#039;interface - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_de_l%27interface_-_Recommandation_intelligente_de_films&amp;diff=34359"/>
		<updated>2017-03-10T14:36:15Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La conception de l&#039;interface de notre site de film s&#039;est fait en plusieurs phases.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Développement de la maquette du produit=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Différentes vues réalisées==&lt;br /&gt;
&lt;br /&gt;
===Page d&#039;accueil===&lt;br /&gt;
===Recherche et annotation de film===&lt;br /&gt;
===Consultation des annotations===&lt;br /&gt;
===Consultation des suggestions personnalisées===&lt;br /&gt;
&lt;br /&gt;
=Retour client=&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_de_l%27interface_-_Recommandation_intelligente_de_films&amp;diff=34358</id>
		<title>Conception de l&#039;interface - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_de_l%27interface_-_Recommandation_intelligente_de_films&amp;diff=34358"/>
		<updated>2017-03-10T14:34:42Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Mise en commun et révision de la maquette et des modèles de tâches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La conception de l&#039;interface de notre site de film s&#039;est fait en plusieurs phases.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Développement de la maquette du produit=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Différentes vues réalisées==&lt;br /&gt;
&lt;br /&gt;
===Page d&#039;accueil===&lt;br /&gt;
===Recherche et annotation de film===&lt;br /&gt;
===Consultation des annotations===&lt;br /&gt;
===Consultation des suggestions personnalisées===&lt;br /&gt;
&lt;br /&gt;
=Retour client=&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=34355</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=34355"/>
		<updated>2017-03-10T14:30:43Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Vendredi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
Le scrumboard utilisé pour le projet est visible dans l&#039;onglet Projet de l&#039;organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l&#039;équipe et testée par un autre membre de l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
&lt;br /&gt;
===Sprint dédié aux travaux préparatoires du projet===&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* 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) &lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Établissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint0-Semaine1.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* 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 [http://nlp.stanford.edu/projects/glove/ GloVe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)&lt;br /&gt;
* 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&#039;une méthode plus approfondie pour traiter le Résumé (Coralie).&lt;br /&gt;
* Réflexion sur les choix des différents layers de traitement des données et sur l&#039;étape d&#039;embedding des données (premier traitement) (Edwin).&lt;br /&gt;
* Mise en place d&#039;un système de notation fonctionnel qui permet d&#039;enregistrer les données à partir du front (Quentin).&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
* T1. Établissement des vues principales côté client (recherche et annotation de films)&lt;br /&gt;
* T2. Mise en place du processus de pré-traitement des données (titre, mots clés, résumé, note, artiste, producteur)&lt;br /&gt;
* T3. Mise en place du réseau neuronal (réseau neuronal simple)&lt;br /&gt;
* T4. Mise en place de la structure de test du réseau neuronal (former les corpus de données, cross validation, test de précision)&lt;br /&gt;
* T5. Mise en place de l&#039;environnement système (Docker)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine2.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Préparation du premier sprint :&lt;br /&gt;
** Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint&lt;br /&gt;
** Établissement d&#039;une liste de fonctionnalités, avec une estimation de l&#039;importance et du temps de réalisation de chaque tâche&lt;br /&gt;
** Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard&lt;br /&gt;
* Mise au point sur l&#039;arborescence du git / architecture du projet&lt;br /&gt;
* Installation d&#039;une version GPU pour Keras et Tensor-Flow sur les machines équipées d&#039;un bon GPU&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Réunion avec Didier Donsez : &lt;br /&gt;
** Technologies : storm, spark, flint (temps réel) pour Twitter&lt;br /&gt;
** Distribution : préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker&lt;br /&gt;
** Utiliser Github pour héberger le site web&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Vues &amp;quot;recherche de films&amp;quot;, &amp;quot;annotation de film&amp;quot; et &amp;quot;consultation des films annotés&amp;quot; (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** prétraitement des mots via Glove (Elsa, Edwin, Julian)&lt;br /&gt;
** récupération des données (Julian)&lt;br /&gt;
** mise en place de l&#039;embedding (Edwin)&lt;br /&gt;
** mise en place d&#039;une librairie pour le pré-traitement des données envoyées aux classifieur (Julian)&lt;br /&gt;
** Import des modules (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Chargement des images de films côté client (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot;  + Ajout &amp;quot;genre&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** extraction des données JSON via l&#039;API (Elsa)&lt;br /&gt;
** prétraitement des genres (Julian)&lt;br /&gt;
** prétraitement général (mise en forme de la matrice de données) (Edwin)&lt;br /&gt;
** revue de code (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur sous Keras - Elephas ? (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - travail sur la communication au sein d&#039;un groupe&lt;br /&gt;
* T1. -&amp;gt; Pagination et chargement d&#039;images (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Création d&#039;une première version du classifieur (Elsa, Edwin)&lt;br /&gt;
* T4. -&amp;gt; Validation croisée pour pouvoir tester le classifieur correctement (Edwin &amp;amp; Elsa)&lt;br /&gt;
* T5. -&amp;gt; Installation version GPU sur PC (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur Keras - Elephas (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Déploiement sur github.io (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Insertion de Doc2Vec dans le classifieur (Julian)&lt;br /&gt;
* T3. -&amp;gt; Revue du classifieur pour obtenir une meilleure précision (Elsa &amp;amp; Edwin)&lt;br /&gt;
* T4. -&amp;gt; Mise en place d&#039;un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Annotation de films pour constituer la base d&#039;apprentissage/test (Tous)&lt;br /&gt;
* T5. -&amp;gt; Auto-formation sur Docker (Coralie, Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine3.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - gestion de projet&lt;br /&gt;
* T1. -&amp;gt; Ajout d&#039;un boite de dialogue permettant de visualiser les infos d&#039;un film (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Fix de bugs dans preprocessing (Julian)&lt;br /&gt;
* T4. -&amp;gt; Recherche sur la mise en place de tests avec Python (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Python, Keras et Tensorflow en partant d&#039;un Ubuntu 14 (Edwin)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Spark en partant d&#039;un Ubuntu 14 (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Mr. Amini&lt;br /&gt;
* T1. -&amp;gt; Amélioration de la boîte de dialogue pour les infos (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Preprocessing des acteurs et des realisateurs et ajout des fonction de test associées (Julian)&lt;br /&gt;
* T2. -&amp;gt; Test le modèle D2V sur un analyseur de sentiment de tweets, beaucoup plus objectif que les gouts utilisateurs vis à vis des films (Coralie).&lt;br /&gt;
* T2. -&amp;gt; Mise en place de modules de test unitaires dans MovieProject/tests/unit et suppression de fichiers inutiles dans MovieProject/tests (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Ajout de nouveaux fichiers de tests (json) et évaluation du classifieur de façon générique sur les fichiers json dans MovieProject/resources/evaluation (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Evaluation du classifieur avec la méthode Doc2Vec (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Finalisation de l&#039;image Docker avec Python, Keras et Tensorflow (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Début de la mise en place des différents modèles d&#039;apprentissage en vue de leur comparaison : &lt;br /&gt;
** Réseau neuronal avec Keras (Elsa)&lt;br /&gt;
** Perceptron (Coralie)&lt;br /&gt;
** Modification du prétraitement afin de pouvoir récupérer les matrices de chacune des variables caractérisant un film (Julian)&lt;br /&gt;
* T5. -&amp;gt; Ajout de Spark à l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Poursuite de la création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Poursuite des tests de performance :&lt;br /&gt;
** Test de l&#039;influence de chaque variable des films sur le modèle du perceptron, afin de ne sélectionner que les variables pertinentes (Coralie)&lt;br /&gt;
** Test du réseau neuronal (Elsa)&lt;br /&gt;
** Mise en place d&#039;un SVM pour concurrencer les performances des deux autres modèles (Julian)&lt;br /&gt;
* T5. -&amp;gt; Test de l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Visualisation des statistiques + explications sur la page d&#039;accueil (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Finalisation perceptron + intégration dans evaluation (Coralie)&lt;br /&gt;
* T4. -&amp;gt; Finalisation SVM + intégration dans evaluation (Julian)&lt;br /&gt;
* T4. -&amp;gt; Mise en place du module evaluation et intégration des modifications de classifieur &amp;amp; preprocessing (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Documentation sur Spark (Edwin &amp;amp; Coralie)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint1===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint2===&lt;br /&gt;
&lt;br /&gt;
*T1.2. Amélioration du front-end (mise en cache, etc.)&lt;br /&gt;
*T2.2. Ajout de descripteurs (durée, budget, année de production, compagnie de production, appartenance à une sage) en vue d&#039;améliorer notre modèle d&#039;apprentissage.&lt;br /&gt;
*T3.2 Amélioration du réseau neuronal (comparaison avec Perceptron simple, SVM, RN Convolutif)&lt;br /&gt;
*T4. Mise en place de la suggestion de films (vue côté front-end et logique côté back-end)&lt;br /&gt;
*T5. Distribution de l&#039;apprentissage sur plusieurs machines (Docker - Spark - Mesos - Elephas) &amp;amp; Parallélisation requêtes&lt;br /&gt;
*T6 Communication front/back, établissement des routes et mise en place du système d&#039;authentification&lt;br /&gt;
*T7. Analyse de sentiment sur les flux Twitter&lt;br /&gt;
*T8. Mise en place de la base de données&lt;br /&gt;
&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint2-Semaine4.png|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Réunion de fin de sprint1 et de début de sprint0 : discussion autour des avancées, difficultés, retards &amp;amp; établissement fonctionnalités à implémenter au cours du sprint2&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Revue de la structure du code (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T3.2 -&amp;gt; Amélioration du classifieur (Elsa/Quentin)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
*T5. -&amp;gt; Parallélisation des requêtes à l&#039;API TMDB (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation du cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation des statistiques cinématographique utilisateurs (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Ajout du descripteurs &amp;quot;budget&amp;quot; avec normalisation (Edwin)&lt;br /&gt;
*T3.2 -&amp;gt; Mise en place de la fonction de comparaison des combinaisons de descripteurs de films pour faciliter le travail des DUT (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal LSTM (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Changement de la méthode de prédiction de film (Elsa)&lt;br /&gt;
*T6. -&amp;gt; Communication front-back test (Elsa/Quentin)&lt;br /&gt;
* SRS (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec les DUT : aide sur l&#039;installation du projet, clone du projet Github. &lt;br /&gt;
* Préparation de la présentation (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Préparation démo (Quentin &amp;amp; Elsa)&lt;br /&gt;
* Mise à jour Wiki, SRS, Scrumboard (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Aide des DUT  (Edwin &amp;amp; Julian)&lt;br /&gt;
* T3.2 -&amp;gt; Evaluation du modèle et comparaison avec SVM et Perceptron de manière graphique (extraire les données et construire des graphes - csv ou matplotlib) (Sébastien &amp;amp; Marceau)&lt;br /&gt;
* T7. -&amp;gt; Prétraitement des Tweet(Coralie)&lt;br /&gt;
* T5. -&amp;gt; Avancement sur le distribué (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Page de login du front, fix problème de CSS sur les graphes (Quentin)&lt;br /&gt;
* T3.2 -&amp;gt; Amélioration du classifieur, tests en changeant les layers, le batch-size, etc. (Quentin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Préparation du travail qu&#039;Edwin pourra réaliser durant la semaine de vacances (Edwin travaillera en décalé avec le reste du groupe)&lt;br /&gt;
* Début de la mise en place de la base de données (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 (Edwin) ===&lt;br /&gt;
(Edwin a travaillé la semaine précédente, en décalé avec le reste du groupe)&lt;br /&gt;
====Lundi====&lt;br /&gt;
*T8. -&amp;gt; Installation des outils liés à la gestion de la base de données MySQL et début de la conception de l&#039;API de communication avec cette base. (Edwin)&lt;br /&gt;
====Mardi====&lt;br /&gt;
*T8. -&amp;gt; Finalisation de l&#039;API, début des tests et des corrections de bug. (Edwin)&lt;br /&gt;
====Mercredi====&lt;br /&gt;
*T8. -&amp;gt; Ajout de nouvelles fonctionnalités SQL à l&#039;API et tests de l&#039;API. Création d&#039;un readme et d&#039;un fichier d&#039;exemple complet pour l&#039;utilisation de l&#039;API de MySQL. (Edwin)&lt;br /&gt;
*T8. -&amp;gt; Amélioration de l&#039;image Docker, correction de bugs de paths et de librairies manquantes. (Edwin)&lt;br /&gt;
====Jeudi====&lt;br /&gt;
*T8. -&amp;gt; Review générale du travail lié à la base de données. (Edwin)&lt;br /&gt;
*T8. -&amp;gt; Mise en place de MySQL pour Docker. (Edwin)&lt;br /&gt;
*Mise à jour du Scrumboard et du wiki-air. (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
*T8. -&amp;gt; Amélioration du Docker pour tenter de régler des problèmes de ports liés à MySQL (non terminé). (Edwin) &lt;br /&gt;
*T8. -&amp;gt; Tests unitaires de fonctionnement de serveurs apaches. (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 27/02 - 28/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint2-Semaine5.png|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* T1.2 -&amp;gt; Mise en place de la page de recommendations (Quentin)&lt;br /&gt;
* Merge du classifieur sur la branche develop, avec la prédiction (Elsa)&lt;br /&gt;
* T8. -&amp;gt; Revue de la BD et sécurisation (Julian) puis merge sur develop&lt;br /&gt;
* T7. -&amp;gt; Finalisation de l&#039;analyse de sentiments (Coralie) pour merge sur develop&lt;br /&gt;
* T3.2 -&amp;gt; Recherche sur une construction différente des matrices (basée sur la factorisation de matrices, cf Prix Netflix) (Quentin &amp;amp; Elsa)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
* Harmonisation des données merge sur le git (Sentiment analysis, evaluation du classifieur et prediction) (Elsa)&lt;br /&gt;
* T6. -&amp;gt; Recherche et premiers tests pour l&#039;authentification (Quentin pour le front et Julian pour le back)&lt;br /&gt;
* T8. &amp;amp; T5. -&amp;gt; Creation d&#039;une instance de BD Amazon RDS dans un VPC (Coralie)&lt;br /&gt;
* T1.2 -&amp;gt; Finalisation page de recommendations (Quentin)&lt;br /&gt;
* Insertion en BD des films annotés par les users (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
* Réunion avec Massih-Reza Amini pour parler d&#039;un nouveau modèle de machine learning (Cf Quentin &amp;amp; Elsa lundi)&lt;br /&gt;
* T4. -&amp;gt; Amélioration de la prédiction (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Essais déploiement du back sur une instance Amazon EC2 (Coralie)&lt;br /&gt;
* T6. -&amp;gt; Mise en place de l&#039;authentification simple (login) (Quentin &amp;amp; Julian)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
* T4. -&amp;gt; Amélioration de la prédiction et module de test pour la prédiction (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Essais déploiement du back sur une instance Amazon  EC2 (Coralie)&lt;br /&gt;
* T1.2 -&amp;gt; Création des vues d&#039;inscription (sign up) et début vue des paramètres (Quentin)&lt;br /&gt;
* T6. -&amp;gt; Sécurisation des appels à l&#039;API par Token (Julian)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Nettoyage de develop + mise en place de nouveaux tests et état des lieux des tests et de la doc à faire (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Essais déploiement du back sur une instance Amazon EC2 (Coralie)&lt;br /&gt;
* T6. -&amp;gt; Finalisation de l&#039;inscription et test des premiers appels de récupération des films annotés d&#039;un user (Quentin &amp;amp; Julian)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint2===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint2-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint3===&lt;br /&gt;
&lt;br /&gt;
*T1.1 Lier le back et le front, mettre en place les routes (suggestion, annotation)  - Authentification faite&lt;br /&gt;
*T1.2 Revoir et enrichir les vues du front&lt;br /&gt;
*T2. Déployer l&#039;API sur un serveur Amazon (SQL dans Docker, environnement d&#039;exécution avec Docker)&lt;br /&gt;
*T3. Enrichir l&#039;ensemble de tests et la documentation&lt;br /&gt;
*T4. Mettre en place le nouveau modèle pour avoir une autre base de comparaison&lt;br /&gt;
&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint3-Semaine6.png|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
* Conclusion sur le sprint précédent&lt;br /&gt;
* Discussion au sujet du nouveau Sprint&lt;br /&gt;
* T2. -&amp;gt; Problème de mise en place de Docker sur les machines Amazon : discussion de l&#039;équipe pour essayer de trouver une solution (Swap)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
* T1.1 -&amp;gt; Ajout des routes pour gérer les ajouts/suppressions en base de données (Julian)&lt;br /&gt;
* T1.1 -&amp;gt; Ajout de la logique côté front pour gérer les ajouts/suppressions en base de données (Quentin)&lt;br /&gt;
* T1.1 -&amp;gt; Tests de la communication front - back(api) - base de données (Coralie, Julian, Quentin)&lt;br /&gt;
* T2 -&amp;gt; Finalisation du déploiement de l&#039;API sur un serveur Amazon + tests (Coralie)&lt;br /&gt;
* T3 -&amp;gt; Tests unitaires sur apiTMDB (Elsa) et sur sql (Edwin)&lt;br /&gt;
* T1.2 -&amp;gt; Charte graphique (Elsa)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
* T1.1 -&amp;gt; Finalisation de l&#039;authentification côté front (Quentin)&lt;br /&gt;
* T4 -&amp;gt; Mise en place du nouveau model (factorisation machine) sur un exemple simple d&#039;apprentissage (Quentin, Elsa)&lt;br /&gt;
* T3 -&amp;gt; Tests unitaires sur sql (Edwin)&lt;br /&gt;
* T3 -&amp;gt; Tests unitaires sur texts, words et tweets (Coralie)&lt;br /&gt;
* T3 -&amp;gt; Tests unitaires sur preprocessing (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Charte graphique (Elsa)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
* T1.1 -&amp;gt; Modification de l&#039;API pour sauvegarder et charger les modèles utilisateurs : maj routes entrainement + prédiction (Elsa)&lt;br /&gt;
* T1.2 -&amp;gt; Page d&#039;accueil côté front (Quentin)&lt;br /&gt;
* T3 -&amp;gt; Tests unitaires sur preprocessing (Julian)&lt;br /&gt;
* T3 -&amp;gt; Revue de code (Coralie)&lt;br /&gt;
* T4 -&amp;gt; Mise en place du prétraitement pour le nouveau modèle (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* T1.1 -&amp;gt; Revue de l&#039;apprentissage et de la prédiction de films côté back (Elsa)&lt;br /&gt;
* T1.2 -&amp;gt; Liaison du front avec l&#039;apprentissage et la prédiction côté back (Quentin)&lt;br /&gt;
* T1.2 -&amp;gt; Ajout de l&#039;analyse de sentiment twitter côté front lors de la suggestion de films (Quentin)&lt;br /&gt;
* T3 -&amp;gt; Revue de code des DUT (Julian)&lt;br /&gt;
* T3 -&amp;gt; Documentation du code et du projet git (Coralie)&lt;br /&gt;
* T4 -&amp;gt; Mise en place du prétraitement pour le nouveau modèle (Edwin)&lt;br /&gt;
* Mise à jour de la documentation (Edwin et Coralie)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint3-Semaine7.png|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
* Soutenance de fin de projet avec Didier Donsez et Massih-Reza Amini&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33877</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33877"/>
		<updated>2017-02-23T09:41:21Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Tâches du Sprint1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
Le scrumboard utilisé pour le projet est visible dans l&#039;onglet Projet de l&#039;organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l&#039;équipe et testée par un autre membre de l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
&lt;br /&gt;
===Sprint dédié aux travaux préparatoires du projet===&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* 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) &lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Établissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint0-Semaine1.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* 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 [http://nlp.stanford.edu/projects/glove/ GloVe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)&lt;br /&gt;
* 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&#039;une méthode plus approfondie pour traiter le Résumé (Coralie).&lt;br /&gt;
* Réflexion sur les choix des différents layers de traitement des données et sur l&#039;étape d&#039;embedding des données (premier traitement) (Edwin).&lt;br /&gt;
* Mise en place d&#039;un système de notation fonctionnel qui permet d&#039;enregistrer les données à partir du front (Quentin).&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
* T1. Établissement des vues principales côté client (recherche et annotation de films)&lt;br /&gt;
* T2. Mise en place du processus de pré-traitement des données (titre, mots clés, résumé, note, artiste, producteur)&lt;br /&gt;
* T3. Mise en place du réseau neuronal (réseau neuronal simple)&lt;br /&gt;
* T4. Mise en place de la structure de test du réseau neuronal (former les corpus de données, cross validation, test de précision)&lt;br /&gt;
* T5. Mise en place de l&#039;environnement système (Docker)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine2.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Préparation du premier sprint :&lt;br /&gt;
** Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint&lt;br /&gt;
** Établissement d&#039;une liste de fonctionnalités, avec une estimation de l&#039;importance et du temps de réalisation de chaque tâche&lt;br /&gt;
** Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard&lt;br /&gt;
* Mise au point sur l&#039;arborescence du git / architecture du projet&lt;br /&gt;
* Installation d&#039;une version GPU pour Keras et Tensor-Flow sur les machines équipées d&#039;un bon GPU&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Réunion avec Didier Donsez : &lt;br /&gt;
** Technologies : storm, spark, flint (temps réel) pour Twitter&lt;br /&gt;
** Distribution : préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker&lt;br /&gt;
** Utiliser Github pour héberger le site web&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Vues &amp;quot;recherche de films&amp;quot;, &amp;quot;annotation de film&amp;quot; et &amp;quot;consultation des films annotés&amp;quot; (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** prétraitement des mots via Glove (Elsa, Edwin, Julian)&lt;br /&gt;
** récupération des données (Julian)&lt;br /&gt;
** mise en place de l&#039;embedding (Edwin)&lt;br /&gt;
** mise en place d&#039;une librairie pour le pré-traitement des données envoyées aux classifieur (Julian)&lt;br /&gt;
** Import des modules (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Chargement des images de films côté client (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot;  + Ajout &amp;quot;genre&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** extraction des données JSON via l&#039;API (Elsa)&lt;br /&gt;
** prétraitement des genres (Julian)&lt;br /&gt;
** prétraitement général (mise en forme de la matrice de données) (Edwin)&lt;br /&gt;
** revue de code (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur sous Keras - Elephas ? (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - travail sur la communication au sein d&#039;un groupe&lt;br /&gt;
* T1. -&amp;gt; Pagination et chargement d&#039;images (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Création d&#039;une première version du classifieur (Elsa, Edwin)&lt;br /&gt;
* T4. -&amp;gt; Validation croisée pour pouvoir tester le classifieur correctement (Edwin &amp;amp; Elsa)&lt;br /&gt;
* T5. -&amp;gt; Installation version GPU sur PC (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur Keras - Elephas (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Déploiement sur github.io (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Insertion de Doc2Vec dans le classifieur (Julian)&lt;br /&gt;
* T3. -&amp;gt; Revue du classifieur pour obtenir une meilleure précision (Elsa &amp;amp; Edwin)&lt;br /&gt;
* T4. -&amp;gt; Mise en place d&#039;un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Annotation de films pour constituer la base d&#039;apprentissage/test (Tous)&lt;br /&gt;
* T5. -&amp;gt; Auto-formation sur Docker (Coralie, Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine3.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - gestion de projet&lt;br /&gt;
* T1. -&amp;gt; Ajout d&#039;un boite de dialogue permettant de visualiser les infos d&#039;un film (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Fix de bugs dans preprocessing (Julian)&lt;br /&gt;
* T4. -&amp;gt; Recherche sur la mise en place de tests avec Python (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Python, Keras et Tensorflow en partant d&#039;un Ubuntu 14 (Edwin)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Spark en partant d&#039;un Ubuntu 14 (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Mr. Amini&lt;br /&gt;
* T1. -&amp;gt; Amélioration de la boîte de dialogue pour les infos (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Preprocessing des acteurs et des realisateurs et ajout des fonction de test associées (Julian)&lt;br /&gt;
* T2. -&amp;gt; Test le modèle D2V sur un analyseur de sentiment de tweets, beaucoup plus objectif que les gouts utilisateurs vis à vis des films (Coralie).&lt;br /&gt;
* T2. -&amp;gt; Mise en place de modules de test unitaires dans MovieProject/tests/unit et suppression de fichiers inutiles dans MovieProject/tests (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Ajout de nouveaux fichiers de tests (json) et évaluation du classifieur de façon générique sur les fichiers json dans MovieProject/resources/evaluation (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Evaluation du classifieur avec la méthode Doc2Vec (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Finalisation de l&#039;image Docker avec Python, Keras et Tensorflow (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Début de la mise en place des différents modèles d&#039;apprentissage en vue de leur comparaison : &lt;br /&gt;
** Réseau neuronal avec Keras (Elsa)&lt;br /&gt;
** Perceptron (Coralie)&lt;br /&gt;
** Modification du prétraitement afin de pouvoir récupérer les matrices de chacune des variables caractérisant un film (Julian)&lt;br /&gt;
* T5. -&amp;gt; Ajout de Spark à l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Poursuite de la création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Poursuite des tests de performance :&lt;br /&gt;
** Test de l&#039;influence de chaque variable des films sur le modèle du perceptron, afin de ne sélectionner que les variables pertinentes (Coralie)&lt;br /&gt;
** Test du réseau neuronal (Elsa)&lt;br /&gt;
** Mise en place d&#039;un SVM pour concurrencer les performances des deux autres modèles (Julian)&lt;br /&gt;
* T5. -&amp;gt; Test de l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Visualisation des statistiques + explications sur la page d&#039;accueil (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Finalisation perceptron + intégration dans evaluation (Coralie)&lt;br /&gt;
* T4. -&amp;gt; Finalisation SVM + intégration dans evaluation (Julian)&lt;br /&gt;
* T4. -&amp;gt; Mise en place du module evaluation et intégration des modifications de classifieur &amp;amp; preprocessing (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Documentation sur Spark (Edwin &amp;amp; Coralie)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint1===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint2===&lt;br /&gt;
&lt;br /&gt;
*T1.2. Amélioration du front-end (mise en cache, etc.)&lt;br /&gt;
*T2.2. Ajout de descripteurs (durée, budget, année de production, compagnie de production, appartenance à une sage) en vue d&#039;améliorer notre modèle d&#039;apprentissage.&lt;br /&gt;
*T3.2 Amélioration du réseau neuronal (comparaison avec Perceptron simple, SVM, RN Convolutif)&lt;br /&gt;
*T4. Mise en place de la suggestion de films (vue côté front-end et logique côté back-end)&lt;br /&gt;
*T5. Distribution de l&#039;apprentissage sur plusieurs machines (Docker - Spark - Mesos - Elephas) &amp;amp; Parallélisation requêtes&lt;br /&gt;
*T6. Communication front/back, établissement des routes&lt;br /&gt;
*T7. Analyse de sentiment sur les flux Twitter&lt;br /&gt;
*T8. Mise en place de la base de données pour stocker les informations utilisateurs ainsi que leurs goûts&lt;br /&gt;
*T9. Amélioration Docker (correction de bugs, ajout de la gestion de base de données SQL)&lt;br /&gt;
*T10 Mise en place d&#039;un serveur pour stocker la base de données.&lt;br /&gt;
&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Réunion de fin de sprint1 et de début de sprint0 : discussion autour des avancées, difficultés, retards &amp;amp; établissement fonctionnalités à implémenter au cours du sprint2&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Revue de la structure du code (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T3.2 -&amp;gt; Amélioration du classifieur (Elsa/Quentin)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
*T5. -&amp;gt; Parallélisation des requêtes à l&#039;API TMDB (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation du cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation des statistiques cinématographique utilisateurs (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Ajout du descripteurs &amp;quot;budget&amp;quot; avec normalisation (Edwin)&lt;br /&gt;
*T3.2 -&amp;gt; Mise en place de la fonction de comparaison des combinaisons de descripteurs de films pour faciliter le travail des DUT (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal LSTM (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Changement de la méthode de prédiction de film (Elsa)&lt;br /&gt;
*T6. -&amp;gt; Communication front-back test (Elsa/Quentin)&lt;br /&gt;
* SRS (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec les DUT : aide sur l&#039;installation du projet, clone du projet Github. &lt;br /&gt;
* Préparation de la présentation (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Préparation démo (Quentin &amp;amp; Elsa)&lt;br /&gt;
* Mise à jour Wiki, SRS, Scrumboard (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Aide des DUT  (Edwin &amp;amp; Julian)&lt;br /&gt;
* T3.2 -&amp;gt; Evaluation du modèle et comparaison avec SVM et Perceptron de manière graphique (extraire les données et construire des graphes - csv ou matplotlib) (Sébastien &amp;amp; Marceau)&lt;br /&gt;
* T7. -&amp;gt; Prétraitement des Tweet(Coralie)&lt;br /&gt;
* T5. -&amp;gt; Avancement sur le distribué (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Page de login du front, fix problème de CSS sur les graphes (Quentin)&lt;br /&gt;
* T3.2 -&amp;gt; Amélioration du classifieur, tests en changeant les layers, le batch-size, etc. (Quentin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Préparation du travail qu&#039;Edwin pourra réaliser durant la semaine de vacances (Edwin travaillera en décalé avec le reste du groupe)&lt;br /&gt;
&lt;br /&gt;
Début de la mise en place de la base de données (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
(Edwin a travaillé la semaine précédente, en décallé avec le reste du groupe)&lt;br /&gt;
====Lundi====&lt;br /&gt;
*T8. -&amp;gt; Installation des outils liés à la gestion de la base de données MySQL et début de la conception de l&#039;API de communication avec cette base. (Edwin)&lt;br /&gt;
====Mardi====&lt;br /&gt;
*T8. -&amp;gt; Finalisation de l&#039;API, début des tests et des corrections de bug. (Edwin)&lt;br /&gt;
====Mercredi====&lt;br /&gt;
*T8. -&amp;gt; Ajout de nouvelles fonctionnalités SQL à l&#039;API et tests de l&#039;API. Création d&#039;un readme et d&#039;un fichier d&#039;exemple complet pour l&#039;utilisation de l&#039;API de MySQL. (Edwin)&lt;br /&gt;
*T9. -&amp;gt; Amélioration de l&#039;image Docker, correction de bugs de paths et de librairies manquantes. (Edwin)&lt;br /&gt;
====Jeudi====&lt;br /&gt;
*T8. -&amp;gt; Review générale du travail lié à la base de données. (Edwin)&lt;br /&gt;
*T9. -&amp;gt; Mise en place de MySQL pour Docker. (Edwin)&lt;br /&gt;
Mise à jour du Scrumboard et du wiki-air. (Edwin)&lt;br /&gt;
====Vendredi====&lt;br /&gt;
*T9. -&amp;gt; Amélioration du Docker pour tenter de régler des problèmes de ports liés à MySQL (non terminé). (Edwin) &lt;br /&gt;
*T10. -&amp;gt; Tests unitaires de fonctionnement de serveurs apaches. (Edwin)&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33876</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33876"/>
		<updated>2017-02-23T08:56:51Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Vendredi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
Le scrumboard utilisé pour le projet est visible dans l&#039;onglet Projet de l&#039;organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l&#039;équipe et testée par un autre membre de l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
&lt;br /&gt;
===Sprint dédié aux travaux préparatoires du projet===&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* 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) &lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Établissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint0-Semaine1.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* 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 [http://nlp.stanford.edu/projects/glove/ GloVe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)&lt;br /&gt;
* 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&#039;une méthode plus approfondie pour traiter le Résumé (Coralie).&lt;br /&gt;
* Réflexion sur les choix des différents layers de traitement des données et sur l&#039;étape d&#039;embedding des données (premier traitement) (Edwin).&lt;br /&gt;
* Mise en place d&#039;un système de notation fonctionnel qui permet d&#039;enregistrer les données à partir du front (Quentin).&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
* T1. Établissement des vues principales côté client (recherche et annotation de films)&lt;br /&gt;
* T2. Mise en place du processus de pré-traitement des données (titre, mots clés, résumé, note, artiste, producteur)&lt;br /&gt;
* T3. Mise en place du réseau neuronal (réseau neuronal simple)&lt;br /&gt;
* T4. Mise en place de la structure de test du réseau neuronal (former les corpus de données, cross validation, test de précision)&lt;br /&gt;
* T5. Mise en place de l&#039;environnement système (Docker)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine2.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Préparation du premier sprint :&lt;br /&gt;
** Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint&lt;br /&gt;
** Établissement d&#039;une liste de fonctionnalités, avec une estimation de l&#039;importance et du temps de réalisation de chaque tâche&lt;br /&gt;
** Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard&lt;br /&gt;
* Mise au point sur l&#039;arborescence du git / architecture du projet&lt;br /&gt;
* Installation d&#039;une version GPU pour Keras et Tensor-Flow sur les machines équipées d&#039;un bon GPU&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Réunion avec Didier Donsez : &lt;br /&gt;
** Technologies : storm, spark, flint (temps réel) pour Twitter&lt;br /&gt;
** Distribution : préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker&lt;br /&gt;
** Utiliser Github pour héberger le site web&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Vues &amp;quot;recherche de films&amp;quot;, &amp;quot;annotation de film&amp;quot; et &amp;quot;consultation des films annotés&amp;quot; (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** prétraitement des mots via Glove (Elsa, Edwin, Julian)&lt;br /&gt;
** récupération des données (Julian)&lt;br /&gt;
** mise en place de l&#039;embedding (Edwin)&lt;br /&gt;
** mise en place d&#039;une librairie pour le pré-traitement des données envoyées aux classifieur (Julian)&lt;br /&gt;
** Import des modules (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Chargement des images de films côté client (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot;  + Ajout &amp;quot;genre&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** extraction des données JSON via l&#039;API (Elsa)&lt;br /&gt;
** prétraitement des genres (Julian)&lt;br /&gt;
** prétraitement général (mise en forme de la matrice de données) (Edwin)&lt;br /&gt;
** revue de code (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur sous Keras - Elephas ? (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - travail sur la communication au sein d&#039;un groupe&lt;br /&gt;
* T1. -&amp;gt; Pagination et chargement d&#039;images (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Création d&#039;une première version du classifieur (Elsa, Edwin)&lt;br /&gt;
* T4. -&amp;gt; Validation croisée pour pouvoir tester le classifieur correctement (Edwin &amp;amp; Elsa)&lt;br /&gt;
* T5. -&amp;gt; Installation version GPU sur PC (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur Keras - Elephas (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Déploiement sur github.io (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Insertion de Doc2Vec dans le classifieur (Julian)&lt;br /&gt;
* T3. -&amp;gt; Revue du classifieur pour obtenir une meilleure précision (Elsa &amp;amp; Edwin)&lt;br /&gt;
* T4. -&amp;gt; Mise en place d&#039;un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Annotation de films pour constituer la base d&#039;apprentissage/test (Tous)&lt;br /&gt;
* T5. -&amp;gt; Auto-formation sur Docker (Coralie, Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine3.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - gestion de projet&lt;br /&gt;
* T1. -&amp;gt; Ajout d&#039;un boite de dialogue permettant de visualiser les infos d&#039;un film (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Fix de bugs dans preprocessing (Julian)&lt;br /&gt;
* T4. -&amp;gt; Recherche sur la mise en place de tests avec Python (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Python, Keras et Tensorflow en partant d&#039;un Ubuntu 14 (Edwin)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Spark en partant d&#039;un Ubuntu 14 (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Mr. Amini&lt;br /&gt;
* T1. -&amp;gt; Amélioration de la boîte de dialogue pour les infos (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Preprocessing des acteurs et des realisateurs et ajout des fonction de test associées (Julian)&lt;br /&gt;
* T2. -&amp;gt; Test le modèle D2V sur un analyseur de sentiment de tweets, beaucoup plus objectif que les gouts utilisateurs vis à vis des films (Coralie).&lt;br /&gt;
* T2. -&amp;gt; Mise en place de modules de test unitaires dans MovieProject/tests/unit et suppression de fichiers inutiles dans MovieProject/tests (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Ajout de nouveaux fichiers de tests (json) et évaluation du classifieur de façon générique sur les fichiers json dans MovieProject/resources/evaluation (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Evaluation du classifieur avec la méthode Doc2Vec (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Finalisation de l&#039;image Docker avec Python, Keras et Tensorflow (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Début de la mise en place des différents modèles d&#039;apprentissage en vue de leur comparaison : &lt;br /&gt;
** Réseau neuronal avec Keras (Elsa)&lt;br /&gt;
** Perceptron (Coralie)&lt;br /&gt;
** Modification du prétraitement afin de pouvoir récupérer les matrices de chacune des variables caractérisant un film (Julian)&lt;br /&gt;
* T5. -&amp;gt; Ajout de Spark à l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Poursuite de la création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Poursuite des tests de performance :&lt;br /&gt;
** Test de l&#039;influence de chaque variable des films sur le modèle du perceptron, afin de ne sélectionner que les variables pertinentes (Coralie)&lt;br /&gt;
** Test du réseau neuronal (Elsa)&lt;br /&gt;
** Mise en place d&#039;un SVM pour concurrencer les performances des deux autres modèles (Julian)&lt;br /&gt;
* T5. -&amp;gt; Test de l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Visualisation des statistiques + explications sur la page d&#039;accueil (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Finalisation perceptron + intégration dans evaluation (Coralie)&lt;br /&gt;
* T4. -&amp;gt; Finalisation SVM + intégration dans evaluation (Julian)&lt;br /&gt;
* T4. -&amp;gt; Mise en place du module evaluation et intégration des modifications de classifieur &amp;amp; preprocessing (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Documentation sur Spark (Edwin &amp;amp; Coralie)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint1===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
&lt;br /&gt;
*T1.2. Amélioration du front-end (mise en cache, etc.)&lt;br /&gt;
*T2.2. Ajout de descripteurs (durée, budget, année de production, compagnie de production, appartenance à une sage) en vue d&#039;améliorer notre modèle d&#039;apprentissage.&lt;br /&gt;
*T3.2 Amélioration du réseau neuronal (comparaison avec Perceptron simple, SVM, RN Convolutif)&lt;br /&gt;
*T4. Mise en place de la suggestion de films (vue côté front-end et logique côté back-end)&lt;br /&gt;
*T5. Distribution de l&#039;apprentissage sur plusieurs machines (Docker - Spark - Mesos - Elephas) &amp;amp; Parallélisation requêtes&lt;br /&gt;
*T6. Communication front/back, établissement des routes&lt;br /&gt;
*T7. Analyse de sentiment sur les flux Twitter&lt;br /&gt;
*T8. Mise en place de la base de données pour stocker les informations utilisateurs ainsi que leurs goûts&lt;br /&gt;
*T9. Amélioration Docker (correction de bugs, ajout de la gestion de base de données SQL)&lt;br /&gt;
*T10 Mise en place d&#039;un serveur pour stocker la base de données.&lt;br /&gt;
&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Réunion de fin de sprint1 et de début de sprint0 : discussion autour des avancées, difficultés, retards &amp;amp; établissement fonctionnalités à implémenter au cours du sprint2&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Revue de la structure du code (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T3.2 -&amp;gt; Amélioration du classifieur (Elsa/Quentin)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
*T5. -&amp;gt; Parallélisation des requêtes à l&#039;API TMDB (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation du cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation des statistiques cinématographique utilisateurs (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Ajout du descripteurs &amp;quot;budget&amp;quot; avec normalisation (Edwin)&lt;br /&gt;
*T3.2 -&amp;gt; Mise en place de la fonction de comparaison des combinaisons de descripteurs de films pour faciliter le travail des DUT (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal LSTM (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Changement de la méthode de prédiction de film (Elsa)&lt;br /&gt;
*T6. -&amp;gt; Communication front-back test (Elsa/Quentin)&lt;br /&gt;
* SRS (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec les DUT : aide sur l&#039;installation du projet, clone du projet Github. &lt;br /&gt;
* Préparation de la présentation (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Préparation démo (Quentin &amp;amp; Elsa)&lt;br /&gt;
* Mise à jour Wiki, SRS, Scrumboard (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Aide des DUT  (Edwin &amp;amp; Julian)&lt;br /&gt;
* T3.2 -&amp;gt; Evaluation du modèle et comparaison avec SVM et Perceptron de manière graphique (extraire les données et construire des graphes - csv ou matplotlib) (Sébastien &amp;amp; Marceau)&lt;br /&gt;
* T7. -&amp;gt; Prétraitement des Tweet(Coralie)&lt;br /&gt;
* T5. -&amp;gt; Avancement sur le distribué (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Page de login du front, fix problème de CSS sur les graphes (Quentin)&lt;br /&gt;
* T3.2 -&amp;gt; Amélioration du classifieur, tests en changeant les layers, le batch-size, etc. (Quentin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Préparation du travail qu&#039;Edwin pourra réaliser durant la semaine de vacances (Edwin travaillera en décalé avec le reste du groupe)&lt;br /&gt;
&lt;br /&gt;
Début de la mise en place de la base de données (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
(Edwin a travaillé la semaine précédente, en décallé avec le reste du groupe)&lt;br /&gt;
====Lundi====&lt;br /&gt;
*T8. -&amp;gt; Installation des outils liés à la gestion de la base de données MySQL et début de la conception de l&#039;API de communication avec cette base. (Edwin)&lt;br /&gt;
====Mardi====&lt;br /&gt;
*T8. -&amp;gt; Finalisation de l&#039;API, début des tests et des corrections de bug. (Edwin)&lt;br /&gt;
====Mercredi====&lt;br /&gt;
*T8. -&amp;gt; Ajout de nouvelles fonctionnalités SQL à l&#039;API et tests de l&#039;API. Création d&#039;un readme et d&#039;un fichier d&#039;exemple complet pour l&#039;utilisation de l&#039;API de MySQL. (Edwin)&lt;br /&gt;
*T9. -&amp;gt; Amélioration de l&#039;image Docker, correction de bugs de paths et de librairies manquantes. (Edwin)&lt;br /&gt;
====Jeudi====&lt;br /&gt;
*T8. -&amp;gt; Review générale du travail lié à la base de données. (Edwin)&lt;br /&gt;
*T9. -&amp;gt; Mise en place de MySQL pour Docker. (Edwin)&lt;br /&gt;
Mise à jour du Scrumboard et du wiki-air. (Edwin)&lt;br /&gt;
====Vendredi====&lt;br /&gt;
*T9. -&amp;gt; Amélioration du Docker pour tenter de régler des problèmes de ports liés à MySQL (non terminé). (Edwin) &lt;br /&gt;
*T10. -&amp;gt; Tests unitaires de fonctionnement de serveurs apaches. (Edwin)&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33875</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33875"/>
		<updated>2017-02-23T08:55:59Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Semaine 5 : 20/02 - 26/02 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
Le scrumboard utilisé pour le projet est visible dans l&#039;onglet Projet de l&#039;organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l&#039;équipe et testée par un autre membre de l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
&lt;br /&gt;
===Sprint dédié aux travaux préparatoires du projet===&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* 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) &lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Établissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint0-Semaine1.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* 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 [http://nlp.stanford.edu/projects/glove/ GloVe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)&lt;br /&gt;
* 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&#039;une méthode plus approfondie pour traiter le Résumé (Coralie).&lt;br /&gt;
* Réflexion sur les choix des différents layers de traitement des données et sur l&#039;étape d&#039;embedding des données (premier traitement) (Edwin).&lt;br /&gt;
* Mise en place d&#039;un système de notation fonctionnel qui permet d&#039;enregistrer les données à partir du front (Quentin).&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
* T1. Établissement des vues principales côté client (recherche et annotation de films)&lt;br /&gt;
* T2. Mise en place du processus de pré-traitement des données (titre, mots clés, résumé, note, artiste, producteur)&lt;br /&gt;
* T3. Mise en place du réseau neuronal (réseau neuronal simple)&lt;br /&gt;
* T4. Mise en place de la structure de test du réseau neuronal (former les corpus de données, cross validation, test de précision)&lt;br /&gt;
* T5. Mise en place de l&#039;environnement système (Docker)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine2.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Préparation du premier sprint :&lt;br /&gt;
** Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint&lt;br /&gt;
** Établissement d&#039;une liste de fonctionnalités, avec une estimation de l&#039;importance et du temps de réalisation de chaque tâche&lt;br /&gt;
** Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard&lt;br /&gt;
* Mise au point sur l&#039;arborescence du git / architecture du projet&lt;br /&gt;
* Installation d&#039;une version GPU pour Keras et Tensor-Flow sur les machines équipées d&#039;un bon GPU&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Réunion avec Didier Donsez : &lt;br /&gt;
** Technologies : storm, spark, flint (temps réel) pour Twitter&lt;br /&gt;
** Distribution : préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker&lt;br /&gt;
** Utiliser Github pour héberger le site web&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Vues &amp;quot;recherche de films&amp;quot;, &amp;quot;annotation de film&amp;quot; et &amp;quot;consultation des films annotés&amp;quot; (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** prétraitement des mots via Glove (Elsa, Edwin, Julian)&lt;br /&gt;
** récupération des données (Julian)&lt;br /&gt;
** mise en place de l&#039;embedding (Edwin)&lt;br /&gt;
** mise en place d&#039;une librairie pour le pré-traitement des données envoyées aux classifieur (Julian)&lt;br /&gt;
** Import des modules (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Chargement des images de films côté client (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot;  + Ajout &amp;quot;genre&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** extraction des données JSON via l&#039;API (Elsa)&lt;br /&gt;
** prétraitement des genres (Julian)&lt;br /&gt;
** prétraitement général (mise en forme de la matrice de données) (Edwin)&lt;br /&gt;
** revue de code (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur sous Keras - Elephas ? (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - travail sur la communication au sein d&#039;un groupe&lt;br /&gt;
* T1. -&amp;gt; Pagination et chargement d&#039;images (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Création d&#039;une première version du classifieur (Elsa, Edwin)&lt;br /&gt;
* T4. -&amp;gt; Validation croisée pour pouvoir tester le classifieur correctement (Edwin &amp;amp; Elsa)&lt;br /&gt;
* T5. -&amp;gt; Installation version GPU sur PC (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur Keras - Elephas (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Déploiement sur github.io (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Insertion de Doc2Vec dans le classifieur (Julian)&lt;br /&gt;
* T3. -&amp;gt; Revue du classifieur pour obtenir une meilleure précision (Elsa &amp;amp; Edwin)&lt;br /&gt;
* T4. -&amp;gt; Mise en place d&#039;un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Annotation de films pour constituer la base d&#039;apprentissage/test (Tous)&lt;br /&gt;
* T5. -&amp;gt; Auto-formation sur Docker (Coralie, Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine3.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - gestion de projet&lt;br /&gt;
* T1. -&amp;gt; Ajout d&#039;un boite de dialogue permettant de visualiser les infos d&#039;un film (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Fix de bugs dans preprocessing (Julian)&lt;br /&gt;
* T4. -&amp;gt; Recherche sur la mise en place de tests avec Python (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Python, Keras et Tensorflow en partant d&#039;un Ubuntu 14 (Edwin)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Spark en partant d&#039;un Ubuntu 14 (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Mr. Amini&lt;br /&gt;
* T1. -&amp;gt; Amélioration de la boîte de dialogue pour les infos (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Preprocessing des acteurs et des realisateurs et ajout des fonction de test associées (Julian)&lt;br /&gt;
* T2. -&amp;gt; Test le modèle D2V sur un analyseur de sentiment de tweets, beaucoup plus objectif que les gouts utilisateurs vis à vis des films (Coralie).&lt;br /&gt;
* T2. -&amp;gt; Mise en place de modules de test unitaires dans MovieProject/tests/unit et suppression de fichiers inutiles dans MovieProject/tests (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Ajout de nouveaux fichiers de tests (json) et évaluation du classifieur de façon générique sur les fichiers json dans MovieProject/resources/evaluation (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Evaluation du classifieur avec la méthode Doc2Vec (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Finalisation de l&#039;image Docker avec Python, Keras et Tensorflow (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Début de la mise en place des différents modèles d&#039;apprentissage en vue de leur comparaison : &lt;br /&gt;
** Réseau neuronal avec Keras (Elsa)&lt;br /&gt;
** Perceptron (Coralie)&lt;br /&gt;
** Modification du prétraitement afin de pouvoir récupérer les matrices de chacune des variables caractérisant un film (Julian)&lt;br /&gt;
* T5. -&amp;gt; Ajout de Spark à l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Poursuite de la création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Poursuite des tests de performance :&lt;br /&gt;
** Test de l&#039;influence de chaque variable des films sur le modèle du perceptron, afin de ne sélectionner que les variables pertinentes (Coralie)&lt;br /&gt;
** Test du réseau neuronal (Elsa)&lt;br /&gt;
** Mise en place d&#039;un SVM pour concurrencer les performances des deux autres modèles (Julian)&lt;br /&gt;
* T5. -&amp;gt; Test de l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Visualisation des statistiques + explications sur la page d&#039;accueil (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Finalisation perceptron + intégration dans evaluation (Coralie)&lt;br /&gt;
* T4. -&amp;gt; Finalisation SVM + intégration dans evaluation (Julian)&lt;br /&gt;
* T4. -&amp;gt; Mise en place du module evaluation et intégration des modifications de classifieur &amp;amp; preprocessing (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Documentation sur Spark (Edwin &amp;amp; Coralie)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint1===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
&lt;br /&gt;
*T1.2. Amélioration du front-end (mise en cache, etc.)&lt;br /&gt;
*T2.2. Ajout de descripteurs (durée, budget, année de production, compagnie de production, appartenance à une sage) en vue d&#039;améliorer notre modèle d&#039;apprentissage.&lt;br /&gt;
*T3.2 Amélioration du réseau neuronal (comparaison avec Perceptron simple, SVM, RN Convolutif)&lt;br /&gt;
*T4. Mise en place de la suggestion de films (vue côté front-end et logique côté back-end)&lt;br /&gt;
*T5. Distribution de l&#039;apprentissage sur plusieurs machines (Docker - Spark - Mesos - Elephas) &amp;amp; Parallélisation requêtes&lt;br /&gt;
*T6. Communication front/back, établissement des routes&lt;br /&gt;
*T7. Analyse de sentiment sur les flux Twitter&lt;br /&gt;
*T8. Mise en place de la base de données pour stocker les informations utilisateurs ainsi que leurs goûts&lt;br /&gt;
*T9. Amélioration Docker (correction de bugs, ajout de la gestion de base de données SQL)&lt;br /&gt;
*T10 Mise en place d&#039;un serveur pour stocker la base de données.&lt;br /&gt;
&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Réunion de fin de sprint1 et de début de sprint0 : discussion autour des avancées, difficultés, retards &amp;amp; établissement fonctionnalités à implémenter au cours du sprint2&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Revue de la structure du code (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T3.2 -&amp;gt; Amélioration du classifieur (Elsa/Quentin)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
*T5. -&amp;gt; Parallélisation des requêtes à l&#039;API TMDB (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation du cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation des statistiques cinématographique utilisateurs (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Ajout du descripteurs &amp;quot;budget&amp;quot; avec normalisation (Edwin)&lt;br /&gt;
*T3.2 -&amp;gt; Mise en place de la fonction de comparaison des combinaisons de descripteurs de films pour faciliter le travail des DUT (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal LSTM (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Changement de la méthode de prédiction de film (Elsa)&lt;br /&gt;
*T6. -&amp;gt; Communication front-back test (Elsa/Quentin)&lt;br /&gt;
* SRS (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec les DUT : aide sur l&#039;installation du projet, clone du projet Github. &lt;br /&gt;
* Préparation de la présentation (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Préparation démo (Quentin &amp;amp; Elsa)&lt;br /&gt;
* Mise à jour Wiki, SRS, Scrumboard (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Aide des DUT  (Edwin &amp;amp; Julian)&lt;br /&gt;
* T3.2 -&amp;gt; Evaluation du modèle et comparaison avec SVM et Perceptron de manière graphique (extraire les données et construire des graphes - csv ou matplotlib) (Sébastien &amp;amp; Marceau)&lt;br /&gt;
* T7. -&amp;gt; Prétraitement des Tweet(Coralie)&lt;br /&gt;
* T5. -&amp;gt; Avancement sur le distribué (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Page de login du front, fix problème de CSS sur les graphes (Quentin)&lt;br /&gt;
* T3.2 -&amp;gt; Amélioration du classifieur, tests en changeant les layers, le batch-size, etc. (Quentin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Préparation du travail qu&#039;Edwin pourra réaliser durant la semaine de vacances (Edwin travaillera en décalé avec le reste du groupe)&lt;br /&gt;
&lt;br /&gt;
Début de la mise en place de la base de données (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
(Edwin a travaillé la semaine précédente, en décallé avec le reste du groupe)&lt;br /&gt;
====Lundi====&lt;br /&gt;
*T8. -&amp;gt; Installation des outils liés à la gestion de la base de données MySQL et début de la conception de l&#039;API de communication avec cette base. (Edwin)&lt;br /&gt;
====Mardi====&lt;br /&gt;
*T8. -&amp;gt; Finalisation de l&#039;API, début des tests et des corrections de bug. (Edwin)&lt;br /&gt;
====Mercredi====&lt;br /&gt;
*T8. -&amp;gt; Ajout de nouvelles fonctionnalités SQL à l&#039;API et tests de l&#039;API. Création d&#039;un readme et d&#039;un fichier d&#039;exemple complet pour l&#039;utilisation de l&#039;API de MySQL. (Edwin)&lt;br /&gt;
*T9. -&amp;gt; Amélioration de l&#039;image Docker, correction de bugs de paths et de librairies manquantes. (Edwin)&lt;br /&gt;
====Jeudi====&lt;br /&gt;
*T8. -&amp;gt; Review générale du travail lié à la base de données. (Edwin)&lt;br /&gt;
*T9. -&amp;gt; Mise en place de MySQL pour Docker. (Edwin)&lt;br /&gt;
Mise à jour du Scrumboard et du wiki-air. (Edwin)&lt;br /&gt;
====Vendredi====&lt;br /&gt;
*T9. -&amp;gt; Amélioration du Docker pour tenter de régler des problèmes de ports lié à MySQL (non terminé). (Edwin) &lt;br /&gt;
*T10. -&amp;gt; Tests unitaires de fonctionnement de serveurs apaches. (Edwin)&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33874</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33874"/>
		<updated>2017-02-23T08:55:15Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Tâches du Sprint1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
Le scrumboard utilisé pour le projet est visible dans l&#039;onglet Projet de l&#039;organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l&#039;équipe et testée par un autre membre de l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
&lt;br /&gt;
===Sprint dédié aux travaux préparatoires du projet===&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* 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) &lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Établissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint0-Semaine1.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* 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 [http://nlp.stanford.edu/projects/glove/ GloVe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)&lt;br /&gt;
* 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&#039;une méthode plus approfondie pour traiter le Résumé (Coralie).&lt;br /&gt;
* Réflexion sur les choix des différents layers de traitement des données et sur l&#039;étape d&#039;embedding des données (premier traitement) (Edwin).&lt;br /&gt;
* Mise en place d&#039;un système de notation fonctionnel qui permet d&#039;enregistrer les données à partir du front (Quentin).&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
* T1. Établissement des vues principales côté client (recherche et annotation de films)&lt;br /&gt;
* T2. Mise en place du processus de pré-traitement des données (titre, mots clés, résumé, note, artiste, producteur)&lt;br /&gt;
* T3. Mise en place du réseau neuronal (réseau neuronal simple)&lt;br /&gt;
* T4. Mise en place de la structure de test du réseau neuronal (former les corpus de données, cross validation, test de précision)&lt;br /&gt;
* T5. Mise en place de l&#039;environnement système (Docker)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine2.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Préparation du premier sprint :&lt;br /&gt;
** Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint&lt;br /&gt;
** Établissement d&#039;une liste de fonctionnalités, avec une estimation de l&#039;importance et du temps de réalisation de chaque tâche&lt;br /&gt;
** Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard&lt;br /&gt;
* Mise au point sur l&#039;arborescence du git / architecture du projet&lt;br /&gt;
* Installation d&#039;une version GPU pour Keras et Tensor-Flow sur les machines équipées d&#039;un bon GPU&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Réunion avec Didier Donsez : &lt;br /&gt;
** Technologies : storm, spark, flint (temps réel) pour Twitter&lt;br /&gt;
** Distribution : préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker&lt;br /&gt;
** Utiliser Github pour héberger le site web&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Vues &amp;quot;recherche de films&amp;quot;, &amp;quot;annotation de film&amp;quot; et &amp;quot;consultation des films annotés&amp;quot; (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** prétraitement des mots via Glove (Elsa, Edwin, Julian)&lt;br /&gt;
** récupération des données (Julian)&lt;br /&gt;
** mise en place de l&#039;embedding (Edwin)&lt;br /&gt;
** mise en place d&#039;une librairie pour le pré-traitement des données envoyées aux classifieur (Julian)&lt;br /&gt;
** Import des modules (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Chargement des images de films côté client (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot;  + Ajout &amp;quot;genre&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** extraction des données JSON via l&#039;API (Elsa)&lt;br /&gt;
** prétraitement des genres (Julian)&lt;br /&gt;
** prétraitement général (mise en forme de la matrice de données) (Edwin)&lt;br /&gt;
** revue de code (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur sous Keras - Elephas ? (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - travail sur la communication au sein d&#039;un groupe&lt;br /&gt;
* T1. -&amp;gt; Pagination et chargement d&#039;images (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Création d&#039;une première version du classifieur (Elsa, Edwin)&lt;br /&gt;
* T4. -&amp;gt; Validation croisée pour pouvoir tester le classifieur correctement (Edwin &amp;amp; Elsa)&lt;br /&gt;
* T5. -&amp;gt; Installation version GPU sur PC (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur Keras - Elephas (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Déploiement sur github.io (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Insertion de Doc2Vec dans le classifieur (Julian)&lt;br /&gt;
* T3. -&amp;gt; Revue du classifieur pour obtenir une meilleure précision (Elsa &amp;amp; Edwin)&lt;br /&gt;
* T4. -&amp;gt; Mise en place d&#039;un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Annotation de films pour constituer la base d&#039;apprentissage/test (Tous)&lt;br /&gt;
* T5. -&amp;gt; Auto-formation sur Docker (Coralie, Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine3.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - gestion de projet&lt;br /&gt;
* T1. -&amp;gt; Ajout d&#039;un boite de dialogue permettant de visualiser les infos d&#039;un film (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Fix de bugs dans preprocessing (Julian)&lt;br /&gt;
* T4. -&amp;gt; Recherche sur la mise en place de tests avec Python (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Python, Keras et Tensorflow en partant d&#039;un Ubuntu 14 (Edwin)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Spark en partant d&#039;un Ubuntu 14 (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Mr. Amini&lt;br /&gt;
* T1. -&amp;gt; Amélioration de la boîte de dialogue pour les infos (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Preprocessing des acteurs et des realisateurs et ajout des fonction de test associées (Julian)&lt;br /&gt;
* T2. -&amp;gt; Test le modèle D2V sur un analyseur de sentiment de tweets, beaucoup plus objectif que les gouts utilisateurs vis à vis des films (Coralie).&lt;br /&gt;
* T2. -&amp;gt; Mise en place de modules de test unitaires dans MovieProject/tests/unit et suppression de fichiers inutiles dans MovieProject/tests (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Ajout de nouveaux fichiers de tests (json) et évaluation du classifieur de façon générique sur les fichiers json dans MovieProject/resources/evaluation (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Evaluation du classifieur avec la méthode Doc2Vec (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Finalisation de l&#039;image Docker avec Python, Keras et Tensorflow (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Début de la mise en place des différents modèles d&#039;apprentissage en vue de leur comparaison : &lt;br /&gt;
** Réseau neuronal avec Keras (Elsa)&lt;br /&gt;
** Perceptron (Coralie)&lt;br /&gt;
** Modification du prétraitement afin de pouvoir récupérer les matrices de chacune des variables caractérisant un film (Julian)&lt;br /&gt;
* T5. -&amp;gt; Ajout de Spark à l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Poursuite de la création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Poursuite des tests de performance :&lt;br /&gt;
** Test de l&#039;influence de chaque variable des films sur le modèle du perceptron, afin de ne sélectionner que les variables pertinentes (Coralie)&lt;br /&gt;
** Test du réseau neuronal (Elsa)&lt;br /&gt;
** Mise en place d&#039;un SVM pour concurrencer les performances des deux autres modèles (Julian)&lt;br /&gt;
* T5. -&amp;gt; Test de l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Visualisation des statistiques + explications sur la page d&#039;accueil (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Finalisation perceptron + intégration dans evaluation (Coralie)&lt;br /&gt;
* T4. -&amp;gt; Finalisation SVM + intégration dans evaluation (Julian)&lt;br /&gt;
* T4. -&amp;gt; Mise en place du module evaluation et intégration des modifications de classifieur &amp;amp; preprocessing (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Documentation sur Spark (Edwin &amp;amp; Coralie)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint1===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
&lt;br /&gt;
*T1.2. Amélioration du front-end (mise en cache, etc.)&lt;br /&gt;
*T2.2. Ajout de descripteurs (durée, budget, année de production, compagnie de production, appartenance à une sage) en vue d&#039;améliorer notre modèle d&#039;apprentissage.&lt;br /&gt;
*T3.2 Amélioration du réseau neuronal (comparaison avec Perceptron simple, SVM, RN Convolutif)&lt;br /&gt;
*T4. Mise en place de la suggestion de films (vue côté front-end et logique côté back-end)&lt;br /&gt;
*T5. Distribution de l&#039;apprentissage sur plusieurs machines (Docker - Spark - Mesos - Elephas) &amp;amp; Parallélisation requêtes&lt;br /&gt;
*T6. Communication front/back, établissement des routes&lt;br /&gt;
*T7. Analyse de sentiment sur les flux Twitter&lt;br /&gt;
*T8. Mise en place de la base de données pour stocker les informations utilisateurs ainsi que leurs goûts&lt;br /&gt;
*T9. Amélioration Docker (correction de bugs, ajout de la gestion de base de données SQL)&lt;br /&gt;
*T10 Mise en place d&#039;un serveur pour stocker la base de données.&lt;br /&gt;
&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Réunion de fin de sprint1 et de début de sprint0 : discussion autour des avancées, difficultés, retards &amp;amp; établissement fonctionnalités à implémenter au cours du sprint2&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Revue de la structure du code (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T3.2 -&amp;gt; Amélioration du classifieur (Elsa/Quentin)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
*T5. -&amp;gt; Parallélisation des requêtes à l&#039;API TMDB (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation du cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation des statistiques cinématographique utilisateurs (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Ajout du descripteurs &amp;quot;budget&amp;quot; avec normalisation (Edwin)&lt;br /&gt;
*T3.2 -&amp;gt; Mise en place de la fonction de comparaison des combinaisons de descripteurs de films pour faciliter le travail des DUT (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal LSTM (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Changement de la méthode de prédiction de film (Elsa)&lt;br /&gt;
*T6. -&amp;gt; Communication front-back test (Elsa/Quentin)&lt;br /&gt;
* SRS (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec les DUT : aide sur l&#039;installation du projet, clone du projet Github. &lt;br /&gt;
* Préparation de la présentation (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Préparation démo (Quentin &amp;amp; Elsa)&lt;br /&gt;
* Mise à jour Wiki, SRS, Scrumboard (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Aide des DUT  (Edwin &amp;amp; Julian)&lt;br /&gt;
* T3.2 -&amp;gt; Evaluation du modèle et comparaison avec SVM et Perceptron de manière graphique (extraire les données et construire des graphes - csv ou matplotlib) (Sébastien &amp;amp; Marceau)&lt;br /&gt;
* T7. -&amp;gt; Prétraitement des Tweet(Coralie)&lt;br /&gt;
* T5. -&amp;gt; Avancement sur le distribué (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Page de login du front, fix problème de CSS sur les graphes (Quentin)&lt;br /&gt;
* T3.2 -&amp;gt; Amélioration du classifieur, tests en changeant les layers, le batch-size, etc. (Quentin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Préparation du travail qu&#039;Edwin pourra réaliser durant la semaine de vacances (Edwin travaillera en décalé avec le reste du groupe)&lt;br /&gt;
&lt;br /&gt;
Début de la mise en place de la base de données (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
(Edwin a travaillé la semaine précédente, en décallé avec le reste du groupe)&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33873</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33873"/>
		<updated>2017-02-23T08:54:51Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Tâches du Sprint1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
Le scrumboard utilisé pour le projet est visible dans l&#039;onglet Projet de l&#039;organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l&#039;équipe et testée par un autre membre de l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
&lt;br /&gt;
===Sprint dédié aux travaux préparatoires du projet===&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* 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) &lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Établissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint0-Semaine1.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* 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 [http://nlp.stanford.edu/projects/glove/ GloVe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)&lt;br /&gt;
* 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&#039;une méthode plus approfondie pour traiter le Résumé (Coralie).&lt;br /&gt;
* Réflexion sur les choix des différents layers de traitement des données et sur l&#039;étape d&#039;embedding des données (premier traitement) (Edwin).&lt;br /&gt;
* Mise en place d&#039;un système de notation fonctionnel qui permet d&#039;enregistrer les données à partir du front (Quentin).&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
* T1. Établissement des vues principales côté client (recherche et annotation de films)&lt;br /&gt;
* T2. Mise en place du processus de pré-traitement des données (titre, mots clés, résumé, note, artiste, producteur)&lt;br /&gt;
* T3. Mise en place du réseau neuronal (réseau neuronal simple)&lt;br /&gt;
* T4. Mise en place de la structure de test du réseau neuronal (former les corpus de données, cross validation, test de précision)&lt;br /&gt;
* T5. Mise en place de l&#039;environnement système (Docker)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine2.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Préparation du premier sprint :&lt;br /&gt;
** Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint&lt;br /&gt;
** Établissement d&#039;une liste de fonctionnalités, avec une estimation de l&#039;importance et du temps de réalisation de chaque tâche&lt;br /&gt;
** Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard&lt;br /&gt;
* Mise au point sur l&#039;arborescence du git / architecture du projet&lt;br /&gt;
* Installation d&#039;une version GPU pour Keras et Tensor-Flow sur les machines équipées d&#039;un bon GPU&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Réunion avec Didier Donsez : &lt;br /&gt;
** Technologies : storm, spark, flint (temps réel) pour Twitter&lt;br /&gt;
** Distribution : préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker&lt;br /&gt;
** Utiliser Github pour héberger le site web&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Vues &amp;quot;recherche de films&amp;quot;, &amp;quot;annotation de film&amp;quot; et &amp;quot;consultation des films annotés&amp;quot; (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** prétraitement des mots via Glove (Elsa, Edwin, Julian)&lt;br /&gt;
** récupération des données (Julian)&lt;br /&gt;
** mise en place de l&#039;embedding (Edwin)&lt;br /&gt;
** mise en place d&#039;une librairie pour le pré-traitement des données envoyées aux classifieur (Julian)&lt;br /&gt;
** Import des modules (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Chargement des images de films côté client (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot;  + Ajout &amp;quot;genre&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** extraction des données JSON via l&#039;API (Elsa)&lt;br /&gt;
** prétraitement des genres (Julian)&lt;br /&gt;
** prétraitement général (mise en forme de la matrice de données) (Edwin)&lt;br /&gt;
** revue de code (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur sous Keras - Elephas ? (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - travail sur la communication au sein d&#039;un groupe&lt;br /&gt;
* T1. -&amp;gt; Pagination et chargement d&#039;images (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Création d&#039;une première version du classifieur (Elsa, Edwin)&lt;br /&gt;
* T4. -&amp;gt; Validation croisée pour pouvoir tester le classifieur correctement (Edwin &amp;amp; Elsa)&lt;br /&gt;
* T5. -&amp;gt; Installation version GPU sur PC (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur Keras - Elephas (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Déploiement sur github.io (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Insertion de Doc2Vec dans le classifieur (Julian)&lt;br /&gt;
* T3. -&amp;gt; Revue du classifieur pour obtenir une meilleure précision (Elsa &amp;amp; Edwin)&lt;br /&gt;
* T4. -&amp;gt; Mise en place d&#039;un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Annotation de films pour constituer la base d&#039;apprentissage/test (Tous)&lt;br /&gt;
* T5. -&amp;gt; Auto-formation sur Docker (Coralie, Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine3.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - gestion de projet&lt;br /&gt;
* T1. -&amp;gt; Ajout d&#039;un boite de dialogue permettant de visualiser les infos d&#039;un film (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Fix de bugs dans preprocessing (Julian)&lt;br /&gt;
* T4. -&amp;gt; Recherche sur la mise en place de tests avec Python (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Python, Keras et Tensorflow en partant d&#039;un Ubuntu 14 (Edwin)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Spark en partant d&#039;un Ubuntu 14 (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Mr. Amini&lt;br /&gt;
* T1. -&amp;gt; Amélioration de la boîte de dialogue pour les infos (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Preprocessing des acteurs et des realisateurs et ajout des fonction de test associées (Julian)&lt;br /&gt;
* T2. -&amp;gt; Test le modèle D2V sur un analyseur de sentiment de tweets, beaucoup plus objectif que les gouts utilisateurs vis à vis des films (Coralie).&lt;br /&gt;
* T2. -&amp;gt; Mise en place de modules de test unitaires dans MovieProject/tests/unit et suppression de fichiers inutiles dans MovieProject/tests (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Ajout de nouveaux fichiers de tests (json) et évaluation du classifieur de façon générique sur les fichiers json dans MovieProject/resources/evaluation (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Evaluation du classifieur avec la méthode Doc2Vec (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Finalisation de l&#039;image Docker avec Python, Keras et Tensorflow (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Début de la mise en place des différents modèles d&#039;apprentissage en vue de leur comparaison : &lt;br /&gt;
** Réseau neuronal avec Keras (Elsa)&lt;br /&gt;
** Perceptron (Coralie)&lt;br /&gt;
** Modification du prétraitement afin de pouvoir récupérer les matrices de chacune des variables caractérisant un film (Julian)&lt;br /&gt;
* T5. -&amp;gt; Ajout de Spark à l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Poursuite de la création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Poursuite des tests de performance :&lt;br /&gt;
** Test de l&#039;influence de chaque variable des films sur le modèle du perceptron, afin de ne sélectionner que les variables pertinentes (Coralie)&lt;br /&gt;
** Test du réseau neuronal (Elsa)&lt;br /&gt;
** Mise en place d&#039;un SVM pour concurrencer les performances des deux autres modèles (Julian)&lt;br /&gt;
* T5. -&amp;gt; Test de l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Visualisation des statistiques + explications sur la page d&#039;accueil (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Finalisation perceptron + intégration dans evaluation (Coralie)&lt;br /&gt;
* T4. -&amp;gt; Finalisation SVM + intégration dans evaluation (Julian)&lt;br /&gt;
* T4. -&amp;gt; Mise en place du module evaluation et intégration des modifications de classifieur &amp;amp; preprocessing (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Documentation sur Spark (Edwin &amp;amp; Coralie)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint1===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
&lt;br /&gt;
*T1.2. Amélioration du front-end (mise en cache, etc.)&lt;br /&gt;
*T2.2. Ajout de descripteurs (durée, budget, année de production, compagnie de production, appartenance à une sage) en vue d&#039;améliorer notre modèle d&#039;apprentissage.&lt;br /&gt;
*T3.2 Amélioration du réseau neuronal (comparaison avec Perceptron simple, SVM, RN Convolutif)&lt;br /&gt;
*T4. Mise en place de la suggestion de films (vue côté front-end et logique côté back-end)&lt;br /&gt;
*T5. Distribution de l&#039;apprentissage sur plusieurs machines (Docker - Spark - Mesos - Elephas) &amp;amp; Parallélisation requêtes&lt;br /&gt;
*T6. Communication front/back, établissement des routes&lt;br /&gt;
*T7. Analyse de sentiment sur les flux Twitter&lt;br /&gt;
&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Réunion de fin de sprint1 et de début de sprint0 : discussion autour des avancées, difficultés, retards &amp;amp; établissement fonctionnalités à implémenter au cours du sprint2&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Revue de la structure du code (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T3.2 -&amp;gt; Amélioration du classifieur (Elsa/Quentin)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
*T5. -&amp;gt; Parallélisation des requêtes à l&#039;API TMDB (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation du cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation des statistiques cinématographique utilisateurs (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Ajout du descripteurs &amp;quot;budget&amp;quot; avec normalisation (Edwin)&lt;br /&gt;
*T3.2 -&amp;gt; Mise en place de la fonction de comparaison des combinaisons de descripteurs de films pour faciliter le travail des DUT (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal LSTM (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Changement de la méthode de prédiction de film (Elsa)&lt;br /&gt;
*T6. -&amp;gt; Communication front-back test (Elsa/Quentin)&lt;br /&gt;
* SRS (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec les DUT : aide sur l&#039;installation du projet, clone du projet Github. &lt;br /&gt;
* Préparation de la présentation (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Préparation démo (Quentin &amp;amp; Elsa)&lt;br /&gt;
* Mise à jour Wiki, SRS, Scrumboard (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Aide des DUT  (Edwin &amp;amp; Julian)&lt;br /&gt;
* T3.2 -&amp;gt; Evaluation du modèle et comparaison avec SVM et Perceptron de manière graphique (extraire les données et construire des graphes - csv ou matplotlib) (Sébastien &amp;amp; Marceau)&lt;br /&gt;
* T7. -&amp;gt; Prétraitement des Tweet(Coralie)&lt;br /&gt;
* T5. -&amp;gt; Avancement sur le distribué (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Page de login du front, fix problème de CSS sur les graphes (Quentin)&lt;br /&gt;
* T3.2 -&amp;gt; Amélioration du classifieur, tests en changeant les layers, le batch-size, etc. (Quentin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Préparation du travail qu&#039;Edwin pourra réaliser durant la semaine de vacances (Edwin travaillera en décalé avec le reste du groupe)&lt;br /&gt;
&lt;br /&gt;
Début de la mise en place de la base de données (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
(Edwin a travaillé la semaine précédente, en décallé avec le reste du groupe)&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33872</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33872"/>
		<updated>2017-02-23T08:44:16Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Tâches du Sprint1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
Le scrumboard utilisé pour le projet est visible dans l&#039;onglet Projet de l&#039;organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l&#039;équipe et testée par un autre membre de l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
&lt;br /&gt;
===Sprint dédié aux travaux préparatoires du projet===&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* 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) &lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Établissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint0-Semaine1.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* 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 [http://nlp.stanford.edu/projects/glove/ GloVe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)&lt;br /&gt;
* 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&#039;une méthode plus approfondie pour traiter le Résumé (Coralie).&lt;br /&gt;
* Réflexion sur les choix des différents layers de traitement des données et sur l&#039;étape d&#039;embedding des données (premier traitement) (Edwin).&lt;br /&gt;
* Mise en place d&#039;un système de notation fonctionnel qui permet d&#039;enregistrer les données à partir du front (Quentin).&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
* T1. Établissement des vues principales côté client (recherche et annotation de films)&lt;br /&gt;
* T2. Mise en place du processus de pré-traitement des données (titre, mots clés, résumé, note, artiste, producteur)&lt;br /&gt;
* T3. Mise en place du réseau neuronal (réseau neuronal simple)&lt;br /&gt;
* T4. Mise en place de la structure de test du réseau neuronal (former les corpus de données, cross validation, test de précision)&lt;br /&gt;
* T5. Mise en place de l&#039;environnement système (Docker)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine2.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Préparation du premier sprint :&lt;br /&gt;
** Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint&lt;br /&gt;
** Établissement d&#039;une liste de fonctionnalités, avec une estimation de l&#039;importance et du temps de réalisation de chaque tâche&lt;br /&gt;
** Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard&lt;br /&gt;
* Mise au point sur l&#039;arborescence du git / architecture du projet&lt;br /&gt;
* Installation d&#039;une version GPU pour Keras et Tensor-Flow sur les machines équipées d&#039;un bon GPU&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Réunion avec Didier Donsez : &lt;br /&gt;
** Technologies : storm, spark, flint (temps réel) pour Twitter&lt;br /&gt;
** Distribution : préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker&lt;br /&gt;
** Utiliser Github pour héberger le site web&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Vues &amp;quot;recherche de films&amp;quot;, &amp;quot;annotation de film&amp;quot; et &amp;quot;consultation des films annotés&amp;quot; (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** prétraitement des mots via Glove (Elsa, Edwin, Julian)&lt;br /&gt;
** récupération des données (Julian)&lt;br /&gt;
** mise en place de l&#039;embedding (Edwin)&lt;br /&gt;
** mise en place d&#039;une librairie pour le pré-traitement des données envoyées aux classifieur (Julian)&lt;br /&gt;
** Import des modules (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Chargement des images de films côté client (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot;  + Ajout &amp;quot;genre&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** extraction des données JSON via l&#039;API (Elsa)&lt;br /&gt;
** prétraitement des genres (Julian)&lt;br /&gt;
** prétraitement général (mise en forme de la matrice de données) (Edwin)&lt;br /&gt;
** revue de code (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur sous Keras - Elephas ? (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - travail sur la communication au sein d&#039;un groupe&lt;br /&gt;
* T1. -&amp;gt; Pagination et chargement d&#039;images (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Création d&#039;une première version du classifieur (Elsa, Edwin)&lt;br /&gt;
* T4. -&amp;gt; Validation croisée pour pouvoir tester le classifieur correctement (Edwin &amp;amp; Elsa)&lt;br /&gt;
* T5. -&amp;gt; Installation version GPU sur PC (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur Keras - Elephas (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Déploiement sur github.io (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Insertion de Doc2Vec dans le classifieur (Julian)&lt;br /&gt;
* T3. -&amp;gt; Revue du classifieur pour obtenir une meilleure précision (Elsa &amp;amp; Edwin)&lt;br /&gt;
* T4. -&amp;gt; Mise en place d&#039;un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Annotation de films pour constituer la base d&#039;apprentissage/test (Tous)&lt;br /&gt;
* T5. -&amp;gt; Auto-formation sur Docker (Coralie, Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine3.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - gestion de projet&lt;br /&gt;
* T1. -&amp;gt; Ajout d&#039;un boite de dialogue permettant de visualiser les infos d&#039;un film (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Fix de bugs dans preprocessing (Julian)&lt;br /&gt;
* T4. -&amp;gt; Recherche sur la mise en place de tests avec Python (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Python, Keras et Tensorflow en partant d&#039;un Ubuntu 14 (Edwin)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Spark en partant d&#039;un Ubuntu 14 (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Mr. Amini&lt;br /&gt;
* T1. -&amp;gt; Amélioration de la boîte de dialogue pour les infos (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Preprocessing des acteurs et des realisateurs et ajout des fonction de test associées (Julian)&lt;br /&gt;
* T2. -&amp;gt; Test le modèle D2V sur un analyseur de sentiment de tweets, beaucoup plus objectif que les gouts utilisateurs vis à vis des films (Coralie).&lt;br /&gt;
* T2. -&amp;gt; Mise en place de modules de test unitaires dans MovieProject/tests/unit et suppression de fichiers inutiles dans MovieProject/tests (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Ajout de nouveaux fichiers de tests (json) et évaluation du classifieur de façon générique sur les fichiers json dans MovieProject/resources/evaluation (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Evaluation du classifieur avec la méthode Doc2Vec (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Finalisation de l&#039;image Docker avec Python, Keras et Tensorflow (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Début de la mise en place des différents modèles d&#039;apprentissage en vue de leur comparaison : &lt;br /&gt;
** Réseau neuronal avec Keras (Elsa)&lt;br /&gt;
** Perceptron (Coralie)&lt;br /&gt;
** Modification du prétraitement afin de pouvoir récupérer les matrices de chacune des variables caractérisant un film (Julian)&lt;br /&gt;
* T5. -&amp;gt; Ajout de Spark à l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Poursuite de la création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Poursuite des tests de performance :&lt;br /&gt;
** Test de l&#039;influence de chaque variable des films sur le modèle du perceptron, afin de ne sélectionner que les variables pertinentes (Coralie)&lt;br /&gt;
** Test du réseau neuronal (Elsa)&lt;br /&gt;
** Mise en place d&#039;un SVM pour concurrencer les performances des deux autres modèles (Julian)&lt;br /&gt;
* T5. -&amp;gt; Test de l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Visualisation des statistiques + explications sur la page d&#039;accueil (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Finalisation perceptron + intégration dans evaluation (Coralie)&lt;br /&gt;
* T4. -&amp;gt; Finalisation SVM + intégration dans evaluation (Julian)&lt;br /&gt;
* T4. -&amp;gt; Mise en place du module evaluation et intégration des modifications de classifieur &amp;amp; preprocessing (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Documentation sur Spark (Edwin &amp;amp; Coralie)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint1===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
&lt;br /&gt;
*T1.2. Amélioration du front-end (mise en cache, etc.)&lt;br /&gt;
*T2.2. Ajout de descripteurs (durée, budget, année de production, compagnie de production, appartenance à une sage) en vue d&#039;améliorer notre modèle d&#039;apprentissage.&lt;br /&gt;
*T3.2 Amélioration du réseau neuronal (comparaison avec Perceptron simple, SVM, RN Convolutif)&lt;br /&gt;
*T4. Mise en place de la suggestion de films (vue côté front-end et logique côté back-end)&lt;br /&gt;
*T5. Distribution de l&#039;apprentissage sur plusieurs machines (Docker - Spark - Mesos - Elephas) &amp;amp; Parallélisation requêtes&lt;br /&gt;
*T6. Communication front/back, établissement des routes&lt;br /&gt;
*T7. Analyse de sentiment sur les flux Twitter&lt;br /&gt;
*T8. Mise en place de la base de données pour stocker les informations utilisateurs ainsi que leurs goûts&lt;br /&gt;
*T9. Amélioration Docker (correction de bugs, ajout de la gestion de base de données SQL)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Réunion de fin de sprint1 et de début de sprint0 : discussion autour des avancées, difficultés, retards &amp;amp; établissement fonctionnalités à implémenter au cours du sprint2&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Revue de la structure du code (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T3.2 -&amp;gt; Amélioration du classifieur (Elsa/Quentin)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
*T5. -&amp;gt; Parallélisation des requêtes à l&#039;API TMDB (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation du cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation des statistiques cinématographique utilisateurs (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Ajout du descripteurs &amp;quot;budget&amp;quot; avec normalisation (Edwin)&lt;br /&gt;
*T3.2 -&amp;gt; Mise en place de la fonction de comparaison des combinaisons de descripteurs de films pour faciliter le travail des DUT (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal LSTM (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Changement de la méthode de prédiction de film (Elsa)&lt;br /&gt;
*T6. -&amp;gt; Communication front-back test (Elsa/Quentin)&lt;br /&gt;
* SRS (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec les DUT : aide sur l&#039;installation du projet, clone du projet Github. &lt;br /&gt;
* Préparation de la présentation (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Préparation démo (Quentin &amp;amp; Elsa)&lt;br /&gt;
* Mise à jour Wiki, SRS, Scrumboard (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Aide des DUT  (Edwin &amp;amp; Julian)&lt;br /&gt;
* T3.2 -&amp;gt; Evaluation du modèle et comparaison avec SVM et Perceptron de manière graphique (extraire les données et construire des graphes - csv ou matplotlib) (Sébastien &amp;amp; Marceau)&lt;br /&gt;
* T7. -&amp;gt; Prétraitement des Tweet(Coralie)&lt;br /&gt;
* T5. -&amp;gt; Avancement sur le distribué (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Page de login du front, fix problème de CSS sur les graphes (Quentin)&lt;br /&gt;
* T3.2 -&amp;gt; Amélioration du classifieur, tests en changeant les layers, le batch-size, etc. (Quentin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Préparation du travail qu&#039;Edwin pourra réaliser durant la semaine de vacances (Edwin travaillera en décalé avec le reste du groupe)&lt;br /&gt;
&lt;br /&gt;
Début de la mise en place de la base de données (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
(Edwin a travaillé la semaine précédente, en décallé avec le reste du groupe)&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33871</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33871"/>
		<updated>2017-02-23T08:41:43Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Vendredi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
Le scrumboard utilisé pour le projet est visible dans l&#039;onglet Projet de l&#039;organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l&#039;équipe et testée par un autre membre de l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
&lt;br /&gt;
===Sprint dédié aux travaux préparatoires du projet===&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* 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) &lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Établissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint0-Semaine1.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* 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 [http://nlp.stanford.edu/projects/glove/ GloVe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)&lt;br /&gt;
* 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&#039;une méthode plus approfondie pour traiter le Résumé (Coralie).&lt;br /&gt;
* Réflexion sur les choix des différents layers de traitement des données et sur l&#039;étape d&#039;embedding des données (premier traitement) (Edwin).&lt;br /&gt;
* Mise en place d&#039;un système de notation fonctionnel qui permet d&#039;enregistrer les données à partir du front (Quentin).&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
* T1. Établissement des vues principales côté client (recherche et annotation de films)&lt;br /&gt;
* T2. Mise en place du processus de pré-traitement des données (titre, mots clés, résumé, note, artiste, producteur)&lt;br /&gt;
* T3. Mise en place du réseau neuronal (réseau neuronal simple)&lt;br /&gt;
* T4. Mise en place de la structure de test du réseau neuronal (former les corpus de données, cross validation, test de précision)&lt;br /&gt;
* T5. Mise en place de l&#039;environnement système (Docker)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine2.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Préparation du premier sprint :&lt;br /&gt;
** Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint&lt;br /&gt;
** Établissement d&#039;une liste de fonctionnalités, avec une estimation de l&#039;importance et du temps de réalisation de chaque tâche&lt;br /&gt;
** Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard&lt;br /&gt;
* Mise au point sur l&#039;arborescence du git / architecture du projet&lt;br /&gt;
* Installation d&#039;une version GPU pour Keras et Tensor-Flow sur les machines équipées d&#039;un bon GPU&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Réunion avec Didier Donsez : &lt;br /&gt;
** Technologies : storm, spark, flint (temps réel) pour Twitter&lt;br /&gt;
** Distribution : préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker&lt;br /&gt;
** Utiliser Github pour héberger le site web&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Vues &amp;quot;recherche de films&amp;quot;, &amp;quot;annotation de film&amp;quot; et &amp;quot;consultation des films annotés&amp;quot; (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** prétraitement des mots via Glove (Elsa, Edwin, Julian)&lt;br /&gt;
** récupération des données (Julian)&lt;br /&gt;
** mise en place de l&#039;embedding (Edwin)&lt;br /&gt;
** mise en place d&#039;une librairie pour le pré-traitement des données envoyées aux classifieur (Julian)&lt;br /&gt;
** Import des modules (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Chargement des images de films côté client (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot;  + Ajout &amp;quot;genre&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** extraction des données JSON via l&#039;API (Elsa)&lt;br /&gt;
** prétraitement des genres (Julian)&lt;br /&gt;
** prétraitement général (mise en forme de la matrice de données) (Edwin)&lt;br /&gt;
** revue de code (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur sous Keras - Elephas ? (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - travail sur la communication au sein d&#039;un groupe&lt;br /&gt;
* T1. -&amp;gt; Pagination et chargement d&#039;images (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Création d&#039;une première version du classifieur (Elsa, Edwin)&lt;br /&gt;
* T4. -&amp;gt; Validation croisée pour pouvoir tester le classifieur correctement (Edwin &amp;amp; Elsa)&lt;br /&gt;
* T5. -&amp;gt; Installation version GPU sur PC (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur Keras - Elephas (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Déploiement sur github.io (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Insertion de Doc2Vec dans le classifieur (Julian)&lt;br /&gt;
* T3. -&amp;gt; Revue du classifieur pour obtenir une meilleure précision (Elsa &amp;amp; Edwin)&lt;br /&gt;
* T4. -&amp;gt; Mise en place d&#039;un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Annotation de films pour constituer la base d&#039;apprentissage/test (Tous)&lt;br /&gt;
* T5. -&amp;gt; Auto-formation sur Docker (Coralie, Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine3.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - gestion de projet&lt;br /&gt;
* T1. -&amp;gt; Ajout d&#039;un boite de dialogue permettant de visualiser les infos d&#039;un film (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Fix de bugs dans preprocessing (Julian)&lt;br /&gt;
* T4. -&amp;gt; Recherche sur la mise en place de tests avec Python (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Python, Keras et Tensorflow en partant d&#039;un Ubuntu 14 (Edwin)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Spark en partant d&#039;un Ubuntu 14 (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Mr. Amini&lt;br /&gt;
* T1. -&amp;gt; Amélioration de la boîte de dialogue pour les infos (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Preprocessing des acteurs et des realisateurs et ajout des fonction de test associées (Julian)&lt;br /&gt;
* T2. -&amp;gt; Test le modèle D2V sur un analyseur de sentiment de tweets, beaucoup plus objectif que les gouts utilisateurs vis à vis des films (Coralie).&lt;br /&gt;
* T2. -&amp;gt; Mise en place de modules de test unitaires dans MovieProject/tests/unit et suppression de fichiers inutiles dans MovieProject/tests (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Ajout de nouveaux fichiers de tests (json) et évaluation du classifieur de façon générique sur les fichiers json dans MovieProject/resources/evaluation (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Evaluation du classifieur avec la méthode Doc2Vec (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Finalisation de l&#039;image Docker avec Python, Keras et Tensorflow (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Début de la mise en place des différents modèles d&#039;apprentissage en vue de leur comparaison : &lt;br /&gt;
** Réseau neuronal avec Keras (Elsa)&lt;br /&gt;
** Perceptron (Coralie)&lt;br /&gt;
** Modification du prétraitement afin de pouvoir récupérer les matrices de chacune des variables caractérisant un film (Julian)&lt;br /&gt;
* T5. -&amp;gt; Ajout de Spark à l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Poursuite de la création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Poursuite des tests de performance :&lt;br /&gt;
** Test de l&#039;influence de chaque variable des films sur le modèle du perceptron, afin de ne sélectionner que les variables pertinentes (Coralie)&lt;br /&gt;
** Test du réseau neuronal (Elsa)&lt;br /&gt;
** Mise en place d&#039;un SVM pour concurrencer les performances des deux autres modèles (Julian)&lt;br /&gt;
* T5. -&amp;gt; Test de l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Visualisation des statistiques + explications sur la page d&#039;accueil (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Finalisation perceptron + intégration dans evaluation (Coralie)&lt;br /&gt;
* T4. -&amp;gt; Finalisation SVM + intégration dans evaluation (Julian)&lt;br /&gt;
* T4. -&amp;gt; Mise en place du module evaluation et intégration des modifications de classifieur &amp;amp; preprocessing (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Documentation sur Spark (Edwin &amp;amp; Coralie)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint1===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
&lt;br /&gt;
*T1.2. Amélioration du front-end (mise en cache, etc.)&lt;br /&gt;
*T2.2. Ajout de descripteurs (durée, budget, année de production, compagnie de production, appartenance à une sage) en vue d&#039;améliorer notre modèle d&#039;apprentissage.&lt;br /&gt;
*T3.2 Amélioration du réseau neuronal (comparaison avec Perceptron simple, SVM, RN Convolutif)&lt;br /&gt;
*T4. Mise en place de la suggestion de films (vue côté front-end et logique côté back-end)&lt;br /&gt;
*T5. Distribution de l&#039;apprentissage sur plusieurs machines (Docker - Spark - Mesos - Elephas) &amp;amp; Parallélisation requêtes&lt;br /&gt;
*T6. Communication front/back, établissement des routes&lt;br /&gt;
*T7. Analyse de sentiment sur les flux Twitter&lt;br /&gt;
&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Réunion de fin de sprint1 et de début de sprint0 : discussion autour des avancées, difficultés, retards &amp;amp; établissement fonctionnalités à implémenter au cours du sprint2&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Revue de la structure du code (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T3.2 -&amp;gt; Amélioration du classifieur (Elsa/Quentin)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
*T5. -&amp;gt; Parallélisation des requêtes à l&#039;API TMDB (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation du cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation des statistiques cinématographique utilisateurs (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Ajout du descripteurs &amp;quot;budget&amp;quot; avec normalisation (Edwin)&lt;br /&gt;
*T3.2 -&amp;gt; Mise en place de la fonction de comparaison des combinaisons de descripteurs de films pour faciliter le travail des DUT (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal LSTM (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Changement de la méthode de prédiction de film (Elsa)&lt;br /&gt;
*T6. -&amp;gt; Communication front-back test (Elsa/Quentin)&lt;br /&gt;
* SRS (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec les DUT : aide sur l&#039;installation du projet, clone du projet Github. &lt;br /&gt;
* Préparation de la présentation (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Préparation démo (Quentin &amp;amp; Elsa)&lt;br /&gt;
* Mise à jour Wiki, SRS, Scrumboard (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Aide des DUT  (Edwin &amp;amp; Julian)&lt;br /&gt;
* T3.2 -&amp;gt; Evaluation du modèle et comparaison avec SVM et Perceptron de manière graphique (extraire les données et construire des graphes - csv ou matplotlib) (Sébastien &amp;amp; Marceau)&lt;br /&gt;
* T7. -&amp;gt; Prétraitement des Tweet(Coralie)&lt;br /&gt;
* T5. -&amp;gt; Avancement sur le distribué (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Page de login du front, fix problème de CSS sur les graphes (Quentin)&lt;br /&gt;
* T3.2 -&amp;gt; Amélioration du classifieur, tests en changeant les layers, le batch-size, etc. (Quentin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Préparation du travail qu&#039;Edwin pourra réaliser durant la semaine de vacances (Edwin travaillera en décalé avec le reste du groupe)&lt;br /&gt;
&lt;br /&gt;
Début de la mise en place de la base de données (Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
(Edwin a travaillé la semaine précédente, en décallé avec le reste du groupe)&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33870</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=33870"/>
		<updated>2017-02-23T08:40:17Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Semaine 5 : 20/02 - 26/02 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
Le scrumboard utilisé pour le projet est visible dans l&#039;onglet Projet de l&#039;organisation DeepLearningMovies que nous avons créé sur Github. Chaque tâche est réalisée par un ou plusieurs membre(s) de l&#039;équipe et testée par un autre membre de l&#039;équipe.&lt;br /&gt;
&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
&lt;br /&gt;
===Sprint dédié aux travaux préparatoires du projet===&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* 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) &lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Établissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint0-Semaine1.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* 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 [http://nlp.stanford.edu/projects/glove/ GloVe].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Massih-Reza Amini pour éclaircir le sujet, notamment au sujet du pré-traitement du texte. (Tous)&lt;br /&gt;
* 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&#039;une méthode plus approfondie pour traiter le Résumé (Coralie).&lt;br /&gt;
* Réflexion sur les choix des différents layers de traitement des données et sur l&#039;étape d&#039;embedding des données (premier traitement) (Edwin).&lt;br /&gt;
* Mise en place d&#039;un système de notation fonctionnel qui permet d&#039;enregistrer les données à partir du front (Quentin).&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
* T1. Établissement des vues principales côté client (recherche et annotation de films)&lt;br /&gt;
* T2. Mise en place du processus de pré-traitement des données (titre, mots clés, résumé, note, artiste, producteur)&lt;br /&gt;
* T3. Mise en place du réseau neuronal (réseau neuronal simple)&lt;br /&gt;
* T4. Mise en place de la structure de test du réseau neuronal (former les corpus de données, cross validation, test de précision)&lt;br /&gt;
* T5. Mise en place de l&#039;environnement système (Docker)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine2.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Préparation du premier sprint :&lt;br /&gt;
** Mise au point sur le travail réalisé la semaine passée et sur le travail à réaliser durant le sprint&lt;br /&gt;
** Établissement d&#039;une liste de fonctionnalités, avec une estimation de l&#039;importance et du temps de réalisation de chaque tâche&lt;br /&gt;
** Sélection des fonctionnalités à réaliser au cours du Sprint, remplissage du Scrumboard&lt;br /&gt;
* Mise au point sur l&#039;arborescence du git / architecture du projet&lt;br /&gt;
* Installation d&#039;une version GPU pour Keras et Tensor-Flow sur les machines équipées d&#039;un bon GPU&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Réunion avec Didier Donsez : &lt;br /&gt;
** Technologies : storm, spark, flint (temps réel) pour Twitter&lt;br /&gt;
** Distribution : préparer un déploiement sur GRID5000, contacter Olivier Richard et préparer un container Docker&lt;br /&gt;
** Utiliser Github pour héberger le site web&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Vues &amp;quot;recherche de films&amp;quot;, &amp;quot;annotation de film&amp;quot; et &amp;quot;consultation des films annotés&amp;quot; (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** prétraitement des mots via Glove (Elsa, Edwin, Julian)&lt;br /&gt;
** récupération des données (Julian)&lt;br /&gt;
** mise en place de l&#039;embedding (Edwin)&lt;br /&gt;
** mise en place d&#039;une librairie pour le pré-traitement des données envoyées aux classifieur (Julian)&lt;br /&gt;
** Import des modules (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Chargement des images de films côté client (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Prétraitement des données &amp;quot;titre&amp;quot;, &amp;quot;mots clés&amp;quot;, &amp;quot;résumé&amp;quot;, &amp;quot;notes&amp;quot;  + Ajout &amp;quot;genre&amp;quot; (Edwin, Elsa, Coralie, Julian)&lt;br /&gt;
** prétraitement des textes via Doc2Vec (Coralie)&lt;br /&gt;
** extraction des données JSON via l&#039;API (Elsa)&lt;br /&gt;
** prétraitement des genres (Julian)&lt;br /&gt;
** prétraitement général (mise en forme de la matrice de données) (Edwin)&lt;br /&gt;
** revue de code (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur sous Keras - Elephas ? (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - travail sur la communication au sein d&#039;un groupe&lt;br /&gt;
* T1. -&amp;gt; Pagination et chargement d&#039;images (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Création d&#039;une première version du classifieur (Elsa, Edwin)&lt;br /&gt;
* T4. -&amp;gt; Validation croisée pour pouvoir tester le classifieur correctement (Edwin &amp;amp; Elsa)&lt;br /&gt;
* T5. -&amp;gt; Installation version GPU sur PC (Julian)&lt;br /&gt;
* T5. -&amp;gt; Recherche d&#039;un moyen de distribuer le classifieur Keras - Elephas (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Déploiement sur github.io (Quentin)&lt;br /&gt;
* T3. -&amp;gt; Insertion de Doc2Vec dans le classifieur (Julian)&lt;br /&gt;
* T3. -&amp;gt; Revue du classifieur pour obtenir une meilleure précision (Elsa &amp;amp; Edwin)&lt;br /&gt;
* T4. -&amp;gt; Mise en place d&#039;un système de test du classifieur automatisé avec k validations croisées pour les films enregistrés dans un fichier JSON (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Annotation de films pour constituer la base d&#039;apprentissage/test (Tous)&lt;br /&gt;
* T5. -&amp;gt; Auto-formation sur Docker (Coralie, Edwin)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-Semaine3.jpg|1400px|middle]]&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Cours de MPI - gestion de projet&lt;br /&gt;
* T1. -&amp;gt; Ajout d&#039;un boite de dialogue permettant de visualiser les infos d&#039;un film (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Fix de bugs dans preprocessing (Julian)&lt;br /&gt;
* T4. -&amp;gt; Recherche sur la mise en place de tests avec Python (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Python, Keras et Tensorflow en partant d&#039;un Ubuntu 14 (Edwin)&lt;br /&gt;
* T5. -&amp;gt; Mise en place de l&#039;image Docker avec Spark en partant d&#039;un Ubuntu 14 (Coralie)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec Mr. Amini&lt;br /&gt;
* T1. -&amp;gt; Amélioration de la boîte de dialogue pour les infos (Quentin)&lt;br /&gt;
* T2. -&amp;gt; Preprocessing des acteurs et des realisateurs et ajout des fonction de test associées (Julian)&lt;br /&gt;
* T2. -&amp;gt; Test le modèle D2V sur un analyseur de sentiment de tweets, beaucoup plus objectif que les gouts utilisateurs vis à vis des films (Coralie).&lt;br /&gt;
* T2. -&amp;gt; Mise en place de modules de test unitaires dans MovieProject/tests/unit et suppression de fichiers inutiles dans MovieProject/tests (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Ajout de nouveaux fichiers de tests (json) et évaluation du classifieur de façon générique sur les fichiers json dans MovieProject/resources/evaluation (Elsa)&lt;br /&gt;
* T4. -&amp;gt; Evaluation du classifieur avec la méthode Doc2Vec (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Finalisation de l&#039;image Docker avec Python, Keras et Tensorflow (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Début de la mise en place des différents modèles d&#039;apprentissage en vue de leur comparaison : &lt;br /&gt;
** Réseau neuronal avec Keras (Elsa)&lt;br /&gt;
** Perceptron (Coralie)&lt;br /&gt;
** Modification du prétraitement afin de pouvoir récupérer les matrices de chacune des variables caractérisant un film (Julian)&lt;br /&gt;
* T5. -&amp;gt; Ajout de Spark à l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Poursuite de la création de statistiques sur les goûts utilisateurs côté client (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Poursuite des tests de performance :&lt;br /&gt;
** Test de l&#039;influence de chaque variable des films sur le modèle du perceptron, afin de ne sélectionner que les variables pertinentes (Coralie)&lt;br /&gt;
** Test du réseau neuronal (Elsa)&lt;br /&gt;
** Mise en place d&#039;un SVM pour concurrencer les performances des deux autres modèles (Julian)&lt;br /&gt;
* T5. -&amp;gt; Test de l&#039;image Docker (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
* T1. -&amp;gt; Visualisation des statistiques + explications sur la page d&#039;accueil (Quentin)&lt;br /&gt;
* T4. -&amp;gt; Finalisation perceptron + intégration dans evaluation (Coralie)&lt;br /&gt;
* T4. -&amp;gt; Finalisation SVM + intégration dans evaluation (Julian)&lt;br /&gt;
* T4. -&amp;gt; Mise en place du module evaluation et intégration des modifications de classifieur &amp;amp; preprocessing (Elsa)&lt;br /&gt;
* T5. -&amp;gt; Documentation sur Spark (Edwin &amp;amp; Coralie)&lt;br /&gt;
&lt;br /&gt;
===État du scrumboard en fin du Sprint1===&lt;br /&gt;
&lt;br /&gt;
[[File:Sprint1-end-Scrumboard.png|1080px|middle]]&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
&lt;br /&gt;
===Tâches du Sprint1===&lt;br /&gt;
&lt;br /&gt;
*T1.2. Amélioration du front-end (mise en cache, etc.)&lt;br /&gt;
*T2.2. Ajout de descripteurs (durée, budget, année de production, compagnie de production, appartenance à une sage) en vue d&#039;améliorer notre modèle d&#039;apprentissage.&lt;br /&gt;
*T3.2 Amélioration du réseau neuronal (comparaison avec Perceptron simple, SVM, RN Convolutif)&lt;br /&gt;
*T4. Mise en place de la suggestion de films (vue côté front-end et logique côté back-end)&lt;br /&gt;
*T5. Distribution de l&#039;apprentissage sur plusieurs machines (Docker - Spark - Mesos - Elephas) &amp;amp; Parallélisation requêtes&lt;br /&gt;
*T6. Communication front/back, établissement des routes&lt;br /&gt;
*T7. Analyse de sentiment sur les flux Twitter&lt;br /&gt;
&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
* Réunion de fin de sprint1 et de début de sprint0 : discussion autour des avancées, difficultés, retards &amp;amp; établissement fonctionnalités à implémenter au cours du sprint2&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Revue de la structure du code (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Mise en place d&#039;un cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T3.2 -&amp;gt; Amélioration du classifieur (Elsa/Quentin)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal de convolution (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Amélioration de la prédiction de film (Elsa)&lt;br /&gt;
*T5. -&amp;gt; Mise en place d&#039;un cluster Spark via Mesos (Edwin)&lt;br /&gt;
*T5. -&amp;gt; Parallélisation des requêtes à l&#039;API TMDB (Julian)&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation du cache local côté front pour éviter de faire trop de requêtes à l&#039;API TMDB (Quentin)&lt;br /&gt;
*T1.2 -&amp;gt; Finalisation des statistiques cinématographique utilisateurs (Quentin)&lt;br /&gt;
*T2.2. -&amp;gt; Ajout du descripteurs &amp;quot;budget&amp;quot; avec normalisation (Edwin)&lt;br /&gt;
*T3.2 -&amp;gt; Mise en place de la fonction de comparaison des combinaisons de descripteurs de films pour faciliter le travail des DUT (Julian)&lt;br /&gt;
*T3.2. -&amp;gt; Mise en place d&#039;un réseau neuronal LSTM (Coralie)&lt;br /&gt;
*T4. -&amp;gt; Changement de la méthode de prédiction de film (Elsa)&lt;br /&gt;
*T6. -&amp;gt; Communication front-back test (Elsa/Quentin)&lt;br /&gt;
* SRS (Edwin)&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
* Rendez-vous avec les DUT : aide sur l&#039;installation du projet, clone du projet Github. &lt;br /&gt;
* Préparation de la présentation (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Préparation démo (Quentin &amp;amp; Elsa)&lt;br /&gt;
* Mise à jour Wiki, SRS, Scrumboard (Elsa &amp;amp; Edwin)&lt;br /&gt;
* Aide des DUT  (Edwin &amp;amp; Julian)&lt;br /&gt;
* T3.2 -&amp;gt; Evaluation du modèle et comparaison avec SVM et Perceptron de manière graphique (extraire les données et construire des graphes - csv ou matplotlib) (Sébastien &amp;amp; Marceau)&lt;br /&gt;
* T7. -&amp;gt; Prétraitement des Tweet(Coralie)&lt;br /&gt;
* T5. -&amp;gt; Avancement sur le distribué (Julian)&lt;br /&gt;
* T1.2 -&amp;gt; Page de login du front, fix problème de CSS sur les graphes (Quentin)&lt;br /&gt;
* T3.2 -&amp;gt; Amélioration du classifieur, tests en changeant les layers, le batch-size, etc. (Quentin)&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
* Préparation du travail qu&#039;Edwin pourra réaliser durant la semaine de vacances (Edwin travaillera en décalé avec le reste du groupe)&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
(Edwin a travaillé la semaine précédente, en décallé avec le reste du groupe)&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
====Lundi====&lt;br /&gt;
&lt;br /&gt;
====Mardi====&lt;br /&gt;
&lt;br /&gt;
====Mercredi====&lt;br /&gt;
&lt;br /&gt;
====Jeudi====&lt;br /&gt;
&lt;br /&gt;
====Vendredi====&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33791</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33791"/>
		<updated>2017-02-16T09:33:28Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Fonctionnalités et performances du système */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
* [http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&#039;&#039;&#039;Keras&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Tensor Flow&lt;br /&gt;
&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&#039;&#039;&#039;TODO : Schéma communication entre le back et le front&#039;&#039;&#039;&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre des screens du site à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre un schéma de notre architecture si on est en application réparties (communication entre le master et les slaves)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre un schéma UML de l&#039;application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Spécifités du système=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A garder ???&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A changer ? (nom fonctions, ajout des goûts twitter etc...)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== F1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== F2 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prétraiter les données d&#039;une liste de film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Prétraite les données d&#039;une liste de film afin de les rendrent compréhensible par le modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Liste de films (leur id) chargé depuis le fichier JSON d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F1, API TMDBSimple, Glove/Doc2Vec&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F3&lt;br /&gt;
&lt;br /&gt;
=== F3 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer un modèle d&#039;apprentissage d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Crée et entraîne le modèle d&#039;apprentissage qui va comprendre les goûts cinématographique d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice des données prétraitées correspondant aux films notés par l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Back-end&lt;br /&gt;
&lt;br /&gt;
=== F4 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prédiction d&#039;une liste de film que l&#039;utilisateur pourrait potentiellement aimer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le système va soumettre une liste aléatoire ou selectionné de films et il va demander au modèle de prédiction si ces films correspondent au goût d&#039;un utilisateur. Il a besoin de prétraiter ses données.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
F3, F2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F5&lt;br /&gt;
&lt;br /&gt;
=== F5 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Recommander à l&#039;utilisateur des films&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le site va soumettre à l&#039;utilisateur une liste de films correspondant à ses goûts cinématographique&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Back-end, il faut que l&#039;utilisateur ait renseigné ses goûts.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Interface utilisateur&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommandation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33790</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33790"/>
		<updated>2017-02-16T09:32:57Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Description du produit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
* [http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&#039;&#039;&#039;Keras&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Tensor Flow&lt;br /&gt;
&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&#039;&#039;&#039;TODO : Schéma communication entre le back et le front&#039;&#039;&#039;&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre des screens du site à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre un schéma de notre architecture si on est en application réparties (communication entre le master et les slaves)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre un schéma UML de l&#039;application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Spécifités du système=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A garder ???&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A changer ?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== F1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== F2 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prétraiter les données d&#039;une liste de film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Prétraite les données d&#039;une liste de film afin de les rendrent compréhensible par le modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Liste de films (leur id) chargé depuis le fichier JSON d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F1, API TMDBSimple, Glove/Doc2Vec&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F3&lt;br /&gt;
&lt;br /&gt;
=== F3 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer un modèle d&#039;apprentissage d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Crée et entraîne le modèle d&#039;apprentissage qui va comprendre les goûts cinématographique d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice des données prétraitées correspondant aux films notés par l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Back-end&lt;br /&gt;
&lt;br /&gt;
=== F4 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prédiction d&#039;une liste de film que l&#039;utilisateur pourrait potentiellement aimer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le système va soumettre une liste aléatoire ou selectionné de films et il va demander au modèle de prédiction si ces films correspondent au goût d&#039;un utilisateur. Il a besoin de prétraiter ses données.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
F3, F2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F5&lt;br /&gt;
&lt;br /&gt;
=== F5 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Recommander à l&#039;utilisateur des films&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le site va soumettre à l&#039;utilisateur une liste de films correspondant à ses goûts cinématographique&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Back-end, il faut que l&#039;utilisateur ait renseigné ses goûts.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Interface utilisateur&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommandation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33788</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33788"/>
		<updated>2017-02-16T09:30:54Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Interface utilisateur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
* [http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&#039;&#039;&#039;Keras&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Tensor Flow&lt;br /&gt;
&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre des screens du site à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&lt;br /&gt;
=== Contraintes mémoires ===&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Spécifités du système=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A garder ???&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A changer ?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== F1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== F2 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prétraiter les données d&#039;une liste de film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Prétraite les données d&#039;une liste de film afin de les rendrent compréhensible par le modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Liste de films (leur id) chargé depuis le fichier JSON d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F1, API TMDBSimple, Glove/Doc2Vec&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F3&lt;br /&gt;
&lt;br /&gt;
=== F3 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer un modèle d&#039;apprentissage d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Crée et entraîne le modèle d&#039;apprentissage qui va comprendre les goûts cinématographique d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice des données prétraitées correspondant aux films notés par l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Back-end&lt;br /&gt;
&lt;br /&gt;
=== F4 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prédiction d&#039;une liste de film que l&#039;utilisateur pourrait potentiellement aimer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le système va soumettre une liste aléatoire ou selectionné de films et il va demander au modèle de prédiction si ces films correspondent au goût d&#039;un utilisateur. Il a besoin de prétraiter ses données.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
F3, F2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F5&lt;br /&gt;
&lt;br /&gt;
=== F5 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Recommander à l&#039;utilisateur des films&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le site va soumettre à l&#039;utilisateur une liste de films correspondant à ses goûts cinématographique&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Back-end, il faut que l&#039;utilisateur ait renseigné ses goûts.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Interface utilisateur&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommandation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33787</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33787"/>
		<updated>2017-02-16T09:30:02Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Fonctionnalités et performances du système */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
* [http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&#039;&#039;&#039;Keras&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Tensor Flow&lt;br /&gt;
&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&lt;br /&gt;
=== Contraintes mémoires ===&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Spécifités du système=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A garder ???&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A changer ?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== F1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== F2 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prétraiter les données d&#039;une liste de film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Prétraite les données d&#039;une liste de film afin de les rendrent compréhensible par le modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Liste de films (leur id) chargé depuis le fichier JSON d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F1, API TMDBSimple, Glove/Doc2Vec&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F3&lt;br /&gt;
&lt;br /&gt;
=== F3 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer un modèle d&#039;apprentissage d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Crée et entraîne le modèle d&#039;apprentissage qui va comprendre les goûts cinématographique d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice des données prétraitées correspondant aux films notés par l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Back-end&lt;br /&gt;
&lt;br /&gt;
=== F4 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prédiction d&#039;une liste de film que l&#039;utilisateur pourrait potentiellement aimer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le système va soumettre une liste aléatoire ou selectionné de films et il va demander au modèle de prédiction si ces films correspondent au goût d&#039;un utilisateur. Il a besoin de prétraiter ses données.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
F3, F2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F5&lt;br /&gt;
&lt;br /&gt;
=== F5 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Recommander à l&#039;utilisateur des films&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le site va soumettre à l&#039;utilisateur une liste de films correspondant à ses goûts cinématographique&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Back-end, il faut que l&#039;utilisateur ait renseigné ses goûts.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Interface utilisateur&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommandation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33786</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33786"/>
		<updated>2017-02-16T09:29:39Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Conception de l&amp;#039;interface du système */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
* [http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&#039;&#039;&#039;Keras&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Tensor Flow&lt;br /&gt;
&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&lt;br /&gt;
=== Contraintes mémoires ===&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Spécifités du système=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A garder ???&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
=== F1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== F2 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prétraiter les données d&#039;une liste de film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Prétraite les données d&#039;une liste de film afin de les rendrent compréhensible par le modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Liste de films (leur id) chargé depuis le fichier JSON d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F1, API TMDBSimple, Glove/Doc2Vec&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F3&lt;br /&gt;
&lt;br /&gt;
=== F3 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer un modèle d&#039;apprentissage d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Crée et entraîne le modèle d&#039;apprentissage qui va comprendre les goûts cinématographique d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice des données prétraitées correspondant aux films notés par l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Back-end&lt;br /&gt;
&lt;br /&gt;
=== F4 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prédiction d&#039;une liste de film que l&#039;utilisateur pourrait potentiellement aimer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le système va soumettre une liste aléatoire ou selectionné de films et il va demander au modèle de prédiction si ces films correspondent au goût d&#039;un utilisateur. Il a besoin de prétraiter ses données.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
F3, F2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F5&lt;br /&gt;
&lt;br /&gt;
=== F5 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Recommander à l&#039;utilisateur des films&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le site va soumettre à l&#039;utilisateur une liste de films correspondant à ses goûts cinématographique&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Back-end, il faut que l&#039;utilisateur ait renseigné ses goûts.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Interface utilisateur&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommandation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33763</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33763"/>
		<updated>2017-02-15T14:59:58Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Specific requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
Keras&lt;br /&gt;
&lt;br /&gt;
Tensor Flow&lt;br /&gt;
&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&lt;br /&gt;
=== Contraintes mémoires ===&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Spécifités du système=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre des screens du site à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
=== F1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== F2 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prétraiter les données d&#039;une liste de film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Prétraite les données d&#039;une liste de film afin de les rendrent compréhensible par le modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Liste de films (leur id) chargé depuis le fichier JSON d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F1, API TMDBSimple, Glove/Doc2Vec&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F3&lt;br /&gt;
&lt;br /&gt;
=== F3 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer un modèle d&#039;apprentissage d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Crée et entraîne le modèle d&#039;apprentissage qui va comprendre les goûts cinématographique d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice des données prétraitées correspondant aux films notés par l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Back-end&lt;br /&gt;
&lt;br /&gt;
=== F4 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prédiction d&#039;une liste de film que l&#039;utilisateur pourrait potentiellement aimer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le système va soumettre une liste aléatoire ou selectionné de films et il va demander au modèle de prédiction si ces films correspondent au goût d&#039;un utilisateur. Il a besoin de prétraiter ses données.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
F3, F2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F5&lt;br /&gt;
&lt;br /&gt;
=== F5 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Recommander à l&#039;utilisateur des films&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le site va soumettre à l&#039;utilisateur une liste de films correspondant à ses goûts cinématographique&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Back-end, il faut que l&#039;utilisateur ai renseigné ses goûts.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Interface utilisateur&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommandation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33762</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33762"/>
		<updated>2017-02-15T14:59:05Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Bibliographie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
Keras&lt;br /&gt;
&lt;br /&gt;
Tensor Flow&lt;br /&gt;
&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&lt;br /&gt;
=== Contraintes mémoires ===&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Specific requirements=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre des screens du site à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
=== F1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== F2 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prétraiter les données d&#039;une liste de film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Prétraite les données d&#039;une liste de film afin de les rendrent compréhensible par le modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Liste de films (leur id) chargé depuis le fichier JSON d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F1, API TMDBSimple, Glove/Doc2Vec&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F3&lt;br /&gt;
&lt;br /&gt;
=== F3 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer un modèle d&#039;apprentissage d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Crée et entraîne le modèle d&#039;apprentissage qui va comprendre les goûts cinématographique d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice des données prétraitées correspondant aux films notés par l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Back-end&lt;br /&gt;
&lt;br /&gt;
=== F4 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prédiction d&#039;une liste de film que l&#039;utilisateur pourrait potentiellement aimer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le système va soumettre une liste aléatoire ou selectionné de films et il va demander au modèle de prédiction si ces films correspondent au goût d&#039;un utilisateur. Il a besoin de prétraiter ses données.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
F3, F2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F5&lt;br /&gt;
&lt;br /&gt;
=== F5 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Recommander à l&#039;utilisateur des films&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le site va soumettre à l&#039;utilisateur une liste de films correspondant à ses goûts cinématographique&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Back-end, il faut que l&#039;utilisateur ai renseigné ses goûts.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Interface utilisateur&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommandation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33760</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33760"/>
		<updated>2017-02-15T14:56:25Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* F5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
Keras&lt;br /&gt;
Tensor Flow&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&lt;br /&gt;
=== Contraintes mémoires ===&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Specific requirements=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre des screens du site à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
=== F1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== F2 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prétraiter les données d&#039;une liste de film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Prétraite les données d&#039;une liste de film afin de les rendrent compréhensible par le modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Liste de films (leur id) chargé depuis le fichier JSON d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F1, API TMDBSimple, Glove/Doc2Vec&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F3&lt;br /&gt;
&lt;br /&gt;
=== F3 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer un modèle d&#039;apprentissage d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Crée et entraîne le modèle d&#039;apprentissage qui va comprendre les goûts cinématographique d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice des données prétraitées correspondant aux films notés par l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Back-end&lt;br /&gt;
&lt;br /&gt;
=== F4 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prédiction d&#039;une liste de film que l&#039;utilisateur pourrait potentiellement aimer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le système va soumettre une liste aléatoire ou selectionné de films et il va demander au modèle de prédiction si ces films correspondent au goût d&#039;un utilisateur. Il a besoin de prétraiter ses données.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
F3, F2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F5&lt;br /&gt;
&lt;br /&gt;
=== F5 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Recommander à l&#039;utilisateur des films&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le site va soumettre à l&#039;utilisateur une liste de films correspondant à ses goûts cinématographique&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Back-end, il faut que l&#039;utilisateur ai renseigné ses goûts.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Interface utilisateur&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommendation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33759</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33759"/>
		<updated>2017-02-15T14:29:58Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* F1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
Keras&lt;br /&gt;
Tensor Flow&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&lt;br /&gt;
=== Contraintes mémoires ===&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Specific requirements=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre des screens du site à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
=== F1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== F2 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prétraiter les données d&#039;une liste de film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Prétraite les données d&#039;une liste de film afin de les rendrent compréhensible par le modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Liste de films (leur id) chargé depuis le fichier JSON d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F1, API TMDBSimple, Glove/Doc2Vec&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F3&lt;br /&gt;
&lt;br /&gt;
=== F3 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer un modèle d&#039;apprentissage d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Crée et entraîne le modèle d&#039;apprentissage qui va comprendre les goûts cinématographique d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice des données prétraitées correspondant aux films notés par l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Matrice de données. Chaque ligne correspond aux informations d&#039;un film.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Back-end&lt;br /&gt;
&lt;br /&gt;
=== F4 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prédiction d&#039;une liste de film que l&#039;utilisateur pourrait potentiellement aimer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le système va soumettre une liste aléatoire ou selectionné de films et il va demander au modèle de prédiction si ces films correspondent au goût d&#039;un utilisateur. Il a besoin de prétraiter ses données.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
F3, F2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F5&lt;br /&gt;
&lt;br /&gt;
=== F5 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Prédiction d&#039;une liste de film que l&#039;utilisateur pourrait potentiellement aimer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le système va soumettre une liste aléatoire ou selectionné de films et il va demander au modèle de prédiction si ces films correspondent au goût d&#039;un utilisateur. Il a besoin de prétraiter ses données.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
F3, F2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
F2, Keras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Liste des films pouvant intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
F5&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommendation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33757</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33757"/>
		<updated>2017-02-15T14:09:43Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Description pour chaque fonctionnalité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
Keras&lt;br /&gt;
Tensor Flow&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&lt;br /&gt;
=== Contraintes mémoires ===&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Specific requirements=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre des screens du site à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
=== F1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer le modèle pour un &lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON.&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné.&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommendation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33756</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33756"/>
		<updated>2017-02-15T14:08:26Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Fonctionnalités et performances du système */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
== Définitions, acronymes et abréviations ==&lt;br /&gt;
Deep Learning : ensemble de méthodes d&#039;apprentissage automatiques visant à modéliser avec un haut niveau d’abstraction un ensemble de données.&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
Keras&lt;br /&gt;
Tensor Flow&lt;br /&gt;
En savoir plus sur le DeepLearning&lt;br /&gt;
Aide de Mr Amini : site&lt;br /&gt;
Angular Material : lien&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts. L&#039;application sera plus efficace sur des cinéphiles car ils pourront annoter un grand nombre de buts, mais elle a aussi la prétention de pouvoir être utile à un internaute lambda sans condition sur ses connaissances cinématographiques.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Description du produit==&lt;br /&gt;
&lt;br /&gt;
=== Interface système ===&lt;br /&gt;
&lt;br /&gt;
=== Interface utilisateur ===&lt;br /&gt;
&lt;br /&gt;
=== Interface hardware ===&lt;br /&gt;
&lt;br /&gt;
=== Interface software ===&lt;br /&gt;
&lt;br /&gt;
=== Contraintes mémoires ===&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Specific requirements=&lt;br /&gt;
&lt;br /&gt;
==Conception de l&#039;interface du système==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre des screens du site à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités et performances du système ==&lt;br /&gt;
&lt;br /&gt;
=== Description pour chaque fonctionnalité ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Récupérer les préférences d&#039;un utilisateur&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON.&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné.&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fonction&#039;&#039;&#039;:&lt;br /&gt;
Entrainer le modèle pour un &lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;:&lt;br /&gt;
Le back-end va récupérer tout les films qu&#039;un utilisateur a noté ainsi que leur note (j&#039;aime ou j&#039;aime pas) et va les sauvegarder dans un fichier JSON.&lt;br /&gt;
&#039;&#039;&#039;Inputs&#039;&#039;&#039;:&lt;br /&gt;
Nom utilisateur&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;:&lt;br /&gt;
Site internet&lt;br /&gt;
&#039;&#039;&#039;Outputs&#039;&#039;&#039;:&lt;br /&gt;
Fichier JSON correspondant aux préférences de l&#039;utilisateur concerné.&lt;br /&gt;
&#039;&#039;&#039;Destination&#039;&#039;&#039;:&lt;br /&gt;
Modèle d&#039;apprentissage&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://air.imag.fr/index.php/SRS&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
=Bibliographie=&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommendation :&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33738</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33738"/>
		<updated>2017-02-15T08:49:18Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Conception du frontend du site */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
Le site web réalisé permettra à l&#039;utilisateur d&#039;explorer de nouvelles possibilités cinématiques, et par la suite d&#039;accéder à son compte pour avoir des suggestions de films rapidement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A changer à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : Mettre des screens du site à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
==Bibliographie==&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommendation&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33737</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33737"/>
		<updated>2017-02-15T08:45:40Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Contraintes générales */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
Le site web réalisé permettra à l&#039;utilisateur d&#039;explorer de nouvelles possibilités cinématiques, et par la suite d&#039;accéder à son compte pour avoir des suggestions de films rapidement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A changer à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
* l&#039;API TDMBSimple limite le nombre de requêtes à la base de données à 40 par seconde. Peut potentiellement énormément ralentir les services.&lt;br /&gt;
*Le modèle de prédiction doit être assez fiable pour prédire correctement un nombre conséquent de films pouvant potentiellemennt plaire à l&#039;utilisateur (70%-80%).&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
==Bibliographie==&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommendation&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33736</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33736"/>
		<updated>2017-02-15T08:41:23Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Cas d&amp;#039;utilisations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
Le site web réalisé permettra à l&#039;utilisateur d&#039;explorer de nouvelles possibilités cinématiques, et par la suite d&#039;accéder à son compte pour avoir des suggestions de films rapidement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO : A changer à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
==Bibliographie==&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommendation&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33735</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33735"/>
		<updated>2017-02-15T08:41:10Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Cas d&amp;#039;utilisations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
Le site web réalisé permettra à l&#039;utilisateur d&#039;explorer de nouvelles possibilités cinématiques, et par la suite d&#039;accéder à son compte pour avoir des suggestions de films rapidement.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO : A changer à la fin du projet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
==Bibliographie==&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommendation&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33734</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=33734"/>
		<updated>2017-02-15T08:39:50Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Caractéristiques utilisateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçus pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performante que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données statique pourra alors être affiné en temps réel grâce aux nouvelles opinions exprimées par l’utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leurs goûts.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a appréciés et de ceux qu&#039;il n&#039;a pas appréciés. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions personnalisées, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précise comparée à celles se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcés d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentative de tous les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire s&#039;il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinions sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films s&#039;il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Caractéristiques utilisateurs==&lt;br /&gt;
Les utilisateurs doivent posséder une certaine culture cinématographique pour constituer une base d&#039;apprentissage, en fonction des films qu&#039;ils ont préalablement visionnés et de leur avis sur ceux-ci. En revanche, aucune compétence informatique spécifique n&#039;est requise, de sorte qu&#039;un utilisateur novice puisse utiliser l&#039;application. L&#039;interface doit donc être intuitive et extrêmement simple d&#039;utilisation.&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
Le site web réalisé permettra à l&#039;utilisateur d&#039;explorer de nouvelles possibilités cinématiques, et par la suite d&#039;accéder à son compte pour avoir des suggestions de films rapidement.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
* L&#039;apprentissage machine doit reposer sur TensorFlow (Keras)&lt;br /&gt;
* Les données en entrées proviennent de l&#039;API TMDB et des API Twitter (API REST 1.1 pour les données historiques ou API Streaming pour les données temps réelles)&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
* API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
* API REST 1.1 : https://dev.twitter.com/rest/public&lt;br /&gt;
* API STREAMING : https://dev.twitter.com/streaming/overview&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;br /&gt;
&lt;br /&gt;
==Bibliographie==&lt;br /&gt;
&lt;br /&gt;
Articles sur les systèmes de recommendation&lt;br /&gt;
&lt;br /&gt;
*spotify - http://benanne.github.io/2014/08/05/spotify-cnns.html#contentbased&lt;br /&gt;
*youtube - https://static.googleusercontent.com/media/research.google.com/fr//pubs/archive/45530.pdf&lt;br /&gt;
*https://www.atala.org/IMG/pdf/1-Poirier-TAL51-3.pdf&lt;br /&gt;
&lt;br /&gt;
Explication des termes deep learning :&lt;br /&gt;
&lt;br /&gt;
*https://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-core-concepts/&lt;br /&gt;
&lt;br /&gt;
Exemple simple pour prendre en main Keras :&lt;br /&gt;
&lt;br /&gt;
*http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/&lt;br /&gt;
*http://machinelearningmastery.com/introduction-python-deep-learning-library-keras/&lt;br /&gt;
*http://tryhera.com/&lt;br /&gt;
&lt;br /&gt;
API TMDB :&lt;br /&gt;
&lt;br /&gt;
*https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
Tuto Django + AngularJS :&lt;br /&gt;
&lt;br /&gt;
*https://thinkster.io/django-angularjs-tutorial#rendering-post-objects&lt;br /&gt;
&lt;br /&gt;
DOC2VEC :&lt;br /&gt;
&lt;br /&gt;
*https://github.com/nisarg64/Sentiment-Analysis-Word2Vec&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=https://rare-technologies.com/doc2vec-tutorial/&amp;amp;prev=search&lt;br /&gt;
*https://translate.google.fr/translate?hl=fr&amp;amp;sl=en&amp;amp;u=http://linanqiu.github.io/2015/10/07/word2vec-sentiment/&amp;amp;prev=search&lt;br /&gt;
&lt;br /&gt;
Embedding layers : &lt;br /&gt;
&lt;br /&gt;
*http://stats.stackexchange.com/questions/182775/what-is-an-embedding-layer-in-a-neural-network&lt;br /&gt;
*https://github.com/ririw/ririw.github.io/blob/master/assets/Recommending%20movies.ipynb&lt;br /&gt;
*http://blog.richardweiss.org/2016/09/25/movie-embeddings.html&lt;br /&gt;
&lt;br /&gt;
Python API - Flask :&lt;br /&gt;
&lt;br /&gt;
*http://flask.pocoo.org/docs/0.12/quickstart/#accessing-request-data&lt;br /&gt;
&lt;br /&gt;
Grid&#039;5000 :&lt;br /&gt;
*https://www.grid5000.fr/mediawiki/index.php/Grid5000:Get_an_account&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=32843</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=32843"/>
		<updated>2017-01-26T13:29:49Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet de fin d&#039;études DeepMovies 2016-2017&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
Dédié aux travaux préparatoires du projet :&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Etablissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Recherche mise en place API-REST Python pour le back-end (Julian)&lt;br /&gt;
* Mise en place du front-end - première requêtes - choix Angular pour communiquer avec une API-REST (Quentin)&lt;br /&gt;
* Traitement de données simple en se basant juste sur le vote des utilisateurs de TMDb sur les films (Edwin, Coralie, Elsa)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;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)&lt;br /&gt;
* Recherche de la transformation de texte en valeurs numériques (String to Float) (Elsa)&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Analyse_des_besoins_-_Recommandation_intelligente_de_films&amp;diff=32841</id>
		<title>Analyse des besoins - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Analyse_des_besoins_-_Recommandation_intelligente_de_films&amp;diff=32841"/>
		<updated>2017-01-26T13:25:19Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Équipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le questionnaire d&#039;Analyse des besoins du projet Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Questions et résultats =&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Suggestion_intelligente_de_films_bas%C3%A9e_sur_TensorFlow&amp;diff=32840</id>
		<title>Suggestion intelligente de films basée sur TensorFlow</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Suggestion_intelligente_de_films_bas%C3%A9e_sur_TensorFlow&amp;diff=32840"/>
		<updated>2017-01-26T13:23:50Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Équipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projets_2016-2017| &#039;&#039;&#039;Lien vers la page des projets 2016-2017&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données relativement statique pourra alors être affiné en temps réel grâce à l&#039;analyse des opinions exprimées par les flux Twitter.&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Livrables =&lt;br /&gt;
* [[Fiche de suivi - Recommandation intelligente de films| &#039;&#039;&#039;Fiche de suivi&#039;&#039;&#039;]]&lt;br /&gt;
* [[Dossier de Conception Système - Recommandation intelligente de films| &#039;&#039;&#039;Dossier de Conception Système&#039;&#039;&#039;]]&lt;br /&gt;
* [[Analyse des besoins - Recommandation intelligente de films| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [[Maquette - Recommandation intelligente de films| &#039;&#039;&#039;Maquette&#039;&#039;&#039;]]&lt;br /&gt;
* [[SRS - Recommandation intelligente de films| &#039;&#039;&#039;SRS&#039;&#039;&#039;]]&lt;br /&gt;
* [[Modèle de tâches -  Recommandation intelligente de films| &#039;&#039;&#039;Modèle de tâches&#039;&#039;&#039;]]&lt;br /&gt;
* [[Conception de l&#039;interface - Recommandation intelligente de films| &#039;&#039;&#039;Conception de l&#039;interface&#039;&#039;&#039;]]&lt;br /&gt;
* [[Scrum - Recommandation intelligente de films| &#039;&#039;&#039;Scrum&#039;&#039;&#039;]]&lt;br /&gt;
* [https://github.com/ShuuNii/MoviesDeepLearning&#039;&#039;&#039;Dépôt Git&#039;&#039;&#039;]&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=32837</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=32837"/>
		<updated>2017-01-26T13:22:59Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Équipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet ECOM 2016-2017 : Site d&#039;annonces.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin (Responsable innovation)&lt;br /&gt;
* Hattinguais Julian (Responsable qualité)&lt;br /&gt;
* Navarro Elsa (Responsable communication, Médiatrice)&lt;br /&gt;
* Dunand Quentin (Responsable des deadlines,Responsable du front-end)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
Dédié aux travaux préparatoires du projet :&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Etablissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;un modèle de Deep Learning capable de prédire si une personne va aimer un film ou non en fonction de sa note.&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=32836</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=32836"/>
		<updated>2017-01-26T13:12:41Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Semaine 1 : 23/01 - 29/01 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet ECOM 2016-2017 : Site d&#039;annonces.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_de_films_basée_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Sprint 0 ==&lt;br /&gt;
Dédié aux travaux préparatoires du projet :&lt;br /&gt;
* Debriefing autour du projet&lt;br /&gt;
* Renseignements sur les technologies et principaux défis techniques&lt;br /&gt;
* Choix technologiques&lt;br /&gt;
* Préparation des environnements&lt;br /&gt;
* Etablissement de la liste des exigences fonctionnelles et non fonctionnelles&lt;br /&gt;
&lt;br /&gt;
=== Semaine 1 : 23/01 - 29/01 ===&lt;br /&gt;
* Mise en place du wiki (Edwin)&lt;br /&gt;
* Recherche sur les technologies et les problèmes techniques (Tous)&lt;br /&gt;
* Prise RDV avec Massih-Reza Amini pour renseignements (Coralie)&lt;br /&gt;
* Mise en place d&#039;un agenda pour le suivi du projet (Coralie)&lt;br /&gt;
* Comment lier l&#039;API au front-end ? AngularJS ou Polymer ? ... (Quentin)&lt;br /&gt;
&lt;br /&gt;
* Mise en place de l&#039;architecture (Tous) avant de faire un prototype comme prévu.&lt;br /&gt;
* Installation, compréhension et manipulation de Keras (Tous)&lt;br /&gt;
* Mise en place d&#039;un prototype capable de récolter grâce à l&#039;API de TMDB les informations de films ciblés. Puis construction d&#039;un modèle de Deep Learning capable de prédire si une personne va aimer un film ou non en fonction de sa note.&lt;br /&gt;
&lt;br /&gt;
== Sprint 1 ==&lt;br /&gt;
=== Semaine 2 : 30/01 - 05/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
=== Semaine 3 : 06/02 - 12/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Sprint 2 ==&lt;br /&gt;
=== Semaine 4 : 13/02 - 19/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
=== Semaine 5 : 20/02 - 26/02 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Sprint 3 ==&lt;br /&gt;
=== Semaine 6 : 27/02 - 05/03 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
=== Semaine 7 : 06/03 - 12/03 ===&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32760</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32760"/>
		<updated>2017-01-24T14:54:50Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
Qui n&#039;a pas rêvé d&#039;avoir une liste de films correspondant exactement à ses goûts cinématographiques ? Beaucoup d&#039;algorithmes ont été conçu pour tenter d&#039;adapter une liste de film en fonction des goûts de l&#039;utilisateur mais manquaient d&#039;efficacité.&lt;br /&gt;
Avec l’essor de l&#039;intelligence artificielle et des réseaux neuronaux, de nouveaux outils émergent afin de mieux comprendre le comportement et les goûts humains. Nous avons donc décidé de développer un système capable de comprendre les goûts cinématographiques d&#039;un humain de manière bien plus performant que les algorithmes déjà conçu dans ce but là.&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, matériel ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données relativement statique pourra alors être affiné en temps réel grâce à l&#039;analyse des opinions exprimées par les flux Twitter. &lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leur goût propre.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a apprécié et de ceux qu&#039;il n&#039;a pas apprécié. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions sur mesure, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précises que pour les produits se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcé d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentatif de tout les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire si il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinion sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films si il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
Toute personne souhaitant avoir une suggestion de film à regarder. Il sera présupposé que la personne a un minimum de culture cinématographique sinon le modèle de Deep Learning aura du mal à comprendre ses goûts. En effet, si l&#039;utilisateur ne connait aucun film, il ne pourra pas dire si il les aime ou non...&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
==Présentation du site==&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32752</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32752"/>
		<updated>2017-01-24T14:45:02Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Evolutions potentielles du produit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, matériel ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données relativement statique pourra alors être affiné en temps réel grâce à l&#039;analyse des opinions exprimées par les flux Twitter. &lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leur goût propre.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a apprécié et de ceux qu&#039;il n&#039;a pas apprécié. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
L&#039;apport principal par rapport aux produits concurrents est de réaliser des prédictions sur mesure, grâce à l&#039;utilisation de l&#039;apprentissage automatique et à l&#039;établissement d&#039;un modèle propre à chaque utilisateur. La suggestion devrait donc être plus précises que pour les produits se basant sur la similarité des goûts entre utilisateurs. Deux utilisateurs appréciant un même film, ne sont en effet pas forcé d&#039;apprécier tous les deux un autre film.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentatif de tout les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire si il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinion sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films si il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
Toute personne souhaitant avoir une suggestion de film à regarder. Il sera présupposé que la personne a un minimum de culture cinématographique sinon le modèle de Deep Learning aura du mal à comprendre ses goûts. En effet, si l&#039;utilisateur ne connait aucun film, il ne pourra pas dire si il les aime ou non...&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Multi utilisateurs : Une session de préférence par utilisateur. De plus, les goûts des utilisateurs seront sauvegardés afin qu&#039;à la prochaine connexion, le modèle de Deep Learning soit prêt à prédire des films correspondant au goût de l&#039;utilisateur concerné.&lt;br /&gt;
*Prédire les films &amp;quot;tendance&amp;quot; du moment en priorité. Le site affichera en priorité les films les plus populaire du moment et correspondant aux goûts de *l&#039;utilisateur. Pour cela, il scannera les tweets de Tweeter en temps réel et cherchera une correspondance entre les tweets de films populaires et ceux prédis par le modèle pour l&#039;utilisateur concerné. &lt;br /&gt;
*Utiliser des systèmes distribués afin d&#039;améliorer les performances d&#039;apprentissage du modèle de Deep Learning et de l&#039;analyse en temps réel de Tweeter.&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
==Présentation du site==&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32750</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32750"/>
		<updated>2017-01-24T14:40:24Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Utilisateurs potentiels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, matériel ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données relativement statique pourra alors être affiné en temps réel grâce à l&#039;analyse des opinions exprimées par les flux Twitter. &lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
&lt;br /&gt;
Le produit est destiné aux utilisateurs désireux de générer automatiquement des recommandations de films en fonction de leur goût propre.&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a apprécié et de ceux qu&#039;il n&#039;a pas apprécié. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentatif de tout les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire si il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinion sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films si il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
Toute personne souhaitant avoir une suggestion de film à regarder. Il sera présupposé que la personne a un minimum de culture cinématographique sinon le modèle de Deep Learning aura du mal à comprendre ses goûts. En effet, si l&#039;utilisateur ne connait aucun film, il ne pourra pas dire si il les aime ou non...&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
==Présentation du site==&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32748</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32748"/>
		<updated>2017-01-24T14:37:27Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Fonctionnalités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, matériel ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données relativement statique pourra alors être affiné en temps réel grâce à l&#039;analyse des opinions exprimées par les flux Twitter. &lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a apprécié et de ceux qu&#039;il n&#039;a pas apprécié. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
*Il proposera tout d&#039;abord une liste de films représentatif de tout les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire si il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinion sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films si il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
==Présentation du site==&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32747</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32747"/>
		<updated>2017-01-24T14:37:16Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Fonctionnalités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
&lt;br /&gt;
==But du document ==&lt;br /&gt;
Le but de ce document SRS est de fournir une vue d&#039;ensemble détaillée de notre système logiciel, ses paramètres et buts. Ce document décrit le public cible du projet et son interface utilisateur, matériel ainsi que les spécifications du logiciel. Ce document est destiné tant aux utilisateurs qu&#039;aux développeurs du logiciel.&lt;br /&gt;
&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
Le but de ce projet est d&#039;explorer les possibilités du Deep Learning sur des données dont les variables sont hétérogènes et multidimensionnelles, ceci au travers de la suggestion intelligente de films s&#039;adaptant aux goûts de l&#039;utilisateur. Grâce à un système de réseaux neuronaux et d&#039;une base de données conséquente de films (TMDb), le site proposera une liste de suggestions de films personnalisée par utilisateur. Le modèle créé sur une base de données relativement statique pourra alors être affiné en temps réel grâce à l&#039;analyse des opinions exprimées par les flux Twitter. &lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
&lt;br /&gt;
Le produit doit permettre à l&#039;utilisateur d&#039;obtenir des recommandations intelligentes de films en fonction des films qu&#039;il a apprécié et de ceux qu&#039;il n&#039;a pas apprécié. Cette recommandation doit tenir compte de la proximité des films les uns par rapport aux autres en terme de genre, synopsie, acteurs, réalisateurs, etc. Mais doit également tenir compte de la popularité des films et des tendances actuelles grâce à l&#039;analyse en temps réel des flux Twitter.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
Le site est conçu pour un utilisateur et ne sauvegarde que temporairement les choix de celui-ci.&lt;br /&gt;
&lt;br /&gt;
Il proposera tout d&#039;abord une liste de films représentatif de tout les genres, réalisateurs, acteurs... du cinéma. L&#039;utilisateur pourra pour chaque film, dire si il aime, n&#039;aime pas ou n&#039;a pas d&#039;opinion sur ce film.&lt;br /&gt;
*Ensuite, en fonction des réponses de l&#039;utilisateur, le site prédira grâce à un système de Deep Learning les films pouvant potentiellement plaire à l&#039;utilisateur et les affichera avec leurs détails.&lt;br /&gt;
*L&#039;utilisateur pourra ensuite noter ces nouveaux films si il le souhaite, et une nouvelle liste de films se générera afin de mieux s&#039;adapter aux goûts de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
&lt;br /&gt;
==Dépendances==&lt;br /&gt;
API de la base de donnée de film TMDB : https://developers.themoviedb.org/3/people&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
==Présentation du site==&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Suggestion_intelligente_des_films_bas%C3%A9_sur_TensorFlow&amp;diff=32740</id>
		<title>Suggestion intelligente des films basé sur TensorFlow</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Suggestion_intelligente_des_films_bas%C3%A9_sur_TensorFlow&amp;diff=32740"/>
		<updated>2017-01-24T14:09:29Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: /* Livrables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projets_2016-2017| &#039;&#039;&#039;Lien vers la page des projets 2016-2017&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
Le but de ce projet est de créer un site de films innovant permettant de s&#039;adapter aux préférences de l&#039;utilisateur pour lui suggérer les films correspondant à ses goûts. Grâce à un système de réseau neuronales (Deep Learning) et une base de données conséquentes de films, le site proposera une liste de suggestions de film personnalisé par utilisateur.&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
= Livrables =&lt;br /&gt;
* [[Fiche de suivi - Recommandation intelligente de films| &#039;&#039;&#039;Fiche de suivi et sprint scrums&#039;&#039;&#039;]]&lt;br /&gt;
* [[Dossier de Conception Système - Recommandation intelligente de films| &#039;&#039;&#039;Dossier de Conception Système&#039;&#039;&#039;]]&lt;br /&gt;
* [[Analyse des besoins - Recommandation intelligente de films| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [[Maquette - Recommandation intelligente de films| &#039;&#039;&#039;Maquette&#039;&#039;&#039;]]&lt;br /&gt;
* [[SRS - Recommandation intelligente de films| &#039;&#039;&#039;SRS&#039;&#039;&#039;]]&lt;br /&gt;
* [[Modèle de tâches -  Recommandation intelligente de films| &#039;&#039;&#039;Modèle de tâches&#039;&#039;&#039;]]&lt;br /&gt;
* [[Conception de l&#039;interface - Recommandation intelligente de films| &#039;&#039;&#039;Conception de l&#039;interface&#039;&#039;&#039;]]&lt;br /&gt;
* [https://github.com/ShuuNii/MoviesDeepLearning&#039;&#039;&#039;Dépôt Git&#039;&#039;&#039;]&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Suggestion_intelligente_des_films_bas%C3%A9_sur_TensorFlow&amp;diff=32738</id>
		<title>Suggestion intelligente des films basé sur TensorFlow</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Suggestion_intelligente_des_films_bas%C3%A9_sur_TensorFlow&amp;diff=32738"/>
		<updated>2017-01-24T14:09:09Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projets_2016-2017| &#039;&#039;&#039;Lien vers la page des projets 2016-2017&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
Le but de ce projet est de créer un site de films innovant permettant de s&#039;adapter aux préférences de l&#039;utilisateur pour lui suggérer les films correspondant à ses goûts. Grâce à un système de réseau neuronales (Deep Learning) et une base de données conséquentes de films, le site proposera une liste de suggestions de film personnalisé par utilisateur.&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
&lt;br /&gt;
= Livrables =&lt;br /&gt;
* [[Fiche de suivi - Recommandation intelligente de films| &#039;&#039;&#039;Fiche de suivi et sprint scrums&#039;&#039;&#039;]]&lt;br /&gt;
* [[Dossier de Conception Système - Recommandation intelligente de films| &#039;&#039;&#039;Dossier de Conception Système&#039;&#039;&#039;]]&lt;br /&gt;
* [[Analyse des besoins - Recommandation intelligente de films| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [[Maquette - Recommandation intelligente de films| &#039;&#039;&#039;Maquette&#039;&#039;&#039;]]&lt;br /&gt;
* [[SRS - Recommandation intelligente de films| &#039;&#039;&#039;SRS&#039;&#039;&#039;]]&lt;br /&gt;
* [[Modèle de tâches -  Recommandation intelligente de films| &#039;&#039;&#039;Modèle de tâches&#039;&#039;&#039;]]&lt;br /&gt;
* [[Conception de l&#039;interface - Recommandation intelligente de films| &#039;&#039;&#039;Conception de l&#039;interface&#039;&#039;&#039;]]&lt;br /&gt;
* [[Scrum - Recommandation intelligente de films| &#039;&#039;&#039;Scrum&#039;&#039;&#039;]]&lt;br /&gt;
* [https://github.com/ShuuNii/MoviesDeepLearning&#039;&#039;&#039;Dépôt Git&#039;&#039;&#039;]&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_de_l%27interface_-_Recommandation_intelligente_de_films&amp;diff=32737</id>
		<title>Conception de l&#039;interface - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_de_l%27interface_-_Recommandation_intelligente_de_films&amp;diff=32737"/>
		<updated>2017-01-24T14:07:06Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: Created page with &amp;quot;La conception de l&amp;#039;interface de notre site de film s&amp;#039;est fait en plusieurs phases.   &amp;#039;&amp;#039;&amp;#039;Page d&amp;#039;accueil du projet&amp;#039;&amp;#039;&amp;#039; ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La conception de l&#039;interface de notre site de film s&#039;est fait en plusieurs phases.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet - Scrum Master)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
* Dunand Quentin&lt;br /&gt;
=Organisation et choix du sujet=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Discussion sur les fonctionnalités et la valeur ajoutée du produit=&lt;br /&gt;
&lt;br /&gt;
=Développement de la maquette du produit=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Conception des modèles de tâches et graphes UML=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mise en commun et révision de la maquette et des modèles de tâches=&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Mod%C3%A8le_de_t%C3%A2ches_-_Recommandation_intelligente_de_films&amp;diff=32692</id>
		<title>Modèle de tâches - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Mod%C3%A8le_de_t%C3%A2ches_-_Recommandation_intelligente_de_films&amp;diff=32692"/>
		<updated>2017-01-24T09:43:53Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les modèles de tâches du projet Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Mod%C3%A8le_de_t%C3%A2ches_-_Recommandation_intelligente_de_films&amp;diff=32691</id>
		<title>Modèle de tâches - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Mod%C3%A8le_de_t%C3%A2ches_-_Recommandation_intelligente_de_films&amp;diff=32691"/>
		<updated>2017-01-24T09:43:30Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: Created page with &amp;quot;Voici les modèles de tâches du projet Recommandation intelligente de films.   &amp;#039;&amp;#039;&amp;#039;Page d&amp;#039;accueil du projet&amp;#039;&amp;#039;&amp;#039;  = Équipe = * Rachex Coralie (Ch...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici les modèles de tâches du projet Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[ECOM2016 : Site d&#039;annonces| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32690</id>
		<title>SRS - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Recommandation_intelligente_de_films&amp;diff=32690"/>
		<updated>2017-01-24T09:40:05Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: Created page with &amp;quot;Voici la fiche SRS du projet  Recommandation intelligente de films.   &amp;#039;&amp;#039;&amp;#039;Page d&amp;#039;accueil du projet&amp;#039;&amp;#039;&amp;#039;  = Équipe = * ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS du projet  Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
&lt;br /&gt;
=Introduction =&lt;br /&gt;
==Objectif du projet ==&lt;br /&gt;
&lt;br /&gt;
==Portée du produit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Description générale=&lt;br /&gt;
==Le but du produit==&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
&lt;br /&gt;
=Conception du frontend du site=&lt;br /&gt;
==Présentation du site==&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Maquette_-_Recommandation_intelligente_de_films&amp;diff=32688</id>
		<title>Maquette - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Maquette_-_Recommandation_intelligente_de_films&amp;diff=32688"/>
		<updated>2017-01-24T09:34:52Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: Created page with &amp;quot;Voici la Maquette du projet Recommandation intelligente de films.   &amp;#039;&amp;#039;&amp;#039;Page d&amp;#039;accueil du projet&amp;#039;&amp;#039;&amp;#039;  = Équipe = * Ra...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Maquette du projet Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
&lt;br /&gt;
= Pages du site =&lt;br /&gt;
== Page principale ==&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Analyse_des_besoins_-_Recommandation_intelligente_de_films&amp;diff=32687</id>
		<title>Analyse des besoins - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Analyse_des_besoins_-_Recommandation_intelligente_de_films&amp;diff=32687"/>
		<updated>2017-01-24T09:32:25Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: Created page with &amp;quot;Voici le questionnaire d&amp;#039;Analyse des besoins du projet Recommandation intelligente de films.  [[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &amp;#039;&amp;#039;&amp;#039;Page d&amp;#039;accueil du pr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le questionnaire d&#039;Analyse des besoins du projet Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
&lt;br /&gt;
= Questions et résultats =&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Dossier_de_Conception_Syst%C3%A8me_-_Recommandation_intelligente_de_films&amp;diff=32685</id>
		<title>Dossier de Conception Système - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Dossier_de_Conception_Syst%C3%A8me_-_Recommandation_intelligente_de_films&amp;diff=32685"/>
		<updated>2017-01-24T09:29:51Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le Dossier de Conception Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
&lt;br /&gt;
= Architecture du Système =&lt;br /&gt;
== Diagramme de contexte ==&lt;br /&gt;
&lt;br /&gt;
== Diagramme de composants ==&lt;br /&gt;
&lt;br /&gt;
=== Vue logique ===&lt;br /&gt;
&lt;br /&gt;
=== Vue physique===&lt;br /&gt;
&lt;br /&gt;
=== Interface Web ===&lt;br /&gt;
&lt;br /&gt;
=== Interface Administrateur ===&lt;br /&gt;
&lt;br /&gt;
=== Base de données Utilisateurs et Films ===&lt;br /&gt;
&lt;br /&gt;
=== Base de données Metrics ===&lt;br /&gt;
&lt;br /&gt;
=== Contrôleur ===&lt;br /&gt;
&lt;br /&gt;
== Schéma d&#039;implémentation ==&lt;br /&gt;
&lt;br /&gt;
== Diagrammes de Séquence ==&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Dossier_de_Conception_Syst%C3%A8me_-_Recommandation_intelligente_de_films&amp;diff=32684</id>
		<title>Dossier de Conception Système - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Dossier_de_Conception_Syst%C3%A8me_-_Recommandation_intelligente_de_films&amp;diff=32684"/>
		<updated>2017-01-24T09:28:44Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: Created page with &amp;quot;Voici le Dossier de Conception Recommandation intelligente de films.   &amp;#039;&amp;#039;&amp;#039;Page d&amp;#039;accueil du projet&amp;#039;&amp;#039;&amp;#039;  = Équipe = *...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le Dossier de Conception Recommandation intelligente de films.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
&lt;br /&gt;
= Architecture du Système =&lt;br /&gt;
== Diagramme de contexte ==&lt;br /&gt;
&lt;br /&gt;
== Diagramme de composants ==&lt;br /&gt;
=== Vue logique ===&lt;br /&gt;
=== Vue physique===&lt;br /&gt;
=== Interface Web ===.&lt;br /&gt;
&lt;br /&gt;
=== Interface Administrateur ===&lt;br /&gt;
&lt;br /&gt;
=== Base de données Utilisateurs et Annonces ===&lt;br /&gt;
&lt;br /&gt;
=== Base de données Metrics ===&lt;br /&gt;
&lt;br /&gt;
=== Contrôleur ===&lt;br /&gt;
&lt;br /&gt;
== Schéma d&#039;implémentation ==&lt;br /&gt;
&lt;br /&gt;
== Diagrammes de Séquence ==&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=32682</id>
		<title>Fiche de suivi - Recommandation intelligente de films</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Recommandation_intelligente_de_films&amp;diff=32682"/>
		<updated>2017-01-24T09:25:32Z</updated>

		<summary type="html">&lt;p&gt;Edwin.Niogret: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du projet ECOM 2016-2017 : Site d&#039;annonces.&lt;br /&gt;
&lt;br /&gt;
[[Suggestion_intelligente_des_films_basé_sur_TensorFlow| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rachex Coralie (Chef de projet)&lt;br /&gt;
* Niogret Edwin&lt;br /&gt;
* Hattinguais Julian&lt;br /&gt;
* Navarro Elsa&lt;br /&gt;
&lt;br /&gt;
= Avancé du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
* Travail sur le wiki&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Edwin.Niogret</name></author>
	</entry>
</feed>