El desafío de Netflix de $ 1 millón

A principios de esta semana, Netflix, el servicio de alquiler de películas en línea, anunció que otorgará $ 1 millón a cualquiera que pueda idear un algoritmo que mejore la precisión de su servicio de recomendación de películas.





El sistema de clasificación por estrellas de Netflix ayuda a determinar recomendaciones de películas personalizadas. Ahora, la empresa está buscando desarrolladores externos para mejorar esas recomendaciones.

Al hacerlo, la compañía está haciendo un llamado a investigadores que se especializan en aprendizaje automático, el tipo de inteligencia artificial que se usa para construir sistemas que recomiendan música, libros y películas. El participante que pueda aumentar la precisión del sistema de recomendación de Netflix, que se llama Cinematch, en un 10 por ciento para 2011 ganará el premio.

Los sistemas de recomendación como los que utilizan Netflix, Amazon y otros minoristas web se basan en el principio de que si dos personas disfrutan del mismo producto, es probable que también tengan otros favoritos en común.



Pero detrás de esta premisa simple hay un algoritmo complejo que incorpora millones de calificaciones de usuarios, decenas de miles de elementos y relaciones en constante cambio entre las preferencias de los usuarios.

Para hacer frente a esta complejidad, los algoritmos para los sistemas de recomendación se entrenan en enormes conjuntos de datos. Un conjunto de datos que se usa en el sistema de Netflix contiene las calificaciones de estrellas, de una a cinco, que los clientes de Netflix asignan a las películas. Con esta información inicial, los buenos algoritmos pueden predecir calificaciones futuras y, por lo tanto, pueden sugerir otras películas que podrían gustarle a una persona.

Dado que el acceso a dicho conjunto de datos es fundamental para mejorar la calidad de sus sistemas de recomendación, la compañía también publicó 100 millones de recomendaciones, despojadas de cualquier información de identificación personal, según Jim Bennett, vicepresidente de sistemas de recomendaciones de Netflix.



Hablamos con Bennett esta semana sobre cómo funcionan los sistemas de recomendación y los desafíos de construir uno mejor.

Revisión de tecnología: Antes de construir un mejor sistema de recomendaciones, sería útil comprender su enfoque actual. ¿Cómo funciona Cinematch?

Jim Bennett: En primer lugar, recopila 100 millones de valoraciones de usuarios para unas 18.000 películas. Tome dos películas y busque a las personas que las hayan calificado. Luego, fíjese si las personas que calificaron una de las películas calificaron mucho a la otra, si les gustó una y no la otra, o si no les gustó ninguna de las dos películas. Según sus calificaciones, Cinematch ve si existe una correlación entre esas personas. Ahora, haga esto para todos los pares posibles de 65.000 películas.



TR: Así que Cinematch me recomendaría películas basándose en las evaluaciones de las personas que calificaron las películas como yo. ¿Ese método funciona para todas las películas de Netflix?

JB: Muchos de los discos realmente oscuros, por ejemplo, los DVD How to Mow a Lawn, no tienen muchas clasificaciones y este método no funciona tan bien. Para películas con una gran cantidad de calificaciones, lo hace sustancialmente bien. Pero para que funcione, es necesario realizar muchos ajustes de datos porque las personas a veces pueden tener patrones de calificación interesantes.

TR: ¿Cómo qué?



JB: Por ejemplo, hay muchas personas que califican una película con solo una o cinco estrellas. Y hay algunas personas que simplemente califican todo con tres estrellas. Lo que busca es una interesante variedad de opiniones porque está tratando de capturar correlaciones. Ese es el núcleo del motor.

TR: ¿Cómo mide cuantitativamente la precisión de su sistema?

JB: Entrenamos a Cinematch en 100 millones de ratings y le pedimos que pronosticara cuáles serían los otros 3 millones. Comparamos las nuestras con las respuestas reales. Hacemos eso todos los días. Obtenemos alrededor de 2 millones de calificaciones por día y hacemos un seguimiento de las fluctuaciones diarias del sistema. Esperamos medir las presentaciones al concurso [de la misma manera]. El conjunto de datos de premios real es de 103 millones de calificaciones, pero solo publicamos 100 millones de ellas.

TR: Para ganar el premio de $ 1 millón, un nuevo algoritmo necesita mejorar la precisión de las recomendaciones en un 10 por ciento sobre Cinematch. También está recompensando un premio de progreso de $ 50,000 cada año por el algoritmo que muestra la mayor mejora con respecto al mejor algoritmo del año anterior, en al menos un 1 por ciento. ¿Qué significarán estas mejoras porcentuales para un cliente de Netflix?

JB: Si visita el sitio web y califica 100 películas para nosotros, las estrellas rojas que se muestran debajo de cada película están personalizadas para usted. Usamos estas calificaciones para ajustar la predicción lejos de la recomendación promedio, de acuerdo a su gusto. Una diferencia del tres por ciento, por ejemplo, podría representar una diferencia de un cuarto de estrella. Tenemos millones de personas calificando millones de DVD, y esa diferencia de un cuarto de estrella nos ayuda a ordenar la lista. Es posible que la recomendación de película individual no sea mucho mejor, pero, en general, el conjunto de películas recomendadas es muy diferente. Mueve un acorazado un poco y hace una gran diferencia.

TR: ¿Por qué son tan difíciles de mejorar los sistemas de recomendación?

JB: Una de las razones es que no hay conjuntos de datos. Muchas de las aplicaciones de aprendizaje automático requieren conjuntos de datos bastante sustanciales que fácilmente tienen millones de puntos de datos. Hay muchos enfoques diferentes para resolver el problema, pero todos necesitan grandes conjuntos de datos. Y como ocurre con muchos conjuntos de datos, una vez que aplicamos las técnicas a esos conjuntos de datos, no hay lugar adonde ir.

TR: Entonces, ¿está buscando un algoritmo que aborde el problema de una manera completamente diferente a Cinematch?

JB: Correcto. Hasta donde sabemos, hay muchas buenas ideas en el campo. Simplemente no podemos probarlos todos. Sabemos que hay personas que están realmente en la cima de la literatura que conocen los entresijos de los [sistemas de recomendación] y realmente nos gustaría saber cuáles serían mejores.

TR: ¿Cuáles son algunos enfoques, discutidos en la literatura, que podrían funcionar, pero aún no se han probado con recomendaciones de películas?

JB: Es difícil de decir. Había un artículo en Ciencias hace unos meses [28 de julio de 2006] que utilizó una combinación interesante de dos tipos de redes neuronales [un método computacional que clasifica datos de forma similar al cerebro humano]. Una red neuronal supervisa el aprendizaje automático y la otra dirige ese aprendizaje. En Netflix, observamos las correlaciones entre las calificaciones y ese es un modelo lineal. No todo el conocimiento se puede representar mediante una combinación lineal de características. Este modelo en particular en Ciencias utiliza un enfoque no lineal. Creo que esa técnica podría ser bastante buena.

TR: ¿Existen otros desafíos técnicos urgentes en Netflix que podrían resolverse ofreciendo un premio?

JB: No quisiera especular sobre más concursos. ¿Existen otros desafíos técnicos? Absolutamente. Más allá del desafío de los sistemas de mantener los motores de recomendación en funcionamiento con una base de clientes cada vez mayor, también tenemos una gran cantidad de desafíos dentro de la empresa, como intentar enviar dos millones de discos al día a las personas. Y hay desafíos interesantes por delante mientras nos preparamos para el mundo de las descargas [donde la gente puede descargar películas a través de Internet]. La empresa está llena de tremendos desafíos.

esconder