paint-brush
Comprendre les barrières à la sortie dans le système de recommandation d'Amazonpar@escholar
680 lectures
680 lectures

Comprendre les barrières à la sortie dans le système de recommandation d'Amazon

Trop long; Pour lire

Cette section détaille la méthodologie derrière l'analyse des barrières à la sortie dans le système de recommandation d'Amazon, décrivant le processus de calcul, les considérations relatives aux données, la formulation du modèle statistique et les tests d'hypothèses pour comprendre la dynamique des préférences des utilisateurs et leurs évolutions au fil du temps.
featured image - Comprendre les barrières à la sortie dans le système de recommandation d'Amazon
EScholar: Electronic Academic Papers for Scholars HackerNoon profile picture
0-item

Auteurs:

(1) Jonathan H. Rystrøm.

Tableau des liens

Résumé et introduction

Littérature précédente

Méthodes et données

Résultats

Discussions

Conclusions et références

A. Validation des hypothèses

B. Autres modèles

C. Étapes de prétraitement

3 Méthodes et données

3.1 Définir les barrières à la sortie

À un niveau élevé, la barrière à la sortie mesure l'effort que les utilisateurs doivent déployer pour signaler que leurs préférences ont changé (Rakova et Chowdhury, 2019). Il est défini en termes de rapidité avec laquelle les préférences révélées des utilisateurs pour une catégorie spécifique changent entre les seuils d'interaction. Dans cette section, nous motiverons l'intuition de la barrière à la sortie et formaliserons le concept dans le contexte du système de recommandation d'Amazon.


Figure 1 : Une représentation schématique du flux de contrôle dans les systèmes de recommandation, vu du point de vue de l'utilisateur (a) et de l'IAmodel (b). Adapté de Rakova et Chowdhury (2019).


Pour comprendre le rôle de la barrière à la sortie et comment il peut être calculé à partir des notes, considérons un diagramme de l'interaction entre l'utilisateur et le système de recommandation (« modèle IA »), comme le montre la figure 1.


Les deux diagrammes (a) et (b) montrent des boucles de rétroaction avec l'utilisateur et le modèle, respectivement, en tant que « superviseurs ». La juxtaposition montre l'interaction double face comme le soutiennent Jiang et al. (2019). Le diagramme comporte plusieurs éléments : µ correspond à l'intérêt de l'utilisateur, Θ au modèle, α aux recommandations affichées et c aux préférences révélées (c'est-à-dire le signal que le modèle utilise pour mettre à jour les recommandations). Les indices désignent des pas de temps allant de gauche à droite.


Bien que le diagramme fasse office de cadre conceptuel pour comprendre l’interaction, nous devons considérer quelles parties nous pouvons mesurer et quelles parties nous devons modéliser. Rakova et Chowdhury (2019) soutiennent qu'en analysant uniquement la manière dont les préférences révélées évoluent au fil du temps, nous pouvons calculer une mesure de l'effort requis pour modifier les préférences ; la barrière à la sortie.


Notez que même si la boucle de rétroaction globale concerne l'ensemble du modèle, la barrière à la sortie est définie par catégorie. Les catégories peuvent être des genres, tels que « Thriller » ou « Science-Fiction », ou des types de livres tels que « Auto-assistance » ou « Livre de cuisine ». Chaque livre peut avoir plusieurs catégories.



La pertinence de la catégorie n'est pas une fonctionnalité automatiquement disponible de nos données (voir 3.2). En revanche, Rakova et Chowdhury (2019) utilisent l'ensemble de données MovieLens (Harper & Konstan, 2016), où la pertinence des catégories a été annotée manuellement pour un sous-ensemble de données. Cela permet d'utiliser l'apprentissage (semi-)supervisé pour annoter le reste des données (ie Kipf & Welling, 2017).


Malheureusement, les données Amazon ne comportent aucune étiquette. Au lieu de cela, nous utilisons une approche non supervisée basée sur la cooccurrence de catégories. Les livres ont une grande pertinence pour une catégorie spécifique s'ils appartiennent à des catégories qui apparaissent souvent ensemble. Par exemple, un livre avec les catégories « thriller » et « horreur » aurait un score de pertinence de catégorie de 1 pour « thriller » s'il coexiste toujours avec « horreur », mais un score de 0 pour « jardinage » s'il est toujours associé à « horreur ». ne coexiste jamais avec le « jardinage ». Nous normalisons les scores afin qu'ils varient de 0 à 1. Consultez le référentiel GitHub pour les détails de mise en œuvre.


Passons maintenant aux seuils d'interaction (Rakova & Chowdhury, 2019). Conceptuellement, les seuils d'interaction correspondent à l'éventail des préférences des utilisateurs au sein d'une catégorie donnée. Si, par exemple, un utilisateur attribue uniquement 4 étoiles aux thrillers mais attribue à certains livres de cuisine 1 étoile et d'autres 5 étoiles, il aurait des seuils d'interaction étroits pour les thrillers et des seuils d'interaction plus larges pour les livres de cuisine.



Il y a quelques points importants à noter concernant la définition de la barrière à la sortie. Premièrement, il peut y avoir plusieurs valeurs de Barrier-to-Exit par utilisateur et par catégorie. Chaque fois qu'un utilisateur a une préférence dans une catégorie qui va du dessus des seuils d'interaction vers le bas, une barrière de sortie pour cette période est définie.


Deuxièmement, Barrier-to-Exit définit les utilisateurs qui modifient leurs préférences. Les préférences changeantes sont définies lorsque les utilisateurs passent du dessus des seuils d'interaction à un niveau inférieur aux seuils d'interaction.


Troisièmement, la barrière à la sortie ne peut pas être exactement nulle. En effet, il n'est défini que lorsqu'un utilisateur a des notes intermédiaires entre les seuils. Si un utilisateur a une note supérieure aux seuils d'interaction et que la suivante est inférieure, cela ne sera pas enregistré dans Barrier-to-Exit.


Enfin (et c’est crucial), la barrière à la sortie n’est définie que pour un sous-ensemble d’utilisateurs. Avoir une barrière à la sortie bien définie pour un utilisateur nécessite à la fois a) suffisamment de notes et b) que ces notes changent par rapport à une catégorie. Nous ne pouvons donc tirer que des conclusions pour ce sous-ensemble d’utilisateurs. Nous discuterons des implications de cela plus loin dans la discussion (section 5.2).


