martes, 20 de mayo de 2014

"Sabiduría de la multitud” o trabajo en equipo

La matemática del gusto

Netflix es una empresa estadounidense, cuyo servicio ahora también se brinda en la Argentina, que ofrece películas y series para ver a través de Internet. Para acercarse al gusto de cada usuario utiliza un algoritmo y para mejorarlo llamó a un concurso por un millón de dólares. Aquí, una historia sorprendente de cine y matemática.
 Por Adrián Paenza
Desde hace poco tiempo, la Argentina se incorporó al núcleo de países servidos por Netflix. La compañía se ha popularizado rápidamente y lo que sucedió acá tiene un correlato con lo que está pasando en el resto del mundo. ¿Qué es Netflix? Netflix es una compañía norteamericana, fundada en 1997 y cuya base está en la ciudad de Los Gatos, en California. Si bien originalmente fue la primera en proveer de un servicio de DVD a domicilio para todos aquellos que pagaran una suscripción mensual, la evolución de la tecnología la transformó ahora en una proveedora del mismo material (películas y series) pero ahora ya no es necesario el transporte físico del contenido, sino que éste llega al usuario a través de una conexión a Internet, en lo que se denomina streaming video o sea, el flujo de video que llega generado por una fuente remota. Dicho de otra forma: tener una suscripción a Netflix sería equivalente a tener acceso a un canal de cable, pero en lugar de llegar únicamente a su televisor, llega a su computadora (o cualquier dipositivo equivalente) a través de Internet.
Dos observaciones esenciales:
1) A diferencia de lo que sucede con un canal de televisión, en donde el gerente artístico es quien determina qué se emite, en el caso de Netflix es el usuario quien elige lo que quiere ver, y
2) Es el usuario quien, además, determina cuándo ve lo que quiere ver.
Son datos no menores y que marcan también un cambio en el juego que existió desde que apareció la televisión. Ahora, el cliente controla el qué, el cuándo y el dónde.
Y un agregado: además de películas, Netflix ofrece series de televisión que ya no sólo son las que reproducen los canales de aire y/o de cable, sino que por primera vez en la historia produjo un documental (The Square) que solamente se puede ver si uno está suscripto y que fue nominado al Oscar en la edición del corriente año. Por otro lado, en el año 2013 debutó House of Cards (Castillo de Naipes o Casa de Naipes) que fue la primera serie generada específicamente para que se viera por Internet y cuya calidad fue reconocida al haber recibido uno de los premios Emmy.
¿Por qué hablar de Netflix?
Casi desde que inició sus actividades, Netflix advirtió que el gran negocio además de la suscripción era poder predecir y por lo tanto recomendar qué es lo que el usuario podía querer ver. Es decir, personas que como usted o yo preferimos en un momento determinado quedarnos en casa para ver una película en lugar de ir a un cine o teatro, tenemos la alternativa de elegir qué y en qué momento mirarla. Pero aquí aparece el gran dilema: ¿qué mirar? Una vez saciada la necesidad personal o social de ver los estrenos, las novedades o bien lo que está de moda, o incluso eso de lo que todo el mundo alrededor nuestro habla o cualquier otra variante, ¿cómo hacer para saber qué elegir entre miles de películas y/o series?
Y es aquí donde –una vez más– entra la matemática. Si usted es usuario de Internet desde hace tiempo y ha bajado música o un libro o una película o una serie de televisión (por poner solamente algunos ejemplos), decía, usted se habrá tropezado con que aparece “alguien” dentro del sitio que usted está visitando que le dice: “las personas que leyeron Cien años de soledad’, de Gabriel García Marquez, también leyeron La Guerra y la Paz, de Tolstoi. O bien, las personas que bajaron la música de “Yesterday” de los Beatles, también compraron “Holiday” de los Bee Gees, o aquellos que vieron Pasqualino Settebelezze también vieron I Pugni in Tasca. Obviamente, la lista podría seguir y seguir.
Netflix tenía (y tiene) un programa que se llama Cinematch. Cada persona, luego de mirar una película, es invitada a “rankearla”, algo así como adjudicarle un puntaje (que varía entre una y cinco estrellas) de acuerdo con cuánto le haya gustado. Esos rating se guardan y constituyen una base de datos fabulosa que luego Netflix aprovecha. La idea madre que usan tanto Netflix como Amazon (por poner otro ejemplo) se basa en que si a dos personas les gusta un determinado producto (música, literatura, película), es muy posible que tengan más cosas en común. Claro, detrás de algo tan ingenuo y sencillo, transparente para el usuario, hay un algoritmo que tiene en cuenta millones de datos, relaciones entre ellos y multiplicidad de preferencias. Cinematch es el nombre de ese programa, que aparece subyacente en el sitio web de Netflix y que le sirve para analizar los hábitos de sus “espectadores” y una vez que alguien termina de ver una película, le recomienda otras. En promedio, un suscriptor de Netflix que lleva algunos años ha calificado alrededor de 200 películas entre aquellas que vio en un pasado reciente pero también aquellas que vio en otras épocas. Por lo tanto, Netflix tiene muchísima información acerca de lo que lo que les/nos gusta a los consumidores (y también lo que no nos gusta). La idea entonces es buscar patrones, observaciones que a una persona común nos costaría –o nos sería imposible– detectar. Primero, porque no tenemos tiempo, y segundo porque aunque nos propusiéramos hacerlo en forma individual, nos llevaría el mismo tiempo que les llevó a nuestros antepasados pasar de conseguir fuego frotando dos piedras hasta llegar al encendedor electrónico. Un algoritmo bien escrito lo hace sin esfuerzo. Y me apuro a escribir algo más: casi el 70 por ciento de las películas que los usuarios de Netflix miran resultan ser una consecuencia directa de las recomendaciones de Cinematch. Y no sólo eso, el sistema de recomendaciones también “enseña” a mirar, a elegir películas que no son ni las más promocionadas, ni las de los grandes estudios de Hollywood, ni las de mayor rating, sino que aparecen películas independientes, de mercados que suelen ser marginales. En definitiva, uno se educa y aprende a elegir también.
Pero me desvié. Cinematch anticipa o predice el ranking que un usuario les debería poner a determinadas películas, y se basa para hacerlo en las notas (o número de estrellas) que esa misma persona les puso a películas que vio anteriormente.
Para decirlo en forma más matemática (y le pido que me acompañe en este razonamiento porque es muy sencillo): Cinematch opera con cuaternas como ésta: (número de usuario, número de película, fecha, calificación). Por ejemplo (388, 162, 4 de mayo, 3 estrellas).
Como usted advierte, los tres primeros datos están fijos y determinados. El único número o coordenada que está “libre” es la última, la de la calificación.
El cofundador y CEO de Netflix, Reed Hastings –quien también fue miembro del directorio de Microsoft y ahora integra el de Facebook–, advirtió que el algoritmo que usaba la empresa había llegado a un ‘tope’ en su capacidad predictiva. Y como todo innovador se preguntó si el problema estaba en ellos mismos, en que no eran capaces de mejorar el algoritmo que tenían. Vale la pena acotar que Netflix tiene en este momento más de 44 millones de suscriptores en todo el mundo (más de una Argentina completa) que pagan alrededor de ocho dólares mensuales y tiene más de 100 mil títulos entre películas y series. Si uno quisiera verlas todas, tardaría más de 68 años para hacerlo.
Recomendar, recomienda cualquiera. Hacerlo con precisión es una tarea no menor.
Hastings (y la gente que trabaja con él, supongo) tuvo entonces una idea extraordinaria: propuso hacer un concurso abierto a la comunidad toda (científica o no). Cualquier persona o grupo de personas que fuera capaz de mejorar en más de un 10 por ciento las predicciones de Cinematch, recibiría un millón de dólares [1].
La competencia fue anunciada en octubre del año 2006. Netflix les ofreció a los participantes una pequeña porción de su enorme base de datos, de manera tal que los competidores los pudieran usar para entrenarse y escribir un algoritmo predictivo. A esos efectos les dio 100.480.507 cuaternas que involucraban la opinión de 480.189 usuarios sobre 17.770 películas. Se inscribieron más de 30 mil equipos. Sí, lo escribo otra vez: más de 30.000 grupos interesados.
Una vez que una persona o un grupo tenía escrito un algoritmo, para convencer a Netflix de que lo que ellos habían escrito superaba a Cinematch, había otro grupo de datos que Netflix tenía reservados para usarlos como un examen. Este examen consistía en lo siguiente: Netflix, en lugar de entregarles las cuaternas completas, les daba 2.817.131 ternas (con los primeros tres lugares ocupados), pero dejaba vacío el último “numerito”, que se reservaba el jurado. El algoritmo tiene que ser capaz de generar –justamente– ese cuarto dato y si al compararlo con lo que había hecho Cinematch lograba mejorar en un 10 por ciento las calificaciones de Netflix pasaba a competir por el millón de dólares.
Como escribí más arriba, solamente los miembros del jurado conocían el conjunto completo de las calificaciones y a los efectos de preservar el anonimato, todos los nombres de los clientes, edades, lugar geográfico en donde se encontraban, grupo étnico, etc.... estaban excluidos. De esa forma, los participantes del concurso tenían que basar sus resultados en números y no en cuestiones de tipo social ni psicológico.
Un paso más: llegado el momento en que un grupo superara el 10 por ciento que se proponía Netflix, allí mismo empezaba una cuenta regresiva de treinta días: el “resto” de los participantes tenía un mes exacto para presentar sus algoritmos. Si nadie podía superar el 10 por ciento, se declaraba ganador al equipo que sí lo había logrado y se le entregaba el millón de dólares. [2]
La competencia comenzó el 2 de octubre del 2006 y ¡seis días después!, un grupo llamado WXYZConsulting (de origen chino) mejoró los resultados de Cinematch... pero no alcanzaron el 10 por ciento sino que apenas rozaban el 1 por ciento. El 15 de octubre del 2006 ya eran tres los grupos que habían mejorado a Cinematch y de los tres el que mejor performance logró fue quienes consiguieron estar 1,06 por ciento por arriba del algoritmo que usaba Netflix. Como los resultados eran dinámicos y públicos, aparecía constantemente una suerte de “tabla de posiciones” mostrando a qué distancia –en porcentaje– estaban las predicciones de cada algoritmo con respecto a las que sugería Netflix.
En junio del año 2007, más de 20.000 de los 30.000 equipos que había originalmente seguían participando en la competencia, provenientes de más de 186 países. Al llegar al segundo año del concurso, solamente tres equipos lograron ser líderes durante varios meses. En particular el grupo llamado BellKor, integrado en su mayoría por científicos de los laboratorios AT&T, estuvo al frente desde mayo del 2007 hasta septiembre del 2008. Luego de dos años de trabajo, había cinco grupos que mejoraban en más de un 9 por ciento a Cinematch: BellKor in BigChaos, BigChaos, PragmaticTheory, BellKor y Gravity. Durante muchos meses, parecían atascados, empantanados.
Allí se produjo un vuelco interesante: varios grupos que seguían compitiendo, como en un maratón, decidieron unir fuerzas y repartir el dinero en caso de ganarlo. Los equipos se fueron consolidando y las ideas empezaron a fluir. Faltaba poco para la meta, pero como suele suceder en los juegos olímpicos, para poder ganar como lo hace Usain Bolt, es necesario mejorar una centésima de segundo, y ésa es la parte más difícil. En octubre del 2008, un grupo ahora llamado BigChaos, integrado en su mayoría por científicos austríacos, pasó al frente. A partir de ese momento, parecía que todo quedaría reducido a lo que producían estos dos competidores: BigChaos y BellKor.
El 26 de junio del año 2009, luego de varias consolidaciones y “pases” entre equipos, un grupo denominado Bellkor’s Pragmatic Chaos llegó a superar el algoritmo de Cinematch en un 10,05 por ciento. Allí comenzó otra historia.
En principio, empezó la cuenta regresiva de 30 días. Todos los que quedaban tenían tiempo hasta el 26 de julio de ese año (2009) a las 6:42:37 PM para presentar su algoritmo superador del 10 por ciento para poder acceder a competir con Bellkor’s por el millón de dólares. Si no llegaba ningún otro grupo, entonces Bellkor’s se quedaría con el dinero.
Increíble e inesperadamente, el 25 de julio del 2009, menos de un día antes del cierre, un equipo denominado ahora The Ensemble llegó a una mejora del 10,09 por ciento sobre Cinematch y tal como estaba estipulado, un día después, el 26 de julio, Netflix detuvo el concurso y dio por finalizado la recepción de algoritmos. A partir de ese momento, todo quedaba reducido a decidir cuál de los dos equipos se quedaría con el millón de dólares.
El jurado se había reservado para sí mismo otro grupo de datos (1.408.789 ternas más) para poder decidir. Finalmente, luego de muchas discusiones porque parecía que había habido un empate “técnico”, la gente de Netflix decidió que BellKor’s Pragmatic había sido el equipo ganador. Desde el punto de vista matemático, hubiera sido imposible distinguir uno de otro. Ganó BellKor’s Pragmatic Chaos porque entregaron sus resultados finales veinte minutos antes que lo hiciera la gente de The Ensemble. “Esos veinte minutos valieron un millón de dólares”, dijo Hastings en el momento de la entrega del premio, el 21 de septiembre del 2009.
Este grupo estuvo integrado al final por siete personas entre ingenieros en computación, programadores, matemáticos, especialistas en estadísticas y hasta un matemático experto en videojuegos. Un dato curioso es que varios de ellos se conocieron el día de la entrega del premio porque habían trabajado sin moverse de su lugar de origen y de hecho, provenían de Austria, Canadá, Israel y los Estados Unidos. La gente de The Ensemble fue otra suerte de “alianza global” ya que la integraron más de 30 personas de varios países y continentes.
Por supuesto que los algoritmos son, fueron y serán útiles para mucho más que decidir cómo “rankear” películas. Piense que los dos grupos tuvieron en sus manos más de 100 millones de calificaciones (o de “notas”) y el desafío de poder predecir con tanta precisión puede ser aplicado ahora en diferentes campos de la ciencia, específicamente de la sociología, relaciones humanas y comerciales. En todo caso, una de las preguntas esenciales que queda abierta (por supuesto) es la siguiente: ¿cuán predecible es el “gusto humano”? O aumento la apuesta: aunque fuera posible de predecirlo persona por persona, ¿podrá algún día una computadora ser capaz de aprenderlo y/o de deducirlo?
El trabajo en conjunto, en equipo, hecho por gente que no se conoció hasta el último mes, sirve para mostrar también la potencia que significa tener personas con distinta formación pensando algo común. [3]
Para el final, me guardé un dato curiosísimo (e inesperado). Netflix había logrado lo que quería: mejorar su algoritmo de predicción. Pagó el millón de dólares a los ganadores, pero... ¡nunca usó el algoritmo! Sí, leyó bien. ¿Por qué? Porque en el tiempo que medió entre el anuncio de la competencia y la entrega del premio, la empresa tuvo que “reinventarse” o “redefinirse” con la llegada de lo que se conoce con el nombre de streaming video. O sea, el gran negocio ahora ya no es enviar DVD a la casa de los clientes como era en el 2006, sino que ahora Netflix envía el material directamente por Internet a través de sus propios servidores, y aunque parezca mentira, no es lo mismo decidir que uno quiere ver una película dentro de unos días que si tiene la chance de verla “en el momento”. No es lo mismo anticipar lo que uno cree que querrá ver en dos o tres días que lo que uno busca como “satisfacción instantánea”. Pero ésa ya es otra historia. Los humanos somos raros, ¿no?
[1] ¿Qué quiere decir “mejorar”? Quiere decir que, con los datos que Cinematch tenía, pudo predecir el número de estrellas que un determinado usuario le pondría a ciertas películas. Después, la realidad mostró si tuvieron razón... o no.
Netflix les daba esos datos a los competidores (sin mostrarles el último “numerito”, el del número de estrellas) y después les tomaba un examen. Para ello tenía tres grupos de datos: las predicciones de Cinematch, las predicciones del algoritmo nuevo y la realidad.
Si el nuevo algoritmo hubiera sido capaz de “acertar” en más de un 10 por ciento las predicciones que había hecho Cinematch con ese grupo de películas y usuarios, entonces ese programa se podría considerar mejor que el que había usado Netflix.
[2] Un dato muy importante es que el grupo ganador no tenía que firmarle a Netflix un contrato de exclusividad por su algoritmo. Netflix lo podría usar –si así lo decidía– pero los ganadores podría venderlo a otras empresas a quienes les interesara. Parece algo trivial, pero es claramente algo no menor: los autores de las ideas involucradas y del desarrollo le vendían a Netflix la oportunidad de usarlo, pero se reservaban el derecho de comercializarlo ellos también y seguían como dueños intelectuales de lo que habían generado.
[3] Esto se conoce con el nombre de “sabiduría de la multitud” o crowd sourcing, o sea, aprovechar las ideas de mucha gente para resolver un problema. Buscar la cooperación de grupos grandes de personas para poder resolver un problema. El 2 de junio del año 2013 apareció en la contratapa de Página/12 un artículo al respecto (http://www.pagina12.com.ar/diario/contratapa/1322138020130602.html) que permitió estimar el peso de un toro.

http://www.pagina12.com.ar/diario/sociedad/3-246480-2014-05-18.html

No hay comentarios.:

Publicar un comentario