Humanizando al robot: ¿Cómo entrenar Machine Learning?

Melody Cortina
UX Despegar
Published in
5 min readOct 24, 2018

La inteligencia artificial es el paradigma tecnológico actual, la tecnología de automatización es la dirección hacia la que apuntan todas las empresas, independientemente del cluster al que pertenezcan.

Una de las ramas de las tecnologías de automatización es Machine Learning, donde se entrenan algoritmos a través de bancos de datos, para realizar operaciones automáticamente sobre grandes fuentes de información. Su implementación significa salir del modo pasivo hacia nuestra big data y, por el contrario, tomar acción y así mejorar la experiencia de los usuarios.

En septiembre del 2017, comenzamos en Despegar el desafío de desarrollar machine learning de imágenes, donde tendríamos la posibilidad de identificar de manera automática fotos de mala calidad, estiradas o poco nítidas.

¿Cómo fue el proceso?

Compartimos con el equipo de Data Science, distintas categorías de fotos rechazadas por nuestro equipo de Contenido. De esta forma, se decidió la creación de dos primeros filtros, el de tamaño, que identificaría las imágenes que estaban por debajo de la dimensión de la galería en el sitio y el de calidad, para la detección de imágenes con blur (borrosidad).

El de calidad requería que entrenemos al robot, haciendo que una red neuronal pueda aprender a través de diferentes algoritmos de detección. Pero…¿cuáles serían los parámetros? La subjetividad que implica poder determinar si una foto es buena o mala, requería de indicadores que puedan tornar fácilmente medible la cuestión.

Hagamos la prueba… si tuvieras que elegir alguna de estas imágenes para ubicarla entre las primeras fotos de un alojamiento ¿cuál elegirías?

Siempre que estamos viendo una imagen, nos dejamos llevar no sólo por lo que representa la foto, sino por cómo nos sentimos en el momento de la elección de la fotografía. Esta selección puede variar dependiendo, además, de qué imagen hayamos observado antes, lo que nos sitúa en una posición más o menos crítica.

Si bien, la segunda imagen es más atractiva por su contenido, la calidad de la foto es pésima y crece su complejidad cuando notamos que esto varía, dependiendo del dispositivo en que se la esté proyectando o el tamaño en que se la esté viendo.

En este contexto, para construir más subjetividad al filtro fue necesario no sólo crear un manual de fotos, estandarizando qué buscaría el equipo de Contenido cuando decida moderar un alojamiento, sino además establecer parámetros objetivos y técnicos de las imágenes como:

  • Desenfoque;
  • Ringing, los bordes de las figuras tienen formatos de anillos;
  • Desenfoque en movimiento;
  • Ruido blanco o rosa, la imagen está minada por pequeños puntos;
  • Contraste pronunciado.

El largo y sinuoso camino

Utilizando como fuente de entrenamiento un banco de imágenes libres, con scores especializados en la detección de blur, se identificó el algoritmo que actuaba mejor para estos parámetros, alcanzando la mejor exactitud, monotonicidad y consistencia en la predicción.

Finalmente, JNB (Just Noticeable Blur), fue el elegido. El algoritmo funciona evaluando un sector de la imagen. Se verifica que la cantidad de píxeles blancos no represente más del 2% del total de píxeles de dicha superficie: los píxeles, sus bordes y contexto, entendiendo la imagen en binario, en blanco y color.

Luego del análisis, establece un puntaje del 1 al 5 y define un umbral, tratándose justamente del límite a partir del cual se diferencia una imagen deseable, de una que no lo es.

¡Perfecto! Probemos con el universo de imágenes en Hoteles Preferentes. ¿Qué pasa con las fotos de foco selectivo? Todas alcanzaban un puntaje muy bajo y se clasificaban como indeseables, cuando en realidad se trataban de fotos excelentes. Estas imágenes justamente tienen la característica de establecer el foco en un punto y desenfocar su entorno. En una galería, aportan dinamismo al punto de vista del espectador.

Ante la imposibilidad de detectar estos casos, el proceso caía en un pozo, del cual sólo podría salir con un esfuerzo en conjunto. El algoritmo necesitaba fortalecerse para alcanzar la exactitud y robustez necesaria.

Fortaleciendo al gigante: Cross fit para la máquina

Fue entonces que se aplicaron nuevos atributos. En primer lugar, se requería poder identificar la textura rugosa de objetos en fotos, ondas en el agua o mosaico, por lo que se acondiciona el contraste.

En segundo lugar, para alcanzar menor cantidad de falsos negativos, se necesitaba identificar qué elementos son propios en una imagen con blur, por eso se verifica su baja intensidad y una gran saturación (color poco vivo), los que se construyen como indicadores.

Finalmente, era necesario analizar la varianza de la distribución de la información, lo que resultó otra importante gradiente para verificar los espacios entre cada píxel.

Este gran trabajo del equipo de Data Science se enriqueció con la construcción de un banco de 1367 imágenes, considerando distintas opciones de fotos proporcionalmente: 200 de habitación, 200 de baño, 200 de piscina, 100 comodidades del alojamiento, etc. Cada miembro del equipo de Contenido estableció un puntaje para cada imagen y con el promedio se pudo determinar un puntaje final. Este puntaje sólo fue posible determinarlo con la construcción de una descripción para cada uno, construido a partir de los indicadores que consideraba el proceso.

Con esta nueva rutina y colchoneta, se entrenó a la máquina, alcanzando solo un 3% de error, y en algunos casos, un resultado más certero que incluso el ojo contenidista.

Más humano, más content responsive

Cuando pensamos en hacer objetivo lo subjetivo, en cómo determinar qué es una buena foto o cómo utilizar una base de datos fiable, si una imagen es buena o mala según qué foto hayamos visto antes o cómo nos sintamos el día que decidimos clasificarla como tal; también tenemos que pensar cómo hacer más humano un proceso automático, completamente objetivo.

No se trata de darle sentimientos, sino ponerle la camiseta de Despegar, y que entrene con un dataset de contenidistas, para que luego trabaje con un universo completamente conocido y se transforme progresivamente en un miembro más del equipo de Content.

El proceso ya está integrado, y su funcionamiento hace aproximadamente 169 veces lo que pueden hacer 4 moderadores de Contenido en gestión de imágenes. Su implementación mejorará el sorting de las imágenes en el sitio, así como warnings en la instancia de carga de fotos en la plataforma.

--

--

Melody Cortina
UX Despegar

UX Content Strategist, especialista en creación de contenidos y automatización de procesos.