MOBILES RecSys: A Personalized Recommendation System for Enhancing the Urban and Social Experiences of International Students
Résumé
The MOBILES RecSys system is an autonomous recommendation application designed to enhance the experience of international students using the MOBILES app. The app enables users to explore the city and enrich annotations based on their own experiences, offering a user-friendly interface for navigating urban routes and collecting geolocated data. MOBILES RecSys complements this app by calculating behavioral indicators based on user interactions, and generating personalized recommendations tailored to each profile. The data analysis and recommendation generation components are implemented in Python. The system is built on a containerized architecture using Docker and Docker Compose, ensuring optimal resource management by encapsulating each service in separate containers. User data, including collected logs, is stored in a MariaDB database and a kTBS instance. These traces are extracted by Logstash, transformed, and indexed into Elasticsearch to allow efficient analysis and search. From this data, several behavioral indicators are calculated and categorized into four main stages of the user experience: Onboarding and Integration, Active Usage Support, Quality Improvement, and Urban Discovery. The system also includes a dashboard developed in Flash, which enables users to configure and automate various system actions, such as data retrieval, indicator calculation, recommendation generation, and notification sending. Users can manually trigger these actions or schedule them for autonomous execution through recurring tasks. The generated recommendations are sent as push notifications, and a scheduling mechanism manages the automatic delivery of these notifications, allowing real-time adaptation of the user experience.
Le système MOBILES RecSys est une application autonome de recommandation dédiée à l'amélioration de l'expérience des étudiants internationaux utilisant l'application MOBILES. Cette dernière offre aux utilisateurs la possibilité d'explorer la ville et de créer des annotations géolocalisées et des parcours détaillant leurs trajets, pour documenter et partager leurs propres expériences. MOBILES RecSys vient compléter cette application en calculant des indicateurs comportementaux à partir des interactions des utilisateurs, puis en générant des recommandations personnalisées adaptées à chaque profil. La partie analyse des données et génération des recommandations est implémentée en Python. Le système repose sur une architecture conteneurisée utilisant Docker et Docker Compose, garantissant ainsi une gestion optimale des ressources grâce à l'encapsulation de chaque service dans des conteneurs distincts. Les données des utilisateurs, notamment les logs collectés, sont enregistrées dans une base de données MariaDB ainsi que dans une instance kTBS. Ces traces sont extraites par Logstash, transformées, puis indexées dans Elasticsearch afin d'en permettre une analyse et une recherche efficaces. À partir de ces données, plusieurs indicateurs comportementaux sont calculés, regroupés en quatre grandes catégories représentant les étapes clés de l'expérience utilisateur : Initiation et Intégration, Soutien à l'Utilisation Active, Amélioration de la Qualité et Découverte Urbaine. Le système inclut également un tableau de bord développé en Flask, permettant à l'utilisateur de configurer et d'automatiser les différentes actions du système, telles que la récupération des données, le calcul des indicateurs, la génération des recommandations et l'envoi de notifications. L'utilisateur peut choisir de déclencher ces actions manuellement ou de les programmer pour qu'elles soient exécutées de manière autonome à travers des tâches planifiées récurrentes. Les recommandations générées sont envoyées sous forme de push notifications, et un mécanisme de planification gère l'envoi automatique de ces notifications, permettant d'adapter l'expérience utilisateur en temps réel.