Dans cette section, nous avons fourni une formulation mathématique des barrières à la sortie ainsi que des mises en garde importantes. Pour l'implémentation du code, veuillez vous référer au référentiel.

3.2 Données

Pour cette analyse, nous utilisons un ensemble de données de critiques de livres Amazon (Ni et al., 2019). L'ensemble de données brutes comprend environ 51 millions d'évaluations par environ. 15 millions d’utilisateurs entre 1998 et 2018[2]. Toutes les notes sont sur une échelle de Likert de 1 à 5.


L'ensemble de données a été extrait du bâtiment Amazon Web Store sur la méthodologie de McAuley et al. (2015). Malheureusement, étant donné que l’ensemble de données ne comporte pas de fiche technique (Gebru et al., 2021), il est difficile de déterminer s’il présente des problèmes de couverture ou de biais. Cela rend également plus difficile la réplication de la collecte de données à partir de zéro. En dehors de cela, l’ensemble de données est facilement accessible et bien documenté.


Un aspect lié à la couverture dont nous devons être conscients est que nous utilisons les notes comme indicateur des interactions. Dans l’ensemble de données, nous n’avons pas accès aux personnes qui ont acheté un produit mais ne l’ont pas noté, ni aux personnes qui n’ont ni acheté un produit ni l’ont noté. Cela nous donne une mesure assez indirecte du processus de recommandation réel – notamment par rapport à l'ensemble de données MovieLens (Harper & Konstan, 2016 ; Rakova & Chowdhury, 2019).


En raison de la taille des données, le prétraitement devient non trivial. Une explication des étapes nécessaires peut être consultée à l’annexe C.


Bien que l’ensemble de données d’origine soit volumineux, nous ne nous intéressons qu’à un sous-ensemble. Plus précisément, nous nous intéressons aux utilisateurs qui ont modifié leurs préférences. Par conséquent, nous filtrons pour inclure uniquement les utilisateurs avec plus de 20 évaluations, ce qui suit les conventions de MovieLens (Harper & Konstan, 2016) pour lesquelles Barrier-to-Exit a été initialement défini (Rakova & Chowdhury, 2019).


Figure 2 : Répartition du nombre total d'évaluations (à gauche) et de personnes (à droite) entre différents groupes d'activité d'évaluation. Même si le groupe avec plus de 20 notes représente une fraction substantielle du total des notes, ils ne représentent qu'une petite partie du total.


La figure 2 montre le sous-ensemble sélectionné. Il convient de noter que même si notre sous-ensemble conserve une fraction substantielle des notes (≈ 30 %), nous ne retenons qu'environ 30 % des notes. 350 000 utilisateurs (0,6%). Ceci est typique de l’activité des utilisateurs, qui a tendance à être lente (Papakyriakopoulos et al., 2020). Nous discuterons des implications pour notre interprétation dans la discussion (5.2).


Comme nous le verrons plus tard, seule une fraction d’entre eux a modifié ses préférences selon notre définition (voir section 3.1).


Pour notre analyse finale, nous avons 50 626 utilisateurs qui correspondent à notre définition (≈ 0,1% du total).


