Projet 9 de ma formation d'Ingénieur IA : Réalisez une application de recommandation de contenu

V. RENARD f8c3d77795 final commit 8 months ago
App 46f7ef8940 Add webapp 8 months ago
Function 46f7ef8940 Add webapp 8 months ago
export f8c3d77795 final commit 8 months ago
images 9acec2a6c0 add images 8 months ago
.gitignore 07f5c18cef update gitignore 8 months ago
README.md 7784e2fff8 Create function 8 months ago
RENARD_Vincent_1_Notebook_092022.ipynb 5ea5183da5 Reupload notebook 8 months ago
RENARD_Vincent_2_Presentation_092022.md f8c3d77795 final commit 8 months ago
azure_arch_P09.drawio 0479730f2b update pres 8 months ago
azure_arch_P09.drawio.png 9acec2a6c0 add images 8 months ago
my-theme.css 6fbe3f5efb first commit 8 months ago
test.ipynb 46f7ef8940 Add webapp 8 months ago

README.md

Projet 9 : Réalisez une application de recommandation de contenu

logo

Contexte du projet

My Content est une start-up qui veut encourager la lecture en recommandant des contenus pertinents pour ses utilisateurs

Objectifs

  • "En tant qu’utilisateur de l’application, je vais recevoir une sélection de cinq articles."

Deux architectures sont possibles :

  • Dans la première architecture, tu crées une API pour développer puis exposer ton système de recommandation. Pour faire le lien entre l’application et le système de recommandation, tu crées une Azure Function.
  • Dans la deuxième architecture, tu peux te passer de l’API, en exploitant les fonctionnalités “Azure Blob storage input binding” pour récupérer directement les fichiers et modèles, et en intégrant tes prédictions directement dans ton Azure Functions.

Une petite astuce : si tu veux mettre en production le fichier “embeddings” et qu’il est trop volumineux par rapport à tes limitations d’utilisation des services gratuits Azure, tu peux réaliser une réduction de dimension de ce fichier via une ACP.

En résumé, votre mission est la suivante :

  • développer une première version de votre système de recommandation sous forme d’Azure Functions;

  • réaliser une application simple de gestion du système de recommandation (interface d’affichage d’une liste d’id utilisateurs, d’appel Azure functions pour l’id choisi, et d’affichage des 5 articles recommandés)

  • stocker les scripts développés dans un dossier GitHub ;

  • synthétiser vos premières réflexions sur :

    • l’architecture technique et la description fonctionnelle de votre application à date, et le système de recommandation,
    • l’architecture cible pour pouvoir prendre en compte l’ajout de nouveaux utilisateurs ou de nouveaux articles, que vous présenterez à Samia.

Livrables

  1. Une application simple complétée avec le système de recommandation en serverless qui recevra en entrée un identifiant utilisateur et retournera les recommandations d’articles associées (par exemple le top 5)
  2. Les scripts développés, stockés dans un système de gestion de version (Git en local avec push sur Github) permettant le déploiement de l’application de bout-en-bout.
  3. Un support de présentation (PowerPoint ou équivalent, sauvegardé au format pdf, 15 à 25 slides), contenant une brève description fonctionnelle de l’application, une présentation des différents modèles analysés et de leurs avantages et inconvénients, un schéma de l’architecture retenue, une présentation du système de recommandation utilisé et un schéma de l’architecture cible permettant de prendre en compte la création de nouveaux utilisateurs et de nouveaux articles.

Compétences évaluées

Sélectionner l’architecture logicielle permettant de répondre au besoin métier

❒ les différentes briques d’architecture nécessaires pour la réalisation de la solution répondant au besoin métier ont été identifiées

❒ la description fonctionnelle de chaque brique d’architecture a été réalisée

❒ les besoins de mise à jour des bases de données Utilisateurs et Articles ont été pris en compte dans la description fonctionnelle

❒ une explication sous forme de schéma des différentes briques de l’architecture logicielle a été élaborée

Concevoir des scripts permettant d’exécuter une chaîne de traitements IA bout-en-bout

❒ les scripts permettant d’entraîner et de tester le modèle de recommandation ont été développés et testés

❒ au moins un des algorithmes de chacune des deux approches (CF et content-based) de système de recommandation a été testé

❒ la fonction serverless renvoyant la prédiction du modèle intégrée à l’application mobile a été testée

❒ les scripts sont découpés en fonctions et/ou classes permettant une meilleure lisibilité et une meilleure maintenabilité du code

❒ les scripts sont stockés dans un dossier GitHub