Recommender Systems Development: A Comprehensive Overview of Architecture, DSLs, and Tools
摘要
Recommender systems (RS) are computer systems whose primary objective is to optimize the user experience by offering personalized services based on their preferences and interactions. RS have become essential in various fields, such as e-commerce, entertainment, online learning, and smart tourism, by enabling effective content personalization. However, their development presents major challenges related to the complexity of underlying algorithms and architectures, as well as the selection of the most appropriate tools for their implementation. This paper explores the architecture of an RS, provides a classification of RS, and offers an in-depth analysis of the main tools dedicated to their development. In this context, this study also aims to explore existing Domain-Specific Languages (DSLs) for RS development, providing researchers and practitioners with a structured reference for making informed decisions about their design and implementation. Furthermore, a case study is conducted on the development of a set of recommendation systems for the tourism sector in the Draa-Tafilalet region, using Apache Mahout as the primary framework. This study highlights the challenges associated with RS development and serves as a useful guide for designing effective and scalable solutions.