L'ensemble de données de notation a été fusionné avec un ensemble de données fournissant des catégories pour chaque livre. L'ensemble de données de catégorie provenait de la même source (c'est-à-dire Ni et al., 2019). Pour simplifier les calculs de similarité des catégories (voir le code sur GitHub), nous considérons uniquement les catégories qui ont été utilisées dans plus de 100 livres. Cette approche est valable car la répartition des catégories est fortement asymétrique, ce qui signifie qu'un petit nombre de catégories sont utilisées sur un grand nombre de livres. (Il s'agit d'une dynamique similaire à l'activité des utilisateurs ; voir Fig. 2).

3.3 Modèle

Maintenant que nous avons opérationnalisé la barrière à la sortie comme mesure de la difficulté à changer les préférences, introduisons le modèle statistique pour analyser la tendance.


La première chose à noter est que nous avons besoin d’un modèle croisé multi-niveaux (Baayen et al., 2008). Notre modèle doit avoir deux niveaux : utilisateur et catégorie. Le niveau utilisateur est le plus évident en théorie. Étant donné que chaque utilisateur peut avoir plusieurs changements de préférences (avec barrière à la sortie associée), nous devons contrôler leurs différences individuelles (Baayen et al., 2008). Ceci est également important car le système de recommandation utilisera des fonctionnalités prédictives qui ne sont pas accessibles dans l'ensemble de données (Smith & Linden, 2017).


Les catégories constituent l'autre niveau. Le rôle du niveau de catégorie dans notre modèle est de prendre en compte les caractéristiques au niveau de l'élément. Comme expliqué dans l'introduction, il existe des raisons commerciales (c'est-à-dire que les entreprises suivent l'impératif de prédiction ; (Zuboff, 2019)) et algorithmiques (c'est-à-dire que la réduction de la variabilité pourrait améliorer l'objectif de récompense (Carroll et al., 2022)) pour croire que différentes catégories auront différentes barrières à la sortie. Les catégories peuvent donc servir de proxy pour ces effets. Cette conception croisée est souvent utilisée dans la recherche en psychologie (Baayen et al., 2008).


Il y a deux raisons d’inclure des catégories comme effets aléatoires et non comme effets fixes. Le premier est le nombre de catégories. Il y a plus de 300 catégories dans notre ensemble de données. Les modéliser sous forme d’effets fixes serait donc irréalisable. Deuxièmement, puisque nous les utilisons comme indicateur de la variance au niveau des éléments, il est plus pratique de modéliser uniquement les composantes aléatoires (Maddala, 1971).


Cela nous donne le modèle suivant :



Une chose cruciale à noter est que la transformation logarithmique de la barrière à la sortie modifie l'interprétation des coefficients. Au lieu de les interpréter sur une échelle linéaire, il convient de les interpréter sur une échelle logarithmique (Villadsen & Wulff, 2021). La manière la plus naturelle de procéder consiste à exponentier les effets et à les interpréter comme une variation en pourcentage. Cependant, la transformation introduit des problèmes statistiques, que nous aborderons dans la section 5.2.



Il convient également de noter que le niveau d'activité n'est relativement pas corrélé avec le temps (voir Fig. 3b). En effet, l'activité fait référence à l'activité au cours de la période de barrière à la sortie et non à l'activité totale sur Amazon. Cette dernière a considérablement augmenté comme on peut l'imaginer. vu par la densité des points sur la figure 3b.


Figure 3 : Graphiques du niveau d'activité, défini comme le nombre de notes au cours de la période de barrière à la sortie. 3a : La relation entre le niveau d'activité et la barrière à la sortie. Remarquez la forte linéarité. 3b Changement du niveau d'activité au fil du temps. Le


Pour évaluer la validité, nous testons les hypothèses du modèle. Pour la vérification complète, voir l'annexe A. Il y a quelques violations à noter : Les résidus et les effets aléatoires s'écartent de la normalité - en particulier pour les effets aléatoires au niveau de la catégorie. Cela devrait cependant avoir peu d’influence sur l’estimation des effets fixes (Schielzeth et al., 2020). Néanmoins, nous effectuons une analyse supplémentaire en supprimant les catégories problématiques pour évaluer la robustesse des résultats (voir B.2).

3.4 Créer et tester des hypothèses

Pour répondre à notre question de recherche dans un cadre inférentiel, nous devons les transformer en hypothèses aux implications testables (Popper, 1970). Nous proposons l’hypothèse suivante :


Hypothèse : Il y a eu une augmentation significative des barrières à la sortie pour le système de recommandation de livres d'Amazon au cours de la période 1998-2018.


Pour tester l'hypothèse, nous utilisons le test de signification de Satterthwaite du package lmerTest (Kuznetsova et al., 2017 ; Satterthwaite, 1946) pour évaluer le coefficient du temps (β1). Il est toutefois important de noter que la méthode de calcul des degrés de liberté dans les modèles à effets mixtes (Satterthwaite, 1946) peut gonfler les erreurs de type I lorsque la taille de l’échantillon est petite (Baayen et al., 2008). Dans notre cas, la taille de l’échantillon est grande, ce qui est donc moins préoccupant.


La grande taille de l’échantillon implique également des valeurs p proches de zéro (Ghasemi & Zahediasl, 2012), même pour des effets faibles. Ainsi, nous nous intéressons également à l’ampleur de l’effet, plutôt qu’à sa signification.


Notez que l’augmentation est un taux de croissance plutôt qu’une augmentation linéaire. Cela affecte la façon dont nous interprétons l’ampleur de l’ampleur de l’effet.





[2] Pour la documentation, voir : https://nijianmo.github.io/amazon/index.html


Cet article est disponible sur arxiv sous licence CC 4.0.