Objective
This thesis presents the design and implementation of a hybrid TV content recommender system for MasOrange’s OrangeTV platform. The system integrates a discrete Bayesian network, a large language model (LLM) conversational agent, and the TMDB API, exposed to the user through a Flask web interface.
The Bayesian network was built from a study of viewing profiles and habits, used to generate a synthetic dataset. The graph structure was learned using HillClimbingSearch with a BDeu scoring criterion (ESS=100), constrained by a domain-knowledge whitelist and blacklist. The resulting conditional probability tables (CPDs) enable probabilistic inference over the content type and genre best suited to each user context. A key advantage of the Bayesian approach over deep learning alternatives is its inherent explainability: the full inference path can be traced, identifying which variables and with what probabilities led to each recommendation.
User interaction is handled in natural language by an LLM agent performing three tasks: intent classification, JSON-structured attribute extraction, and conversational response generation in Spanish. To select the most suitable models, an automated evaluation was conducted with 300 intent classification tests and 200 attribute extraction tests, achieving 93.6% accuracy with GPT-4o for the former and 81.9% with Claude Sonnet 4.5 for the latter.
The system incorporates an online feedback mechanism that updates CPD counts in real time without retraining, based on both explicit user ratings and a viewing behaviour simulation module covering watch percentage, early drop-offs, and rewatches. The full pipeline is served via a Flask REST API with a web interface featuring a persistent user profile, quick recommendations, and fast-action feedback buttons.
TRABAJO FIN DE GRADO DE:
CARLOS BRAVO GARRÁN
Experiencia Académica
- Doble Grado en Ingeniería Informática y Administración de Empresas, Universidad Carlos III de Madrid (septiembre 2021 – junio 2026)
Experiencia Laboral
- Machine Learning Researcher – Universidad Carlos III de Madrid en colaboración con Grupo MasOrange (septiembre 2025 — junio 2026)
- Web Developer – enero 2026 – Presente
Habilidades técnicas:
- Lenguajes: Python (Avanzado), C/C++, SQL, Node.js, JavaScript, HTML, Shell, Git.
- Tecnologías: Machine Learning, LLMs, Data Analytics, Linux, MS Excel (Avanzado).
- Cloud: Google Cloud Engineering (Certificado), AWS Cloud Essentials (Certificado).
Idiomas:
- Español: Nativo.
- Inglés: Avanzado (C1) – Certificate in Advanced English (CAE) por Cambridge.
- Francés: Básico.
