Project Image

Sistema Recomendación OpenUC3M

Descripción: Desarrollo del sistema de recomendación de usuarios, posts y eventos de la red social de la universidad: <a href="https://openuc3m.com/" target="_blank">Open UC3M</a>

11/11/2025 - 31/01/2026
ai

Problema y solución


Uno de los pilares fundamentales de una red social moderna es su sistema de recomendación de contenido.

Implementación


El sistema accede a la base de datos de Open, donde se encuentran todos los usuarios, posts y eventos.

1. Filtrado inicial

Mediante una serie de filtros iniciales, se reduce el número de candidatos a ser recomendados por debajo de un límite preestablecido. De esta forma, se obtiene una lista de candidatos más manejable sobre la cual calcular distintos atributos.

2. Extracción de atributos

Realizando distintas queries, se construye una pequeña base de datos con todos los atributos necesarios de cada candidato.

Algunos ejemplos de atributos o métricas son:

Usuarios: número de contactos comunes, mismo o distinto campus

Posts: número de likes, si el usuario sigue o no al autor

Eventos: número de asistentes, si el usuario sigue o no a la asociación

3. Cálculo del score

Cada atributo tiene asociado un coeficiente de importancia. Una vez calculados todos los atributos, estos se multiplican por sus respectivos coeficientes y se agregan para obtener un score de recomendación final.

4. Conversión a probabilidades

Los scores obtenidos se transforman en probabilidades mediante la función softmax(), lo que permite convertir los scores de los candidatos en una distribución de probabilidad discreta desde la cual se muestrea el contenido.

5. Entrega al frontend

Finalmente, el frontend recibe las recomendaciones generadas y las procesa para mostrarlas al usuario dentro de la aplicación.