Algoritmos de Yahoo: Flickr Interestingness™

Interestingness Formula

Hace tiempo, A propuso en los comentarios de Algoritmos de Google: El Page Rank™ la posibilidad de que explicásemos como funciona el algoritmo que evalua la Interestingness™ (o “interesancia” para los hispano hablantes) de las fotos de flickr*. Para los que no lo conozcan, flickr es un servicio online que te permite, tras hacerte una cuenta, subir una cantidad de fotos determinada al més a sus servidores y compartirlas con tus amigos o con todo el mundo.

Flickr Interestingness

La Interestingness™ de una foto, mide simplemente lo interesante que es esa foto. Y funciona tan bien que la gente empieza a buscar algunas imagenes en flickr en vez de emplear la búsqueda de imágenes de google.

Hagamos una Comparación: Google images vs Yahoo Interestingness™

En Yahoo! están tan contentos con el resultado, que han patentado la Interestingness™, extendiendola no solo a fotos, si no a cualquier tipo de media-object (música, video…), vamos a ver que tan mágica es esta fórmula.

(*)No busques este pantallazo de flickr por ningún sitio. No existe como tal. No obstante todas las fotos son de flickr. Por si buscabas el enlace a la foto de la chica… está en el texto de post.


La imagen al inicio del post ilustra perfectamente el principal problema de encontrar la interestingness™. A cada persona le parecen interesantes distintas cosas: Paisaje difuminado por una sinuosa niebla? o playa difuminada por Melones?. Pero flickr está obligado a encontrar un criterio que valga para todos, es eso posible?. Sí, se puede, y el truco es bastante ingenioso:

Interesancia General: Trastean con la foto, luego debe ser interesante

Para empezar Flickr define en su página web la interestingness™ así:

    Hay muchas cosas que hacen una foto interesante en flickr: De donde vienen los clicks, quien comenta las fotos y cuando, quien las marca como favoríto, sus tags y muchas más cosas.

De aqui algunos bloggers [Ing] han deducido que el Algoritmo de la interestingness™ funciona por una transferencia de importancia, similar al Page Rank básico de Google. Si miembros importantes de flickr interactuan con tus fotos viendolas o añadiendo meta-datos (la comentan, la marcan como favoríta, le añaden tags o le ponen una nota) esta ganará más “interesancia”. Si hacemos caso a la patente de Yahoo! esto es parcialmente cierto: La interacción sí que hace una foto más interesante, pero no hay usuarios más importantes que otros: cada interacción de cada usuario cuenta igual*, al menos eso dice la patente de hace un año (Description [0035]).

general

En cuanto al visionado de tus fotos, flickr tiene en consideración a traves de qué página se ha accedido a la imagen. Si han accedido a tu foto, por ejemplo, desde una página de búsqueda de flickr con términos que no tienen nada que ver con la imagen (términos muy comunes), se supone que no estaban buscando tu imagen y contara poco. Por el contrario intuyo que si acceden a tus fotos desde los thumbs que aparecen en la página de inicio de cada usuario (siempre ponen unas cuantas fotos de otros usuarios para que te pique la curiosidad), eso debe puntuar bastante.

La pertenencia a grupos como forma de incrementar la interesancia de tus fotos también ha dado mucho que hablar [foro de discusión]. Pese a que la patente no menciona mucho, se puede leer en los foros que el apuntarte a varios grupos debería aumentar la interesancia de tus fotos. Esto podía ser simplemente porque alli hay muchos más usuarios activos y se obtienen interacciones mucho más facilmente. Lo que si está claro es que flickr penaliza el abuso de esta táctica [link].

(*)Ralsky y los otros Spammers que nos leen habitualmente: No es por desilusionaros pero flickr es un entorno pequeño y controlado, con un refresco maximo de 24h. Os iban a ventilar las cuentas múltiples en un plis. No obstante mandar una foto por mail a un usuario cuenta como vista (Description [0035])… y 24h dan para muchos mails

Interesancia Particular: No vuelvas a comentar aquellas fotos que tú sabes, flickr lo apunta todo

I Personal

La segunda medida de la Interesancia de una determinada foto está basada tu relacción con el posteador de la foto (Description [0009]). Concretamente: Si el posteador de la foto pertenece a tus contactos (amigo, familia) o si habeis añadido meta-datos (comentarios, favoritear, tags, notas) a muchas fotos en común, eso hara sus fotos más interesantes para tí (Description [0043]). Esto se puede tomar un poco como una invasión tu privacidad (lo ES), pero probablemente al firmar el contrato online de flickr les cedistes poco menos que tu alma. Es curioso porque crear un perfil eficiente de tus relaciones y gustos es algo que Google lleva intentando hacer desde hace bastante y aqui vemos como Yahoo!, via patente, le ha adelantado por la derecha con bastante habilidad. Estamos hablando de algo relativamente pequeño como flickr, pero Yahoo! podría perfectamente* extenderla a otros servicios.

Adicionalmente la posición geográfica de la foto también influye. Las fotos cuya geolocalización esté cercana a la dirección de tu casa (que puedes o no haber declarado en tu perfil) también serán más interesantes. (Description [0044]). Lo mismo cuenta para la residencias de tus contactos.

(*) Amen de la escalabilidad el Algoritmo, que no es para tirar cohetes. Lo veremos más adelante.

Interesancia Negativa: Porno, Porno, Porno!

La cruda Realidad

