1 of 16

Projet 9��Réaliser une application mobile de recommandation de contenu���

Yana PALYVODA le 23/06/2021

2 of 16

Sommaire

  • Introduction
  • Données
  • Modèles évalués
  • Architecture technique
  • Application mobile
  • Conclusion
  • Sources
  • Annexes

3 of 16

Introduction - Problématique du métier et des pistes de recherche envisagées

Palyvoda Yana

1

Actions :

    • Définir l’architecture technique d’application
    • Créer un système de recommandation
    • Intégrer le système dans l’app mobile

Questions:

Quels sont:

    • les objectifs et besoins de l’entreprise ?
    • les moyens à disposition ?
    • les données à prendre en compte ?

Pistes de recherche :

​

        • Tester Collaborative Filtering et Content-based filtering
        • Utiliser Azure function

Les systèmes de recommandations ont une place particulièrement importante dans le marketing en ligne.

4 of 16

L’objectif:

Tester une solution de recommandation d’articles et de livres à des particuliers.

Introduction - Contexte du projet, objectif et résultat

Palyvoda Yana

Contexte du projet:

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

​

Résultats:

Un premier MVP qui prendra la forme d’une application mobile. 

2

5 of 16

Introduction - Environnement

PALYVODA Yana

Environnement de développement et librairies utilisées

3

6 of 16

Données – Source

PALYVODA Yana

4

Globo.com a fourni cet ensemble de données sur des articles pour la recherche par la communauté académique

7 of 16

Données – Analyse exploratoire et préparation

PALYVODA Yana

5

Nombre

  • d’utilisateurs: 322 897
  • d’articles: 364 047
  • de catégorie d’articles: 461
  • moyens de cliques par session: 2.85
  • moyens d’articles lu par l’utilisateur: 9.25
  • moyens de cliques d’utilisateur

par l’article: 1.01

Préparation:

​

  • Création d’un fichier « interactions »

pour 10 000 utilisateurs

  • Ajout dans le Word embedding la catégorie d’article
  • Création d’un fichier « articles » avec « article_id » uniquement

8 of 16

Modèles évalués

PALYVODA Yana

6

avantages :

  • Pas besoin d’informations sur les produits

inconvénients : 

  • Démarrage à froid
  • Difficulté de gestion d’une grande quantité de produits

​

avantages : 

  • Pas besoin de données sur les autres utilisateurs. 
  • Recommandation des produits rares
  • Recommandation pour les utilisateurs ayant un goût unique.

inconvénients : 

  • Sélection des bonnes “features”
  • Démarrage à froid

Number of user: 10000

TOP N: 600

Number of hit 229

Hit Rate: 0.0229

SVD - RMSE: 0.5383

NMF - RMSE: 0.5344

Alternating Least Squares

precision_at_k: 0.29

9 of 16

Architecture technique

PALYVODA Yana

7

Interface utilisateur

    • App mobile

Couche métier

    • Azure fonction

Couche données

    • Stockage Azure

10 of 16

Architecture technique MVP

PALYVODA Yana

8

Interactions user-article

​

​

Word Embedding

​

ID three last article read by user

Id User

Recomended articles

Azure Stockage

Azure function

HTTP triggers

Request contain

id User

Start session

USER

Page WEB

Vector similarity

Similaires articles

​

Features

Vectors

Average of the

user's vectors

11 of 16

Architecture technique cible

PALYVODA Yana

9

Interactions user-article

​

Word Embedding

​

Articles

Azure Stockage

Azure function

Update interaction data

Timer trigger

Users

Web log

New interaction data

Registration

New user data

Add user

Add article

New

article data

?

Azure function

HTTP trigger

Azure function

Timer trigger / HTTP trigger ?

Extraction of a textual features vector

of a new article

by a pre-trained model

New

article

Features Vector

of the new article

Source of data

12 of 16

Application mobile

PALYVODA Yana

10

13 of 16

​

​

​

Conclusion

PALYVODA Yana

�

�

11

Conclusions:

Deux systèmes de recommandation ont été testés:

  • Filtrage collaboratif (Collaborative Filtering)
  • Filtrage basé sur le contenu (content-based filtering)

Ces deux méthodes ont différents avantages et inconvénients. Il est souvent nécessaire d’utiliser plusieurs approches et de les combiner pour avoir une meilleure recommandation. La solution définitive sera validé à l’issue de tests utilisateurs.

Pour le MVP, le modèle content-based filtering a été intégré dans l’application mobile.

​

Axes d’amélioration:

  • Tester les modèles de recommandation combinés
  • Utiliser le Service Table au lié du Service Blob pour le stockage (données structurées)
  • Afin d’améliorer la performance de l’application, précalculer les prédictions à chaque mis à jour de la table « interactions » et stocker ces prédictions dans le stockage Azure
  • Utiliser les données supplémentaires lors de la sélection des articles:

les données sur l’utilisateur (localisation, etc) et sur l’article(nombre de mots, etc)

  • Demander à l’utilisateur de remplir un formulaire de préférences lors de l’enregistrement dans l’application

14 of 16

Sources�

​

​

  • Prototyping a Recommender System Step by Step

https://towardsdatascience.com/prototyping-a-recommender-system-step-by-step-part-1-knn-item-based-collaborative-filtering-637969614ea

​

  • Comparison of different Word Embeddings on Text Similarity

https://intellica-ai.medium.com/comparison-of-different-word-embeddings-on-text-similarity-a-use-case-in-nlp-e83e08469c1c

​

  • Evaluating Recommendation Systems 

https://medium.com/fnplus/evaluating-recommender-systems-with-python-code-ae0c370c90be

​

​

​

​

​

​

​

​

​

​

​

​

​

​

Sources

PALYVODA Yana

12

15 of 16

Annexe - GitHub

PALYVODA Yana

13

16 of 16

Annexe -Déploiement AZURE

PALYVODA Yana

14