Un sistema de recomendaciones mantiene un registro de las recomendaciones que se han hecho a un usuario en particular y si ese usuario acepta la recomendación. Es como
user_id item_id result
1 4 1
1 7 -1
5 19 1
5 80 1
donde 1 significa que el usuario aceptó la recomendación, mientras que -1 significa que el usuario no respondió a la recomendación.
Pregunta: Si voy a hacer recomendaciones a un grupo de usuarios en función del tipo de registro descrito anteriormente, y quiero maximizar las puntuaciones de MAP @ 3, ¿cómo debo tratar los datos implícitos (1 o -1)?
Mi idea es tratar 1 y -1 como calificaciones y predecir la calificación usando algoritmos de tipo máquinas de factorización. Pero esto no parece correcto, dada la asimetría de los datos implícitos (-1 no significa que al usuario no le guste la recomendación).
Edición 1 Pensemos en ello en el contexto de un enfoque de factorización matricial. Si tratamos -1 y 1 como calificaciones, habrá algún problema. Por ejemplo, al usuario 1 le gusta la película A que tiene un puntaje alto en un factor (por ejemplo, tener una gloriosa música de fondo) en el espacio de factor latente. El sistema recomienda la película B, que también tiene un puntaje alto en "gloriosa música de fondo", pero por alguna razón, el usuario 1 está demasiado ocupado como para considerar la recomendación, y tenemos una calificación de película B. Si solo tratamos 1 o -1 por igual , entonces el sistema podría desanimarse a recomendar películas con música gloriosa al usuario 1, mientras que el usuario 1 todavía ama las películas con música gloriosa. Creo que esta situación se debe evitar.