Me puedo imaginar perfectamente a los ingenieros de flickr con su recien parido algoritmo, dejandolo correr libremente los primeros días, para verlo crecer, evolucionar… y llegar a la triste conclusión que llegamos todos: Interesancia = Porno, Porno y más Porno. Ale! sin dormir tres noches para parchear el código y que no salgan todas esas menores borrachas en paños idem. Y no lo digo yo lo dicen ellos:

    El 70% del código del algoritmo esta dedicado a evitar “malas” fotos.[link]

A Flickr no le ha quedado más remedio que implementar varios filtros, que permiten convivir a amantes de la fotográfia y surtidores de hormonas felizmente (y que tanto cabrean a Wicho). Yo creo que se lo toman con bastante sentido del humor:

Take me to the kittens!

Además han implementado una lista negra de meta-datos para reducir la interesancia de fotos consideradas de mal gusto o que favorecen a la competencia. Si varios meta-datos penalizados aparecen en tus fotos, la mayor penalización de entre los que tengas será aplicada a esa foto (Description [0046]). Respecto a lo de la identificación de las fotos indeseables, no creo que se haga mediante algún tipo de reconocimiento automático de imagen, de eso estamos todavía muy lejos. Se debe hacer a pelo, intuyo que siguiendo patrones de conducta y gracias a la colaboración de los usuarios.

La Interesancia envejece

Por último para evitar que una foto interesante reciba muchas interacciones y eso se realimente positivamente hasta que la foto reviente de interesancia, flickr ha implementado un envejecimiento de la interesancia de un 2% cada día (Description [0047]). Es decir, que en 50 días tu foto no debería ser interesante en absoluto. Parece un poco exagerado, la verdad. Además de esta medida mencionan unas medidas adicionales que no se atreven a explicar (por lo chapuceras intuyo). La gloria es efímera… y ligeramente aleatoria.

La ecuación, el algoritmo en cuestion

Y que complejo algoritmo emplearán los chicos de flickr para combinar las distintas interesancias en una sola fórmula?. Estimación Bayesiana?, Algoritmos genéticos?, Wavelet Neural Networks?. Bueno, vamos a repasar: Para una foto determinada de tu colección, llamemos IG1, IG2,… etc a los distintos factores de la Interesancia general, es decir:

  1. Cantidad neta de metadata introducida/modificada en esa foto.
  2. Numero de usuarios distintos que introducen/modifican esa foto.
  3. Cantidad de accesos a esa foto (diferenciando visionados según la ruta de cliks).

Llamemos IP1, IP2,… etc a los de la particular:

  1. Relacción de contacto con usuario posteador de la foto.
  2. Cantidad de metadata compartida con usuario posteador de la foto.
  3. Cercanía geográfica a la foto (incluyendo la cercanía de tus contactos).

y IN1, IN2,… etc a la penalización de cada meta-dato que posea tu foto (que es 0 para la inmensa mayoría de meta-datos). No nos olvidemos tampoco del envejecimiento de la Interesancia dado el número de días tras su posteo d.

Entonces a judgar por la Description [0036] y con un poco de ingeniería inversa, la interestingness™ para esa foto debería seguir la fórmula:

Interestingness Formula

Efectivamente, se trata del teorema de la cuenta de la vieja: Una suma ponderada con los términos acotados superiormente. Esto significa que cada componente de la interestingness™ tiene un peso rel… ah que no sabes que son esas “emes tumbadas”… Disculpa… son formas abreviadas de poner una suma de terminos, por ejemplo:

explicación M

A que el logo de Madrid ha cobrado sentido súbitamente?… donde iba… si.. esos wi y vi que multiplican a cada factor son su peso relativo en la puntuación total. Permiten controlar que tan influyente es cada factor. El min() es la función minimo que nos garaniza que cada factor no supererá un valor determinado para cada factor (Wi,Vj). El último término, que va restando, es la mayor penalizacion de entre las penalizaciones que tengan tus k meta-datos. Si no hay niguno en la lista negra, pues no resta nada. Por último, el término E, representa simplemente el envejecimiento de un 2% cada d días que pasan que habíamos mencionado antes.

Si si ya se, estais decepcionados*, esperabais algo más grandioso… No obstante dado el tamaño de flickr yo creo que es una buena solución. Da un buen control sobre el valor de la interestingness™ (exceptuando los máximos, eso es no lineal, caca) y la posibilidad de añadir nuevos factores fácilmente. Lo del envejecimiento me parece un poco radical y a estas alturas supongo que lo habran cambiado ya.

(*) A los que las matemáticas de este post se les quedaron cortas, los encomiendo al post que cerrará la trilogía del spam: SPAM III: Envenenamiento Bayesiano, que estará disponible para… alla por el 2008.

Detalles para terminar

Como con el Page Rank, falta normalizar la puntuación de 0 a 1 (y decimales, claro). Flickr hace esto dividiendo por la mayor puntuación de interestingness™ existente. Os imaginas si hiciesen eso con un examen? El empollon acabaría empalado en las canastas del patio. Y para acabar de ilusionar a los fanáticos de la interestingness™:

    Realizamos un reordenamiento aleatorio de las 500 primeras fotos más ineteresantes para dar más variedad.[link]

Así que moraleja, al igual que con el PageRank, no obsesionarse. Tampoco depende de nosotros muchas veces (como taantas cosas en la vida). Y eso es todo, por ahora. Os invitamos a leeros la infumable patente si no estais muy convencidos de lo dicho aqui. Por supuesto estamos encantados de recibir propuestas de nuevos algoritmos que escacharrar.

No hay comentarios: