Modèle MovieSite
La documentation de MovieSite étudie six aspects des fonctionnalités LikeMinds :
- choix les plus probables
- Cette tâche fournit une liste de films recommandés pour chaque utilisateur. Ces recommandations sont calculées en fonction des classements précédents d'un utilisateur et des classements d'autres utilisateurs similaires, grâce au filtrage collaboratif. Le système détermine les similarités entre utilisateurs en comparant l'historique de leurs classements parmi tous les utilisateurs. Par exemple, si les utilisateurs A et B ont effectué de nombreux classements similaires, mais que l'utilisateur B a classé beaucoup d'autres films, l'utilisateur B peut être un bon mentor pour l'utilisateur A. C'est à partir de l'ensemble de mentors (l'utilisateur B et d'autres utilisateurs similaires) que LikeMinds effectue des recommandations, dans ce cas une recommandation de films pour l'utilisateur A.
- Obtention des articles à classer
- La tâche d'obtention des films à classer récupère les films de la base de données que l'utilisateur n'a pas encore classés. Ces films sont sélectionnés selon l'impact qu'un classement par l'utilisateur aurait sur la capacité de LikeMinds à recommander des films (Choix les plus probables). (Voir l'exemple de la tâche.)
- Affichage des classements précédents de l'utilisateur
- Cette tâche extrait de la base de données LikeMinds les classements qu'un utilisateur a entrés précédemment. Un article déjà classé peut toujours être classé différemment. (Voir l'exemple de la tâche.)
- Enregistrement des classements d'articles
- Le bean Rating Personalization enregistre chaque évaluation d'un utilisateur de la base de données LikeMinds. Lors de l'utilisation de ce bean, quelques consignes doivent être respectées :
- L'attribut de session "pzn.userName" doit être défini avec l'ID ressource de l'utilisateur. C'est ainsi que LikeMinds associe l'utilisateur avec un classement d'article.
- Si vous enregistrez un article qui n'existait pas précédemment dans la table de la base de données LikeMinds, une entrée sera automatiquement créée pour cet article.
- De la même façon, si un article est enregistré pour un utilisateur qui n'existe pas dans la table de la base de données LikeMinds, LikeMinds crée une entrée pour cet utilisateur. C'est ainsi qu'un "nouvel utilisateur" doit être entré dans le système LikeMinds.
- La collection de ressources envoyée en tant que paramètre au bean de consignation respecte les majuscules.
- Accès à la base de données
- Les développeurs sont responsables de la gestion de leurs propres tables de bases de données. Dans le cas de MovieSite, cela comprend la table des utilisateurs, la table des articles et également les tables de genres. Toutes les tables MovieSite commencent par MS* et les tables LikeMinds commencent par Lps*. Afin d'implémenter le filtrage, les colonnes d'ID de filtres doivent être ajoutées à la table LPS_ITEM_DATA. Ces ID de filtres sont ajoutés lorsqu'un film est enregistré pour la première fois, ou bien les ID sont directement définis. Pour plus de détails sur le filtrage, consultez la section suivante concernant les recommandations de filtrage.
- Recommandations de filtrage basées sur les ID de filtres
- LikeMinds implémente un système de filtrage pour chaque règle Personalization qui interroge LikeMinds. Ce système filtre les articles au niveau de LikeMinds en fonction du nombre d'ID de filtres associés à chaque article. Seuls les articles en accord avec le filtre sont remontés au niveau de la zone de contenu du JSP.