¿Cómo se debe tratar con los datos implícitos en la recomendación?

9

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.

wdg
fuente
No hay problema de que -1 no signifique disgusto. Es simplemente una forma de diferenciar que alguien vio el artículo. En ese sentido, lleva más información que un valor faltante. En realidad, puede aumentar la precisión de su recomendación. Dependiendo de su métrica de distancia al recomendar, puede considerar cambiarlo de un valor de -1 a un valor de métrica leve para que no influya tanto en la distancia.
cwharland
1
El artículo canónico para la retroalimentación implícita es Hu, Koren y Volinsky . Hay muchas buenas recomendaciones, incluida la estimación de su confianza en la que -1 indica que no le gusta o simplemente "no vio".
Trey

Respuestas:

5

Su sistema no solo está entrenado en los elementos que se recomiendan, ¿verdad? Si es así, tiene un gran bucle de retroalimentación aquí. Desea aprender de todos los clics / vistas, espero.

Sugiere que no mirar un artículo es una señal negativa. Le sugiero encarecidamente que no lo trate de esa manera. No interactuar con algo casi siempre se trata mejor como si no hubiera información. Si tiene una señal explícita que indica una aversión, como un voto negativo (o, tal vez vio 10 segundos de un video y se detuvo), tal vez eso sea válido.

No interpretaría esta entrada como datos de calificación. (Aunque en su caso, puede salirse con la suya). En cambio, piense en ellos como pesas, que es exactamente el tratamiento en el documento de Hu Koren Volinsky sobre ALS que @Trey menciona en un comentario. Esto le permite registrar la fuerza relativa de las interacciones positivas / negativas.

Finalmente, quisiera señalar que este documento, aunque es muy probable que sea lo que está buscando, no proporciona pesos negativos. Es simple extender de esta manera. Si llega tan lejos, puedo señalarle la extensión fácil, que ya existe en dos implementaciones que conozco, en Spark y Oryx .

Sean Owen
fuente
2
Creo que imponer valores negativos leves para los elementos que se han visto muchas veces pero que nunca se eligieron es razonable. El OP no indica que tengan acceso a datos que califiquen estas imputaciones negativas, pero no descartaría esa táctica por completo. La magnitud óptima del valor negativo se puede determinar a partir de los datos. He tenido pequeñas ganancias al hacer esto en escenarios de recsys. En cualquier caso ... ¿sugeriría otras formas de diferenciar entre el elemento visto una vez y no elegido versus visto N veces y nunca elegido además de la imputación negativa?
cwharland